{"version":3,"file":"appad832b6aa7ceca8757eb.js?3.5.5.063a1c741.1714373421825","mappings":"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AAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,IAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,IAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,wBAAwBA,GAAW,oCCFlrTN,oBAAoBO,SAAYD,GAEnBA,EAAU,IAAM,CAAC,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,wBAAwBA,GAAW,OCH3nCN,oBAAoBx+P,EAAI,WACvB,GAA0B,iBAAfm3E,WAAyB,OAAOA,WAC3C,IACC,OAAOxvF,MAAQ,IAAIsuD,SAAS,cAAb,EAChB,CAAE,MAAO/rD,GACR,GAAsB,iBAAXmS,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBmiQ,oBAAoBQ,IAAOp1N,KAC1BA,EAASl/C,OAAOoH,OAAO83C,IACXx9C,WAAUw9C,EAAOx9C,SAAW,IACxC1B,OAAO8P,eAAeovC,EAAQ,UAAW,CACxCvvC,YAAY,EACZ5K,IAAK,KACJ,MAAM,IAAIwX,MAAM,0FAA4F2iC,EAAO3mC,GAAG,IAGjH2mC,GCTR40N,oBAAoB14P,EAAI,CAAC7N,EAAKklB,IAAUzyB,OAAO3B,UAAU4zB,eAAepsB,KAAK0H,EAAKklB,GTA9E4pF,WAAa,CAAC,EACdw3J,kBAAoB,aAExBC,oBAAoBvkO,EAAI,CAACmO,EAAK1sC,EAAM7S,EAAKi2Q,KACxC,GAAG/3J,WAAW3+D,GAAQ2+D,WAAW3+D,GAAK7/C,KAAKmT,OAA3C,CACA,IAAIs/I,EAAQikH,EACZ,QAAWx2Q,IAARI,EAEF,IADA,IAAIknK,EAAU1mK,SAASu2J,qBAAqB,UACpCh2J,EAAI,EAAGA,EAAImmK,EAAQ/nK,OAAQ4B,IAAK,CACvC,IAAI6f,EAAIsmJ,EAAQnmK,GAChB,GAAG6f,EAAEjZ,aAAa,QAAU43C,GAAO3+B,EAAEjZ,aAAa,iBAAmB+tQ,kBAAoB11Q,EAAK,CAAEmyJ,EAASvxI,EAAG,KAAO,CACpH,CAEGuxI,IACHikH,GAAa,GACbjkH,EAAS3xJ,SAASC,cAAc,WAEzB07K,QAAU,QACjBhqB,EAAOlwF,QAAU,IACb0zM,oBAAoBU,IACvBlkH,EAAOzxJ,aAAa,QAASi1Q,oBAAoBU,IAElDlkH,EAAOzxJ,aAAa,eAAgBg1Q,kBAAoB11Q,GACxDmyJ,EAAOzsB,IAAMnmF,GAEd2+D,WAAW3+D,GAAO,CAAC1sC,GACnB,IAAIyjQ,EAAmB,CAAC7yQ,EAAMmhF,KAE7ButE,EAAO9vF,QAAU8vF,EAAOvnB,OAAS,KACjCz4D,aAAalQ,GACb,IAAIs0M,EAAUr4J,WAAW3+D,GAIzB,UAHO2+D,WAAW3+D,GAClB4yG,EAAO5wJ,YAAc4wJ,EAAO5wJ,WAAWC,YAAY2wJ,GACnDokH,GAAWA,EAAQl2Q,SAAS2I,GAAQA,EAAG47E,KACpCnhF,EAAM,OAAOA,EAAKmhF,EAAM,EAExB3iB,EAAUzqD,WAAW8+P,EAAiBrhP,KAAK,UAAMr1B,EAAW,CAAEyD,KAAM,UAAWiO,OAAQ6gJ,IAAW,MACtGA,EAAO9vF,QAAUi0M,EAAiBrhP,KAAK,KAAMk9H,EAAO9vF,SACpD8vF,EAAOvnB,OAAS0rI,EAAiBrhP,KAAK,KAAMk9H,EAAOvnB,QACnDwrI,GAAc51Q,SAASoH,KAAKjH,YAAYwxJ,EAnCkB,CAmCX,EUtChDwjH,oBAAoB12P,EAAK+hC,IACH,oBAAX7vC,QAA0BA,OAAOguC,aAC1Ct9C,OAAO8P,eAAeqvC,EAAS7vC,OAAOguC,YAAa,CAAEn9C,MAAO,WAE7DH,OAAO8P,eAAeqvC,EAAS,aAAc,CAAEh/C,OAAO,GAAO,ECL9D2zQ,oBAAoBa,IAAOz1N,IAC1BA,EAAO+R,MAAQ,GACV/R,EAAOx9C,WAAUw9C,EAAOx9C,SAAW,IACjCw9C,GCHR40N,oBAAoB1qO,EAAI,kBCAxB,GAAwB,oBAAbzqC,SAAX,CACA,IAsDIi2Q,EAAqB,CACxB,KAAM,GAGPd,oBAAoBtkO,EAAEqlO,QAAU,CAACT,EAASv8P,KAEtC+8P,EAAmBR,GAAUv8P,EAASha,KAAK+2Q,EAAmBR,IACzB,IAAhCQ,EAAmBR,IAFX,CAAC,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,GAEhSA,IACtDv8P,EAASha,KAAK+2Q,EAAmBR,GAjBd,CAACA,GACd,IAAI7tN,SAAQ,CAAC9vC,EAASF,KAC5B,IAAIgyD,EAAOurM,oBAAoBO,SAASD,GACpCU,EAAWhB,oBAAoB1qO,EAAIm/B,EACvC,GAlBmB,EAACA,EAAMusM,KAE3B,IADA,IAAIC,EAAmBp2Q,SAASu2J,qBAAqB,QAC7Ch2J,EAAI,EAAGA,EAAI61Q,EAAiBz3Q,OAAQ4B,IAAK,CAChD,IACI81Q,GADA73Q,EAAM43Q,EAAiB71Q,IACR4G,aAAa,cAAgB3I,EAAI2I,aAAa,QACjE,GAAe,eAAZ3I,EAAI83Q,MAAyBD,IAAazsM,GAAQysM,IAAaF,GAAW,OAAO33Q,CACrF,CACA,IAAI+3Q,EAAoBv2Q,SAASu2J,qBAAqB,SACtD,IAAQh2J,EAAI,EAAGA,EAAIg2Q,EAAkB53Q,OAAQ4B,IAAK,CACjD,IAAI/B,EAEJ,IADI63Q,GADA73Q,EAAM+3Q,EAAkBh2Q,IACT4G,aAAa,gBAChByiE,GAAQysM,IAAaF,EAAU,OAAO33Q,CACvD,GAMIg4Q,CAAe5sM,EAAMusM,GAAW,OAAOr+P,IAjDrB,EAAC29P,EAASU,EAAUM,EAAQ3+P,EAASF,KAC3D,IAAI8+P,EAAU12Q,SAASC,cAAc,QAErCy2Q,EAAQJ,IAAM,aACdI,EAAQ7zQ,KAAO,WAiBf6zQ,EAAQ70M,QAAU60M,EAAQtsI,OAhBJhmD,IAGrB,GADAsyL,EAAQ70M,QAAU60M,EAAQtsI,OAAS,KAChB,SAAfhmD,EAAMvhF,KACTiV,QACM,CACN,IAAI6+P,EAAYvyL,IAAyB,SAAfA,EAAMvhF,KAAkB,UAAYuhF,EAAMvhF,MAChE+zQ,EAAWxyL,GAASA,EAAMtzE,QAAUszE,EAAMtzE,OAAO84D,MAAQusM,EACzD7jQ,EAAM,IAAIsL,MAAM,qBAAuB63P,EAAU,cAAgBmB,EAAW,KAChFtkQ,EAAIwsC,KAAO,wBACXxsC,EAAIzP,KAAO8zQ,EACXrkQ,EAAIiuD,QAAUq2M,EACVF,EAAQ31Q,YAAY21Q,EAAQ31Q,WAAWC,YAAY01Q,GACvD9+P,EAAOtF,EACR,GAGDokQ,EAAQ9sM,KAAOusM,EAKdn2Q,SAASoH,KAAKjH,YAAYu2Q,EAEb,EAqBbG,CAAiBpB,EAASU,EAAU,EAAMr+P,EAASF,EAAO,IAYdk/P,CAAerB,GAAS99P,MAAK,KACxEs+P,EAAmBR,GAAW,CAAC,IAC5B50Q,IAEH,aADOo1Q,EAAmBR,GACpB50Q,CAAC,IAET,CArE0C,YCK3C,IAAIk2Q,EAAkB,CACrB,KAAM,GAGP5B,oBAAoBtkO,EAAEprC,EAAI,CAACgwQ,EAASv8P,KAElC,IAAI89P,EAAqB7B,oBAAoB14P,EAAEs6P,EAAiBtB,GAAWsB,EAAgBtB,QAAWr2Q,EACtG,GAA0B,IAAvB43Q,EAGF,GAAGA,EACF99P,EAASha,KAAK83Q,EAAmB,SAEjC,GAAI,qBAAqBhhQ,KAAKy/P,GAyBvBsB,EAAgBtB,GAAW,MAzBM,CAEvC,IAAI/9P,EAAU,IAAIkwC,SAAQ,CAAC9vC,EAASF,IAAYo/P,EAAqBD,EAAgBtB,GAAW,CAAC39P,EAASF,KAC1GsB,EAASha,KAAK83Q,EAAmB,GAAKt/P,GAGtC,IAAIqnC,EAAMo2N,oBAAoB1qO,EAAI0qO,oBAAoBzlI,EAAE+lI,GAEpDh4P,EAAQ,IAAIG,MAgBhBu3P,oBAAoBvkO,EAAEmO,GAfFqlC,IACnB,GAAG+wL,oBAAoB14P,EAAEs6P,EAAiBtB,KAEf,KAD1BuB,EAAqBD,EAAgBtB,MACRsB,EAAgBtB,QAAWr2Q,GACrD43Q,GAAoB,CACtB,IAAIL,EAAYvyL,IAAyB,SAAfA,EAAMvhF,KAAkB,UAAYuhF,EAAMvhF,MAChEo0Q,EAAU7yL,GAASA,EAAMtzE,QAAUszE,EAAMtzE,OAAOo0H,IACpDznH,EAAMC,QAAU,iBAAmB+3P,EAAU,cAAgBkB,EAAY,KAAOM,EAAU,IAC1Fx5P,EAAMpV,KAAO,iBACboV,EAAM5a,KAAO8zQ,EACbl5P,EAAM8iD,QAAU02M,EAChBD,EAAmB,GAAGv5P,EACvB,CACD,GAEwC,SAAWg4P,EAASA,EAC9D,CAEF,EAcF,IAAIyB,EAAuB,CAACC,EAA4BpzO,KACvD,IAGI2gJ,EAAU+wF,GAHT2B,EAAUC,EAAazpL,GAAW7pD,EAGhBxjC,EAAI,EAC3B,GAAG62Q,EAAS/+J,MAAMz+F,GAAgC,IAAxBm9P,EAAgBn9P,KAAa,CACtD,IAAI8qK,KAAY2yF,EACZlC,oBAAoB14P,EAAE46P,EAAa3yF,KACrCywF,oBAAoB/+N,EAAEsuI,GAAY2yF,EAAY3yF,IAG7C92F,GAAsBA,EAAQunL,oBAClC,CAEA,IADGgC,GAA4BA,EAA2BpzO,GACrDxjC,EAAI62Q,EAASz4Q,OAAQ4B,IACzBk1Q,EAAU2B,EAAS72Q,GAChB40Q,oBAAoB14P,EAAEs6P,EAAiBtB,IAAYsB,EAAgBtB,IACrEsB,EAAgBtB,GAAS,KAE1BsB,EAAgBtB,GAAW,CAC5B,EAIG6B,EAAqBn1N,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1Fm1N,EAAmBz3Q,QAAQq3Q,EAAqBziP,KAAK,KAAM,IAC3D6iP,EAAmBp4Q,KAAOg4Q,EAAqBziP,KAAK,KAAM6iP,EAAmBp4Q,KAAKu1B,KAAK6iP,QCrFvFnC,oBAAoBU,QAAKz2Q,sKCIzB,MAAMkjD,GAASi3C,EAAAA,EAAAA,GAAkB,QAajCj3C,EAAO+2C,MAAM,6BAObvoB,EAAEmB,MAED5nE,EAAAA,EAAAA,OAEA0rG,EAAAA,EAAAA,OAECp+F,MACA,SACCrF,IACAgwC,EAAO7kC,MAAM,mCAAoCnL,EAAIoL,QAAQ,IAG9DyjJ,QAAO,KACP7+G,EAAO+2C,MAAM,eA5Bd,sFAA0D1hF,MAAM4/P,IAC/DA,EAAK3+O,QAAQ6zF,YAAY,GA4BhB","sources":["webpack://mono-repo/./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack://mono-repo/./node_modules/stylis/src/Utility.js","webpack://mono-repo/./node_modules/stylis/src/Tokenizer.js","webpack://mono-repo/./node_modules/stylis/src/Enum.js","webpack://mono-repo/./node_modules/stylis/src/Serializer.js","webpack://mono-repo/./node_modules/stylis/src/Parser.js","webpack://mono-repo/./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack://mono-repo/./node_modules/stylis/src/Middleware.js","webpack://mono-repo/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://mono-repo/./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack://mono-repo/./node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack://mono-repo/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://mono-repo/./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","webpack://mono-repo/./node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack://mono-repo/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack://mono-repo/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack://mono-repo/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://mono-repo/./node_modules/@fortawesome/pro-solid-svg-icons/index.es.js","webpack://mono-repo/./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack://mono-repo/./node_modules/@mui/material/Skeleton/skeletonClasses.js","webpack://mono-repo/./node_modules/@mui/material/Skeleton/Skeleton.js","webpack://mono-repo/./node_modules/@mui/material/styles/cssUtils.js","webpack://mono-repo/./node_modules/@mui/material/colors/common.js","webpack://mono-repo/./node_modules/@mui/material/colors/grey.js","webpack://mono-repo/./node_modules/@mui/material/colors/purple.js","webpack://mono-repo/./node_modules/@mui/material/colors/red.js","webpack://mono-repo/./node_modules/@mui/material/colors/orange.js","webpack://mono-repo/./node_modules/@mui/material/colors/blue.js","webpack://mono-repo/./node_modules/@mui/material/colors/lightBlue.js","webpack://mono-repo/./node_modules/@mui/material/colors/green.js","webpack://mono-repo/./node_modules/@mui/material/styles/createPalette.js","webpack://mono-repo/./node_modules/@mui/material/styles/createTypography.js","webpack://mono-repo/./node_modules/@mui/material/styles/shadows.js","webpack://mono-repo/./node_modules/@mui/material/styles/zIndex.js","webpack://mono-repo/./node_modules/@mui/material/styles/createTheme.js","webpack://mono-repo/./node_modules/@mui/material/styles/createMixins.js","webpack://mono-repo/./node_modules/@mui/material/styles/createTransitions.js","webpack://mono-repo/./node_modules/@mui/material/styles/defaultTheme.js","webpack://mono-repo/./node_modules/@mui/material/styles/identifier.js","webpack://mono-repo/./node_modules/@mui/material/styles/styled.js","webpack://mono-repo/./node_modules/@mui/material/styles/useThemeProps.js","webpack://mono-repo/./node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","webpack://mono-repo/./node_modules/@mui/private-theming/ThemeProvider/nested.js","webpack://mono-repo/./node_modules/@mui/private-theming/useTheme/ThemeContext.js","webpack://mono-repo/./node_modules/@mui/private-theming/useTheme/useTheme.js","webpack://mono-repo/./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://mono-repo/./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack://mono-repo/./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack://mono-repo/./node_modules/@mui/styled-engine/index.js","webpack://mono-repo/./node_modules/@mui/styles/createGenerateClassName/createGenerateClassName.js","webpack://mono-repo/./node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","webpack://mono-repo/./node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","webpack://mono-repo/./node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","webpack://mono-repo/./node_modules/hyphenate-style-name/index.js","webpack://mono-repo/./node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","webpack://mono-repo/./node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","webpack://mono-repo/./node_modules/css-vendor/dist/css-vendor.esm.js","webpack://mono-repo/./node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","webpack://mono-repo/./node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","webpack://mono-repo/./node_modules/@mui/styles/jssPreset/jssPreset.js","webpack://mono-repo/./node_modules/@mui/styles/StylesProvider/StylesProvider.js","webpack://mono-repo/./node_modules/@mui/styles/useTheme/index.js","webpack://mono-repo/./node_modules/@mui/system/esm/breakpoints.js","webpack://mono-repo/./node_modules/@mui/system/esm/colorManipulator.js","webpack://mono-repo/./node_modules/@mui/system/esm/propsToClassKey.js","webpack://mono-repo/./node_modules/@mui/system/esm/createStyled.js","webpack://mono-repo/./node_modules/@mui/system/esm/createTheme/createBreakpoints.js","webpack://mono-repo/./node_modules/@mui/system/esm/createTheme/shape.js","webpack://mono-repo/./node_modules/@mui/system/esm/createTheme/createTheme.js","webpack://mono-repo/./node_modules/@mui/system/esm/createTheme/createSpacing.js","webpack://mono-repo/./node_modules/@mui/system/esm/merge.js","webpack://mono-repo/./node_modules/@mui/system/esm/spacing.js","webpack://mono-repo/./node_modules/@mui/system/esm/memoize.js","webpack://mono-repo/./node_modules/@mui/system/esm/style.js","webpack://mono-repo/./node_modules/@mui/system/esm/compose.js","webpack://mono-repo/./node_modules/@mui/system/esm/borders.js","webpack://mono-repo/./node_modules/@mui/system/esm/cssGrid.js","webpack://mono-repo/./node_modules/@mui/system/esm/palette.js","webpack://mono-repo/./node_modules/@mui/system/esm/sizing.js","webpack://mono-repo/./node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","webpack://mono-repo/./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","webpack://mono-repo/./node_modules/@mui/system/esm/useTheme.js","webpack://mono-repo/./node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","webpack://mono-repo/./node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","webpack://mono-repo/./node_modules/@mui/system/esm/useThemeWithoutDefault.js","webpack://mono-repo/./node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js","webpack://mono-repo/./node_modules/@mui/utils/capitalize/capitalize.js","webpack://mono-repo/./node_modules/@mui/utils/composeClasses/composeClasses.js","webpack://mono-repo/./node_modules/@mui/utils/deepmerge/deepmerge.js","webpack://mono-repo/./node_modules/@mui/utils/formatMuiErrorMessage/formatMuiErrorMessage.js","webpack://mono-repo/./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js","webpack://mono-repo/./node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js","webpack://mono-repo/./node_modules/@mui/utils/resolveProps/resolveProps.js","webpack://mono-repo/./node_modules/ajv/lib/ajv.js","webpack://mono-repo/./node_modules/ajv/lib/cache.js","webpack://mono-repo/./node_modules/ajv/lib/compile/async.js","webpack://mono-repo/./node_modules/ajv/lib/compile/error_classes.js","webpack://mono-repo/./node_modules/ajv/lib/compile/formats.js","webpack://mono-repo/./node_modules/ajv/lib/compile/index.js","webpack://mono-repo/./node_modules/ajv/lib/compile/resolve.js","webpack://mono-repo/./node_modules/ajv/lib/compile/rules.js","webpack://mono-repo/./node_modules/ajv/lib/compile/schema_obj.js","webpack://mono-repo/./node_modules/ajv/lib/compile/ucs2length.js","webpack://mono-repo/./node_modules/ajv/lib/compile/util.js","webpack://mono-repo/./node_modules/ajv/lib/data.js","webpack://mono-repo/./node_modules/ajv/lib/definition_schema.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/_limit.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/_limitItems.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/_limitLength.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/_limitProperties.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/allOf.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/anyOf.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/comment.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/const.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/contains.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/custom.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/dependencies.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/enum.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/format.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/if.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/index.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/items.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/multipleOf.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/not.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/oneOf.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/pattern.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/properties.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/propertyNames.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/ref.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/required.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/uniqueItems.js","webpack://mono-repo/./node_modules/ajv/lib/dotjs/validate.js","webpack://mono-repo/./node_modules/ajv/lib/keyword.js","webpack://mono-repo/./node_modules/axios/index.js","webpack://mono-repo/./node_modules/axios/lib/adapters/xhr.js","webpack://mono-repo/./node_modules/axios/lib/axios.js","webpack://mono-repo/./node_modules/axios/lib/cancel/Cancel.js","webpack://mono-repo/./node_modules/axios/lib/cancel/CancelToken.js","webpack://mono-repo/./node_modules/axios/lib/cancel/isCancel.js","webpack://mono-repo/./node_modules/axios/lib/core/Axios.js","webpack://mono-repo/./node_modules/axios/lib/core/InterceptorManager.js","webpack://mono-repo/./node_modules/axios/lib/core/buildFullPath.js","webpack://mono-repo/./node_modules/axios/lib/core/createError.js","webpack://mono-repo/./node_modules/axios/lib/core/dispatchRequest.js","webpack://mono-repo/./node_modules/axios/lib/core/enhanceError.js","webpack://mono-repo/./node_modules/axios/lib/core/mergeConfig.js","webpack://mono-repo/./node_modules/axios/lib/core/settle.js","webpack://mono-repo/./node_modules/axios/lib/core/transformData.js","webpack://mono-repo/./node_modules/axios/lib/defaults.js","webpack://mono-repo/./node_modules/axios/lib/env/data.js","webpack://mono-repo/./node_modules/axios/lib/helpers/bind.js","webpack://mono-repo/./node_modules/axios/lib/helpers/buildURL.js","webpack://mono-repo/./node_modules/axios/lib/helpers/combineURLs.js","webpack://mono-repo/./node_modules/axios/lib/helpers/cookies.js","webpack://mono-repo/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://mono-repo/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://mono-repo/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://mono-repo/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://mono-repo/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://mono-repo/./node_modules/axios/lib/helpers/spread.js","webpack://mono-repo/./node_modules/axios/lib/helpers/validator.js","webpack://mono-repo/./node_modules/axios/lib/utils.js","webpack://mono-repo/./packages/core-app/src/config.ts","webpack://mono-repo/./build-targets/theme/packages/core-app/src/config.ts","webpack://mono-repo/./packages/core-asset/src/config.js","webpack://mono-repo/./build-targets/theme/packages/core-asset/src/config.js","webpack://mono-repo/./packages/core-app-next/src/utils/getPublicProperty.ts","webpack://mono-repo/./packages/core-app/src/collections/labelValues.js","webpack://mono-repo/./packages/core-app/src/collections/batchJobs.js","webpack://mono-repo/./packages/core-app/src/collections/singleton/batchJobs.ts","webpack://mono-repo/./packages/core-app/src/collections/publicProperties.js","webpack://mono-repo/./packages/core-app/src/collections/singleton/publicProperties.ts","webpack://mono-repo/./packages/core-app/src/models/socket.js","webpack://mono-repo/./packages/core-app/src/collections/singleton/websocket.ts","webpack://mono-repo/./packages/core-app/src/models/batchJob.js","webpack://mono-repo/./packages/core-app/src/models/labelValue.js","webpack://mono-repo/./packages/core-app/src/properties/theme.ts","webpack://mono-repo/./packages/core-attribute/src/constants.ts","webpack://mono-repo/./packages/core-auth-next/src/constants.ts","webpack://mono-repo/./packages/core-auth/src/models/samlService.js","webpack://mono-repo/./packages/core-auth/src/collections/samlServices.js","webpack://mono-repo/./packages/core/src/lib/netx-session.js","webpack://mono-repo/./packages/core-auth/src/collections/singleton/session.ts","webpack://mono-repo/./packages/core-auth/src/config.js","webpack://mono-repo/./packages/core-components/Theme/constants.ts","webpack://mono-repo/./packages/core-components/Theme/defaults.ts","webpack://mono-repo/./packages/core-components/Theme/hoc/withTheme.tsx","webpack://mono-repo/./packages/core-components/Theme/hooks/useTheme.ts","webpack://mono-repo/./packages/core-components/Theme/logoClasses.ts","webpack://mono-repo/./packages/core-components/Theme/styled.ts","webpack://mono-repo/./packages/core-components/Theme/utils/getOutlinedBorderColor.ts","webpack://mono-repo/./packages/core-components/Theme/utils/getStylePropertyDemo.ts","webpack://mono-repo/./packages/core-components/Theme/utils/getStylePropertyFn.ts","webpack://mono-repo/./packages/core-components/Theme/utils/getThemeMixins.ts","webpack://mono-repo/./packages/core-components/Theme/utils/getThemePalette.ts","webpack://mono-repo/./packages/core-components/Theme/utils/getHintTextColor.ts","webpack://mono-repo/./packages/core-components/Theme/utils/getSeverityColors.ts","webpack://mono-repo/./packages/core-components/Theme/utils/strToHslColor.ts","webpack://mono-repo/./packages/core-components/hooks/useComponentIsMounted.ts","webpack://mono-repo/./packages/core-components/hooks/useDispatcher.ts","webpack://mono-repo/./packages/core-components/hooks/useEvent.ts","webpack://mono-repo/./packages/core-next/src/api/getProgressReport.ts","webpack://mono-repo/./packages/core-next/src/api/react-query/getProgressReport.ts","webpack://mono-repo/./packages/core-next/src/config.ts","webpack://mono-repo/./packages/core-next/src/instance/dispatcher.ts","webpack://mono-repo/./packages/core-next/src/instance/localStore.ts","webpack://mono-repo/./node_modules/tslog/dist/esm/prettyLogStyles.js","webpack://mono-repo/./node_modules/tslog/dist/esm/formatTemplate.js","webpack://mono-repo/./node_modules/tslog/dist/esm/formatNumberAddZeros.js","webpack://mono-repo/./node_modules/tslog/dist/esm/runtime/browser/helper.jsonStringifyRecursive.js","webpack://mono-repo/./node_modules/tslog/dist/esm/runtime/browser/util.inspect.polyfil.js","webpack://mono-repo/./node_modules/tslog/dist/esm/runtime/browser/index.js","webpack://mono-repo/./node_modules/tslog/dist/esm/BaseLogger.js","webpack://mono-repo/./node_modules/tslog/dist/esm/urlToObj.js","webpack://mono-repo/./packages/core-next/src/instance/logger.ts","webpack://mono-repo/./node_modules/tslog/dist/esm/index.js","webpack://mono-repo/./packages/core-next/src/instance/router.ts","webpack://mono-repo/./packages/core-next/src/lib/queryClient.ts","webpack://mono-repo/./packages/core-next/src/locales/constants.ts","webpack://mono-repo/./node_modules/i18next/dist/esm/i18next.js","webpack://mono-repo/./node_modules/i18next-xhr-backend/dist/esm/i18nextXHRBackend.js","webpack://mono-repo/./node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","webpack://mono-repo/./packages/core-next/src/locales/backend.ts","webpack://mono-repo/./packages/core-next/src/locales/i18n.ts","webpack://mono-repo/./packages/core-next/src/locales/locales.ts","webpack://mono-repo/./packages/core-next/src/locales/utils/getAvailableLocales.ts","webpack://mono-repo/./packages/core-next/src/locales/utils/i18nLocaleCompare.ts","webpack://mono-repo/./packages/core-next/src/locales/utils/Locales.ts","webpack://mono-repo/./packages/core-next/src/schema/common/labelValueSchema.ts","webpack://mono-repo/./packages/core-next/src/schema/constants.ts","webpack://mono-repo/./packages/core-next/src/schema/locales.ts","webpack://mono-repo/./packages/core-next/src/schema/utils/createZodLiterals.ts","webpack://mono-repo/./packages/core-next/src/schema/utils/editEffectsSortOrder.ts","webpack://mono-repo/./packages/core-next/src/schema/utils/editRemovesFromFilter.ts","webpack://mono-repo/./packages/core-next/src/schema/utils/getDefaultFilters.ts","webpack://mono-repo/./packages/core-next/src/schema/utils/getSortField.ts","webpack://mono-repo/./packages/core-next/src/schema/utils/getSortOrder.ts","webpack://mono-repo/./packages/core-next/src/schema/utils/makeOptionalPropsNullable.ts","webpack://mono-repo/./packages/core-next/src/store/StatusItem.ts","webpack://mono-repo/./packages/core-next/src/store/StatusItemStore.ts","webpack://mono-repo/./packages/core-next/src/url.ts","webpack://mono-repo/./packages/core-next/src/utils/actions/actionsToOrderedActions.ts","webpack://mono-repo/./packages/core-next/src/utils/actions/parseActions.ts","webpack://mono-repo/./packages/core-next/src/utils/actions/unwrapActionChildren.ts","webpack://mono-repo/./packages/core-next/src/utils/array/arrayToCsv.ts","webpack://mono-repo/./packages/core-next/src/utils/array/csvToArray.ts","webpack://mono-repo/./packages/core-next/src/utils/browser/isFirefox.ts","webpack://mono-repo/./packages/core-next/src/utils/browser/simulateClickBody.ts","webpack://mono-repo/./packages/core-next/src/utils/browser/spawnNewWindow.ts","webpack://mono-repo/./packages/core-next/src/utils/browser/isMobile.ts","webpack://mono-repo/./packages/core-next/src/utils/fn/splitEventHandler.ts","webpack://mono-repo/./packages/core-next/src/utils/element/isElementOverflown.ts","webpack://mono-repo/./packages/core-next/src/utils/react/renderChildrenOrChildrenFunction.ts","webpack://mono-repo/./packages/core-next/src/utils/setGlobal.ts","webpack://mono-repo/./packages/core-user-next/src/constants.ts","webpack://mono-repo/./packages/core-user-next/src/utils/getPreference.ts","webpack://mono-repo/./packages/core-next/src/utils/object/deepObjectExtend.ts","webpack://mono-repo/./packages/core-user/src/models/userPrefs.js","webpack://mono-repo/./packages/core-user/src/collections/singletons/userPreferences.ts","webpack://mono-repo/./packages/core-user/src/properties/user.js","webpack://mono-repo/./packages/core/src/lib/jquery-netx.js","webpack://mono-repo/./build-targets/theme/packages/core/src/lib/jquery-netx.js","webpack://mono-repo/./packages/core/src/lib/backbone-netx.js","webpack://mono-repo/./packages/core/src/bootstrap.js","webpack://mono-repo/./packages/core/src/css.ts","webpack://mono-repo/./packages/core/src/legacyActionManager.ts","webpack://mono-repo/./packages/core/src/lib/netx-collection.js","webpack://mono-repo/./packages/core/src/lib/netx-model.js","webpack://mono-repo/./packages/core/src/utils/protectObjectProxy.ts","webpack://mono-repo/./packages/core/src/lib/netx-routers-app.js","webpack://mono-repo/./packages/core/src/lib/underscore-netx.js","webpack://mono-repo/./packages/core/src/lib/utils.ts","webpack://mono-repo/./packages/core/src/utils/caseInsensitiveStringIncludes.ts","webpack://mono-repo/./packages/core/src/utils/escapeURI.ts","webpack://mono-repo/./packages/core/src/utils/normalizeFileType.ts","webpack://mono-repo/./packages/core/src/utils/getGenericIconUrl.ts","webpack://mono-repo/./packages/core/src/utils/getURLQueryFromObject.ts","webpack://mono-repo/./packages/core/src/utils/appendQueryObjectToURL.ts","webpack://mono-repo/./packages/core/src/utils/createSyntheticEvent.ts","webpack://mono-repo/./packages/core/src/utils/dateToHtml.ts","webpack://mono-repo/./packages/core/src/utils/getDuplicateName.ts","webpack://mono-repo/./packages/core/src/utils/getIsoLongDateFromIsoShortDate.ts","webpack://mono-repo/./packages/core/src/utils/getIsoShortDateFromIsoLongDate.ts","webpack://mono-repo/./packages/core/src/utils/getNormalizedHexColor.ts","webpack://mono-repo/./packages/core/src/utils/registerBackboneEvent.ts","webpack://mono-repo/./packages/core/src/utils/stopPropagation.ts","webpack://mono-repo/./packages/core/src/utils/isEmptyValue.ts","webpack://mono-repo/./packages/core/src/utils/isPortal.ts","webpack://mono-repo/./packages/core/src/utils/openDownloadLink.ts","webpack://mono-repo/./packages/core/src/utils/purgeEls.ts","webpack://mono-repo/./packages/core/src/utils/unescapeAttributeName.ts","webpack://mono-repo/./packages/core/src/utils/unescapeURI.ts","webpack://mono-repo/./packages/core-components/Theme/Logo.tsx","webpack://mono-repo/./node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js","webpack://mono-repo/./node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","webpack://mono-repo/./node_modules/@mui/material/styles/ThemeProvider.js","webpack://mono-repo/./packages/core-components/Theme/Theme.tsx","webpack://mono-repo/./packages/core-components/Theme/utils/getComponentOverrides.tsx","webpack://mono-repo/./packages/core-components/Theme/utils/getPlaceholderOpacity.ts","webpack://mono-repo/./packages/core-components/hooks/useImageLoader.tsx","webpack://mono-repo/./node_modules/clsx/dist/clsx.m.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/protectedTokens/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack://mono-repo/./node_modules/date-fns/esm/format/index.js","webpack://mono-repo/./node_modules/date-fns/esm/isValid/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/en-US/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack://mono-repo/./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/assign/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/setUTCDay/index.js","webpack://mono-repo/./node_modules/date-fns/esm/parse/_lib/parsers/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/setUTCWeek/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","webpack://mono-repo/./node_modules/date-fns/esm/_lib/setUTCISODay/index.js","webpack://mono-repo/./node_modules/date-fns/esm/parse/index.js","webpack://mono-repo/./node_modules/date-fns/esm/parseISO/index.js","webpack://mono-repo/./node_modules/date-fns/esm/subMilliseconds/index.js","webpack://mono-repo/./node_modules/date-fns/esm/addMilliseconds/index.js","webpack://mono-repo/./node_modules/date-fns/esm/toDate/index.js","webpack://mono-repo/./node_modules/jquery/dist/jquery-exposed.js","webpack://mono-repo/./src/js/lib/backbone-exposed.js","webpack://mono-repo/./src/js/lib/modernizr/modernizr-exposed.js","webpack://mono-repo/./src/js/lib/underscore-exposed.js","webpack://mono-repo/./node_modules/expose-loader/dist/runtime/getGlobalThis.js","webpack://mono-repo/./node_modules/fast-deep-equal/index.js","webpack://mono-repo/./node_modules/fast-json-stable-stringify/index.js","webpack://mono-repo/./node_modules/global/document.js","webpack://mono-repo/./node_modules/global/window.js","webpack://mono-repo/./node_modules/hammerjs/hammer.js","webpack://mono-repo/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://mono-repo/./node_modules/is-in-browser/dist/module.js","webpack://mono-repo/./node_modules/jquery-i18next/dist/commonjs/index.js","webpack://mono-repo/./node_modules/jquery-i18next/index.js","webpack://mono-repo/./node_modules/jquery/dist/jquery.js","webpack://mono-repo/./node_modules/json-schema-traverse/index.js","webpack://mono-repo/./node_modules/jss/dist/jss.esm.js","webpack://mono-repo/./node_modules/locallyjs/dist/locally.js","webpack://mono-repo/./node_modules/lz-string/libs/lz-string.js","webpack://mono-repo/./node_modules/mobx/dist/mobx.esm.js","webpack://mono-repo/./node_modules/ms/index.js","webpack://mono-repo/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://mono-repo/./node_modules/prop-types/index.js","webpack://mono-repo/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://mono-repo/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://mono-repo/./node_modules/react-dom/index.js","webpack://mono-repo/./node_modules/react-is/cjs/react-is.production.min.js","webpack://mono-repo/./node_modules/react-is/index.js","webpack://mono-repo/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://mono-repo/./node_modules/react/cjs/react.production.min.js","webpack://mono-repo/./node_modules/react/index.js","webpack://mono-repo/./node_modules/react/jsx-runtime.js","webpack://mono-repo/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://mono-repo/./node_modules/scheduler/index.js","webpack://mono-repo/./node_modules/uri-js/dist/es5/uri.all.js","webpack://mono-repo/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack://mono-repo/./node_modules/use-sync-external-store/shim/index.js","webpack://mono-repo/./src/js/lib/backbone.js","webpack://mono-repo/./src/js/lib/backbone.rpc.js","webpack://mono-repo/./src/js/lib/modernizr/modernizr.js","webpack://mono-repo/./src/js/lib/polyfills/polyfills-netx.js","webpack://mono-repo/./src/js/lib/underscore.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://mono-repo/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://mono-repo/./node_modules/@tanstack/query-core/build/lib/focusManager.mjs","webpack://mono-repo/./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs","webpack://mono-repo/./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs","webpack://mono-repo/./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs","webpack://mono-repo/./node_modules/@tanstack/query-core/build/lib/retryer.mjs","webpack://mono-repo/./node_modules/@tanstack/query-core/build/lib/subscribable.mjs","webpack://mono-repo/./node_modules/@tanstack/query-core/build/lib/utils.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/suspense.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/useQuery.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs","webpack://mono-repo/./node_modules/@tanstack/react-query/build/lib/utils.mjs","webpack://mono-repo/./node_modules/zod/lib/index.mjs","webpack://mono-repo/webpack/bootstrap","webpack://mono-repo/webpack/runtime/create fake namespace object","webpack://mono-repo/webpack/runtime/load script","webpack://mono-repo/webpack/runtime/amd options","webpack://mono-repo/webpack/runtime/compat get default export","webpack://mono-repo/webpack/runtime/define property getters","webpack://mono-repo/webpack/runtime/ensure chunk","webpack://mono-repo/webpack/runtime/get javascript chunk filename","webpack://mono-repo/webpack/runtime/get mini-css chunk filename","webpack://mono-repo/webpack/runtime/global","webpack://mono-repo/webpack/runtime/harmony module decorator","webpack://mono-repo/webpack/runtime/hasOwnProperty shorthand","webpack://mono-repo/webpack/runtime/make namespace object","webpack://mono-repo/webpack/runtime/node module decorator","webpack://mono-repo/webpack/runtime/publicPath","webpack://mono-repo/webpack/runtime/css loading","webpack://mono-repo/webpack/runtime/jsonp chunk loading","webpack://mono-repo/webpack/runtime/nonce","webpack://mono-repo/./packages/core/src/app.js"],"sourcesContent":["/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","function _typeof(obj) {\n\tif (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n\t\t_typeof = function (obj) {\n\t\t\treturn typeof obj;\n\t\t};\n\t} else {\n\t\t_typeof = function (obj) {\n\t\t\treturn obj &&\n\t\t\t\ttypeof Symbol === 'function' &&\n\t\t\t\tobj.constructor === Symbol &&\n\t\t\t\tobj !== Symbol.prototype\n\t\t\t\t? 'symbol'\n\t\t\t\t: typeof obj;\n\t\t};\n\t}\n\n\treturn _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n\tif (!(instance instanceof Constructor)) {\n\t\tthrow new TypeError('Cannot call a class as a function');\n\t}\n}\n\nfunction _defineProperties(target, props) {\n\tfor (var i = 0; i < props.length; i++) {\n\t\tvar descriptor = props[i];\n\t\tdescriptor.enumerable = descriptor.enumerable || false;\n\t\tdescriptor.configurable = true;\n\t\tif ('value' in descriptor) descriptor.writable = true;\n\t\tObject.defineProperty(target, descriptor.key, descriptor);\n\t}\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n\tif (protoProps) _defineProperties(Constructor.prototype, protoProps);\n\tif (staticProps) _defineProperties(Constructor, staticProps);\n\treturn Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n\tif (key in obj) {\n\t\tObject.defineProperty(obj, key, {\n\t\t\tvalue: value,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t});\n\t} else {\n\t\tobj[key] = value;\n\t}\n\n\treturn obj;\n}\n\nfunction _objectSpread(target) {\n\tfor (var i = 1; i < arguments.length; i++) {\n\t\tvar source = arguments[i] != null ? arguments[i] : {};\n\t\tvar ownKeys = Object.keys(source);\n\n\t\tif (typeof Object.getOwnPropertySymbols === 'function') {\n\t\t\townKeys = ownKeys.concat(\n\t\t\t\tObject.getOwnPropertySymbols(source).filter(function (sym) {\n\t\t\t\t\treturn Object.getOwnPropertyDescriptor(source, sym).enumerable;\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\townKeys.forEach(function (key) {\n\t\t\t_defineProperty(target, key, source[key]);\n\t\t});\n\t}\n\n\treturn target;\n}\n\nfunction _slicedToArray(arr, i) {\n\treturn (\n\t\t_arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest()\n\t);\n}\n\nfunction _toConsumableArray(arr) {\n\treturn (\n\t\t_arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread()\n\t);\n}\n\nfunction _arrayWithoutHoles(arr) {\n\tif (Array.isArray(arr)) {\n\t\tfor (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++)\n\t\t\tarr2[i] = arr[i];\n\n\t\treturn arr2;\n\t}\n}\n\nfunction _arrayWithHoles(arr) {\n\tif (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n\tif (\n\t\tSymbol.iterator in Object(iter) ||\n\t\tObject.prototype.toString.call(iter) === '[object Arguments]'\n\t)\n\t\treturn Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n\tvar _arr = [];\n\tvar _n = true;\n\tvar _d = false;\n\tvar _e = undefined;\n\n\ttry {\n\t\tfor (\n\t\t\tvar _i = arr[Symbol.iterator](), _s;\n\t\t\t!(_n = (_s = _i.next()).done);\n\t\t\t_n = true\n\t\t) {\n\t\t\t_arr.push(_s.value);\n\n\t\t\tif (i && _arr.length === i) break;\n\t\t}\n\t} catch (err) {\n\t\t_d = true;\n\t\t_e = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_n && _i['return'] != null) _i['return']();\n\t\t} finally {\n\t\t\tif (_d) throw _e;\n\t\t}\n\t}\n\n\treturn _arr;\n}\n\nfunction _nonIterableSpread() {\n\tthrow new TypeError('Invalid attempt to spread non-iterable instance');\n}\n\nfunction _nonIterableRest() {\n\tthrow new TypeError('Invalid attempt to destructure non-iterable instance');\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n\tmark: noop,\n\tmeasure: noop,\n};\n\ntry {\n\tif (typeof window !== 'undefined') _WINDOW = window;\n\tif (typeof document !== 'undefined') _DOCUMENT = document;\n\tif (typeof MutationObserver !== 'undefined')\n\t\t_MUTATION_OBSERVER = MutationObserver;\n\tif (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n\t_ref$userAgent = _ref.userAgent,\n\tuserAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM =\n\t!!DOCUMENT.documentElement &&\n\t!!DOCUMENT.head &&\n\ttypeof DOCUMENT.addEventListener === 'function' &&\n\ttypeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = (function () {\n\ttry {\n\t\treturn process.env.NODE_ENV === 'production';\n\t} catch (e) {\n\t\treturn false;\n\t}\n})();\nvar PREFIX_TO_STYLE = {\n\tfas: 'solid',\n\tfar: 'regular',\n\tfal: 'light',\n\tfad: 'duotone',\n\tfab: 'brands',\n\tfa: 'solid',\n};\nvar STYLE_TO_PREFIX = {\n\tsolid: 'fas',\n\tregular: 'far',\n\tlight: 'fal',\n\tduotone: 'fad',\n\tbrands: 'fab',\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome 5 (Solid|Regular|Light|Duotone|Brands|Free|Pro)/;\nvar FONT_WEIGHT_TO_PREFIX = {\n\t'900': 'fas',\n\t'400': 'far',\n\tnormal: 'far',\n\t'300': 'fal',\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = [\n\t'class',\n\t'data-prefix',\n\t'data-icon',\n\t'data-fa-transform',\n\t'data-fa-mask',\n];\nvar DUOTONE_CLASSES = {\n\tGROUP: 'group',\n\tSWAP_OPACITY: 'swap-opacity',\n\tPRIMARY: 'primary',\n\tSECONDARY: 'secondary',\n};\nvar RESERVED_CLASSES = [\n\t'xs',\n\t'sm',\n\t'lg',\n\t'fw',\n\t'ul',\n\t'li',\n\t'border',\n\t'pull-left',\n\t'pull-right',\n\t'spin',\n\t'pulse',\n\t'rotate-90',\n\t'rotate-180',\n\t'rotate-270',\n\t'flip-horizontal',\n\t'flip-vertical',\n\t'flip-both',\n\t'stack',\n\t'stack-1x',\n\t'stack-2x',\n\t'inverse',\n\t'layers',\n\t'layers-text',\n\t'layers-counter',\n\tDUOTONE_CLASSES.GROUP,\n\tDUOTONE_CLASSES.SWAP_OPACITY,\n\tDUOTONE_CLASSES.PRIMARY,\n\tDUOTONE_CLASSES.SECONDARY,\n]\n\t.concat(\n\t\toneToTen.map(function (n) {\n\t\t\treturn ''.concat(n, 'x');\n\t\t}),\n\t)\n\t.concat(\n\t\toneToTwenty.map(function (n) {\n\t\t\treturn 'w-'.concat(n);\n\t\t}),\n\t);\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n\tvar element = DOCUMENT.querySelector('script[' + attr + ']');\n\n\tif (element) {\n\t\treturn element.getAttribute(attr);\n\t}\n}\n\nfunction coerce(val) {\n\t// Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n\t// We'll assume that this is an indication that it should be toggled to true\n\t// For example \n\tif (val === '') return true;\n\tif (val === 'false') return false;\n\tif (val === 'true') return true;\n\treturn val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n\tvar attrs = [\n\t\t['data-family-prefix', 'familyPrefix'],\n\t\t['data-replacement-class', 'replacementClass'],\n\t\t['data-auto-replace-svg', 'autoReplaceSvg'],\n\t\t['data-auto-add-css', 'autoAddCss'],\n\t\t['data-auto-a11y', 'autoA11y'],\n\t\t['data-search-pseudo-elements', 'searchPseudoElements'],\n\t\t['data-observe-mutations', 'observeMutations'],\n\t\t['data-mutate-approach', 'mutateApproach'],\n\t\t['data-keep-original-source', 'keepOriginalSource'],\n\t\t['data-measure-performance', 'measurePerformance'],\n\t\t['data-show-missing-icons', 'showMissingIcons'],\n\t];\n\tattrs.forEach(function (_ref) {\n\t\tvar _ref2 = _slicedToArray(_ref, 2),\n\t\t\tattr = _ref2[0],\n\t\t\tkey = _ref2[1];\n\n\t\tvar val = coerce(getAttrConfig(attr));\n\n\t\tif (val !== undefined && val !== null) {\n\t\t\tinitial[key] = val;\n\t\t}\n\t});\n}\n\nvar _default = {\n\tfamilyPrefix: DEFAULT_FAMILY_PREFIX,\n\treplacementClass: DEFAULT_REPLACEMENT_CLASS,\n\tautoReplaceSvg: true,\n\tautoAddCss: true,\n\tautoA11y: true,\n\tsearchPseudoElements: false,\n\tobserveMutations: true,\n\tmutateApproach: 'async',\n\tkeepOriginalSource: true,\n\tmeasurePerformance: false,\n\tshowMissingIcons: true,\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n\tDOCUMENT.removeEventListener('DOMContentLoaded', listener);\n\tloaded = 1;\n\tfunctions.map(function (fn) {\n\t\treturn fn();\n\t});\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n\tloaded = (DOCUMENT.documentElement.doScroll\n\t\t? /^loaded|^c/\n\t\t: /^loaded|^i|^c/\n\t).test(DOCUMENT.readyState);\n\tif (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready(fn) {\n\tif (!IS_DOM) return;\n\tloaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode =\n\ttypeof global !== 'undefined' &&\n\ttypeof global.process !== 'undefined' &&\n\ttypeof global.process.emit === 'function';\nvar asyncSetTimer =\n\ttypeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n\t// run promise callbacks\n\tfor (var i = 0; i < asyncQueue.length; i++) {\n\t\tasyncQueue[i][0](asyncQueue[i][1]);\n\t} // reset async asyncQueue\n\n\tasyncQueue = [];\n\tasyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n\tasyncQueue.push([callback, arg]);\n\n\tif (!asyncTimer) {\n\t\tasyncTimer = true;\n\t\tasyncSetTimer(asyncFlush, 0);\n\t}\n}\n\nfunction invokeResolver(resolver, promise) {\n\tfunction resolvePromise(value) {\n\t\tresolve(promise, value);\n\t}\n\n\tfunction rejectPromise(reason) {\n\t\treject(promise, reason);\n\t}\n\n\ttry {\n\t\tresolver(resolvePromise, rejectPromise);\n\t} catch (e) {\n\t\trejectPromise(e);\n\t}\n}\n\nfunction invokeCallback(subscriber) {\n\tvar owner = subscriber.owner;\n\tvar settled = owner._state;\n\tvar value = owner._data;\n\tvar callback = subscriber[settled];\n\tvar promise = subscriber.then;\n\n\tif (typeof callback === 'function') {\n\t\tsettled = FULFILLED;\n\n\t\ttry {\n\t\t\tvalue = callback(value);\n\t\t} catch (e) {\n\t\t\treject(promise, e);\n\t\t}\n\t}\n\n\tif (!handleThenable(promise, value)) {\n\t\tif (settled === FULFILLED) {\n\t\t\tresolve(promise, value);\n\t\t}\n\n\t\tif (settled === REJECTED) {\n\t\t\treject(promise, value);\n\t\t}\n\t}\n}\n\nfunction handleThenable(promise, value) {\n\tvar resolved;\n\n\ttry {\n\t\tif (promise === value) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'A promises callback cannot return that same promise.',\n\t\t\t);\n\t\t}\n\n\t\tif (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n\t\t\t// then should be retrieved only once\n\t\t\tvar then = value.then;\n\n\t\t\tif (typeof then === 'function') {\n\t\t\t\tthen.call(\n\t\t\t\t\tvalue,\n\t\t\t\t\tfunction (val) {\n\t\t\t\t\t\tif (!resolved) {\n\t\t\t\t\t\t\tresolved = true;\n\n\t\t\t\t\t\t\tif (value === val) {\n\t\t\t\t\t\t\t\tfulfill(promise, val);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tresolve(promise, val);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tfunction (reason) {\n\t\t\t\t\t\tif (!resolved) {\n\t\t\t\t\t\t\tresolved = true;\n\t\t\t\t\t\t\treject(promise, reason);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tif (!resolved) {\n\t\t\treject(promise, e);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\nfunction resolve(promise, value) {\n\tif (promise === value || !handleThenable(promise, value)) {\n\t\tfulfill(promise, value);\n\t}\n}\n\nfunction fulfill(promise, value) {\n\tif (promise._state === PENDING) {\n\t\tpromise._state = SETTLED;\n\t\tpromise._data = value;\n\t\tasyncCall(publishFulfillment, promise);\n\t}\n}\n\nfunction reject(promise, reason) {\n\tif (promise._state === PENDING) {\n\t\tpromise._state = SETTLED;\n\t\tpromise._data = reason;\n\t\tasyncCall(publishRejection, promise);\n\t}\n}\n\nfunction publish(promise) {\n\tpromise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n\tpromise._state = FULFILLED;\n\tpublish(promise);\n}\n\nfunction publishRejection(promise) {\n\tpromise._state = REJECTED;\n\tpublish(promise);\n\n\tif (!promise._handled && isNode) {\n\t\tglobal.process.emit('unhandledRejection', promise._data, promise);\n\t}\n}\n\nfunction notifyRejectionHandled(promise) {\n\tglobal.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\nfunction P(resolver) {\n\tif (typeof resolver !== 'function') {\n\t\tthrow new TypeError('Promise resolver ' + resolver + ' is not a function');\n\t}\n\n\tif (this instanceof P === false) {\n\t\tthrow new TypeError(\n\t\t\t\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\",\n\t\t);\n\t}\n\n\tthis._then = [];\n\tinvokeResolver(resolver, this);\n}\n\nP.prototype = {\n\tconstructor: P,\n\t_state: PENDING,\n\t_then: null,\n\t_data: undefined,\n\t_handled: false,\n\tthen: function then(onFulfillment, onRejection) {\n\t\tvar subscriber = {\n\t\t\towner: this,\n\t\t\tthen: new this.constructor(NOOP),\n\t\t\tfulfilled: onFulfillment,\n\t\t\trejected: onRejection,\n\t\t};\n\n\t\tif ((onRejection || onFulfillment) && !this._handled) {\n\t\t\tthis._handled = true;\n\n\t\t\tif (this._state === REJECTED && isNode) {\n\t\t\t\tasyncCall(notifyRejectionHandled, this);\n\t\t\t}\n\t\t}\n\n\t\tif (this._state === FULFILLED || this._state === REJECTED) {\n\t\t\t// already resolved, call callback async\n\t\t\tasyncCall(invokeCallback, subscriber);\n\t\t} else {\n\t\t\t// subscribe\n\t\t\tthis._then.push(subscriber);\n\t\t}\n\n\t\treturn subscriber.then;\n\t},\n\tcatch: function _catch(onRejection) {\n\t\treturn this.then(null, onRejection);\n\t},\n};\n\nP.all = function (promises) {\n\tif (!Array.isArray(promises)) {\n\t\tthrow new TypeError('You must pass an array to Promise.all().');\n\t}\n\n\treturn new P(function (resolve, reject) {\n\t\tvar results = [];\n\t\tvar remaining = 0;\n\n\t\tfunction resolver(index) {\n\t\t\tremaining++;\n\t\t\treturn function (value) {\n\t\t\t\tresults[index] = value;\n\n\t\t\t\tif (!--remaining) {\n\t\t\t\t\tresolve(results);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\tfor (var i = 0, promise; i < promises.length; i++) {\n\t\t\tpromise = promises[i];\n\n\t\t\tif (promise && typeof promise.then === 'function') {\n\t\t\t\tpromise.then(resolver(i), reject);\n\t\t\t} else {\n\t\t\t\tresults[i] = promise;\n\t\t\t}\n\t\t}\n\n\t\tif (!remaining) {\n\t\t\tresolve(results);\n\t\t}\n\t});\n};\n\nP.race = function (promises) {\n\tif (!Array.isArray(promises)) {\n\t\tthrow new TypeError('You must pass an array to Promise.race().');\n\t}\n\n\treturn new P(function (resolve, reject) {\n\t\tfor (var i = 0, promise; i < promises.length; i++) {\n\t\t\tpromise = promises[i];\n\n\t\t\tif (promise && typeof promise.then === 'function') {\n\t\t\t\tpromise.then(resolve, reject);\n\t\t\t} else {\n\t\t\t\tresolve(promise);\n\t\t\t}\n\t\t}\n\t});\n};\n\nP.resolve = function (value) {\n\tif (value && _typeof(value) === 'object' && value.constructor === P) {\n\t\treturn value;\n\t}\n\n\treturn new P(function (resolve) {\n\t\tresolve(value);\n\t});\n};\n\nP.reject = function (reason) {\n\treturn new P(function (resolve, reject) {\n\t\treject(reason);\n\t});\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n\tsize: 16,\n\tx: 0,\n\ty: 0,\n\trotate: 0,\n\tflipX: false,\n\tflipY: false,\n};\n\nfunction isReserved(name) {\n\treturn ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n\tif (!css || !IS_DOM) {\n\t\treturn;\n\t}\n\n\tvar style = DOCUMENT.createElement('style');\n\tstyle.setAttribute('type', 'text/css');\n\tstyle.innerHTML = css;\n\tvar headChildren = DOCUMENT.head.childNodes;\n\tvar beforeChild = null;\n\n\tfor (var i = headChildren.length - 1; i > -1; i--) {\n\t\tvar child = headChildren[i];\n\t\tvar tagName = (child.tagName || '').toUpperCase();\n\n\t\tif (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n\t\t\tbeforeChild = child;\n\t\t}\n\t}\n\n\tDOCUMENT.head.insertBefore(style, beforeChild);\n\treturn css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n\tvar size = 12;\n\tvar id = '';\n\n\twhile (size-- > 0) {\n\t\tid += idPool[(Math.random() * 62) | 0];\n\t}\n\n\treturn id;\n}\nfunction toArray(obj) {\n\tvar array = [];\n\n\tfor (var i = (obj || []).length >>> 0; i--; ) {\n\t\tarray[i] = obj[i];\n\t}\n\n\treturn array;\n}\nfunction classArray(node) {\n\tif (node.classList) {\n\t\treturn toArray(node.classList);\n\t} else {\n\t\treturn (node.getAttribute('class') || '').split(' ').filter(function (i) {\n\t\t\treturn i;\n\t\t});\n\t}\n}\nfunction getIconName(familyPrefix, cls) {\n\tvar parts = cls.split('-');\n\tvar prefix = parts[0];\n\tvar iconName = parts.slice(1).join('-');\n\n\tif (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n\t\treturn iconName;\n\t} else {\n\t\treturn null;\n\t}\n}\nfunction htmlEscape(str) {\n\treturn ''\n\t\t.concat(str)\n\t\t.replace(/&/g, '&')\n\t\t.replace(/\"/g, '"')\n\t\t.replace(/'/g, ''')\n\t\t.replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n\treturn Object.keys(attributes || {})\n\t\t.reduce(function (acc, attributeName) {\n\t\t\treturn (\n\t\t\t\tacc +\n\t\t\t\t''\n\t\t\t\t\t.concat(attributeName, '=\"')\n\t\t\t\t\t.concat(htmlEscape(attributes[attributeName]), '\" ')\n\t\t\t);\n\t\t}, '')\n\t\t.trim();\n}\nfunction joinStyles(styles) {\n\treturn Object.keys(styles || {}).reduce(function (acc, styleName) {\n\t\treturn acc + ''.concat(styleName, ': ').concat(styles[styleName], ';');\n\t}, '');\n}\nfunction transformIsMeaningful(transform) {\n\treturn (\n\t\ttransform.size !== meaninglessTransform.size ||\n\t\ttransform.x !== meaninglessTransform.x ||\n\t\ttransform.y !== meaninglessTransform.y ||\n\t\ttransform.rotate !== meaninglessTransform.rotate ||\n\t\ttransform.flipX ||\n\t\ttransform.flipY\n\t);\n}\nfunction transformForSvg(_ref) {\n\tvar transform = _ref.transform,\n\t\tcontainerWidth = _ref.containerWidth,\n\t\ticonWidth = _ref.iconWidth;\n\tvar outer = {\n\t\ttransform: 'translate('.concat(containerWidth / 2, ' 256)'),\n\t};\n\tvar innerTranslate = 'translate('\n\t\t.concat(transform.x * 32, ', ')\n\t\t.concat(transform.y * 32, ') ');\n\tvar innerScale = 'scale('\n\t\t.concat((transform.size / 16) * (transform.flipX ? -1 : 1), ', ')\n\t\t.concat((transform.size / 16) * (transform.flipY ? -1 : 1), ') ');\n\tvar innerRotate = 'rotate('.concat(transform.rotate, ' 0 0)');\n\tvar inner = {\n\t\ttransform: ''\n\t\t\t.concat(innerTranslate, ' ')\n\t\t\t.concat(innerScale, ' ')\n\t\t\t.concat(innerRotate),\n\t};\n\tvar path = {\n\t\ttransform: 'translate('.concat((iconWidth / 2) * -1, ' -256)'),\n\t};\n\treturn {\n\t\touter: outer,\n\t\tinner: inner,\n\t\tpath: path,\n\t};\n}\nfunction transformForCss(_ref2) {\n\tvar transform = _ref2.transform,\n\t\t_ref2$width = _ref2.width,\n\t\twidth = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n\t\t_ref2$height = _ref2.height,\n\t\theight = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n\t\t_ref2$startCentered = _ref2.startCentered,\n\t\tstartCentered =\n\t\t\t_ref2$startCentered === void 0 ? false : _ref2$startCentered;\n\tvar val = '';\n\n\tif (startCentered && IS_IE) {\n\t\tval += 'translate('\n\t\t\t.concat(transform.x / d - width / 2, 'em, ')\n\t\t\t.concat(transform.y / d - height / 2, 'em) ');\n\t} else if (startCentered) {\n\t\tval += 'translate(calc(-50% + '\n\t\t\t.concat(transform.x / d, 'em), calc(-50% + ')\n\t\t\t.concat(transform.y / d, 'em)) ');\n\t} else {\n\t\tval += 'translate('\n\t\t\t.concat(transform.x / d, 'em, ')\n\t\t\t.concat(transform.y / d, 'em) ');\n\t}\n\n\tval += 'scale('\n\t\t.concat((transform.size / d) * (transform.flipX ? -1 : 1), ', ')\n\t\t.concat((transform.size / d) * (transform.flipY ? -1 : 1), ') ');\n\tval += 'rotate('.concat(transform.rotate, 'deg) ');\n\treturn val;\n}\n\nvar ALL_SPACE = {\n\tx: 0,\n\ty: 0,\n\twidth: '100%',\n\theight: '100%',\n};\n\nfunction fillBlack(abstract) {\n\tvar force =\n\t\targuments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\tif (abstract.attributes && (abstract.attributes.fill || force)) {\n\t\tabstract.attributes.fill = 'black';\n\t}\n\n\treturn abstract;\n}\n\nfunction deGroup(abstract) {\n\tif (abstract.tag === 'g') {\n\t\treturn abstract.children;\n\t} else {\n\t\treturn [abstract];\n\t}\n}\n\nfunction makeIconMasking(_ref) {\n\tvar children = _ref.children,\n\t\tattributes = _ref.attributes,\n\t\tmain = _ref.main,\n\t\tmask = _ref.mask,\n\t\ttransform = _ref.transform;\n\tvar mainWidth = main.width,\n\t\tmainPath = main.icon;\n\tvar maskWidth = mask.width,\n\t\tmaskPath = mask.icon;\n\tvar trans = transformForSvg({\n\t\ttransform: transform,\n\t\tcontainerWidth: maskWidth,\n\t\ticonWidth: mainWidth,\n\t});\n\tvar maskRect = {\n\t\ttag: 'rect',\n\t\tattributes: _objectSpread({}, ALL_SPACE, {\n\t\t\tfill: 'white',\n\t\t}),\n\t};\n\tvar maskInnerGroupChildrenMixin = mainPath.children\n\t\t? {\n\t\t\t\tchildren: mainPath.children.map(fillBlack),\n\t\t }\n\t\t: {};\n\tvar maskInnerGroup = {\n\t\ttag: 'g',\n\t\tattributes: _objectSpread({}, trans.inner),\n\t\tchildren: [\n\t\t\tfillBlack(\n\t\t\t\t_objectSpread(\n\t\t\t\t\t{\n\t\t\t\t\t\ttag: mainPath.tag,\n\t\t\t\t\t\tattributes: _objectSpread({}, mainPath.attributes, trans.path),\n\t\t\t\t\t},\n\t\t\t\t\tmaskInnerGroupChildrenMixin,\n\t\t\t\t),\n\t\t\t),\n\t\t],\n\t};\n\tvar maskOuterGroup = {\n\t\ttag: 'g',\n\t\tattributes: _objectSpread({}, trans.outer),\n\t\tchildren: [maskInnerGroup],\n\t};\n\tvar maskId = 'mask-'.concat(nextUniqueId());\n\tvar clipId = 'clip-'.concat(nextUniqueId());\n\tvar maskTag = {\n\t\ttag: 'mask',\n\t\tattributes: _objectSpread({}, ALL_SPACE, {\n\t\t\tid: maskId,\n\t\t\tmaskUnits: 'userSpaceOnUse',\n\t\t\tmaskContentUnits: 'userSpaceOnUse',\n\t\t}),\n\t\tchildren: [maskRect, maskOuterGroup],\n\t};\n\tvar defs = {\n\t\ttag: 'defs',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\ttag: 'clipPath',\n\t\t\t\tattributes: {\n\t\t\t\t\tid: clipId,\n\t\t\t\t},\n\t\t\t\tchildren: deGroup(maskPath),\n\t\t\t},\n\t\t\tmaskTag,\n\t\t],\n\t};\n\tchildren.push(defs, {\n\t\ttag: 'rect',\n\t\tattributes: _objectSpread(\n\t\t\t{\n\t\t\t\tfill: 'currentColor',\n\t\t\t\t'clip-path': 'url(#'.concat(clipId, ')'),\n\t\t\t\tmask: 'url(#'.concat(maskId, ')'),\n\t\t\t},\n\t\t\tALL_SPACE,\n\t\t),\n\t});\n\treturn {\n\t\tchildren: children,\n\t\tattributes: attributes,\n\t};\n}\n\nfunction makeIconStandard(_ref) {\n\tvar children = _ref.children,\n\t\tattributes = _ref.attributes,\n\t\tmain = _ref.main,\n\t\ttransform = _ref.transform,\n\t\tstyles = _ref.styles;\n\tvar styleString = joinStyles(styles);\n\n\tif (styleString.length > 0) {\n\t\tattributes['style'] = styleString;\n\t}\n\n\tif (transformIsMeaningful(transform)) {\n\t\tvar trans = transformForSvg({\n\t\t\ttransform: transform,\n\t\t\tcontainerWidth: main.width,\n\t\t\ticonWidth: main.width,\n\t\t});\n\t\tchildren.push({\n\t\t\ttag: 'g',\n\t\t\tattributes: _objectSpread({}, trans.outer),\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'g',\n\t\t\t\t\tattributes: _objectSpread({}, trans.inner),\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttag: main.icon.tag,\n\t\t\t\t\t\t\tchildren: main.icon.children,\n\t\t\t\t\t\t\tattributes: _objectSpread({}, main.icon.attributes, trans.path),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t});\n\t} else {\n\t\tchildren.push(main.icon);\n\t}\n\n\treturn {\n\t\tchildren: children,\n\t\tattributes: attributes,\n\t};\n}\n\nfunction asIcon(_ref) {\n\tvar children = _ref.children,\n\t\tmain = _ref.main,\n\t\tmask = _ref.mask,\n\t\tattributes = _ref.attributes,\n\t\tstyles = _ref.styles,\n\t\ttransform = _ref.transform;\n\n\tif (transformIsMeaningful(transform) && main.found && !mask.found) {\n\t\tvar width = main.width,\n\t\t\theight = main.height;\n\t\tvar offset = {\n\t\t\tx: width / height / 2,\n\t\t\ty: 0.5,\n\t\t};\n\t\tattributes['style'] = joinStyles(\n\t\t\t_objectSpread({}, styles, {\n\t\t\t\t'transform-origin': ''\n\t\t\t\t\t.concat(offset.x + transform.x / 16, 'em ')\n\t\t\t\t\t.concat(offset.y + transform.y / 16, 'em'),\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn [\n\t\t{\n\t\t\ttag: 'svg',\n\t\t\tattributes: attributes,\n\t\t\tchildren: children,\n\t\t},\n\t];\n}\n\nfunction asSymbol(_ref) {\n\tvar prefix = _ref.prefix,\n\t\ticonName = _ref.iconName,\n\t\tchildren = _ref.children,\n\t\tattributes = _ref.attributes,\n\t\tsymbol = _ref.symbol;\n\tvar id =\n\t\tsymbol === true\n\t\t\t? ''.concat(prefix, '-').concat(config.familyPrefix, '-').concat(iconName)\n\t\t\t: symbol;\n\treturn [\n\t\t{\n\t\t\ttag: 'svg',\n\t\t\tattributes: {\n\t\t\t\tstyle: 'display: none;',\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'symbol',\n\t\t\t\t\tattributes: _objectSpread({}, attributes, {\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t}),\n\t\t\t\t\tchildren: children,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t];\n}\n\nfunction makeInlineSvgAbstract(params) {\n\tvar _params$icons = params.icons,\n\t\tmain = _params$icons.main,\n\t\tmask = _params$icons.mask,\n\t\tprefix = params.prefix,\n\t\ticonName = params.iconName,\n\t\ttransform = params.transform,\n\t\tsymbol = params.symbol,\n\t\ttitle = params.title,\n\t\textra = params.extra,\n\t\t_params$watchable = params.watchable,\n\t\twatchable = _params$watchable === void 0 ? false : _params$watchable;\n\n\tvar _ref = mask.found ? mask : main,\n\t\twidth = _ref.width,\n\t\theight = _ref.height;\n\n\tvar widthClass = 'fa-w-'.concat(Math.ceil((width / height) * 16));\n\tvar attrClass = [\n\t\tconfig.replacementClass,\n\t\ticonName ? ''.concat(config.familyPrefix, '-').concat(iconName) : '',\n\t\twidthClass,\n\t]\n\t\t.filter(function (c) {\n\t\t\treturn extra.classes.indexOf(c) === -1;\n\t\t})\n\t\t.concat(extra.classes)\n\t\t.join(' ');\n\tvar content = {\n\t\tchildren: [],\n\t\tattributes: _objectSpread({}, extra.attributes, {\n\t\t\t'data-prefix': prefix,\n\t\t\t'data-icon': iconName,\n\t\t\tclass: attrClass,\n\t\t\trole: extra.attributes.role || 'img',\n\t\t\txmlns: 'http://www.w3.org/2000/svg',\n\t\t\tviewBox: '0 0 '.concat(width, ' ').concat(height),\n\t\t}),\n\t};\n\n\tif (watchable) {\n\t\tcontent.attributes[DATA_FA_I2SVG] = '';\n\t}\n\n\tif (title)\n\t\tcontent.children.push({\n\t\t\ttag: 'title',\n\t\t\tattributes: {\n\t\t\t\tid:\n\t\t\t\t\tcontent.attributes['aria-labelledby'] ||\n\t\t\t\t\t'title-'.concat(nextUniqueId()),\n\t\t\t},\n\t\t\tchildren: [title],\n\t\t});\n\n\tvar args = _objectSpread({}, content, {\n\t\tprefix: prefix,\n\t\ticonName: iconName,\n\t\tmain: main,\n\t\tmask: mask,\n\t\ttransform: transform,\n\t\tsymbol: symbol,\n\t\tstyles: extra.styles,\n\t});\n\n\tvar _ref2 =\n\t\t\tmask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n\t\tchildren = _ref2.children,\n\t\tattributes = _ref2.attributes;\n\n\targs.children = children;\n\targs.attributes = attributes;\n\n\tif (symbol) {\n\t\treturn asSymbol(args);\n\t} else {\n\t\treturn asIcon(args);\n\t}\n}\nfunction makeLayersTextAbstract(params) {\n\tvar content = params.content,\n\t\twidth = params.width,\n\t\theight = params.height,\n\t\ttransform = params.transform,\n\t\ttitle = params.title,\n\t\textra = params.extra,\n\t\t_params$watchable2 = params.watchable,\n\t\twatchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n\tvar attributes = _objectSpread(\n\t\t{},\n\t\textra.attributes,\n\t\ttitle\n\t\t\t? {\n\t\t\t\t\ttitle: title,\n\t\t\t }\n\t\t\t: {},\n\t\t{\n\t\t\tclass: extra.classes.join(' '),\n\t\t},\n\t);\n\n\tif (watchable) {\n\t\tattributes[DATA_FA_I2SVG] = '';\n\t}\n\n\tvar styles = _objectSpread({}, extra.styles);\n\n\tif (transformIsMeaningful(transform)) {\n\t\tstyles['transform'] = transformForCss({\n\t\t\ttransform: transform,\n\t\t\tstartCentered: true,\n\t\t\twidth: width,\n\t\t\theight: height,\n\t\t});\n\t\tstyles['-webkit-transform'] = styles['transform'];\n\t}\n\n\tvar styleString = joinStyles(styles);\n\n\tif (styleString.length > 0) {\n\t\tattributes['style'] = styleString;\n\t}\n\n\tvar val = [];\n\tval.push({\n\t\ttag: 'span',\n\t\tattributes: attributes,\n\t\tchildren: [content],\n\t});\n\n\tif (title) {\n\t\tval.push({\n\t\t\ttag: 'span',\n\t\t\tattributes: {\n\t\t\t\tclass: 'sr-only',\n\t\t\t},\n\t\t\tchildren: [title],\n\t\t});\n\t}\n\n\treturn val;\n}\nfunction makeLayersCounterAbstract(params) {\n\tvar content = params.content,\n\t\ttitle = params.title,\n\t\textra = params.extra;\n\n\tvar attributes = _objectSpread(\n\t\t{},\n\t\textra.attributes,\n\t\ttitle\n\t\t\t? {\n\t\t\t\t\ttitle: title,\n\t\t\t }\n\t\t\t: {},\n\t\t{\n\t\t\tclass: extra.classes.join(' '),\n\t\t},\n\t);\n\n\tvar styleString = joinStyles(extra.styles);\n\n\tif (styleString.length > 0) {\n\t\tattributes['style'] = styleString;\n\t}\n\n\tvar val = [];\n\tval.push({\n\t\ttag: 'span',\n\t\tattributes: attributes,\n\t\tchildren: [content],\n\t});\n\n\tif (title) {\n\t\tval.push({\n\t\t\ttag: 'span',\n\t\t\tattributes: {\n\t\t\t\tclass: 'sr-only',\n\t\t\t},\n\t\t\tchildren: [title],\n\t\t});\n\t}\n\n\treturn val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p =\n\tconfig.measurePerformance &&\n\tPERFORMANCE &&\n\tPERFORMANCE.mark &&\n\tPERFORMANCE.measure\n\t\t? PERFORMANCE\n\t\t: {\n\t\t\t\tmark: noop$1,\n\t\t\t\tmeasure: noop$1,\n\t\t };\nvar preamble = 'FA \"5.10.0\"';\n\nvar begin = function begin(name) {\n\tp.mark(''.concat(preamble, ' ').concat(name, ' begins'));\n\treturn function () {\n\t\treturn end(name);\n\t};\n};\n\nvar end = function end(name) {\n\tp.mark(''.concat(preamble, ' ').concat(name, ' ends'));\n\tp.measure(\n\t\t''.concat(preamble, ' ').concat(name),\n\t\t''.concat(preamble, ' ').concat(name, ' begins'),\n\t\t''.concat(preamble, ' ').concat(name, ' ends'),\n\t);\n};\n\nvar perf = {\n\tbegin: begin,\n\tend: end,\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n\treturn function (a, b, c, d) {\n\t\treturn func.call(thisContext, a, b, c, d);\n\t};\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n\tvar keys = Object.keys(subject),\n\t\tlength = keys.length,\n\t\titerator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n\t\ti,\n\t\tkey,\n\t\tresult;\n\n\tif (initialValue === undefined) {\n\t\ti = 1;\n\t\tresult = subject[keys[0]];\n\t} else {\n\t\ti = 0;\n\t\tresult = initialValue;\n\t}\n\n\tfor (; i < length; i++) {\n\t\tkey = keys[i];\n\t\tresult = iterator(result, subject[key], key, subject);\n\t}\n\n\treturn result;\n};\n\nfunction toHex(unicode) {\n\tvar result = '';\n\n\tfor (var i = 0; i < unicode.length; i++) {\n\t\tvar hex = unicode.charCodeAt(i).toString(16);\n\t\tresult += ('000' + hex).slice(-4);\n\t}\n\n\treturn result;\n}\n\nfunction defineIcons(prefix, icons) {\n\tvar params =\n\t\targuments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\tvar _params$skipHooks = params.skipHooks,\n\t\tskipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n\tvar normalized = Object.keys(icons).reduce(function (acc, iconName) {\n\t\tvar icon = icons[iconName];\n\t\tvar expanded = !!icon.icon;\n\n\t\tif (expanded) {\n\t\t\tacc[icon.iconName] = icon.icon;\n\t\t} else {\n\t\t\tacc[iconName] = icon;\n\t\t}\n\n\t\treturn acc;\n\t}, {});\n\n\tif (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n\t\tnamespace.hooks.addPack(prefix, normalized);\n\t} else {\n\t\tnamespace.styles[prefix] = _objectSpread(\n\t\t\t{},\n\t\t\tnamespace.styles[prefix] || {},\n\t\t\tnormalized,\n\t\t);\n\t}\n\t/**\n\t * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n\t * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n\t * for `fas` so we'll easy the upgrade process for our users by automatically defining\n\t * this as well.\n\t */\n\n\tif (prefix === 'fas') {\n\t\tdefineIcons('fa', icons);\n\t}\n}\n\nvar styles = namespace.styles,\n\tshims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n\tvar lookup = function lookup(reducer) {\n\t\treturn reduce(\n\t\t\tstyles,\n\t\t\tfunction (o, style, prefix) {\n\t\t\t\to[prefix] = reduce(style, reducer, {});\n\t\t\t\treturn o;\n\t\t\t},\n\t\t\t{},\n\t\t);\n\t};\n\n\t_byUnicode = lookup(function (acc, icon, iconName) {\n\t\tif (icon[3]) {\n\t\t\tacc[icon[3]] = iconName;\n\t\t}\n\n\t\treturn acc;\n\t});\n\t_byLigature = lookup(function (acc, icon, iconName) {\n\t\tvar ligatures = icon[2];\n\t\tacc[iconName] = iconName;\n\t\tligatures.forEach(function (ligature) {\n\t\t\tacc[ligature] = iconName;\n\t\t});\n\t\treturn acc;\n\t});\n\tvar hasRegular = 'far' in styles;\n\t_byOldName = reduce(\n\t\tshims,\n\t\tfunction (acc, shim) {\n\t\t\tvar oldName = shim[0];\n\t\t\tvar prefix = shim[1];\n\t\t\tvar iconName = shim[2];\n\n\t\t\tif (prefix === 'far' && !hasRegular) {\n\t\t\t\tprefix = 'fas';\n\t\t\t}\n\n\t\t\tacc[oldName] = {\n\t\t\t\tprefix: prefix,\n\t\t\t\ticonName: iconName,\n\t\t\t};\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n\treturn (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n\treturn (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n\treturn (\n\t\t_byOldName[name] || {\n\t\t\tprefix: null,\n\t\t\ticonName: null,\n\t\t}\n\t);\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n\treturn {\n\t\tprefix: null,\n\t\ticonName: null,\n\t\trest: [],\n\t};\n};\nfunction getCanonicalIcon(values) {\n\treturn values.reduce(function (acc, cls) {\n\t\tvar iconName = getIconName(config.familyPrefix, cls);\n\n\t\tif (styles$1[cls]) {\n\t\t\tacc.prefix = cls;\n\t\t} else if (\n\t\t\tconfig.autoFetchSvg &&\n\t\t\t['fas', 'far', 'fal', 'fad', 'fab', 'fa'].indexOf(cls) > -1\n\t\t) {\n\t\t\tacc.prefix = cls;\n\t\t} else if (iconName) {\n\t\t\tvar shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n\t\t\tacc.iconName = shim.iconName || iconName;\n\t\t\tacc.prefix = shim.prefix || acc.prefix;\n\t\t} else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n\t\t\tacc.rest.push(cls);\n\t\t}\n\n\t\treturn acc;\n\t}, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n\tif (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n\t\treturn {\n\t\t\tprefix: prefix,\n\t\t\ticonName: iconName,\n\t\t\ticon: mapping[prefix][iconName],\n\t\t};\n\t}\n}\n\nfunction toHtml(abstractNodes) {\n\tvar tag = abstractNodes.tag,\n\t\t_abstractNodes$attrib = abstractNodes.attributes,\n\t\tattributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n\t\t_abstractNodes$childr = abstractNodes.children,\n\t\tchildren = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n\tif (typeof abstractNodes === 'string') {\n\t\treturn htmlEscape(abstractNodes);\n\t} else {\n\t\treturn '<'\n\t\t\t.concat(tag, ' ')\n\t\t\t.concat(joinAttributes(attributes), '>')\n\t\t\t.concat(children.map(toHtml).join(''), '')\n\t\t\t.concat(tag, '>');\n\t}\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n\tvar i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n\treturn typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n\tif (config.autoReplaceSvg === true) {\n\t\treturn mutators.replace;\n\t}\n\n\tvar mutator = mutators[config.autoReplaceSvg];\n\treturn mutator || mutators.replace;\n}\n\nvar mutators = {\n\treplace: function replace(mutation) {\n\t\tvar node = mutation[0];\n\t\tvar abstract = mutation[1];\n\t\tvar newOuterHTML = abstract\n\t\t\t.map(function (a) {\n\t\t\t\treturn toHtml(a);\n\t\t\t})\n\t\t\t.join('\\n');\n\n\t\tif (node.parentNode && node.outerHTML) {\n\t\t\tnode.outerHTML =\n\t\t\t\tnewOuterHTML +\n\t\t\t\t(config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg'\n\t\t\t\t\t? '')\n\t\t\t\t\t: '');\n\t\t} else if (node.parentNode) {\n\t\t\tvar newNode = document.createElement('span');\n\t\t\tnode.parentNode.replaceChild(newNode, node);\n\t\t\tnewNode.outerHTML = newOuterHTML;\n\t\t}\n\t},\n\tnest: function nest(mutation) {\n\t\tvar node = mutation[0];\n\t\tvar abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n\t\t// Short-circuit to the standard replacement\n\n\t\tif (~classArray(node).indexOf(config.replacementClass)) {\n\t\t\treturn mutators.replace(mutation);\n\t\t}\n\n\t\tvar forSvg = new RegExp(''.concat(config.familyPrefix, '-.*'));\n\t\tdelete abstract[0].attributes.style;\n\t\tvar splitClasses = abstract[0].attributes.class.split(' ').reduce(\n\t\t\tfunction (acc, cls) {\n\t\t\t\tif (cls === config.replacementClass || cls.match(forSvg)) {\n\t\t\t\t\tacc.toSvg.push(cls);\n\t\t\t\t} else {\n\t\t\t\t\tacc.toNode.push(cls);\n\t\t\t\t}\n\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{\n\t\t\t\ttoNode: [],\n\t\t\t\ttoSvg: [],\n\t\t\t},\n\t\t);\n\t\tabstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\t\tvar newInnerHTML = abstract\n\t\t\t.map(function (a) {\n\t\t\t\treturn toHtml(a);\n\t\t\t})\n\t\t\t.join('\\n');\n\t\tnode.setAttribute('class', splitClasses.toNode.join(' '));\n\t\tnode.setAttribute(DATA_FA_I2SVG, '');\n\t\tnode.innerHTML = newInnerHTML;\n\t},\n};\n\nfunction performOperationSync(op) {\n\top();\n}\n\nfunction perform(mutations, callback) {\n\tvar callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n\tif (mutations.length === 0) {\n\t\tcallbackFunction();\n\t} else {\n\t\tvar frame = performOperationSync;\n\n\t\tif (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n\t\t\tframe = WINDOW.requestAnimationFrame || performOperationSync;\n\t\t}\n\n\t\tframe(function () {\n\t\t\tvar mutator = getMutator();\n\t\t\tvar mark = perf.begin('mutate');\n\t\t\tmutations.map(mutator);\n\t\t\tmark();\n\t\t\tcallbackFunction();\n\t\t});\n\t}\n}\nvar disabled = false;\nfunction disableObservation() {\n\tdisabled = true;\n}\nfunction enableObservation() {\n\tdisabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n\tif (!MUTATION_OBSERVER) {\n\t\treturn;\n\t}\n\n\tif (!config.observeMutations) {\n\t\treturn;\n\t}\n\n\tvar treeCallback = options.treeCallback,\n\t\tnodeCallback = options.nodeCallback,\n\t\tpseudoElementsCallback = options.pseudoElementsCallback,\n\t\t_options$observeMutat = options.observeMutationsRoot,\n\t\tobserveMutationsRoot =\n\t\t\t_options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n\tmo = new MUTATION_OBSERVER(function (objects) {\n\t\tif (disabled) return;\n\t\ttoArray(objects).forEach(function (mutationRecord) {\n\t\t\tif (\n\t\t\t\tmutationRecord.type === 'childList' &&\n\t\t\t\tmutationRecord.addedNodes.length > 0 &&\n\t\t\t\t!isWatched(mutationRecord.addedNodes[0])\n\t\t\t) {\n\t\t\t\tif (config.searchPseudoElements) {\n\t\t\t\t\tpseudoElementsCallback(mutationRecord.target);\n\t\t\t\t}\n\n\t\t\t\ttreeCallback(mutationRecord.target);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tmutationRecord.type === 'attributes' &&\n\t\t\t\tmutationRecord.target.parentNode &&\n\t\t\t\tconfig.searchPseudoElements\n\t\t\t) {\n\t\t\t\tpseudoElementsCallback(mutationRecord.target.parentNode);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tmutationRecord.type === 'attributes' &&\n\t\t\t\tisWatched(mutationRecord.target) &&\n\t\t\t\t~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)\n\t\t\t) {\n\t\t\t\tif (mutationRecord.attributeName === 'class') {\n\t\t\t\t\tvar _getCanonicalIcon = getCanonicalIcon(\n\t\t\t\t\t\t\tclassArray(mutationRecord.target),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tprefix = _getCanonicalIcon.prefix,\n\t\t\t\t\t\ticonName = _getCanonicalIcon.iconName;\n\n\t\t\t\t\tif (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n\t\t\t\t\tif (iconName)\n\t\t\t\t\t\tmutationRecord.target.setAttribute('data-icon', iconName);\n\t\t\t\t} else {\n\t\t\t\t\tnodeCallback(mutationRecord.target);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\tif (!IS_DOM) return;\n\tmo.observe(observeMutationsRoot, {\n\t\tchildList: true,\n\t\tattributes: true,\n\t\tcharacterData: true,\n\t\tsubtree: true,\n\t});\n}\nfunction disconnect() {\n\tif (!mo) return;\n\tmo.disconnect();\n}\n\nfunction styleParser(node) {\n\tvar style = node.getAttribute('style');\n\tvar val = [];\n\n\tif (style) {\n\t\tval = style.split(';').reduce(function (acc, style) {\n\t\t\tvar styles = style.split(':');\n\t\t\tvar prop = styles[0];\n\t\t\tvar value = styles.slice(1);\n\n\t\t\tif (prop && value.length > 0) {\n\t\t\t\tacc[prop] = value.join(':').trim();\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\n\treturn val;\n}\n\nfunction classParser(node) {\n\tvar existingPrefix = node.getAttribute('data-prefix');\n\tvar existingIconName = node.getAttribute('data-icon');\n\tvar innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n\tvar val = getCanonicalIcon(classArray(node));\n\n\tif (existingPrefix && existingIconName) {\n\t\tval.prefix = existingPrefix;\n\t\tval.iconName = existingIconName;\n\t}\n\n\tif (val.prefix && innerText.length > 1) {\n\t\tval.iconName = byLigature(val.prefix, node.innerText);\n\t} else if (val.prefix && innerText.length === 1) {\n\t\tval.iconName = byUnicode(val.prefix, toHex(node.innerText));\n\t}\n\n\treturn val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n\tvar transform = {\n\t\tsize: 16,\n\t\tx: 0,\n\t\ty: 0,\n\t\tflipX: false,\n\t\tflipY: false,\n\t\trotate: 0,\n\t};\n\n\tif (!transformString) {\n\t\treturn transform;\n\t} else {\n\t\treturn transformString\n\t\t\t.toLowerCase()\n\t\t\t.split(' ')\n\t\t\t.reduce(function (acc, n) {\n\t\t\t\tvar parts = n.toLowerCase().split('-');\n\t\t\t\tvar first = parts[0];\n\t\t\t\tvar rest = parts.slice(1).join('-');\n\n\t\t\t\tif (first && rest === 'h') {\n\t\t\t\t\tacc.flipX = true;\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\n\t\t\t\tif (first && rest === 'v') {\n\t\t\t\t\tacc.flipY = true;\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\n\t\t\t\trest = parseFloat(rest);\n\n\t\t\t\tif (isNaN(rest)) {\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\n\t\t\t\tswitch (first) {\n\t\t\t\t\tcase 'grow':\n\t\t\t\t\t\tacc.size = acc.size + rest;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'shrink':\n\t\t\t\t\t\tacc.size = acc.size - rest;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'left':\n\t\t\t\t\t\tacc.x = acc.x - rest;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'right':\n\t\t\t\t\t\tacc.x = acc.x + rest;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'up':\n\t\t\t\t\t\tacc.y = acc.y - rest;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'down':\n\t\t\t\t\t\tacc.y = acc.y + rest;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'rotate':\n\t\t\t\t\t\tacc.rotate = acc.rotate + rest;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\treturn acc;\n\t\t\t}, transform);\n\t}\n};\nfunction transformParser(node) {\n\treturn parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser(node) {\n\tvar symbol = node.getAttribute('data-fa-symbol');\n\treturn symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser(node) {\n\tvar extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n\t\tif (acc.name !== 'class' && acc.name !== 'style') {\n\t\t\tacc[attr.name] = attr.value;\n\t\t}\n\n\t\treturn acc;\n\t}, {});\n\tvar title = node.getAttribute('title');\n\n\tif (config.autoA11y) {\n\t\tif (title) {\n\t\t\textraAttributes['aria-labelledby'] = ''\n\t\t\t\t.concat(config.replacementClass, '-title-')\n\t\t\t\t.concat(nextUniqueId());\n\t\t} else {\n\t\t\textraAttributes['aria-hidden'] = 'true';\n\t\t\textraAttributes['focusable'] = 'false';\n\t\t}\n\t}\n\n\treturn extraAttributes;\n}\n\nfunction maskParser(node) {\n\tvar mask = node.getAttribute('data-fa-mask');\n\n\tif (!mask) {\n\t\treturn emptyCanonicalIcon();\n\t} else {\n\t\treturn getCanonicalIcon(\n\t\t\tmask.split(' ').map(function (i) {\n\t\t\t\treturn i.trim();\n\t\t\t}),\n\t\t);\n\t}\n}\n\nfunction blankMeta() {\n\treturn {\n\t\ticonName: null,\n\t\ttitle: null,\n\t\tprefix: null,\n\t\ttransform: meaninglessTransform,\n\t\tsymbol: false,\n\t\tmask: null,\n\t\textra: {\n\t\t\tclasses: [],\n\t\t\tstyles: {},\n\t\t\tattributes: {},\n\t\t},\n\t};\n}\nfunction parseMeta(node) {\n\tvar _classParser = classParser(node),\n\t\ticonName = _classParser.iconName,\n\t\tprefix = _classParser.prefix,\n\t\textraClasses = _classParser.rest;\n\n\tvar extraStyles = styleParser(node);\n\tvar transform = transformParser(node);\n\tvar symbol = symbolParser(node);\n\tvar extraAttributes = attributesParser(node);\n\tvar mask = maskParser(node);\n\treturn {\n\t\ticonName: iconName,\n\t\ttitle: node.getAttribute('title'),\n\t\tprefix: prefix,\n\t\ttransform: transform,\n\t\tsymbol: symbol,\n\t\tmask: mask,\n\t\textra: {\n\t\t\tclasses: extraClasses,\n\t\t\tstyles: extraStyles,\n\t\t\tattributes: extraAttributes,\n\t\t},\n\t};\n}\n\nfunction MissingIcon(error) {\n\tthis.name = 'MissingIcon';\n\tthis.message = error || 'Icon unavailable';\n\tthis.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n\tfill: 'currentColor',\n};\nvar ANIMATION_BASE = {\n\tattributeType: 'XML',\n\trepeatCount: 'indefinite',\n\tdur: '2s',\n};\nvar RING = {\n\ttag: 'path',\n\tattributes: _objectSpread({}, FILL, {\n\t\td:\n\t\t\t'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z',\n\t}),\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n\tattributeName: 'opacity',\n});\n\nvar DOT = {\n\ttag: 'circle',\n\tattributes: _objectSpread({}, FILL, {\n\t\tcx: '256',\n\t\tcy: '364',\n\t\tr: '28',\n\t}),\n\tchildren: [\n\t\t{\n\t\t\ttag: 'animate',\n\t\t\tattributes: _objectSpread({}, ANIMATION_BASE, {\n\t\t\t\tattributeName: 'r',\n\t\t\t\tvalues: '28;14;28;28;14;28;',\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\ttag: 'animate',\n\t\t\tattributes: _objectSpread({}, OPACITY_ANIMATE, {\n\t\t\t\tvalues: '1;0;1;1;0;1;',\n\t\t\t}),\n\t\t},\n\t],\n};\nvar QUESTION = {\n\ttag: 'path',\n\tattributes: _objectSpread({}, FILL, {\n\t\topacity: '1',\n\t\td:\n\t\t\t'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z',\n\t}),\n\tchildren: [\n\t\t{\n\t\t\ttag: 'animate',\n\t\t\tattributes: _objectSpread({}, OPACITY_ANIMATE, {\n\t\t\t\tvalues: '1;0;0;0;0;1;',\n\t\t\t}),\n\t\t},\n\t],\n};\nvar EXCLAMATION = {\n\ttag: 'path',\n\tattributes: _objectSpread({}, FILL, {\n\t\topacity: '0',\n\t\td:\n\t\t\t'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z',\n\t}),\n\tchildren: [\n\t\t{\n\t\t\ttag: 'animate',\n\t\t\tattributes: _objectSpread({}, OPACITY_ANIMATE, {\n\t\t\t\tvalues: '0;0;1;1;0;0;',\n\t\t\t}),\n\t\t},\n\t],\n};\nvar missing = {\n\ttag: 'g',\n\tchildren: [RING, DOT, QUESTION, EXCLAMATION],\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n\tvar width = icon[0];\n\tvar height = icon[1];\n\n\tvar _icon$slice = icon.slice(4),\n\t\t_icon$slice2 = _slicedToArray(_icon$slice, 1),\n\t\tvectorData = _icon$slice2[0];\n\n\tvar element = null;\n\n\tif (Array.isArray(vectorData)) {\n\t\telement = {\n\t\t\ttag: 'g',\n\t\t\tattributes: {\n\t\t\t\tclass: ''\n\t\t\t\t\t.concat(config.familyPrefix, '-')\n\t\t\t\t\t.concat(DUOTONE_CLASSES.GROUP),\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'path',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tclass: ''\n\t\t\t\t\t\t\t.concat(config.familyPrefix, '-')\n\t\t\t\t\t\t\t.concat(DUOTONE_CLASSES.SECONDARY),\n\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\td: vectorData[0],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttag: 'path',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tclass: ''\n\t\t\t\t\t\t\t.concat(config.familyPrefix, '-')\n\t\t\t\t\t\t\t.concat(DUOTONE_CLASSES.PRIMARY),\n\t\t\t\t\t\tfill: 'currentColor',\n\t\t\t\t\t\td: vectorData[1],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t} else {\n\t\telement = {\n\t\t\ttag: 'path',\n\t\t\tattributes: {\n\t\t\t\tfill: 'currentColor',\n\t\t\t\td: vectorData,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\tfound: true,\n\t\twidth: width,\n\t\theight: height,\n\t\ticon: element,\n\t};\n}\nfunction findIcon(iconName, prefix) {\n\treturn new picked(function (resolve, reject) {\n\t\tvar val = {\n\t\t\tfound: false,\n\t\t\twidth: 512,\n\t\t\theight: 512,\n\t\t\ticon: missing,\n\t\t};\n\n\t\tif (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n\t\t\tvar icon = styles$2[prefix][iconName];\n\t\t\treturn resolve(asFoundIcon(icon));\n\t\t}\n\n\t\tif (iconName && prefix && !config.showMissingIcons) {\n\t\t\treject(\n\t\t\t\tnew MissingIcon(\n\t\t\t\t\t'Icon is missing for prefix '\n\t\t\t\t\t\t.concat(prefix, ' with icon name ')\n\t\t\t\t\t\t.concat(iconName),\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tresolve(val);\n\t\t}\n\t});\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n\tvar iconName = nodeMeta.iconName,\n\t\ttitle = nodeMeta.title,\n\t\tprefix = nodeMeta.prefix,\n\t\ttransform = nodeMeta.transform,\n\t\tsymbol = nodeMeta.symbol,\n\t\tmask = nodeMeta.mask,\n\t\textra = nodeMeta.extra;\n\treturn new picked(function (resolve, reject) {\n\t\tpicked\n\t\t\t.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)])\n\t\t\t.then(function (_ref) {\n\t\t\t\tvar _ref2 = _slicedToArray(_ref, 2),\n\t\t\t\t\tmain = _ref2[0],\n\t\t\t\t\tmask = _ref2[1];\n\n\t\t\t\tresolve([\n\t\t\t\t\tnode,\n\t\t\t\t\tmakeInlineSvgAbstract({\n\t\t\t\t\t\ticons: {\n\t\t\t\t\t\t\tmain: main,\n\t\t\t\t\t\t\tmask: mask,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprefix: prefix,\n\t\t\t\t\t\ticonName: iconName,\n\t\t\t\t\t\ttransform: transform,\n\t\t\t\t\t\tsymbol: symbol,\n\t\t\t\t\t\tmask: mask,\n\t\t\t\t\t\ttitle: title,\n\t\t\t\t\t\textra: extra,\n\t\t\t\t\t\twatchable: true,\n\t\t\t\t\t}),\n\t\t\t\t]);\n\t\t\t});\n\t});\n}\n\nfunction generateLayersText(node, nodeMeta) {\n\tvar title = nodeMeta.title,\n\t\ttransform = nodeMeta.transform,\n\t\textra = nodeMeta.extra;\n\tvar width = null;\n\tvar height = null;\n\n\tif (IS_IE) {\n\t\tvar computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n\t\tvar boundingClientRect = node.getBoundingClientRect();\n\t\twidth = boundingClientRect.width / computedFontSize;\n\t\theight = boundingClientRect.height / computedFontSize;\n\t}\n\n\tif (config.autoA11y && !title) {\n\t\textra.attributes['aria-hidden'] = 'true';\n\t}\n\n\treturn picked.resolve([\n\t\tnode,\n\t\tmakeLayersTextAbstract({\n\t\t\tcontent: node.innerHTML,\n\t\t\twidth: width,\n\t\t\theight: height,\n\t\t\ttransform: transform,\n\t\t\ttitle: title,\n\t\t\textra: extra,\n\t\t\twatchable: true,\n\t\t}),\n\t]);\n}\n\nfunction generateMutation(node) {\n\tvar nodeMeta = parseMeta(node);\n\n\tif (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n\t\treturn generateLayersText(node, nodeMeta);\n\t} else {\n\t\treturn generateSvgReplacementMutation(node, nodeMeta);\n\t}\n}\n\nfunction onTree(root) {\n\tvar callback =\n\t\targuments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\tif (!IS_DOM) return;\n\tvar htmlClassList = DOCUMENT.documentElement.classList;\n\n\tvar hclAdd = function hclAdd(suffix) {\n\t\treturn htmlClassList.add(\n\t\t\t''.concat(HTML_CLASS_I2SVG_BASE_CLASS, '-').concat(suffix),\n\t\t);\n\t};\n\n\tvar hclRemove = function hclRemove(suffix) {\n\t\treturn htmlClassList.remove(\n\t\t\t''.concat(HTML_CLASS_I2SVG_BASE_CLASS, '-').concat(suffix),\n\t\t);\n\t};\n\n\tvar prefixes = config.autoFetchSvg\n\t\t? Object.keys(PREFIX_TO_STYLE)\n\t\t: Object.keys(styles$3);\n\tvar prefixesDomQuery = [\n\t\t'.'.concat(LAYERS_TEXT_CLASSNAME, ':not([').concat(DATA_FA_I2SVG, '])'),\n\t]\n\t\t.concat(\n\t\t\tprefixes.map(function (p) {\n\t\t\t\treturn '.'.concat(p, ':not([').concat(DATA_FA_I2SVG, '])');\n\t\t\t}),\n\t\t)\n\t\t.join(', ');\n\n\tif (prefixesDomQuery.length === 0) {\n\t\treturn;\n\t}\n\n\tvar candidates = [];\n\n\ttry {\n\t\tcandidates = toArray(root.querySelectorAll(prefixesDomQuery));\n\t} catch (e) {\n\t\t// noop\n\t}\n\n\tif (candidates.length > 0) {\n\t\thclAdd('pending');\n\t\thclRemove('complete');\n\t} else {\n\t\treturn;\n\t}\n\n\tvar mark = perf.begin('onTree');\n\tvar mutations = candidates.reduce(function (acc, node) {\n\t\ttry {\n\t\t\tvar mutation = generateMutation(node);\n\n\t\t\tif (mutation) {\n\t\t\t\tacc.push(mutation);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tif (!PRODUCTION) {\n\t\t\t\tif (e instanceof MissingIcon) {\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\treturn new picked(function (resolve, reject) {\n\t\tpicked\n\t\t\t.all(mutations)\n\t\t\t.then(function (resolvedMutations) {\n\t\t\t\tperform(resolvedMutations, function () {\n\t\t\t\t\thclAdd('active');\n\t\t\t\t\thclAdd('complete');\n\t\t\t\t\thclRemove('pending');\n\t\t\t\t\tif (typeof callback === 'function') callback();\n\t\t\t\t\tmark();\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(function () {\n\t\t\t\tmark();\n\t\t\t\treject();\n\t\t\t});\n\t});\n}\nfunction onNode(node) {\n\tvar callback =\n\t\targuments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\tgenerateMutation(node).then(function (mutation) {\n\t\tif (mutation) {\n\t\t\tperform([mutation], callback);\n\t\t}\n\t});\n}\n\nfunction replaceForPosition(node, position) {\n\tvar pendingAttribute = ''\n\t\t.concat(DATA_FA_PSEUDO_ELEMENT_PENDING)\n\t\t.concat(position.replace(':', '-'));\n\treturn new picked(function (resolve, reject) {\n\t\tif (node.getAttribute(pendingAttribute) !== null) {\n\t\t\t// This node is already being processed\n\t\t\treturn resolve();\n\t\t}\n\n\t\tvar children = toArray(node.children);\n\t\tvar alreadyProcessedPseudoElement = children.filter(function (c) {\n\t\t\treturn c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n\t\t})[0];\n\t\tvar styles = WINDOW.getComputedStyle(node, position);\n\t\tvar fontFamily = styles\n\t\t\t.getPropertyValue('font-family')\n\t\t\t.match(FONT_FAMILY_PATTERN);\n\t\tvar fontWeight = styles.getPropertyValue('font-weight');\n\n\t\tif (alreadyProcessedPseudoElement && !fontFamily) {\n\t\t\t// If we've already processed it but the current computed style does not result in a font-family,\n\t\t\t// that probably means that a class name that was previously present to make the icon has been\n\t\t\t// removed. So we now should delete the icon.\n\t\t\tnode.removeChild(alreadyProcessedPseudoElement);\n\t\t\treturn resolve();\n\t\t} else if (fontFamily) {\n\t\t\tvar content = styles.getPropertyValue('content');\n\t\t\tvar prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands'].indexOf(\n\t\t\t\tfontFamily[1],\n\t\t\t)\n\t\t\t\t? STYLE_TO_PREFIX[fontFamily[1].toLowerCase()]\n\t\t\t\t: FONT_WEIGHT_TO_PREFIX[fontWeight];\n\t\t\tvar hexValue = toHex(\n\t\t\t\tcontent.length === 3 ? content.substr(1, 1) : content,\n\t\t\t);\n\t\t\tvar iconName = byUnicode(prefix, hexValue);\n\t\t\tvar iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n\t\t\t// already done so with the same prefix and iconName\n\n\t\t\tif (\n\t\t\t\ticonName &&\n\t\t\t\t(!alreadyProcessedPseudoElement ||\n\t\t\t\t\talreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix ||\n\t\t\t\t\talreadyProcessedPseudoElement.getAttribute(DATA_ICON) !==\n\t\t\t\t\t\ticonIdentifier)\n\t\t\t) {\n\t\t\t\tnode.setAttribute(pendingAttribute, iconIdentifier);\n\n\t\t\t\tif (alreadyProcessedPseudoElement) {\n\t\t\t\t\t// Delete the old one, since we're replacing it with a new one\n\t\t\t\t\tnode.removeChild(alreadyProcessedPseudoElement);\n\t\t\t\t}\n\n\t\t\t\tvar meta = blankMeta();\n\t\t\t\tvar extra = meta.extra;\n\t\t\t\textra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n\t\t\t\tfindIcon(iconName, prefix)\n\t\t\t\t\t.then(function (main) {\n\t\t\t\t\t\tvar abstract = makeInlineSvgAbstract(\n\t\t\t\t\t\t\t_objectSpread({}, meta, {\n\t\t\t\t\t\t\t\ticons: {\n\t\t\t\t\t\t\t\t\tmain: main,\n\t\t\t\t\t\t\t\t\tmask: emptyCanonicalIcon(),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tprefix: prefix,\n\t\t\t\t\t\t\t\ticonName: iconIdentifier,\n\t\t\t\t\t\t\t\textra: extra,\n\t\t\t\t\t\t\t\twatchable: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tvar element = DOCUMENT.createElement('svg');\n\n\t\t\t\t\t\tif (position === ':before') {\n\t\t\t\t\t\t\tnode.insertBefore(element, node.firstChild);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.appendChild(element);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\telement.outerHTML = abstract\n\t\t\t\t\t\t\t.map(function (a) {\n\t\t\t\t\t\t\t\treturn toHtml(a);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.join('\\n');\n\t\t\t\t\t\tnode.removeAttribute(pendingAttribute);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t})\n\t\t\t\t\t.catch(reject);\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t} else {\n\t\t\tresolve();\n\t\t}\n\t});\n}\n\nfunction replace(node) {\n\treturn picked.all([\n\t\treplaceForPosition(node, ':before'),\n\t\treplaceForPosition(node, ':after'),\n\t]);\n}\n\nfunction processable(node) {\n\treturn (\n\t\tnode.parentNode !== document.head &&\n\t\t!~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) &&\n\t\t!node.getAttribute(DATA_FA_PSEUDO_ELEMENT) &&\n\t\t(!node.parentNode || node.parentNode.tagName !== 'svg')\n\t);\n}\n\nfunction searchPseudoElements(root) {\n\tif (!IS_DOM) return;\n\treturn new picked(function (resolve, reject) {\n\t\tvar operations = toArray(root.querySelectorAll('*'))\n\t\t\t.filter(processable)\n\t\t\t.map(replace);\n\t\tvar end = perf.begin('searchPseudoElements');\n\t\tdisableObservation();\n\t\tpicked\n\t\t\t.all(operations)\n\t\t\t.then(function () {\n\t\t\t\tend();\n\t\t\t\tenableObservation();\n\t\t\t\tresolve();\n\t\t\t})\n\t\t\t.catch(function () {\n\t\t\t\tend();\n\t\t\t\tenableObservation();\n\t\t\t\treject();\n\t\t\t});\n\t});\n}\n\nvar baseStyles =\n\t'svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}';\n\nfunction css() {\n\tvar dfp = DEFAULT_FAMILY_PREFIX;\n\tvar drc = DEFAULT_REPLACEMENT_CLASS;\n\tvar fp = config.familyPrefix;\n\tvar rc = config.replacementClass;\n\tvar s = baseStyles;\n\n\tif (fp !== dfp || rc !== drc) {\n\t\tvar dPatt = new RegExp('\\\\.'.concat(dfp, '\\\\-'), 'g');\n\t\tvar customPropPatt = new RegExp('\\\\--'.concat(dfp, '\\\\-'), 'g');\n\t\tvar rPatt = new RegExp('\\\\.'.concat(drc), 'g');\n\t\ts = s\n\t\t\t.replace(dPatt, '.'.concat(fp, '-'))\n\t\t\t.replace(customPropPatt, '--'.concat(fp, '-'))\n\t\t\t.replace(rPatt, '.'.concat(rc));\n\t}\n\n\treturn s;\n}\n\nvar Library =\n\t/*#__PURE__*/\n\t(function () {\n\t\tfunction Library() {\n\t\t\t_classCallCheck(this, Library);\n\n\t\t\tthis.definitions = {};\n\t\t}\n\n\t\t_createClass(Library, [\n\t\t\t{\n\t\t\t\tkey: 'add',\n\t\t\t\tvalue: function add() {\n\t\t\t\t\tvar _this = this;\n\n\t\t\t\t\tfor (\n\t\t\t\t\t\tvar _len = arguments.length,\n\t\t\t\t\t\t\tdefinitions = new Array(_len),\n\t\t\t\t\t\t\t_key = 0;\n\t\t\t\t\t\t_key < _len;\n\t\t\t\t\t\t_key++\n\t\t\t\t\t) {\n\t\t\t\t\t\tdefinitions[_key] = arguments[_key];\n\t\t\t\t\t}\n\n\t\t\t\t\tvar additions = definitions.reduce(this._pullDefinitions, {});\n\t\t\t\t\tObject.keys(additions).forEach(function (key) {\n\t\t\t\t\t\t_this.definitions[key] = _objectSpread(\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t_this.definitions[key] || {},\n\t\t\t\t\t\t\tadditions[key],\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdefineIcons(key, additions[key]);\n\t\t\t\t\t\tbuild();\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'reset',\n\t\t\t\tvalue: function reset() {\n\t\t\t\t\tthis.definitions = {};\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: '_pullDefinitions',\n\t\t\t\tvalue: function _pullDefinitions(additions, definition) {\n\t\t\t\t\tvar normalized =\n\t\t\t\t\t\tdefinition.prefix && definition.iconName && definition.icon\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t0: definition,\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: definition;\n\t\t\t\t\tObject.keys(normalized).map(function (key) {\n\t\t\t\t\t\tvar _normalized$key = normalized[key],\n\t\t\t\t\t\t\tprefix = _normalized$key.prefix,\n\t\t\t\t\t\t\ticonName = _normalized$key.iconName,\n\t\t\t\t\t\t\ticon = _normalized$key.icon;\n\t\t\t\t\t\tif (!additions[prefix]) additions[prefix] = {};\n\t\t\t\t\t\tadditions[prefix][iconName] = icon;\n\t\t\t\t\t});\n\t\t\t\t\treturn additions;\n\t\t\t\t},\n\t\t\t},\n\t\t]);\n\n\t\treturn Library;\n\t})();\n\nfunction ensureCss() {\n\tif (config.autoAddCss && !_cssInserted) {\n\t\tinsertCss(css());\n\n\t\t_cssInserted = true;\n\t}\n}\n\nfunction apiObject(val, abstractCreator) {\n\tObject.defineProperty(val, 'abstract', {\n\t\tget: abstractCreator,\n\t});\n\tObject.defineProperty(val, 'html', {\n\t\tget: function get() {\n\t\t\treturn val.abstract.map(function (a) {\n\t\t\t\treturn toHtml(a);\n\t\t\t});\n\t\t},\n\t});\n\tObject.defineProperty(val, 'node', {\n\t\tget: function get() {\n\t\t\tif (!IS_DOM) return;\n\t\t\tvar container = DOCUMENT.createElement('div');\n\t\t\tcontainer.innerHTML = val.html;\n\t\t\treturn container.children;\n\t\t},\n\t});\n\treturn val;\n}\n\nfunction findIconDefinition(iconLookup) {\n\tvar _iconLookup$prefix = iconLookup.prefix,\n\t\tprefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n\t\ticonName = iconLookup.iconName;\n\tif (!iconName) return;\n\treturn (\n\t\ticonFromMapping(library.definitions, prefix, iconName) ||\n\t\ticonFromMapping(namespace.styles, prefix, iconName)\n\t);\n}\n\nfunction resolveIcons(next) {\n\treturn function (maybeIconDefinition) {\n\t\tvar params =\n\t\t\targuments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\tvar iconDefinition = (maybeIconDefinition || {}).icon\n\t\t\t? maybeIconDefinition\n\t\t\t: findIconDefinition(maybeIconDefinition || {});\n\t\tvar mask = params.mask;\n\n\t\tif (mask) {\n\t\t\tmask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n\t\t}\n\n\t\treturn next(\n\t\t\ticonDefinition,\n\t\t\t_objectSpread({}, params, {\n\t\t\t\tmask: mask,\n\t\t\t}),\n\t\t);\n\t};\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n\tconfig.autoReplaceSvg = false;\n\tconfig.observeMutations = false;\n\tdisconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n\ti2svg: function i2svg() {\n\t\tvar params =\n\t\t\targuments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n\t\tif (IS_DOM) {\n\t\t\tensureCss();\n\t\t\tvar _params$node = params.node,\n\t\t\t\tnode = _params$node === void 0 ? DOCUMENT : _params$node,\n\t\t\t\t_params$callback = params.callback,\n\t\t\t\tcallback =\n\t\t\t\t\t_params$callback === void 0 ? function () {} : _params$callback;\n\n\t\t\tif (config.searchPseudoElements) {\n\t\t\t\tsearchPseudoElements(node);\n\t\t\t}\n\n\t\t\treturn onTree(node, callback);\n\t\t} else {\n\t\t\treturn picked.reject('Operation requires a DOM of some kind.');\n\t\t}\n\t},\n\tcss: css,\n\tinsertCss: function insertCss$$1() {\n\t\tif (!_cssInserted) {\n\t\t\tinsertCss(css());\n\n\t\t\t_cssInserted = true;\n\t\t}\n\t},\n\twatch: function watch() {\n\t\tvar params =\n\t\t\targuments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t\tvar autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n\t\t\tobserveMutationsRoot = params.observeMutationsRoot;\n\n\t\tif (config.autoReplaceSvg === false) {\n\t\t\tconfig.autoReplaceSvg = true;\n\t\t}\n\n\t\tconfig.observeMutations = true;\n\t\tdomready(function () {\n\t\t\tautoReplace({\n\t\t\t\tautoReplaceSvgRoot: autoReplaceSvgRoot,\n\t\t\t});\n\t\t\tobserve({\n\t\t\t\ttreeCallback: onTree,\n\t\t\t\tnodeCallback: onNode,\n\t\t\t\tpseudoElementsCallback: searchPseudoElements,\n\t\t\t\tobserveMutationsRoot: observeMutationsRoot,\n\t\t\t});\n\t\t});\n\t},\n};\nvar parse = {\n\ttransform: function transform(transformString) {\n\t\treturn parseTransformString(transformString);\n\t},\n};\nvar icon = resolveIcons(function (iconDefinition) {\n\tvar params =\n\t\targuments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\tvar _params$transform = params.transform,\n\t\ttransform =\n\t\t\t_params$transform === void 0 ? meaninglessTransform : _params$transform,\n\t\t_params$symbol = params.symbol,\n\t\tsymbol = _params$symbol === void 0 ? false : _params$symbol,\n\t\t_params$mask = params.mask,\n\t\tmask = _params$mask === void 0 ? null : _params$mask,\n\t\t_params$title = params.title,\n\t\ttitle = _params$title === void 0 ? null : _params$title,\n\t\t_params$classes = params.classes,\n\t\tclasses = _params$classes === void 0 ? [] : _params$classes,\n\t\t_params$attributes = params.attributes,\n\t\tattributes = _params$attributes === void 0 ? {} : _params$attributes,\n\t\t_params$styles = params.styles,\n\t\tstyles = _params$styles === void 0 ? {} : _params$styles;\n\tif (!iconDefinition) return;\n\tvar prefix = iconDefinition.prefix,\n\t\ticonName = iconDefinition.iconName,\n\t\ticon = iconDefinition.icon;\n\treturn apiObject(\n\t\t_objectSpread(\n\t\t\t{\n\t\t\t\ttype: 'icon',\n\t\t\t},\n\t\t\ticonDefinition,\n\t\t),\n\t\tfunction () {\n\t\t\tensureCss();\n\n\t\t\tif (config.autoA11y) {\n\t\t\t\tif (title) {\n\t\t\t\t\tattributes['aria-labelledby'] = ''\n\t\t\t\t\t\t.concat(config.replacementClass, '-title-')\n\t\t\t\t\t\t.concat(nextUniqueId());\n\t\t\t\t} else {\n\t\t\t\t\tattributes['aria-hidden'] = 'true';\n\t\t\t\t\tattributes['focusable'] = 'false';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn makeInlineSvgAbstract({\n\t\t\t\ticons: {\n\t\t\t\t\tmain: asFoundIcon(icon),\n\t\t\t\t\tmask: mask\n\t\t\t\t\t\t? asFoundIcon(mask.icon)\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tfound: false,\n\t\t\t\t\t\t\t\twidth: null,\n\t\t\t\t\t\t\t\theight: null,\n\t\t\t\t\t\t\t\ticon: {},\n\t\t\t\t\t\t },\n\t\t\t\t},\n\t\t\t\tprefix: prefix,\n\t\t\t\ticonName: iconName,\n\t\t\t\ttransform: _objectSpread({}, meaninglessTransform, transform),\n\t\t\t\tsymbol: symbol,\n\t\t\t\ttitle: title,\n\t\t\t\textra: {\n\t\t\t\t\tattributes: attributes,\n\t\t\t\t\tstyles: styles,\n\t\t\t\t\tclasses: classes,\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t);\n});\nvar text = function text(content) {\n\tvar params =\n\t\targuments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\tvar _params$transform2 = params.transform,\n\t\ttransform =\n\t\t\t_params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n\t\t_params$title2 = params.title,\n\t\ttitle = _params$title2 === void 0 ? null : _params$title2,\n\t\t_params$classes2 = params.classes,\n\t\tclasses = _params$classes2 === void 0 ? [] : _params$classes2,\n\t\t_params$attributes2 = params.attributes,\n\t\tattributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n\t\t_params$styles2 = params.styles,\n\t\tstyles = _params$styles2 === void 0 ? {} : _params$styles2;\n\treturn apiObject(\n\t\t{\n\t\t\ttype: 'text',\n\t\t\tcontent: content,\n\t\t},\n\t\tfunction () {\n\t\t\tensureCss();\n\t\t\treturn makeLayersTextAbstract({\n\t\t\t\tcontent: content,\n\t\t\t\ttransform: _objectSpread({}, meaninglessTransform, transform),\n\t\t\t\ttitle: title,\n\t\t\t\textra: {\n\t\t\t\t\tattributes: attributes,\n\t\t\t\t\tstyles: styles,\n\t\t\t\t\tclasses: [''.concat(config.familyPrefix, '-layers-text')].concat(\n\t\t\t\t\t\t_toConsumableArray(classes),\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t);\n};\nvar counter = function counter(content) {\n\tvar params =\n\t\targuments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\tvar _params$title3 = params.title,\n\t\ttitle = _params$title3 === void 0 ? null : _params$title3,\n\t\t_params$classes3 = params.classes,\n\t\tclasses = _params$classes3 === void 0 ? [] : _params$classes3,\n\t\t_params$attributes3 = params.attributes,\n\t\tattributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n\t\t_params$styles3 = params.styles,\n\t\tstyles = _params$styles3 === void 0 ? {} : _params$styles3;\n\treturn apiObject(\n\t\t{\n\t\t\ttype: 'counter',\n\t\t\tcontent: content,\n\t\t},\n\t\tfunction () {\n\t\t\tensureCss();\n\t\t\treturn makeLayersCounterAbstract({\n\t\t\t\tcontent: content.toString(),\n\t\t\t\ttitle: title,\n\t\t\t\textra: {\n\t\t\t\t\tattributes: attributes,\n\t\t\t\t\tstyles: styles,\n\t\t\t\t\tclasses: [''.concat(config.familyPrefix, '-layers-counter')].concat(\n\t\t\t\t\t\t_toConsumableArray(classes),\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t);\n};\nvar layer = function layer(assembler) {\n\treturn apiObject(\n\t\t{\n\t\t\ttype: 'layer',\n\t\t},\n\t\tfunction () {\n\t\t\tensureCss();\n\t\t\tvar children = [];\n\t\t\tassembler(function (args) {\n\t\t\t\tArray.isArray(args)\n\t\t\t\t\t? args.map(function (a) {\n\t\t\t\t\t\t\tchildren = children.concat(a.abstract);\n\t\t\t\t\t })\n\t\t\t\t\t: (children = children.concat(args.abstract));\n\t\t\t});\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttag: 'span',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tclass: ''.concat(config.familyPrefix, '-layers'),\n\t\t\t\t\t},\n\t\t\t\t\tchildren: children,\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t);\n};\nvar api = {\n\tnoAuto: noAuto,\n\tconfig: config,\n\tdom: dom,\n\tlibrary: library,\n\tparse: parse,\n\tfindIconDefinition: findIconDefinition,\n\ticon: icon,\n\ttext: text,\n\tcounter: counter,\n\tlayer: layer,\n\ttoHtml: toHtml,\n};\n\nvar autoReplace = function autoReplace() {\n\tvar params =\n\t\targuments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\tvar _params$autoReplaceSv = params.autoReplaceSvgRoot,\n\t\tautoReplaceSvgRoot =\n\t\t\t_params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n\tif (\n\t\t(Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) &&\n\t\tIS_DOM &&\n\t\tconfig.autoReplaceSvg\n\t)\n\t\tapi.dom.i2svg({\n\t\t\tnode: autoReplaceSvgRoot,\n\t\t});\n};\n\nexport {\n\ticon,\n\tnoAuto,\n\tconfig,\n\ttoHtml,\n\tlayer,\n\ttext,\n\tcounter,\n\tlibrary,\n\tdom,\n\tparse,\n\tfindIconDefinition,\n};\n","/*!\n * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license (Commercial License)\n */\nvar prefix = \"fas\";\nvar faAbacus = {\n prefix: 'fas',\n iconName: 'abacus',\n icon: [576, 512, [], \"f640\", \"M32 0C14.33 0 0 14.33 0 32v464c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V32C64 14.33 49.67 0 32 0zm512 0c-17.67 0-32 14.33-32 32v464c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V32c0-17.67-14.33-32-32-32zm-80 32h-32c-8.84 0-16 7.16-16 16v24H256V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v24h-32V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-24h32v24c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-24h160v24c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16zM352 208c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v24h-32v-24c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v24h-32v-24c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-24h32v24c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-24h32v24c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-24h128v-48H352v-24zm112 144h-32c-8.84 0-16 7.16-16 16v24H256v-24c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v24h-32v-24c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-24h32v24c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-24h160v24c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16z\"]\n};\nvar faAcorn = {\n prefix: 'fas',\n iconName: 'acorn',\n icon: [448, 512, [], \"f6ae\", \"M175.11 487.55L224 512l48.89-24.45C360.6 443.7 416 354.06 416 256H32c0 98.06 55.4 187.7 143.11 231.55zM352 64H251.5c3.4-9.4 8.47-18.18 15.16-26.04 5.56-6.52 5.31-15.91-.62-21.86L254.69 4.78c-3.12-3.16-7.72-5.14-11.97-4.72-4.38.14-8.5 2.08-11.31 5.3-14.75 16.8-24.55 37.06-29.39 58.65H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32C448 106.98 405.02 64 352 64z\"]\n};\nvar faAd = {\n prefix: 'fas',\n iconName: 'ad',\n icon: [512, 512, [], \"f641\", \"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};\nvar faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"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};\nvar faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"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};\nvar faAdjust = {\n prefix: 'fas',\n iconName: 'adjust',\n icon: [512, 512, [], \"f042\", \"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};\nvar faAirConditioner = {\n prefix: 'fas',\n iconName: 'air-conditioner',\n icon: [576, 512, [], \"f8f4\", \"M544,0H32A32,32,0,0,0,0,32V192a32,32,0,0,0,32,32H544a32,32,0,0,0,32-32V32A32,32,0,0,0,544,0ZM512,160H64V128H512ZM216,424a40,40,0,0,1-40,40h-6.22c-20,0-38.18-13.88-41.28-33.61-2.88-18.41,6.92-34.22,21.84-41.47,5.73-2.78,9.66-8.25,9.66-14.63V356.67a16.1,16.1,0,0,0-21.42-15.17A87.55,87.55,0,0,0,80.7,435.24C86.26,479.82,126.55,512,171.47,512H176a88,88,0,0,0,88-88V256H216ZM437.42,309.5A16.1,16.1,0,0,0,416,324.67v17.62c0,6.38,3.93,11.85,9.66,14.63,14.92,7.25,24.72,23.06,21.84,41.47C444.4,418.12,426.2,432,406.22,432H400a40,40,0,0,1-40-40V256H312V392a88,88,0,0,0,88,88h4.53c44.92,0,85.21-32.18,90.77-76.76A87.55,87.55,0,0,0,437.42,309.5Z\"]\n};\nvar faAirFreshener = {\n prefix: 'fas',\n iconName: 'air-freshener',\n icon: [512, 512, [], \"f5d0\", \"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};\nvar faAlarmClock = {\n prefix: 'fas',\n iconName: 'alarm-clock',\n icon: [512, 512, [], \"f34e\", \"M96 0A96 96 0 0 0 0 96a94.81 94.81 0 0 0 15.3 51.26L161.2 25.68A95.63 95.63 0 0 0 96 0zm320 0a95.66 95.66 0 0 0-65.18 25.66l145.89 121.57A94.85 94.85 0 0 0 512 96a96 96 0 0 0-96-96zM256 64C132.3 64 32 164.29 32 288a222.7 222.7 0 0 0 44.79 134l-40.1 40.09a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0L122 467.22a222.82 222.82 0 0 0 268 0l40.1 40.09a16 16 0 0 0 22.62 0l22.63-22.62a16 16 0 0 0 0-22.63L435.25 422A222.69 222.69 0 0 0 480 288c0-123.71-100.26-224-224-224zm90 291.51l-20 25a16 16 0 0 1-22.49 2.5L239 331.39a40 40 0 0 1-15-31.23V176a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16v112.62l55.5 44.4a16 16 0 0 1 2.5 22.49z\"]\n};\nvar faAlarmExclamation = {\n prefix: 'fas',\n iconName: 'alarm-exclamation',\n icon: [512, 512, [], \"f843\", \"M96 0A96 96 0 0 0 0 96a94.81 94.81 0 0 0 15.3 51.26L161.2 25.68A95.63 95.63 0 0 0 96 0zm320 0a95.66 95.66 0 0 0-65.18 25.66l145.89 121.57A94.85 94.85 0 0 0 512 96a96 96 0 0 0-96-96zM256 64C132.3 64 32 164.29 32 288a222.7 222.7 0 0 0 44.79 134l-40.1 40.09a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0L122 467.22a222.82 222.82 0 0 0 268 0l40.1 40.09a16 16 0 0 0 22.62 0l22.63-22.62a16 16 0 0 0 0-22.63L435.25 422A222.69 222.69 0 0 0 480 288c0-123.71-100.26-224-224-224zm0 352a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm25.4-110.4a16 16 0 0 1-15.9 14.4h-19a16 16 0 0 1-15.9-14.4l-12.8-128a16.06 16.06 0 0 1 15.9-17.6h44.6a16 16 0 0 1 15.9 17.6z\"]\n};\nvar faAlarmPlus = {\n prefix: 'fas',\n iconName: 'alarm-plus',\n icon: [512, 512, [], \"f844\", \"M96 0A96 96 0 0 0 0 96a94.81 94.81 0 0 0 15.3 51.26L161.2 25.68A95.63 95.63 0 0 0 96 0zm320 0a95.66 95.66 0 0 0-65.18 25.66l145.89 121.57A94.85 94.85 0 0 0 512 96a96 96 0 0 0-96-96zM256 64C132.3 64 32 164.29 32 288a222.7 222.7 0 0 0 44.79 134l-40.1 40.09a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0L122 467.22a222.82 222.82 0 0 0 268 0l40.1 40.09a16 16 0 0 0 22.62 0l22.63-22.62a16 16 0 0 0 0-22.63L435.25 422A222.69 222.69 0 0 0 480 288c0-123.71-100.26-224-224-224zm112 232a16 16 0 0 1-16 16h-72v72a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-72h-72a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h72v-72a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16v72h72a16 16 0 0 1 16 16z\"]\n};\nvar faAlarmSnooze = {\n prefix: 'fas',\n iconName: 'alarm-snooze',\n icon: [512, 512, [], \"f845\", \"M96 0A96 96 0 0 0 0 96a94.81 94.81 0 0 0 15.3 51.26L161.2 25.68A95.63 95.63 0 0 0 96 0zm320 0a95.66 95.66 0 0 0-65.18 25.66l145.89 121.57A94.85 94.85 0 0 0 512 96a96 96 0 0 0-96-96zM256 64C132.3 64 32 164.29 32 288a222.7 222.7 0 0 0 44.79 134l-40.1 40.09a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0L122 467.22a222.82 222.82 0 0 0 268 0l40.1 40.09a16 16 0 0 0 22.62 0l22.63-22.62a16 16 0 0 0 0-22.63L435.25 422A222.69 222.69 0 0 0 480 288c0-123.71-100.26-224-224-224zm82.7 159l-96.8 121H320a16 16 0 0 1 16 16v16a16 16 0 0 1-16 16H192a24 24 0 0 1-18.74-39L270 232h-78a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h128a24 24 0 0 1 18.73 39z\"]\n};\nvar faAlbum = {\n prefix: 'fas',\n iconName: 'album',\n icon: [448, 512, [], \"f89f\", \"M224 224a32 32 0 1 0 32 32 32 32 0 0 0-32-32zM416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zM224 416a160 160 0 1 1 160-160 160 160 0 0 1-160 160z\"]\n};\nvar faAlbumCollection = {\n prefix: 'fas',\n iconName: 'album-collection',\n icon: [512, 512, [], \"f8a0\", \"M496 104a24 24 0 0 0-24-24H40a24 24 0 0 0-24 24v24h480zm-16-80a24 24 0 0 0-24-24H56a24 24 0 0 0-24 24v24h448zM256 325.65c-16.63 0-30 9.93-29.86 22.09s13.5 21.72 29.86 21.72 29.73-9.68 29.87-21.72-13.23-22.09-29.87-22.09zM480 160H32A32 32 0 0 0 .13 194.9l26.19 288A32 32 0 0 0 58.18 512h395.64a32 32 0 0 0 31.86-29.1l26.19-288A32 32 0 0 0 480 160zM256 472.89c-94.26 0-174.39-54.53-179.21-125.15C71.71 273.1 151.82 209.4 256 209.4s184.29 63.7 179.21 138.34c-4.82 70.63-84.95 125.15-179.21 125.15z\"]\n};\nvar faAlicorn = {\n prefix: 'fas',\n iconName: 'alicorn',\n icon: [640, 512, [], \"f6b0\", \"M631.98 32H531.73c5.93-6.14 10.4-13.63 12.18-22.36 1.01-4.96-2.88-9.64-7.94-9.64H416c-70.69 0-128 57.31-128 128h-.08c-63.92 0-104.2-36.78-127.66-90.27-3.22-7.35-13.61-7.76-17.04-.5C133.49 57.82 128 80.8 128 105.1c0 67.04 51.01 133.09 128 147.74v3.17c-76.89 0-133.8-49.67-152.67-108.99-5.58 4.17-10.75 8.86-15.33 14.1V160c-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.59 102.04 22.33V496c0 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.74L544 83.3l92.42-36.65c6.59-4.38 3.48-14.65-4.44-14.65zM480 96c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faAlien = {\n prefix: 'fas',\n iconName: 'alien',\n icon: [448, 512, [], \"f8f5\", \"M224,0C100.28125,0,0,88.0293,0,232.45117,0,344.22852,134.21484,457.04883,194.86328,502.32422a48.70766,48.70766,0,0,0,58.27344,0C313.78516,457.04883,448,344.22852,448,232.45117,448,88.0293,347.71875,0,224,0ZM176,320H144a80.00021,80.00021,0,0,1-80-80,15.99954,15.99954,0,0,1,16-16h32a79.999,79.999,0,0,1,80,80A16.00079,16.00079,0,0,1,176,320Zm128,0H272a16.00079,16.00079,0,0,1-16-16,79.999,79.999,0,0,1,80-80h32a15.99954,15.99954,0,0,1,16,16A80.00021,80.00021,0,0,1,304,320Z\"]\n};\nvar faAlienMonster = {\n prefix: 'fas',\n iconName: 'alien-monster',\n icon: [576, 512, [], \"f8f6\", \"M560,128H528a15.99954,15.99954,0,0,0-16,16v80H480V176a15.99954,15.99954,0,0,0-16-16H416V96h48a16.00079,16.00079,0,0,0,16-16V48a15.99954,15.99954,0,0,0-16-16H432a15.99954,15.99954,0,0,0-16,16V64H368a15.99954,15.99954,0,0,0-16,16v48H224V80a15.99954,15.99954,0,0,0-16-16H160V48a15.99954,15.99954,0,0,0-16-16H112A15.99954,15.99954,0,0,0,96,48V80a16.00079,16.00079,0,0,0,16,16h48v64H112a15.99954,15.99954,0,0,0-16,16v48H64V144a15.99954,15.99954,0,0,0-16-16H16A15.99954,15.99954,0,0,0,0,144V272a16.00079,16.00079,0,0,0,16,16H64v80a16.00079,16.00079,0,0,0,16,16h48v80a16.00079,16.00079,0,0,0,16,16h96a16.00079,16.00079,0,0,0,16-16V432a15.99954,15.99954,0,0,0-16-16H192V384H384v32H336a15.99954,15.99954,0,0,0-16,16v32a16.00079,16.00079,0,0,0,16,16h96a16.00079,16.00079,0,0,0,16-16V384h48a16.00079,16.00079,0,0,0,16-16V288h48a16.00079,16.00079,0,0,0,16-16V144A15.99954,15.99954,0,0,0,560,128ZM224,320H160V224h64Zm192,0H352V224h64Z\"]\n};\nvar faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"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};\nvar faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"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};\nvar faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"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};\nvar faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"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};\nvar faAlignSlash = {\n prefix: 'fas',\n iconName: 'align-slash',\n icon: [640, 512, [], \"f846\", \"M633.82 458.1L496.54 352H528a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H413.73l-82.81-64H528a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H248.12l-82.81-64H528a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H112a15.82 15.82 0 0 0-15 11.18L45.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.45zM112 416a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h340.83L370 416zm0-64h175.21l-82.8-64H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16z\"]\n};\nvar faAllergies = {\n prefix: 'fas',\n iconName: 'allergies',\n icon: [448, 512, [], \"f461\", \"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};\nvar faAmbulance = {\n prefix: 'fas',\n iconName: 'ambulance',\n icon: [640, 512, [], \"f0f9\", \"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};\nvar faAmericanSignLanguageInterpreting = {\n prefix: 'fas',\n iconName: 'american-sign-language-interpreting',\n icon: [640, 512, [], \"f2a3\", \"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};\nvar faAmpGuitar = {\n prefix: 'fas',\n iconName: 'amp-guitar',\n icon: [512, 512, [], \"f8a1\", \"M120 224a24 24 0 1 0-24-24 24 24 0 0 0 24 24zm272 0a24 24 0 1 0-24-24 24 24 0 0 0 24 24zm72-144h-61.5C377.75 52.71 321.51 0 256 0S134.25 52.71 109.5 80H48a48 48 0 0 0-48 48v336a48 48 0 0 0 48 48h416a48 48 0 0 0 48-48V128a48 48 0 0 0-48-48zM256 48c26.9 0 54 14.79 76.25 32h-152.5C202 62.77 229.1 48 256 48zM96 400a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm32 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm-16-112a16 16 0 1 1 16 16 16 16 0 0 1-16-16zm48 64a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm32 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm-16-112a16 16 0 1 1 16 16 16 16 0 0 1-16-16zm48 64a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm32 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm-16-112a16 16 0 1 1 16 16 16 16 0 0 1-16-16zm48 64a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm32 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm-16-112a16 16 0 1 1 16 16 16 16 0 0 1-16-16zm48 64a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm32 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm-16-112a16 16 0 1 1 16 16 16 16 0 0 1-16-16zm48 64a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm32-144H64V144h384zm-248-32a24 24 0 1 0-24-24 24 24 0 0 0 24 24zm112 0a24 24 0 1 0-24-24 24 24 0 0 0 24 24z\"]\n};\nvar faAnalytics = {\n prefix: 'fas',\n iconName: 'analytics',\n icon: [576, 512, [], \"f643\", \"M510.62 92.63C516.03 94.74 521.85 96 528 96c26.51 0 48-21.49 48-48S554.51 0 528 0s-48 21.49-48 48c0 2.43.37 4.76.71 7.09l-95.34 76.27c-5.4-2.11-11.23-3.37-17.38-3.37s-11.97 1.26-17.38 3.37L255.29 55.1c.35-2.33.71-4.67.71-7.1 0-26.51-21.49-48-48-48s-48 21.49-48 48c0 4.27.74 8.34 1.78 12.28l-101.5 101.5C56.34 160.74 52.27 160 48 160c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-4.27-.74-8.34-1.78-12.28l101.5-101.5C199.66 95.26 203.73 96 208 96c6.15 0 11.97-1.26 17.38-3.37l95.34 76.27c-.35 2.33-.71 4.67-.71 7.1 0 26.51 21.49 48 48 48s48-21.49 48-48c0-2.43-.37-4.76-.71-7.09l95.32-76.28zM400 320h-64c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V336c0-8.84-7.16-16-16-16zm160-128h-64c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm-320 0h-64c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zM80 352H16c-8.84 0-16 7.16-16 16v128c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V368c0-8.84-7.16-16-16-16z\"]\n};\nvar faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [], \"f13d\", \"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};\nvar faAngel = {\n prefix: 'fas',\n iconName: 'angel',\n icon: [576, 512, [], \"f779\", \"M208 144c0 44.2 35.8 80 80 80s80-35.8 80-80-35.8-80-80-80-80 35.8-80 80zm-23.5-42.6c4.1-9.9 9.9-18.9 16.6-27.1-5.8-4.1-9.1-7.9-9.1-10.3 0-8 34-32 96-32s96 24 96 32c0 2.3-3.3 6.1-9.1 10.3 6.6 8.3 12.4 17.2 16.6 27.1C406.7 90.9 416 78 416 64c0-35.3-57.3-64-128-64S160 28.7 160 64c0 14 9.3 26.9 24.5 37.4zm387.3 351.7l-38.2-78.6c-6.6-13.5-6.6-29.6 0-43.1 4.8-9.8 8.7-16.7 11.9-22.1C555 292.7 560 282.8 560 256c0-51.1-46.9-96-100.4-96-24.8 0-49 10.3-66.3 28.1l-72.7 73.4c-10.3-3.4-21.2-5.4-32.5-5.4s-22.1 2-32.5 5.4L183 188.2c-17.5-18-41.7-28.2-66.5-28.2C63 160 16 204.9 16 256c0 26.8 5 36.7 14.5 53.2 3.2 5.5 7.1 12.3 11.9 22.1 6.6 13.5 6.6 29.6 0 43.1L4.2 453.1C-2.1 466-1.3 480.9 6.3 493c7.5 11.9 20.2 19 34.2 19h495.1c13.9 0 26.7-7.1 34.2-19 7.5-12.1 8.3-27.1 2-39.9zM195.4 313.2L120 464H52.2l33.4-68.6c13-26.6 13-58.5 0-85.1-5.4-11.2-9.9-18.9-13.5-25.1-7.2-12.4-8.1-14-8.1-29.2 0-24.7 25.5-48 52.4-48 12.1 0 23.5 4.9 32.2 13.9l65.1 65.6c-7.2 7.5-13.5 16.1-18.3 25.7zM456 464l-75.4-150.8c-4.8-9.6-11.1-18.2-18.4-25.7l65.3-65.8c8.6-8.8 20-13.7 32.1-13.7 27 0 52.4 23.3 52.4 48 0 15.2-.9 16.8-8.1 29.2-3.6 6.2-8 14-13.5 25.1-13 26.6-13 58.5 0 85.1l33.4 68.6H456z\"]\n};\nvar faAngleDoubleDown = {\n prefix: 'fas',\n iconName: 'angle-double-down',\n icon: [320, 512, [], \"f103\", \"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};\nvar faAngleDoubleLeft = {\n prefix: 'fas',\n iconName: 'angle-double-left',\n icon: [448, 512, [], \"f100\", \"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};\nvar faAngleDoubleRight = {\n prefix: 'fas',\n iconName: 'angle-double-right',\n icon: [448, 512, [], \"f101\", \"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};\nvar faAngleDoubleUp = {\n prefix: 'fas',\n iconName: 'angle-double-up',\n icon: [320, 512, [], \"f102\", \"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};\nvar faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [320, 512, [], \"f107\", \"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};\nvar faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [256, 512, [], \"f104\", \"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};\nvar faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [256, 512, [], \"f105\", \"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};\nvar faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [320, 512, [], \"f106\", \"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};\nvar faAngry = {\n prefix: 'fas',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"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};\nvar faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [], \"f644\", \"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};\nvar faAppleAlt = {\n prefix: 'fas',\n iconName: 'apple-alt',\n icon: [448, 512, [], \"f5d1\", \"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};\nvar faAppleCrate = {\n prefix: 'fas',\n iconName: 'apple-crate',\n icon: [512, 512, [], \"f6b1\", \"M318.2 192h159.79c5.26-39.47-5.15-102.65-53.82-111.39-18.13-3.03-51.9 6.18-72.49 17.69-17.01-9.52-42.45-16.98-61.15-17.79 1.82 2.21 3.83 4.17 5.5 6.58 20.84 30.15 25.74 72.3 22.17 104.91zM210.53 50.47c11.29-12.19 14.43-32.03 13.22-50.22-12.88-.86-35.67-.12-50.02 13.28-16.53 16.6-13.77 46.36-13.22 50.22 18.47 1.23 37.77-1.85 50.02-13.28zm191.69 0c11.29-12.19 14.43-32.03 13.22-50.22-12.88-.86-35.67-.12-50.02 13.28-16.53 16.6-13.77 46.36-13.22 50.22 18.47 1.23 37.77-1.85 50.02-13.28zM286.3 192c5.26-39.47-5.15-102.65-53.82-111.39-18.13-3.03-51.9 6.18-72.48 17.69-20.66-11.56-54.43-20.71-72.48-17.69C38.91 89.34 28.53 152.88 33.7 192h252.6zM496 224H16c-8.84 0-16 7.16-16 16v112h512V240c0-8.84-7.16-16-16-16zM64 304c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm384 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM0 496c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16V384H0v112zm448-64c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm-384 0c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16z\"]\n};\nvar faArchive = {\n prefix: 'fas',\n iconName: 'archive',\n icon: [512, 512, [], \"f187\", \"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};\nvar faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [576, 512, [], \"f557\", \"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};\nvar faArrowAltCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"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};\nvar faArrowAltCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"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};\nvar faArrowAltCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"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};\nvar faArrowAltCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"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};\nvar faArrowAltDown = {\n prefix: 'fas',\n iconName: 'arrow-alt-down',\n icon: [448, 512, [], \"f354\", \"M176 32h96c13.3 0 24 10.7 24 24v200h103.8c21.4 0 32.1 25.8 17 41L241 473c-9.4 9.4-24.6 9.4-34 0L31.3 297c-15.1-15.1-4.4-41 17-41H152V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faArrowAltFromBottom = {\n prefix: 'fas',\n iconName: 'arrow-alt-from-bottom',\n icon: [384, 512, [], \"f346\", \"M360 480H24c-13.3 0-24-10.7-24-24v-24c0-13.3 10.7-24 24-24h336c13.3 0 24 10.7 24 24v24c0 13.3-10.7 24-24 24zM256 360V224h87.7c17.8 0 26.7-21.5 14.1-34.1L205.7 37.7c-7.5-7.5-19.8-7.5-27.3 0L26.1 189.9C13.5 202.5 22.5 224 40.3 224H128v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24z\"]\n};\nvar faArrowAltFromLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-from-left',\n icon: [448, 512, [], \"f347\", \"M0 424V88c0-13.3 10.7-24 24-24h24c13.3 0 24 10.7 24 24v336c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm120-104h136v87.7c0 17.8 21.5 26.7 34.1 14.1l152.2-152.2c7.5-7.5 7.5-19.8 0-27.3L290.1 90.1c-12.6-12.6-34.1-3.7-34.1 14.1V192H120c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24z\"]\n};\nvar faArrowAltFromRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-from-right',\n icon: [448, 512, [], \"f348\", \"M448 88v336c0 13.3-10.7 24-24 24h-24c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24h24c13.3 0 24 10.7 24 24zM328 192H192v-87.7c0-17.8-21.5-26.7-34.1-14.1L5.7 242.3c-7.5 7.5-7.5 19.8 0 27.3l152.2 152.2c12.6 12.6 34.1 3.7 34.1-14.1V320h136c13.3 0 24-10.7 24-24v-80c0-13.3-10.7-24-24-24z\"]\n};\nvar faArrowAltFromTop = {\n prefix: 'fas',\n iconName: 'arrow-alt-from-top',\n icon: [384, 512, [], \"f349\", \"M24 32h336c13.3 0 24 10.7 24 24v24c0 13.3-10.7 24-24 24H24C10.7 104 0 93.3 0 80V56c0-13.3 10.7-24 24-24zm104 120v136H40.3c-17.8 0-26.7 21.5-14.1 34.1l152.2 152.2c7.5 7.5 19.8 7.5 27.3 0l152.2-152.2c12.6-12.6 3.7-34.1-14.1-34.1H256V152c0-13.3-10.7-24-24-24h-80c-13.3 0-24 10.7-24 24z\"]\n};\nvar faArrowAltLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-left',\n icon: [448, 512, [], \"f355\", \"M448 208v96c0 13.3-10.7 24-24 24H224v103.8c0 21.4-25.8 32.1-41 17L7 273c-9.4-9.4-9.4-24.6 0-34L183 63.3c15.1-15.1 41-4.4 41 17V184h200c13.3 0 24 10.7 24 24z\"]\n};\nvar faArrowAltRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-right',\n icon: [448, 512, [], \"f356\", \"M0 304v-96c0-13.3 10.7-24 24-24h200V80.2c0-21.4 25.8-32.1 41-17L441 239c9.4 9.4 9.4 24.6 0 34L265 448.7c-15.1 15.1-41 4.4-41-17V328H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faArrowAltSquareDown = {\n prefix: 'fas',\n iconName: 'arrow-alt-square-down',\n icon: [448, 512, [], \"f350\", \"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 48zm-268 60v116h-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.5H268V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltSquareLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-square-left',\n icon: [448, 512, [], \"f351\", \"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 48zm-60-268H224v-70.9c0-10.7-13-16.1-20.5-8.5L89.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};\nvar faArrowAltSquareRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-square-right',\n icon: [448, 512, [], \"f352\", \"M48 32h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm60 268h116v70.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.5V212H108c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z\"]\n};\nvar faArrowAltSquareUp = {\n prefix: 'fas',\n iconName: 'arrow-alt-square-up',\n icon: [448, 512, [], \"f353\", \"M0 432V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48zm268-60V256h70.9c10.7 0 16.1-13 8.5-20.5L232.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3C93 243 98.4 256 109.1 256H180v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z\"]\n};\nvar faArrowAltToBottom = {\n prefix: 'fas',\n iconName: 'arrow-alt-to-bottom',\n icon: [384, 512, [], \"f34a\", \"M360 480H24c-13.3 0-24-10.7-24-24v-24c0-13.3 10.7-24 24-24h336c13.3 0 24 10.7 24 24v24c0 13.3-10.7 24-24 24zM128 56v136H40.3c-17.8 0-26.7 21.5-14.1 34.1l152.2 152.2c7.5 7.5 19.8 7.5 27.3 0l152.2-152.2c12.6-12.6 3.7-34.1-14.1-34.1H256V56c0-13.3-10.7-24-24-24h-80c-13.3 0-24 10.7-24 24z\"]\n};\nvar faArrowAltToLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-to-left',\n icon: [448, 512, [], \"f34b\", \"M0 424V88c0-13.3 10.7-24 24-24h24c13.3 0 24 10.7 24 24v336c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm424-232H288v-87.7c0-17.8-21.5-26.7-34.1-14.1L101.7 242.3c-7.5 7.5-7.5 19.8 0 27.3l152.2 152.2c12.6 12.6 34.1 3.7 34.1-14.1V320h136c13.3 0 24-10.7 24-24v-80c0-13.3-10.7-24-24-24z\"]\n};\nvar faArrowAltToRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-to-right',\n icon: [448, 512, [], \"f34c\", \"M448 88v336c0 13.3-10.7 24-24 24h-24c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24h24c13.3 0 24 10.7 24 24zM24 320h136v87.7c0 17.8 21.5 26.7 34.1 14.1l152.2-152.2c7.5-7.5 7.5-19.8 0-27.3L194.1 90.1c-12.6-12.6-34.1-3.7-34.1 14.1V192H24c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24z\"]\n};\nvar faArrowAltToTop = {\n prefix: 'fas',\n iconName: 'arrow-alt-to-top',\n icon: [384, 512, [], \"f34d\", \"M24 32h336c13.3 0 24 10.7 24 24v24c0 13.3-10.7 24-24 24H24C10.7 104 0 93.3 0 80V56c0-13.3 10.7-24 24-24zm232 424V320h87.7c17.8 0 26.7-21.5 14.1-34.1L205.7 133.7c-7.5-7.5-19.8-7.5-27.3 0L26.1 285.9C13.5 298.5 22.5 320 40.3 320H128v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24z\"]\n};\nvar faArrowAltUp = {\n prefix: 'fas',\n iconName: 'arrow-alt-up',\n icon: [448, 512, [], \"f357\", \"M272 480h-96c-13.3 0-24-10.7-24-24V256H48.2c-21.4 0-32.1-25.8-17-41L207 39c9.4-9.4 24.6-9.4 34 0l175.8 176c15.1 15.1 4.4 41-17 41H296v200c0 13.3-10.7 24-24 24z\"]\n};\nvar faArrowCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-circle-down',\n icon: [512, 512, [], \"f0ab\", \"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};\nvar faArrowCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-circle-left',\n icon: [512, 512, [], \"f0a8\", \"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};\nvar faArrowCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-circle-right',\n icon: [512, 512, [], \"f0a9\", \"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};\nvar faArrowCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-circle-up',\n icon: [512, 512, [], \"f0aa\", \"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};\nvar faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [448, 512, [], \"f063\", \"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};\nvar faArrowFromBottom = {\n prefix: 'fas',\n iconName: 'arrow-from-bottom',\n icon: [384, 512, [], \"f342\", \"M360 480H24c-13.3 0-24-10.7-24-24v-24c0-13.3 10.7-24 24-24h336c13.3 0 24 10.7 24 24v24c0 13.3-10.7 24-24 24zM90.4 216.5l65.6-65.6V360c0 13.3 10.7 24 24 24h24c13.3 0 24-10.7 24-24V150.9l65.6 65.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L209 30.1c-9.4-9.4-24.6-9.4-33.9 0L39.5 165.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0z\"]\n};\nvar faArrowFromLeft = {\n prefix: 'fas',\n iconName: 'arrow-from-left',\n icon: [448, 512, [], \"f343\", \"M0 424V88c0-13.3 10.7-24 24-24h24c13.3 0 24 10.7 24 24v336c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm254.5-269.6l65.6 65.6H120c-13.3 0-24 10.7-24 24v24c0 13.3 10.7 24 24 24h200.1l-65.6 65.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L441 273c9.4-9.4 9.4-24.6 0-33.9L305.5 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6-.1 33.9z\"]\n};\nvar faArrowFromRight = {\n prefix: 'fas',\n iconName: 'arrow-from-right',\n icon: [448, 512, [], \"f344\", \"M448 88v336c0 13.3-10.7 24-24 24h-24c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24h24c13.3 0 24 10.7 24 24zM193.5 357.6L127.9 292H328c13.3 0 24-10.7 24-24v-24c0-13.3-10.7-24-24-24H127.9l65.6-65.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L7 239c-9.4 9.4-9.4 24.6 0 33.9l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.3 9.4-24.5.1-33.8z\"]\n};\nvar faArrowFromTop = {\n prefix: 'fas',\n iconName: 'arrow-from-top',\n icon: [384, 512, [], \"f345\", \"M24 32h336c13.3 0 24 10.7 24 24v24c0 13.3-10.7 24-24 24H24C10.7 104 0 93.3 0 80V56c0-13.3 10.7-24 24-24zm269.6 263.5L228 361.1V152c0-13.3-10.7-24-24-24h-24c-13.3 0-24 10.7-24 24v209.1l-65.6-65.6c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L175 481.9c9.4 9.4 24.6 9.4 33.9 0l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.3-9.4-24.5-9.4-33.8 0z\"]\n};\nvar faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [], \"f060\", \"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};\nvar faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [], \"f061\", \"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};\nvar faArrowSquareDown = {\n prefix: 'fas',\n iconName: 'arrow-square-down',\n icon: [448, 512, [], \"f339\", \"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 48zM328.4 227.1L256 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.9L207 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};\nvar faArrowSquareLeft = {\n prefix: 'fas',\n iconName: 'arrow-square-left',\n icon: [448, 512, [], \"f33a\", \"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 48zM252.9 360.4L177.4 288H360c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H177.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 0L75.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};\nvar faArrowSquareRight = {\n prefix: 'fas',\n iconName: 'arrow-square-right',\n icon: [448, 512, [], \"f33b\", \"M48 32h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm147.1 119.6l75.5 72.4H88c-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 0L372.3 273c9.4-9.4 9.4-24.6 0-33.9L239.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};\nvar faArrowSquareUp = {\n prefix: 'fas',\n iconName: 'arrow-square-up',\n icon: [448, 512, [], \"f33c\", \"M0 432V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48zm119.6-147.1l72.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.9L241 107.7c-9.4-9.4-24.6-9.4-33.9 0L74.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};\nvar faArrowToBottom = {\n prefix: 'fas',\n iconName: 'arrow-to-bottom',\n icon: [384, 512, [], \"f33d\", \"M360 480H24c-13.3 0-24-10.7-24-24v-24c0-13.3 10.7-24 24-24h336c13.3 0 24 10.7 24 24v24c0 13.3-10.7 24-24 24zm-66.4-280.5L228 265.1V56c0-13.3-10.7-24-24-24h-24c-13.3 0-24 10.7-24 24v209.1l-65.6-65.6c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L175 385.9c9.4 9.4 24.6 9.4 33.9 0l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.3-9.4-24.5-9.4-33.8 0z\"]\n};\nvar faArrowToLeft = {\n prefix: 'fas',\n iconName: 'arrow-to-left',\n icon: [448, 512, [], \"f33e\", \"M0 424V88c0-13.3 10.7-24 24-24h24c13.3 0 24 10.7 24 24v336c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm280.5-66.4L214.9 292H424c13.3 0 24-10.7 24-24v-24c0-13.3-10.7-24-24-24H214.9l65.6-65.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L94.1 239c-9.4 9.4-9.4 24.6 0 33.9l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.3 9.4-24.5 0-33.8z\"]\n};\nvar faArrowToRight = {\n prefix: 'fas',\n iconName: 'arrow-to-right',\n icon: [448, 512, [], \"f340\", \"M448 88v336c0 13.3-10.7 24-24 24h-24c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24h24c13.3 0 24 10.7 24 24zm-280.5 66.4l65.6 65.6H24c-13.3 0-24 10.7-24 24v24c0 13.3 10.7 24 24 24h209.1l-65.6 65.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L353.9 273c9.4-9.4 9.4-24.6 0-33.9L218.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.9z\"]\n};\nvar faArrowToTop = {\n prefix: 'fas',\n iconName: 'arrow-to-top',\n icon: [384, 512, [], \"f341\", \"M24 32h336c13.3 0 24 10.7 24 24v24c0 13.3-10.7 24-24 24H24C10.7 104 0 93.3 0 80V56c0-13.3 10.7-24 24-24zm66.4 280.5l65.6-65.6V456c0 13.3 10.7 24 24 24h24c13.3 0 24-10.7 24-24V246.9l65.6 65.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L209 126.1c-9.4-9.4-24.6-9.4-33.9 0L39.5 261.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0z\"]\n};\nvar faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [448, 512, [], \"f062\", \"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};\nvar faArrows = {\n prefix: 'fas',\n iconName: 'arrows',\n icon: [512, 512, [], \"f047\", \"M352.634 428.621l-74.007 74.007c-12.497 12.497-32.758 12.497-45.255 0l-74.007-74.007c-9.373-9.373-9.373-24.569 0-33.941l10.84-10.84c9.556-9.556 25.113-9.341 34.402.474L228 410.365V284H101.635l26.051 23.392c9.815 9.289 10.03 24.846.474 34.402l-10.84 10.84c-9.373 9.373-24.569 9.373-33.941 0L9.373 278.627c-12.497-12.497-12.497-32.758 0-45.255l74.007-74.007c9.373-9.373 24.569-9.373 33.941 0l10.84 10.84c9.556 9.556 9.341 25.114-.474 34.402L101.635 228H228V101.635l-23.392 26.051c-9.289 9.815-24.846 10.03-34.402.474l-10.84-10.84c-9.373-9.373-9.373-24.569 0-33.941l74.007-74.007c12.497-12.497 32.758-12.497 45.255 0l74.007 74.007c9.373 9.373 9.373 24.569 0 33.941l-10.84 10.84c-9.556 9.556-25.113 9.341-34.402-.474L284 101.635V228h126.365l-26.051-23.392c-9.815-9.289-10.03-24.846-.474-34.402l10.84-10.84c9.373-9.373 24.569-9.373 33.941 0l74.007 74.007c12.497 12.497 12.497 32.758 0 45.255l-74.007 74.007c-9.373 9.373-24.569 9.373-33.941 0l-10.84-10.84c-9.556-9.556-9.341-25.113.474-34.402L410.365 284H284v126.365l23.392-26.051c9.289-9.815 24.846-10.03 34.402-.474l10.84 10.84c9.373 9.372 9.373 24.568 0 33.941z\"]\n};\nvar faArrowsAlt = {\n prefix: 'fas',\n iconName: 'arrows-alt',\n icon: [512, 512, [], \"f0b2\", \"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};\nvar faArrowsAltH = {\n prefix: 'fas',\n iconName: 'arrows-alt-h',\n icon: [512, 512, [], \"f337\", \"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};\nvar faArrowsAltV = {\n prefix: 'fas',\n iconName: 'arrows-alt-v',\n icon: [256, 512, [], \"f338\", \"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};\nvar faArrowsH = {\n prefix: 'fas',\n iconName: 'arrows-h',\n icon: [512, 512, [], \"f07e\", \"M105.815 288h300.371l-46.208 43.728c-9.815 9.289-10.03 24.846-.474 34.402l10.84 10.84c9.373 9.373 24.569 9.373 33.941 0l98.343-98.343c12.497-12.497 12.497-32.758 0-45.255l-98.343-98.343c-9.373-9.373-24.569-9.373-33.941 0l-10.84 10.84c-9.556 9.556-9.341 25.113.474 34.402L406.186 224H105.815l46.208-43.728c9.815-9.289 10.03-24.846.474-34.402l-10.84-10.84c-9.373-9.373-24.569-9.373-33.941 0L9.373 233.372c-12.497 12.497-12.497 32.758 0 45.255l98.343 98.343c9.373 9.373 24.569 9.373 33.941 0l10.84-10.84c9.556-9.556 9.341-25.113-.474-34.402L105.815 288z\"]\n};\nvar faArrowsV = {\n prefix: 'fas',\n iconName: 'arrows-v',\n icon: [256, 512, [], \"f07d\", \"M160 406.186V105.815l43.728 46.208c9.289 9.815 24.846 10.03 34.402.474l10.84-10.84c9.373-9.373 9.373-24.569 0-33.941L150.627 9.373c-12.497-12.497-32.758-12.497-45.255 0L7.029 107.715c-9.373 9.373-9.373 24.569 0 33.941l10.84 10.84c9.556 9.556 25.113 9.341 34.402-.474L96 105.815v300.371l-43.728-46.208c-9.289-9.815-24.846-10.03-34.402-.474l-10.84 10.84c-9.373 9.373-9.373 24.569 0 33.941l98.343 98.343c12.497 12.497 32.758 12.497 45.255 0l98.343-98.343c9.373-9.373 9.373-24.569 0-33.941l-10.84-10.84c-9.556-9.556-25.113-9.341-34.402.474L160 406.186z\"]\n};\nvar faAssistiveListeningSystems = {\n prefix: 'fas',\n iconName: 'assistive-listening-systems',\n icon: [512, 512, [], \"f2a2\", \"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};\nvar faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [512, 512, [], \"f069\", \"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};\nvar faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [], \"f1fa\", \"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};\nvar faAtlas = {\n prefix: 'fas',\n iconName: 'atlas',\n icon: [448, 512, [], \"f558\", \"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};\nvar faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [448, 512, [], \"f5d2\", \"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};\nvar faAtomAlt = {\n prefix: 'fas',\n iconName: 'atom-alt',\n icon: [448, 512, [], \"f5d3\", \"M400.87913,256.00022c47.5017,76.32937,66.25237,155.12752,22.2508,199.12823-41.439,41.42255-115.89477,29.188-199.13212-22.60974-83.58112,52.0321-157.8494,63.89166-199.13212,22.60974C-19.13589,411.12774-.38522,332.32959,47.11648,256.00022-.38522,179.67086-19.13589,100.87271,24.86569,56.872,68.86726,12.93378,147.65133,31.65283,223.98218,79.12235,300.29741,31.62158,379.0971,12.85565,423.12993,56.872,467.1315,100.87271,448.39646,179.67086,400.87913,256.00022ZM167.38641,391.68992c-26.07906-21.48472-50.36118-43.89133-79.19033-78.86065-24.86027,47.23514-30.423,84.68887-18.07877,97.04845C82.50837,422.26855,120.041,416.65908,167.38641,391.68992ZM88.19608,199.17118a561.57489,561.57489,0,0,1,79.1747-79.12629c-31.00111-16.35964-57.78331-24.40664-76.00271-24.40664-9.67223,0-16.93811,2.20316-21.25076,6.48448C57.77311,114.49793,63.35144,151.936,88.19608,199.17118Zm234.74277,56.84467a511.44441,511.44441,0,0,0-98.92542-99.42349,511.2289,511.2289,0,0,0-98.941,99.42349c25.90717,34.01618,54.11131,64.7823,98.92541,98.92348C258.06153,328.98578,288.797,300.81345,322.93885,256.01585Zm-66.92427-.01563a32.01677,32.01677,0,1,1-32.01677-32.01614A32.00909,32.00909,0,0,1,256.01458,256.00022ZM377.87831,102.13835c-4.31265-4.29694-11.57854-6.48448-21.25076-6.48448-18.20378,0-45.00161,8.03138-76.00272,24.391a563.57476,563.57476,0,0,1,79.17471,79.12629C384.64418,151.936,390.2225,114.49793,377.87831,102.13835ZM359.79954,312.82927c-28.92291,35.09432-53.205,57.46968-79.17471,78.86065,47.32982,24.93791,84.84679,30.51612,97.25348,18.1878C390.2225,397.51814,384.64418,360.06441,359.79954,312.82927Z\"]\n};\nvar faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [512, 512, [], \"f29e\", \"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};\nvar faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"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};\nvar faAxe = {\n prefix: 'fas',\n iconName: 'axe',\n icon: [640, 512, [], \"f6b2\", \"M4.69 439.43c-6.25 6.25-6.25 16.38 0 22.63l45.26 45.25c6.25 6.25 16.38 6.25 22.63 0l235.87-235.87-67.88-67.88L4.69 439.43zM525.74 160l-52.93-52.93 34.5-34.5c6.25-6.25 6.25-16.38 0-22.63L462.06 4.69c-6.25-6.25-16.38-6.25-22.63 0l-34.5 34.5-29.81-29.82C368.87 3.12 360.68 0 352.49 0s-16.38 3.12-22.63 9.37l-96.49 96.49c-12.5 12.5-12.5 32.76 0 45.25L384 301.74V416h32c123.71 0 224-100.29 224-224v-32H525.74zM448 348.79v-37.94c39.28-16.25 70.6-47.56 86.84-86.84h37.94C560.03 286.6 510.6 336.03 448 348.79z\"]\n};\nvar faAxeBattle = {\n prefix: 'fas',\n iconName: 'axe-battle',\n icon: [512, 512, [], \"f6b3\", \"M512 160.92C505.16 99.16 478.4 44.29 438.94 4.7c-9.21-9.25-23.89-4.12-27.06 8.96-12.03 49.67-47.25 88.27-91.88 101.23v154.22c44.63 12.96 79.85 51.56 91.88 101.23 3.17 13.08 17.85 18.21 27.06 8.96 39.46-39.59 66.22-94.45 73.06-156.22L449.24 192 512 160.92zM101 13.66C97.86.58 83.32-4.54 74.2 4.7 28.67 50.83 0 117.62 0 192c0 74.38 28.67 141.17 74.2 187.3 9.13 9.25 23.66 4.12 26.8-8.96 11.92-49.67 46.79-88.27 91-101.23V114.89c-44.21-12.96-79.08-51.56-91-101.23zM272 64h-32c-8.84 0-16 7.16-16 16v416c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16z\"]\n};\nvar faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [384, 512, [], \"f77c\", \"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};\nvar faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [], \"f77d\", \"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};\nvar faBackpack = {\n prefix: 'fas',\n iconName: 'backpack',\n icon: [448, 512, [], \"f5d4\", \"M320 320H128c-17.67 0-32 14.33-32 32v32h256v-32c0-17.67-14.33-32-32-32zM96 512h256v-96H96v96zM320 80h-8V56c0-30.88-25.12-56-56-56h-64c-30.88 0-56 25.12-56 56v24h-8C57.31 80 0 137.31 0 208v240c0 35.35 28.65 64 64 64V352c0-35.29 28.71-64 64-64h192c35.29 0 64 28.71 64 64v160c35.35 0 64-28.65 64-64V208c0-70.69-57.31-128-128-128zM184 56c0-4.41 3.59-8 8-8h64c4.41 0 8 3.59 8 8v24h-80V56zm136 144c0 4.42-3.58 8-8 8H136c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faBackspace = {\n prefix: 'fas',\n iconName: 'backspace',\n icon: [640, 512, [], \"f55a\", \"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};\nvar faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [], \"f04a\", \"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};\nvar faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [], \"f7e5\", \"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};\nvar faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"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};\nvar faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"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};\nvar faBadge = {\n prefix: 'fas',\n iconName: 'badge',\n icon: [512, 512, [], \"f335\", \"M512 256c0-37.7-23.7-69.9-57.1-82.4 14.7-32.4 8.8-71.9-17.9-98.6-26.7-26.7-66.2-32.6-98.6-17.9C325.9 23.7 293.7 0 256 0s-69.9 23.7-82.4 57.1c-32.4-14.7-72-8.8-98.6 17.9-26.7 26.7-32.6 66.2-17.9 98.6C23.7 186.1 0 218.3 0 256s23.7 69.9 57.1 82.4c-14.7 32.4-8.8 72 17.9 98.6 26.6 26.6 66.1 32.7 98.6 17.9 12.5 33.3 44.7 57.1 82.4 57.1s69.9-23.7 82.4-57.1c32.6 14.8 72 8.7 98.6-17.9 26.7-26.7 32.6-66.2 17.9-98.6 33.4-12.5 57.1-44.7 57.1-82.4z\"]\n};\nvar faBadgeCheck = {\n prefix: 'fas',\n iconName: 'badge-check',\n icon: [512, 512, [], \"f336\", \"M512 256c0-37.7-23.7-69.9-57.1-82.4 14.7-32.4 8.8-71.9-17.9-98.6-26.7-26.7-66.2-32.6-98.6-17.9C325.9 23.7 293.7 0 256 0s-69.9 23.7-82.4 57.1c-32.4-14.7-72-8.8-98.6 17.9-26.7 26.7-32.6 66.2-17.9 98.6C23.7 186.1 0 218.3 0 256s23.7 69.9 57.1 82.4c-14.7 32.4-8.8 72 17.9 98.6 26.6 26.6 66.1 32.7 98.6 17.9 12.5 33.3 44.7 57.1 82.4 57.1s69.9-23.7 82.4-57.1c32.6 14.8 72 8.7 98.6-17.9 26.7-26.7 32.6-66.2 17.9-98.6 33.4-12.5 57.1-44.7 57.1-82.4zm-144.8-44.25L236.16 341.74c-4.31 4.28-11.28 4.25-15.55-.06l-75.72-76.33c-4.28-4.31-4.25-11.28.06-15.56l26.03-25.82c4.31-4.28 11.28-4.25 15.56.06l42.15 42.49 97.2-96.42c4.31-4.28 11.28-4.25 15.55.06l25.82 26.03c4.28 4.32 4.26 11.29-.06 15.56z\"]\n};\nvar faBadgeDollar = {\n prefix: 'fas',\n iconName: 'badge-dollar',\n icon: [512, 512, [], \"f645\", \"M512 256c0-37.7-23.7-69.9-57.1-82.4 14.7-32.4 8.8-71.9-17.9-98.6-26.7-26.7-66.2-32.6-98.6-17.9C325.9 23.7 293.7 0 256 0s-69.9 23.7-82.4 57.1c-32.4-14.7-72-8.8-98.6 17.9-26.7 26.7-32.6 66.2-17.9 98.6C23.7 186.1 0 218.3 0 256s23.7 69.9 57.1 82.4c-14.7 32.4-8.8 72 17.9 98.6 26.6 26.6 66.1 32.7 98.6 17.9 12.5 33.3 44.7 57.1 82.4 57.1s69.9-23.7 82.4-57.1c32.6 14.8 72 8.7 98.6-17.9 26.7-26.7 32.6-66.2 17.9-98.6 33.4-12.5 57.1-44.7 57.1-82.4zm-232 94.44V368c0 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.05V144c0-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};\nvar faBadgePercent = {\n prefix: 'fas',\n iconName: 'badge-percent',\n icon: [512, 512, [], \"f646\", \"M512 256c0-37.7-23.7-69.9-57.1-82.4 14.7-32.4 8.8-71.9-17.9-98.6-26.7-26.7-66.2-32.6-98.6-17.9C325.9 23.7 293.7 0 256 0s-69.9 23.7-82.4 57.1c-32.4-14.7-72-8.8-98.6 17.9-26.7 26.7-32.6 66.2-17.9 98.6C23.7 186.1 0 218.3 0 256s23.7 69.9 57.1 82.4c-14.7 32.4-8.8 72 17.9 98.6 26.6 26.6 66.1 32.7 98.6 17.9 12.5 33.3 44.7 57.1 82.4 57.1s69.9-23.7 82.4-57.1c32.6 14.8 72 8.7 98.6-17.9 26.7-26.7 32.6-66.2 17.9-98.6 33.4-12.5 57.1-44.7 57.1-82.4zm-320-96c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32zm12.28 181.65c-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.63l137.37-137.37c6.25-6.25 16.38-6.25 22.63 0l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63L204.28 341.65zM320 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBadgeSheriff = {\n prefix: 'fas',\n iconName: 'badge-sheriff',\n icon: [512, 512, [], \"f8a2\", \"M440 320c-4 0-7.58 1.18-11.21 2.26l-39.46-66.32 39.43-66.21C432.4 190.82 436 192 440 192a40 40 0 0 0 0-80c-19.25 0-34.57 13.88-38.38 32h-78.88l-43.15-72.55C289.3 64.16 296 53.09 296 40a40 40 0 0 0-80 0c0 13.15 6.76 24.26 16.56 31.55L189.41 144h-79c-3.81-18.12-19.13-32-38.38-32a40 40 0 0 0 0 80c4 0 7.58-1.18 11.21-2.26l39.46 66.32-39.46 66.21C79.6 321.18 76 320 72 320a40 40 0 0 0 0 80c19.25 0 34.57-13.88 38.38-32h78.88l43.15 72.55C222.7 447.84 216 458.91 216 472a40 40 0 0 0 80 0c0-13.15-6.76-24.26-16.56-31.55L322.59 368h79c3.81 18.12 19.13 32 38.38 32a40 40 0 0 0 0-80zm-184 0a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"]\n};\nvar faBadgerHoney = {\n prefix: 'fas',\n iconName: 'badger-honey',\n icon: [640, 512, [], \"f6b4\", \"M622.25 142.47c-57.65-32.65-70.98-50.67-115.56-69.92C493.37 66.8 479.4 64 465.45 64c-19.05 0-38.09 5.21-55.47 15.21C392.89 89.05 374.05 96 354.95 96H128C57.31 96 0 153.31 0 224v16c0 8.84 7.16 16 16 16h20.03c7.79 33.38 28.05 64.24 53.53 81.18l-21.49 57.3a63.945 63.945 0 0 0-2.16 37.99L80 467.88A16.002 16.002 0 0 0 95.52 480h63.77c10.41 0 18.05-9.78 15.52-19.88l-15.55-41.26L192.22 352h105.69l23.03 115.14c1.5 7.48 8.06 12.86 15.69 12.86H400c10.1 0 17.67-9.24 15.69-19.14l-27-134.96c45.38-30.54 101.24-61.08 152.48-75.55L560 288l22.65-45.3c28.46-2.37 36.45-9.47 41.19-19.81 7-15.27 16.16-35.79 16.16-47.62 0-13.93-6.88-26.65-17.75-32.8zM515.19 160c.28 1.34.81 2.58.81 4 0 11.04-8.96 20-20 20s-20-8.96-20-20c0-1.42.53-2.66.81-4H460c-29.06 0-57.86 13.05-84.85 26.01l-101.98 61.75c-11.34 5.44-23.44 8.24-35.65 8.24H192c-42.49 0-78.12-41.48-90.76-90.66C113.52 152.13 130.03 144 148.3 144h206.65c25.67 0 52.24-7.8 78.97-23.19 10.02-5.77 20.92-8.81 31.53-8.81 7.65 0 15.12 1.55 22.21 4.62 26.87 11.6 36.43 20.42 71.41 43.38h-43.88z\"]\n};\nvar faBagsShopping = {\n prefix: 'fas',\n iconName: 'bags-shopping',\n icon: [576, 512, [], \"f847\", \"M448 224v-32a32 32 0 0 0-32-32h-96V96a96 96 0 0 0-192 0v64H32a32 32 0 0 0-32 32v256a32 32 0 0 0 32 32h128V256a32 32 0 0 1 32-32zM176 96a48 48 0 0 1 96 0v64h-96zm368 160H224a32 32 0 0 0-32 32v192a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V288a32 32 0 0 0-32-32zm-64 96a96.12 96.12 0 0 1-108.63 95.19C323 441 288 397.45 288 348.66V328a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v21.16c0 33.41 24.37 63.3 57.62 66.53A64.07 64.07 0 0 0 448 352v-24a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8z\"]\n};\nvar faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [512, 512, [], \"f666\", \"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};\nvar faBalanceScale = {\n prefix: 'fas',\n iconName: 'balance-scale',\n icon: [640, 512, [], \"f24e\", \"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};\nvar faBalanceScaleLeft = {\n prefix: 'fas',\n iconName: 'balance-scale-left',\n icon: [640, 512, [], \"f515\", \"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};\nvar faBalanceScaleRight = {\n prefix: 'fas',\n iconName: 'balance-scale-right',\n icon: [640, 512, [], \"f516\", \"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};\nvar faBallPile = {\n prefix: 'fas',\n iconName: 'ball-pile',\n icon: [576, 512, [], \"f77e\", \"M80 352c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm208-192c44.2 0 80-35.8 80-80S332.2 0 288 0s-80 35.8-80 80 35.8 80 80 80zm-32 88c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm32 104c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm208 0c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm-16-104c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80z\"]\n};\nvar faBallot = {\n prefix: 'fas',\n iconName: 'ballot',\n icon: [384, 512, [], \"f732\", \"M360 0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24zM128 400c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zm0-128c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zm0-128c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zm192 248c0 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-128c0 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-128c0 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};\nvar faBallotCheck = {\n prefix: 'fas',\n iconName: 'ballot-check',\n icon: [384, 512, [], \"f733\", \"M360 0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24zM64 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-32zm1.6 129.4l12.7-12.6c2.1-2.1 5.5-2.1 7.6 0l20.6 20.8 47.6-47.2c2.1-2.1 5.5-2.1 7.6 0l12.6 12.7c2.1 2.1 2.1 5.5 0 7.6l-64.2 63.6c-2.1 2.1-5.5 2.1-7.6 0L65.6 249c-2.1-2.1-2.1-5.5 0-7.6zM128 400c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zm192-8c0 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-128c0 4.4-4.3 8-9.6 8H170.2s29.2-30.2 30.4-32h109.7c5.3 0 9.6 3.6 9.6 8v16zm0-128c0 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};\nvar faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [], \"f05e\", \"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};\nvar faBandAid = {\n prefix: 'fas',\n iconName: 'band-aid',\n icon: [640, 512, [], \"f462\", \"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};\nvar faBanjo = {\n prefix: 'fas',\n iconName: 'banjo',\n icon: [512, 512, [], \"f8a3\", \"M502.63 39L473.05 9.37a32 32 0 0 0-45.26 0l-46.31 46.32A35.26 35.26 0 0 0 373 69.48l-12.19 36.59L286 180.79c-19.93-13.49-43.08-22.24-67.86-26.15v-.46a26.18 26.18 0 0 0-52.36 0v.46a166.32 166.32 0 0 0-72.28 29.82l-.23-.23a26.18 26.18 0 0 0-37 37l.23.22a166.31 166.31 0 0 0-29.84 72.34h-.46a26.18 26.18 0 0 0 0 52.36h.46a166.31 166.31 0 0 0 29.84 72.34l-.23.22a26.18 26.18 0 1 0 37 37l.23-.23a166.32 166.32 0 0 0 72.32 29.82v.46a26.18 26.18 0 0 0 52.36 0v-.46a166.32 166.32 0 0 0 72.32-29.82l.23.23a26.18 26.18 0 1 0 37-37l-.23-.22a166.31 166.31 0 0 0 29.84-72.34h.46a26.18 26.18 0 0 0 0-52.36h-.46c-3.9-24.74-12.62-47.87-26.07-67.78l74.88-74.88 36.35-12.11a35.26 35.26 0 0 0 13.79-8.53l46.32-46.31a32 32 0 0 0 .02-45.18zM192 432a112 112 0 1 1 112-112 112.12 112.12 0 0 1-112 112zm-39-125.65a8 8 0 0 0-11.32 0l-11.31 11.31a8 8 0 0 0 0 11.31L183 381.66a8 8 0 0 0 11.31 0l11.31-11.31a8 8 0 0 0 0-11.32z\"]\n};\nvar faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"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};\nvar faBarcodeAlt = {\n prefix: 'fas',\n iconName: 'barcode-alt',\n icon: [640, 512, [], \"f463\", \"M592 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 408c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V104c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm64 0c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V104c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v304zm64 0c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V104c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v304zm128 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V104c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm128 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V104c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z\"]\n};\nvar faBarcodeRead = {\n prefix: 'fas',\n iconName: 'barcode-read',\n icon: [640, 512, [], \"f464\", \"M184 128h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-40 320H64v-80c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm104-320h-16c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zM16 160h32c8.8 0 16-7.2 16-16V64h80c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v128c0 8.8 7.2 16 16 16zm392-32h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-96 0h-16c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zM624 0H496c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 352h-32c-8.8 0-16 7.2-16 16v80h-80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-112 24V136c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8z\"]\n};\nvar faBarcodeScan = {\n prefix: 'fas',\n iconName: 'barcode-scan',\n icon: [640, 512, [], \"f465\", \"M288 8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152h64V8zM160 8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v152h96V8zM64 504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V352H64v152zM480 8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152h64V8zm96 0c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152h64V8zM384 8c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v152h32V8zm128 496c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V352h-64v152zm-288 0c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V352h-64v152zm192 0c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V352h-64v152zm-64 0c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V352h-32v152zm280-280H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h624c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"]\n};\nvar faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [], \"f0c9\", \"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};\nvar faBaseball = {\n prefix: 'fas',\n iconName: 'baseball',\n icon: [640, 512, [], \"f432\", \"M629.6 56l-23.9-33.4c-17.6-24.6-51.5-30-75.8-12.2l-212 156.3c-69.1 50.9-112.4 99.8-137.2 128.3l62.2 86.7c34.6-15.2 93.7-41.8 162.8-92.7l212.1-156.2c24.1-17.8 29.4-52.2 11.8-76.8zM145.5 433.1l-43.2-60.3c-30 26-47 38.2-56 44.8-19.2-24.1-36.6-9-37.4-8.4-10.3 8.3-12 23.4-3.7 33.7l47.9 60c7.8 9.8 22.8 12.5 33.7 3.7 2.8-2.2 17.5-16.5 2.3-35.6 8.2-5.9 24.6-18.2 56.4-37.9zm-22.6-78.3l46 64.1c15.9-9.1 32.3-17.5 48.8-25.5l-55.8-77.8c-12.6 13.5-25.5 26.6-39 39.2zm372-2.8c-44.1 0-79.8 35.8-79.8 80s35.7 80 79.8 80 79.8-35.8 79.8-80-35.7-80-79.8-80z\"]\n};\nvar faBaseballBall = {\n prefix: 'fas',\n iconName: 'baseball-ball',\n icon: [496, 512, [], \"f433\", \"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};\nvar faBasketballBall = {\n prefix: 'fas',\n iconName: 'basketball-ball',\n icon: [496, 512, [], \"f434\", \"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};\nvar faBasketballHoop = {\n prefix: 'fas',\n iconName: 'basketball-hoop',\n icon: [640, 512, [], \"f435\", \"M208 160h224v48H208v-48zm431.9 176.9c0 22.8-13.6 43.2-34.7 51.8L501 431.6l9-143.6h-30.6l-18.2 224-75.4-71.6L320 512l-65.8-71.6-75.4 71.6-18.2-224H130l9 143.6-104.3-42.8C13.6 380.1 0 359.8 0 336.9L1.2 207C1.8 205 68.7 8 320 8s318.1 197 318.8 199c1.6 10.2 1.1-8.5 1.1 129.9zm-433.2 15.5l46.7 43.6 44-44-42.1-42.1-48.6 42.5zm113.3-23l41.4-41.4h-82.8l41.4 41.4zm22.6 22.6l44 44 46.7-43.6-48.6-42.5-42.1 42.1zm-149.9-64l2.6 31.9 36.5-31.9h-39.1zm38.1 130.6l-29.9-27.9 4.3 53.5 25.6-25.6zm132.4-.8L320 374.6l-43.2 43.2 43.2 40.3 43.2-40.3zm71.6 26.4l4.3-53.5-29.9 27.9 25.6 25.6zM447.3 288h-39l36.5 31.9 2.5-31.9zm96.7-72c0-4.4-3.6-8-8-8h-72v-80H176v80h-72c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-16z\"]\n};\nvar faBat = {\n prefix: 'fas',\n iconName: 'bat',\n icon: [640, 512, [], \"f6b5\", \"M558.44 129.7c-7.64-17.82-29.25-24.81-45.88-14.83L411.83 175.3 384 64l-42.67 32h-42.67L256 64l-27.83 111.3-100.74-60.44c-16.63-9.98-38.24-2.99-45.88 14.83L0 320l49.62-16.54c27.38-9.13 57.48 1.2 73.49 25.21L160 384l11.82-11.82c27.54-27.54 73.09-24.3 96.46 6.85L320 448l51.72-68.97c23.37-31.16 68.91-34.39 96.46-6.85L480 384l36.88-55.33c16.01-24.01 46.11-34.34 73.49-25.21L640 320l-81.56-190.3z\"]\n};\nvar faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [], \"f2cd\", \"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};\nvar faBatteryBolt = {\n prefix: 'fas',\n iconName: 'battery-bolt',\n icon: [640, 512, [], \"f376\", \"M64 352h178.778l-14.173 64H48c-26.51 0-48-21.49-48-48V144c0-26.51 21.49-48 48-48h115.944l-7.663 64H64v192zm364.778-160h-92.321l27.694-133.589C367.4 45.087 358.205 32 345.6 32H236.8c-9.623 0-17.76 7.792-19.031 18.225L192.171 264c-1.535 12.59 7.432 23.775 19.031 23.775h94.961l-36.847 166.382C266.44 467.443 275.728 480 287.993 480c6.68 0 13.101-3.827 16.623-10.481l140.778-245.997C452.79 209.55 443.564 192 428.778 192zM616 160h-8v-16c0-26.51-21.49-48-48-48H405.38l-9.951 48h33.349c16.112 0 31.233 5.762 43.115 16H544v64h32v64h-32v64H427.174l-36.626 64H560c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [640, 512, [], \"f244\", \"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};\nvar faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [640, 512, [], \"f240\", \"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};\nvar faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [640, 512, [], \"f242\", \"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};\nvar faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [640, 512, [], \"f243\", \"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};\nvar faBatterySlash = {\n prefix: 'fas',\n iconName: 'battery-slash',\n icon: [640, 512, [], \"f377\", \"M64 352V179.48l-62.13-48A47.23 47.23 0 0 0 0 144v224a48 48 0 0 0 48 48h322l-82.81-64zm544 16v-16h8a24 24 0 0 0 24-24V184a24 24 0 0 0-24-24h-8v-16a48 48 0 0 0-48-48H165.31L45.47 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.35 454.73a16 16 0 0 0 22.47-2.81l19.64-25.27a16 16 0 0 0-2.81-22.45l-58.14-44.94A47.85 47.85 0 0 0 608 368zm-32-80h-32v64h-47.46L248.12 160H544v64h32z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [640, 512, [], \"f241\", \"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};\nvar faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [], \"f236\", \"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};\nvar faBedAlt = {\n prefix: 'fas',\n iconName: 'bed-alt',\n icon: [512, 512, [], \"f8f7\", \"M80,160a32,32,0,0,1,32-32h96a32,32,0,0,1,32,32v32h32V160a32,32,0,0,1,32-32h96a32,32,0,0,1,32,32v32h48V64a32,32,0,0,0-32-32H64A32,32,0,0,0,32,64V192H80Zm368,64H64A64,64,0,0,0,0,288V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V416H448v48a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V288A64,64,0,0,0,448,224Z\"]\n};\nvar faBedBunk = {\n prefix: 'fas',\n iconName: 'bed-bunk',\n icon: [576, 512, [], \"f8f8\", \"M464,0H240a16,16,0,0,0-16,16V128H64V16A16,16,0,0,0,48,0H16A16,16,0,0,0,0,16V496a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V448H512v48a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V112A112,112,0,0,0,464,0Zm48,267.19A110.9,110.9,0,0,0,464,256H240a16,16,0,0,0-16,16V384H64V192H512ZM144,352a48,48,0,1,0-48-48A48.05,48.05,0,0,0,144,352Zm0-256A48,48,0,1,0,96,48,48.05,48.05,0,0,0,144,96Z\"]\n};\nvar faBedEmpty = {\n prefix: 'fas',\n iconName: 'bed-empty',\n icon: [640, 512, [], \"f8f9\", \"M112,256h96a16,16,0,0,0,16-16V144a16,16,0,0,0-16-16H112a16,16,0,0,0-16,16v96A16,16,0,0,0,112,256ZM528,128H272a16,16,0,0,0-16,16V288H64V80A16,16,0,0,0,48,64H16A16,16,0,0,0,0,80V432a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V384H576v48a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V240A112,112,0,0,0,528,128Z\"]\n};\nvar faBeer = {\n prefix: 'fas',\n iconName: 'beer',\n icon: [448, 512, [], \"f0fc\", \"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};\nvar faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"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};\nvar faBellExclamation = {\n prefix: 'fas',\n iconName: 'bell-exclamation',\n icon: [448, 512, [], \"f848\", \"M224 512a64 64 0 0 0 64-64H160a64 64 0 0 0 64 64zm215.39-149.71c-19.32-20.76-55.47-52-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32a32 32 0 1 0-64 0v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29A31.24 31.24 0 0 0 0 384c.11 16.4 13 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32a31.23 31.23 0 0 0-8.61-21.71zM224 352a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm25.4-110.4a16 16 0 0 1-15.9 14.4h-19a16 16 0 0 1-15.9-14.4l-12.8-96a16.06 16.06 0 0 1 15.9-17.6h44.6a16 16 0 0 1 15.9 17.6z\"]\n};\nvar faBellOn = {\n prefix: 'fas',\n iconName: 'bell-on',\n icon: [640, 512, [], \"f8fa\", \"M112,192a24,24,0,0,0-24-24H24a24,24,0,0,0,0,48H88A24,24,0,0,0,112,192ZM51.66,64.78l55.42,32a24,24,0,1,0,24-41.56l-55.42-32a24,24,0,1,0-24,41.56ZM520.94,100a23.8,23.8,0,0,0,12-3.22l55.42-32a24,24,0,0,0-24-41.56l-55.42,32a24,24,0,0,0,12,44.78ZM320,512a64,64,0,0,0,64-64H256A64,64,0,0,0,320,512ZM616,168H552a24,24,0,0,0,0,48h64a24,24,0,0,0,0-48ZM479.92,208c0-77.69-54.48-139.91-127.94-155.16V32a32,32,0,1,0-64,0V52.84C214.56,68.09,160.08,130.31,160.08,208c0,102.31-36.14,133.53-55.47,154.28A31.28,31.28,0,0,0,96,384c.11,16.41,13,32,32.09,32H511.91c19.11,0,32-15.59,32.09-32a31.23,31.23,0,0,0-8.61-21.72C516.06,341.53,479.92,310.31,479.92,208Z\"]\n};\nvar faBellPlus = {\n prefix: 'fas',\n iconName: 'bell-plus',\n icon: [448, 512, [], \"f849\", \"M224 512a64 64 0 0 0 64-64H160a64 64 0 0 0 64 64zm215.39-149.71c-19.32-20.76-55.47-52-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32a32 32 0 1 0-64 0v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29A31.24 31.24 0 0 0 0 384c.11 16.4 13 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32a31.23 31.23 0 0 0-8.61-21.71zM320 248a16 16 0 0 1-16 16h-56v56a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-56h-56a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h56v-56a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16v56h56a16 16 0 0 1 16 16z\"]\n};\nvar faBellSchool = {\n prefix: 'fas',\n iconName: 'bell-school',\n icon: [512, 512, [], \"f5d5\", \"M416 208C416 93.12 322.88 0 208 0S0 93.12 0 208s93.12 208 208 208 208-93.12 208-208zm-288 0c0-44.11 35.89-80 80-80s80 35.89 80 80-35.89 80-80 80-80-35.89-80-80zm128 0c0-26.51-21.49-48-48-48s-48 21.49-48 48 21.49 48 48 48 48-21.49 48-48zm208 112c-26.51 0-48 21.49-48 48 0 16.43 8.27 30.89 20.86 39.55C430.78 421.9 416.55 432 400 432h-48v-32.46C311.83 429.82 262.06 448 208 448s-103.83-18.18-144-48.46V480c0 17.67 14.33 32 32 32h224c17.67 0 32-14.33 32-32h48c42.2 0 77.48-29.87 85.98-69.56 15.39-8 26.02-23.9 26.02-42.44 0-26.51-21.49-48-48-48z\"]\n};\nvar faBellSchoolSlash = {\n prefix: 'fas',\n iconName: 'bell-school-slash',\n icon: [640, 512, [], \"f5d6\", \"M272 448c-54.06 0-103.83-18.18-144-48.46V480c0 17.67 14.33 32 32 32h224c17.67 0 32-14.33 32-32v-28.47l-37.66-29.11C346.23 438.51 310.29 448 272 448zm78.19-47.33L65.95 180.99C64.8 189.85 64 198.82 64 208c0 114.88 93.12 208 208 208 27.68 0 54.04-5.52 78.19-15.33zm283.63 57.43l-72.26-55.85C570.45 393.54 576 381.43 576 368c0-26.51-21.49-48-48-48-17.82 0-33.2 9.83-41.48 24.25l-36.81-28.45C468.88 284.38 480 247.52 480 208 480 93.12 386.87 0 272 0c-58.54 0-111.06 24.5-148.8 63.45L45.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.45zM346.64 236.15l-27.35-21.14c.34-2.31.71-4.61.71-7.01 0-26.51-21.49-48-48-48-6.7 0-13.07 1.39-18.87 3.87l-27-20.87c12.98-9.29 28.68-15 45.87-15 44.11 0 80 35.89 80 80 0 9.95-2.02 19.37-5.36 28.15z\"]\n};\nvar faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"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};\nvar faBells = {\n prefix: 'fas',\n iconName: 'bells',\n icon: [640, 512, [], \"f77f\", \"M242 253.9c-27.9-76.7 5-160.6 73.7-199.8-8.5-5.6-17.5-10.5-27.4-14.1-69.3-25.1-145.8 10.6-171 79.8-.8 2.1-14.7 40.4-15.4 42.6-29.2 80.1-66.4 94.3-87.4 105-20.1 10.3-19.5 40.6 3 48.8l243.3 88.6c8.4-19.2 19.5-45.6-3.3-108.2-9.8-27-6.2-17.1-15.5-42.7zM138.1 444.2c27.6 10.1 57.5-.3 73.8-23.2L96.5 379c-2.3 27.9 13.9 55.1 41.6 65.2zm363.8 32c27.6-10.1 43.9-37.2 41.6-65.2l-115.4 42c16.3 22.8 46.2 33.2 73.8 23.2zm123.7-176.8c-21-10.7-58.3-24.9-87.4-105-.8-2.2-14.7-40.5-15.4-42.6-25.3-69.2-101.8-104.9-171-79.7-69.2 25.2-104.9 101.7-79.7 170.9.8 2.1 14.8 40.4 15.6 42.6 29.2 80.1 9.7 114.9.5 136.6-8.8 20.7 11.2 43.6 33.7 35.4l300.6-109.4c20.5-7.5 24.9-37.6 3.1-48.8z\"]\n};\nvar faBetamax = {\n prefix: 'fas',\n iconName: 'betamax',\n icon: [512, 512, [], \"f8a4\", \"M496 64H16A16 16 0 0 0 0 80v48h512V80a16 16 0 0 0-16-16zM0 400a48 48 0 0 0 48 48h416a48 48 0 0 0 48-48V160H0zm288-176h160v160H288zm-144 0a80 80 0 1 1-80 80 80 80 0 0 1 80-80zm0 112a32 32 0 1 0-32-32 32 32 0 0 0 32 32z\"]\n};\nvar faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"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};\nvar faBible = {\n prefix: 'fas',\n iconName: 'bible',\n icon: [448, 512, [], \"f647\", \"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};\nvar faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [], \"f206\", \"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};\nvar faBiking = {\n prefix: 'fas',\n iconName: 'biking',\n icon: [640, 512, [], \"f84a\", \"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};\nvar faBikingMountain = {\n prefix: 'fas',\n iconName: 'biking-mountain',\n icon: [640, 512, [], \"f84b\", \"M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-227.29 74.16c5.65 6.8 15.39 7.81 21.77 2.26L298.8 83.51c6.38-5.54 7-15.54 1.35-22.33-28.2-33.95-76.91-39-108.81-11.3l-58.12 48.76c-6.37 5.55-7 15.54-1.34 22.34zM240 352h-5.2a110.19 110.19 0 0 0-8.65-20.89l3.67-3.67a16 16 0 0 0 0-22.63l-22.63-22.63a16 16 0 0 0-22.63 0l-3.67 3.67A110.45 110.45 0 0 0 160 277.2V272a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v5.2a110.19 110.19 0 0 0-20.89 8.65l-3.67-3.67a16 16 0 0 0-22.63 0l-22.63 22.63a16 16 0 0 0 0 22.63l3.67 3.67A110.45 110.45 0 0 0 21.2 352H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h5.2a110.19 110.19 0 0 0 8.65 20.89l-3.67 3.67a16 16 0 0 0 0 22.63l22.63 22.63a16 16 0 0 0 22.63 0l3.67-3.67A110.94 110.94 0 0 0 96 490.8v5.2a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-5.2a110.47 110.47 0 0 0 20.89-8.65l3.67 3.67a16 16 0 0 0 22.63 0l22.63-22.63a16 16 0 0 0 0-22.63l-3.67-3.67a110.45 110.45 0 0 0 8.66-20.89H240a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-112 96a64 64 0 1 1 64-64 64 64 0 0 1-64 64zm496-96h-5.2a110.19 110.19 0 0 0-8.65-20.89l3.67-3.67a16 16 0 0 0 0-22.63l-22.63-22.63a16 16 0 0 0-22.63 0l-3.67 3.67A110.45 110.45 0 0 0 544 277.2V272a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v5.2a110.1 110.1 0 0 0-20.88 8.65l-3.67-3.67a16 16 0 0 0-22.63 0l-22.63 22.63a16 16 0 0 0 0 22.63l3.67 3.67a110.45 110.45 0 0 0-8.67 20.89H400a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h5.2a110.19 110.19 0 0 0 8.65 20.89l-3.67 3.67a16 16 0 0 0 0 22.63l22.63 22.63a16 16 0 0 0 22.63 0l3.67-3.67A111.13 111.13 0 0 0 480 490.8v5.2a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-5.2a110.56 110.56 0 0 0 20.9-8.65l3.67 3.67a16 16 0 0 0 22.63 0l22.63-22.63a16 16 0 0 0 0-22.63l-3.67-3.67A110.45 110.45 0 0 0 618.8 416h5.2a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-112 96a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM396 217a32 32 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.07 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.35-27.57 58.24-49.92z\"]\n};\nvar faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"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};\nvar faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [], \"f780\", \"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};\nvar faBirthdayCake = {\n prefix: 'fas',\n iconName: 'birthday-cake',\n icon: [448, 512, [], \"f1fd\", \"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};\nvar faBlanket = {\n prefix: 'fas',\n iconName: 'blanket',\n icon: [512, 512, [], \"f498\", \"M512 96c0-52.9-43.1-96-96-96H96C43.1 0 0 43.1 0 96v288c0 70.7 57.3 128 128 128h368c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H128c-35.3 0-64-28.7-64-64s28.7-64 64-64h304c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h299.3c41.8 0 80.1-30 84.3-71.6.3-2.9.4-248.4.4-248.4z\"]\n};\nvar faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"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};\nvar faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"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};\nvar faBlind = {\n prefix: 'fas',\n iconName: 'blind',\n icon: [384, 512, [], \"f29d\", \"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};\nvar faBlinds = {\n prefix: 'fas',\n iconName: 'blinds',\n icon: [512, 512, [], \"f8fb\", \"M96,226.94V160H16L0,256H66.94A47.82,47.82,0,0,1,96,226.94ZM157.06,288a47.73,47.73,0,0,1-90.12,0H16L0,384H512l-16-96ZM16,416,0,512H512l-16-96ZM512,48V16A16,16,0,0,0,496,0H16A16,16,0,0,0,0,16V48A15.85,15.85,0,0,0,10.84,63L0,128H96V64h32v64H512L501.16,63A15.85,15.85,0,0,0,512,48ZM128,160v66.94A47.82,47.82,0,0,1,157.06,256H512l-16-96Z\"]\n};\nvar faBlindsOpen = {\n prefix: 'fas',\n iconName: 'blinds-open',\n icon: [512, 512, [], \"f8fc\", \"M16,464,0,512H512l-16-48ZM64,208.21V192H16L0,240H39.16A80.21,80.21,0,0,1,64,208.21ZM175.59,320a79.18,79.18,0,0,1-127.18,0H16L0,368H512l-16-48ZM160,192v16.21A80.12,80.12,0,0,1,184.84,240H512l-16-48ZM512,48V16A16,16,0,0,0,496,0H16A16,16,0,0,0,0,16V48A16,16,0,0,0,16,64L0,112H64V64H96V226.94a48,48,0,1,0,32,0V64h32v48H512L496,64A16,16,0,0,0,512,48Z\"]\n};\nvar faBlindsRaised = {\n prefix: 'fas',\n iconName: 'blinds-raised',\n icon: [512, 512, [], \"f8fd\", \"M16,160,0,224H96V160ZM512,48V16A16,16,0,0,0,496,0H16A16,16,0,0,0,0,16V48A16,16,0,0,0,16,64L0,128H96V64h32v64H512L496,64A16,16,0,0,0,512,48ZM496,160H128v64H512ZM96,224V418.94a48,48,0,1,0,32,0V224Z\"]\n};\nvar faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"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};\nvar faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"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};\nvar faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [320, 512, [], \"f0e7\", \"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};\nvar faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [], \"f1e2\", \"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};\nvar faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [640, 512, [], \"f5d7\", \"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};\nvar faBoneBreak = {\n prefix: 'fas',\n iconName: 'bone-break',\n icon: [640, 512, [], \"f5d8\", \"M598.88 148.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 33.3 606.7 0 565.62 0c-32.02 0-60.44 20.49-70.57 50.86l-7.75 23.26A32.006 32.006 0 0 1 456.94 96H352l32 64-32 64h104.94c13.77 0 26 8.81 30.36 21.88l7.75 23.26C505.17 299.51 533.6 320 565.61 320c41.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.88zM320 282.51L256 256l-26.51-64-62.97 62.97c-9.74 9.74-24.62 12.15-36.94 5.99L107.65 250c-28.64-14.32-63.22-8.71-85.87 13.93-29.05 29.05-29.05 76.15 0 105.2l5.4 5.4c19.92 19.92 49.39 26.88 76.12 17.97 10-3.33 19.51 6.18 16.18 16.18-8.91 26.73-1.95 56.2 17.97 76.12l5.4 5.4c29.05 29.05 76.15 29.05 105.2 0 22.64-22.64 28.25-57.23 13.93-85.87l-10.96-21.93c-6.16-12.32-3.75-27.2 5.99-36.94L320 282.51z\"]\n};\nvar faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"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};\nvar faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [], \"f02d\", \"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};\nvar faBookAlt = {\n prefix: 'fas',\n iconName: 'book-alt',\n icon: [448, 512, [], \"f5d9\", \"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.2zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faBookDead = {\n prefix: 'fas',\n iconName: 'book-dead',\n icon: [448, 512, [], \"f6b7\", \"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};\nvar faBookHeart = {\n prefix: 'fas',\n iconName: 'book-heart',\n icon: [448, 512, [], \"f499\", \"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.6zM149.8 109.1c24-20 59.7-16.4 81.6 5.8l8.6 8.7 8.6-8.7c22-22.2 57.7-25.8 81.6-5.8 27.5 23 28.9 64.2 4.3 89.1l-84.7 85.6c-5.5 5.5-14.3 5.5-19.8 0l-84.7-85.6c-24.5-24.9-23-66.1 4.5-89.1zM381.4 448H96c-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};\nvar faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"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};\nvar faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [], \"f518\", \"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};\nvar faBookReader = {\n prefix: 'fas',\n iconName: 'book-reader',\n icon: [512, 512, [], \"f5da\", \"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};\nvar faBookSpells = {\n prefix: 'fas',\n iconName: 'book-spells',\n icon: [448, 512, [], \"f6b8\", \"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.2zM272 160l26.66 53.33L352 240l-53.34 26.67L272 320l-26.66-53.33L192 240l53.34-26.67L272 160zM160 96l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16zm220.8 352H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faBookUser = {\n prefix: 'fas',\n iconName: 'book-user',\n icon: [448, 512, [], \"f7e7\", \"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.2zM240 64a64 64 0 1 1-64 64 64 64 0 0 1 64-64zM128 281.6c0-31.81 30.09-57.6 67.2-57.6h5a103.25 103.25 0 0 0 79.7 0h4.95c37.11 0 67.2 25.79 67.2 57.6v19.2c0 10.61-10 19.2-22.4 19.2H150.4c-12.4 0-22.4-8.6-22.4-19.2zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z\"]\n};\nvar faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z\"]\n};\nvar faBooks = {\n prefix: 'fas',\n iconName: 'books',\n icon: [576, 512, [], \"f5db\", \"M575.11 443.25L461.51 19.06C458.2 6.7 445.61-3.18 430.15.96L414.7 5.1c-6.18 1.66-11.53 6.4-16.06 14.24-14.03 6.94-52.3 17.21-68 18.22-7.84-4.53-14.85-5.96-21.03-4.3l-15.46 4.14c-2.42.65-4.2 1.95-6.15 3.08V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v64h128l101.66 396.94c3.31 12.36 15.9 22.24 31.36 18.1l15.45-4.14c6.18-1.66 11.53-6.4 16.06-14.24 13.91-6.88 52.18-17.2 68-18.22 7.84 4.53 14.85 5.96 21.03 4.3l15.46-4.14c15.45-4.14 21.41-18.99 18.09-31.35zm-134.4-7.06L348.64 92.37l61.82-16.56 92.07 343.82-61.82 16.56zM0 384h128V128H0v256zM96 0H32C14.33 0 0 14.33 0 32v64h128V32c0-17.67-14.33-32-32-32zM0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64H0v64zm160-96h128V128H160v256zm0 96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64H160v64z\"]\n};\nvar faBooksMedical = {\n prefix: 'fas',\n iconName: 'books-medical',\n icon: [640, 512, [], \"f7e8\", \"M128 128a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm64 144a5.33 5.33 0 0 1-5.33 5.33h-37.34v37.34A5.33 5.33 0 0 1 144 320h-32a5.33 5.33 0 0 1-5.33-5.33v-37.34H69.33A5.33 5.33 0 0 1 64 272v-32a5.33 5.33 0 0 1 5.33-5.33h37.34v-37.34A5.33 5.33 0 0 1 112 192h32a5.33 5.33 0 0 1 5.33 5.33v37.34h37.34A5.33 5.33 0 0 1 192 240zM64 480a32 32 0 0 0 32 32h64a32 32 0 0 0 32-32v-64H64zM192 32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64h128zm447.11 411.25L525.51 19.06C522.2 6.7 509.61-3.18 494.15 1L478.7 5.1q-9.27 2.49-16.06 14.24c-14 6.94-52.3 17.21-68 18.22q-11.76-6.8-21-4.3l-15.49 4.14c-2.42.65-4.2 2-6.15 3.08V32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32v64h128l101.66 396.94C457 505.3 469.56 515.18 485 511l15.45-4.14q9.27-2.49 16.06-14.24c13.91-6.88 52.18-17.2 68-18.22q11.76 6.8 21 4.3l15.49-4.1c15.47-4.14 21.43-18.99 18.11-31.35zm-134.4-7.06L412.64 92.37l61.82-16.56 92.07 343.82zM224 128.81c38.62 29.24 64 75.12 64 127.19s-25.38 98-64 127.19v.81h128V128H224zM224 480a32 32 0 0 0 32 32h64a32 32 0 0 0 32-32v-64H224z\"]\n};\nvar faBoombox = {\n prefix: 'fas',\n iconName: 'boombox',\n icon: [640, 512, [], \"f8a5\", \"M463 256a80 80 0 1 0 80 80 80.09 80.09 0 0 0-80-80zm-288 0a80 80 0 1 0 80 80 80.09 80.09 0 0 0-80-80zm432-93.06V56a56.06 56.06 0 0 0-56-56H87a56.06 56.06 0 0 0-56 56v106.94A47.86 47.86 0 0 0-1 208v256a48 48 0 0 0 48 48h544a48 48 0 0 0 48-48V208a47.86 47.86 0 0 0-32-45.06zM175 448a112 112 0 1 1 112-112 112 112 0 0 1-112 112zm160-320h-32a16 16 0 0 0-16 16v16h-32v-16a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v16H79V56a8 8 0 0 1 8-8h464a8 8 0 0 1 8 8v104H447v-16a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v16h-32v-16a16 16 0 0 0-16-16zm128 320a112 112 0 1 1 112-112 112 112 0 0 1-112 112z\"]\n};\nvar faBoot = {\n prefix: 'fas',\n iconName: 'boot',\n icon: [512, 512, [], \"f782\", \"M0 480l32 32h64l32-32 32 32h64l32-32 32 32h64l32-32 32 32h64l32-32v-32H0v32zM352 80V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v80h336c8.8 0 16-7.2 16-16zm87.3 205.8L320 256h-56c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h56v-32h-56c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h56v-32H0v288h512v-37c0-44.1-30-82.5-72.7-93.2z\"]\n};\nvar faBoothCurtain = {\n prefix: 'fas',\n iconName: 'booth-curtain',\n icon: [512, 512, [], \"f734\", \"M480 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32zM0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V64h32V0H32C14.3 0 0 14.3 0 32zM416 0H128v400c0 26.5 21.5 48 48 48 14.7 0 27.9-6.6 36.7-17 5.7-6.8 16.9-6.8 22.6 0 8.8 10.4 22 17 36.7 17s27.9-6.6 36.7-17c5.7-6.8 16.9-6.8 22.6 0 8.8 10.4 22 17 36.7 17 26.5 0 48-21.5 48-48V0z\"]\n};\nvar faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"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};\nvar faBorderBottom = {\n prefix: 'fas',\n iconName: 'border-bottom',\n icon: [448, 512, [], \"f84d\", \"M208 288h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm96 0h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm128-64h-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-320 64h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm320 32h-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-16zM208 384h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-192h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-96h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm96 0h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm128-64h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM16 288h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 96h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-192h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-96h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16zm96 0h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm320 320H16a16 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};\nvar faBorderCenterH = {\n prefix: 'fas',\n iconName: 'border-center-h',\n icon: [448, 512, [], \"f89c\", \"M208 480h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm96 0h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm128-64h-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-320 64h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm320-160h-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-16zM208 384h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-192h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-96h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm96 0h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm128-64h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM16 480h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-96h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-192h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-96h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16zm96 0h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm320 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-16z\"]\n};\nvar faBorderCenterV = {\n prefix: 'fas',\n iconName: 'border-center-v',\n icon: [448, 512, [], \"f89d\", \"M448 272v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zm0-96v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zM384 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16zm64 320v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zM288 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16zM96 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16zm256 224v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zm-192 0v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zm-96 0v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zm0-96v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zM0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48zm448 416v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zm-96 0v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zm-192 0v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zm-96 0v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zm0-96v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16zM192 48v416a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16z\"]\n};\nvar faBorderInner = {\n prefix: 'fas',\n iconName: 'border-inner',\n icon: [448, 512, [], \"f84e\", \"M48 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 192h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm288-96h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM48 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm64-224h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-96 0h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16zm320 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-16zm96-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-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm0 192H256V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v176H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h176v176a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V288h176a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM144 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-16zm288-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-16z\"]\n};\nvar faBorderLeft = {\n prefix: 'fas',\n iconName: 'border-left',\n icon: [448, 512, [], \"f84f\", \"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-16zm-288 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-16zm-96 0H16A16 16 0 0 0 0 48v416a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"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};\nvar faBorderOuter = {\n prefix: 'fas',\n iconName: 'border-outer',\n icon: [448, 512, [], \"f851\", \"M208 288h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm96 0h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-192 0h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm96 96h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-192h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM416 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 384H64V96h320z\"]\n};\nvar faBorderRight = {\n prefix: 'fas',\n iconName: 'border-right',\n icon: [448, 512, [], \"f852\", \"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-16zm-192 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-16zm-96-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-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-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-16zm288 0h-32a16 16 0 0 0-16 16v416a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBorderStyle = {\n prefix: 'fas',\n iconName: 'border-style',\n icon: [448, 512, [], \"f853\", \"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};\nvar faBorderStyleAlt = {\n prefix: 'fas',\n iconName: 'border-style-alt',\n icon: [448, 512, [], \"f854\", \"M208 96h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm96 0h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-192 0h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 288h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-96h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-96h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16zm0 288h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM432 32h-32a16 16 0 0 0-16 16v368H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h400a32 32 0 0 0 32-32V48a16 16 0 0 0-16-16z\"]\n};\nvar faBorderTop = {\n prefix: 'fas',\n iconName: 'border-top',\n icon: [448, 512, [], \"f855\", \"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-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-16zm384-96H16A16 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};\nvar faBowArrow = {\n prefix: 'fas',\n iconName: 'bow-arrow',\n icon: [512, 512, [], \"f6b9\", \"M145.78 287.03l45.26-45.25-90.58-90.58C128.24 136.08 159.49 128 192 128c32.03 0 62.86 7.79 90.33 22.47l46.61-46.61C288.35 78.03 241.3 64 192 64c-49.78 0-97.29 14.27-138.16 40.59l-3.9-3.9c-6.25-6.25-16.38-6.25-22.63 0L4.69 123.31c-6.25 6.25-6.25 16.38 0 22.63l141.09 141.09zm262.36-104.64L361.53 229c14.68 27.47 22.47 58.3 22.47 90.33 0 32.51-8.08 63.77-23.2 91.55l-90.58-90.58-45.26 45.26 141.76 141.76c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-4.57-4.57C433.74 416.63 448 369.11 448 319.33c0-49.29-14.03-96.35-39.86-136.94zM493.22.31L364.63 26.03c-12.29 2.46-16.88 17.62-8.02 26.49l34.47 34.47-250.64 250.63-49.7-16.57a20.578 20.578 0 0 0-21.04 4.96L6.03 389.69c-10.8 10.8-6.46 29.2 8.04 34.04l55.66 18.55 18.55 55.65c4.83 14.5 23.23 18.84 34.04 8.04l63.67-63.67a20.56 20.56 0 0 0 4.97-21.04l-16.57-49.7 250.64-250.64 34.47 34.47c8.86 8.86 24.03 4.27 26.49-8.02l25.72-128.59C513.88 7.8 504.2-1.88 493.22.31z\"]\n};\nvar faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [496, 512, [], \"f436\", \"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};\nvar faBowlingPins = {\n prefix: 'fas',\n iconName: 'bowling-pins',\n icon: [448, 512, [], \"f437\", \"M314.8 160c-.8-35.8-20.9-59.1-18.8-96 1.9-34.2 22.7-63.9 56-64 33.4.1 54.1 29.7 56 64 2.1 36.9-18 60.3-18.8 96h-74.4zm128.9 160c-10.8-48.1-39.9-82.8-50.7-128h-81.9c-10.8 45.2-39.9 79.9-50.7 128-11.5 51.1.6 140.5 26.7 192h130c26-51.5 38-141 26.6-192zM133.2 160c.8-35.8 20.9-59.1 18.8-96C150.1 29.8 129.3.1 96 0 62.6.1 41.9 29.8 40 64c-2.1 36.9 18 60.2 18.8 96h74.4zm3.7 32H55.1c-10.8 45.2-40 79.9-50.7 128-11.5 51.1.5 140.5 26.6 192h130c26.1-51.5 38.1-140.9 26.7-192-10.8-48.1-40-82.8-50.8-128z\"]\n};\nvar faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [512, 512, [], \"f466\", \"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};\nvar faBoxAlt = {\n prefix: 'fas',\n iconName: 'box-alt',\n icon: [448, 512, [], \"f49a\", \"M446.7 160c.4-.5.5-.7.9-1.2L391.3 53.9C386.9 40.8 374.7 32 360.9 32H256l32 128h158.7zM160 160l32-128H87.1c-13.8 0-26 8.8-30.4 21.9L.4 158.8c.4.5.5.7.9 1.2H160zm128 32v80c0 8.8-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16v-80H0v256c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V192H288z\"]\n};\nvar faBoxBallot = {\n prefix: 'fas',\n iconName: 'box-ballot',\n icon: [576, 512, [], \"f735\", \"M432 192l-.5-175.4c0-8.8-7.2-16-16-16L159.7 0c-8.9 0-16.2 7.2-16.2 16.2L144 192h288zM0 320v160c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V320H0zm574.7-32c.4-.5.5-.7.8-1.2L520 148.2c-4.9-12.1-16.6-20.1-29.7-20.1h-26.6l.2 64 16 32H95.5l16-32h.5l-.2-64H85.7c-13.1 0-24.8 8-29.7 20.1L.4 286.8c.3.5.5.7.8 1.2h573.5z\"]\n};\nvar faBoxCheck = {\n prefix: 'fas',\n iconName: 'box-check',\n icon: [640, 512, [], \"f467\", \"M240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zm235.2 81.7l-16.3-48.8C452.4 13.2 434.1 0 413.4 0H272v157.4C315.9 109.9 378.4 80 448 80c9.2 0 18.3.6 27.2 1.7zM208 320c0-34.1 7.3-66.6 20.2-96H0v240c0 26.5 21.5 48 48 48h256.6C246.1 468.2 208 398.6 208 320zm240-192c-106 0-192 86-192 192s86 192 192 192 192-86 192-192-86-192-192-192zm114.1 147.8l-131 130c-4.3 4.3-11.3 4.3-15.6-.1l-75.7-76.3c-4.3-4.3-4.2-11.3.1-15.6l26-25.8c4.3-4.3 11.3-4.2 15.6.1l42.1 42.5 97.2-96.4c4.3-4.3 11.3-4.2 15.6.1l25.8 26c4.2 4.3 4.2 11.3-.1 15.5z\"]\n};\nvar faBoxFragile = {\n prefix: 'fas',\n iconName: 'box-fragile',\n icon: [448, 512, [], \"f49b\", \"M416 32H32C14.3 32 0 46.3 0 64v384c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32zm-96 160c0 47.5-34.6 86.7-80 94.4V384h40c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h40v-97.6c-45.4-7.7-80-46.8-80-94.4v-80c0-8.8 7.2-16 16-16h60.4l24.5 27.6-64 32 91 68.4-37-59.6 64-32L260.1 96H304c8.8 0 16 7.2 16 16v80z\"]\n};\nvar faBoxFull = {\n prefix: 'fas',\n iconName: 'box-full',\n icon: [640, 512, [], \"f49c\", \"M384.3 360.6L320 254l-64.2 106.6c-6.4 10.7-26.1 29.8-54.7 21.6L64 343v82c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 456c14.2-3.6 24.2-16.4 24.2-31v-82l-137 39.1c-28.5 8.2-48.2-10.7-54.7-21.5zM194.2 143.7c-1.3-5.1-2.2-10.3-2.2-15.7 0-35.3 28.7-64 64-64s64 28.7 64 64c0 11.2-3.1 21.5-8.2 30.7l8.2 1L475.3 140 511 41.7c3-8.3-1.3-17.5-9.6-20.5L445.9 1c-8.3-3-17.5 1.3-20.5 9.6L383.7 125C382 55.7 325.7 0 256 0c-70.7 0-128 57.3-128 128 0 2.5.6 4.9.7 7.4zM53.2 169L1.7 271.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 192 69.8 160.1c-6.9-.8-13.5 2.7-16.6 8.9zm585.1 102.8L586.8 169c-3.1-6.2-9.8-9.8-16.7-8.9L320 192l91.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.1z\"]\n};\nvar faBoxHeart = {\n prefix: 'fas',\n iconName: 'box-heart',\n icon: [448, 512, [], \"f49d\", \"M447.6 158.8L391.3 53.9C386.9 40.8 374.7 32 360.9 32H240v128h206.7c.4-.5.5-.7.9-1.2zM0 192v256c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V192H0zm305.1 149.2l-72.6 71.4c-4.7 4.6-12.3 4.6-17 0l-72.6-71.4c-21.1-20.7-19.8-55.1 3.7-74.2 20.5-16.7 51.1-13.7 70 4.8l7.4 7.3 7.4-7.3c18.8-18.5 49.4-21.5 70-4.8 23.5 19.1 24.7 53.4 3.7 74.2zM208 160V32H87.1c-13.8 0-26 8.8-30.4 21.9L.4 158.8c.4.5.5.7.9 1.2H208z\"]\n};\nvar faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"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};\nvar faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"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};\nvar faBoxUp = {\n prefix: 'fas',\n iconName: 'box-up',\n icon: [448, 512, [], \"f49f\", \"M416 32H32C14.3 32 0 46.3 0 64v384c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32zM57.8 179l64-80c3-3.8 9.5-3.8 12.5 0l64 80c4.2 5.2.4 13-6.2 13h-32v112c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V192H64c-6.7 0-10.4-7.8-6.2-13zM384 408c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v16zm0-216h-32v112c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V192h-32c-6.7 0-10.4-7.8-6.2-13l64-80c3-3.8 9.5-3.8 12.5 0l64 80c4.1 5.2.4 13-6.3 13z\"]\n};\nvar faBoxUsd = {\n prefix: 'fas',\n iconName: 'box-usd',\n icon: [448, 512, [], \"f4a0\", \"M447.6 158.8L391.3 53.9C386.9 40.8 374.7 32 360.9 32H240v128h206.7c.4-.5.5-.7.9-1.2zM208 160V32H87.1c-13.8 0-26 8.8-30.4 21.9L.4 158.8c.4.5.5.7.9 1.2H208zM0 192v256c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V192H0zm240 223.9V432c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-16.3c-11.3-.6-22.3-4.5-31.4-11.3-3.9-2.9-4.1-8.8-.6-12.1l11.8-11.2c2.8-2.6 6.9-2.8 10.1-.7 3.9 2.4 8.3 3.7 12.8 3.7h28.1c6.5 0 11.8-5.9 11.8-13.2 0-6-3.6-11.2-8.8-12.7l-45-13.5c-18.6-5.6-31.6-23.4-31.6-43.4 0-24.5 19-44.4 42.7-45.1V240c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16.3c11.3.6 22.3 4.5 31.4 11.3 3.9 2.9 4.1 8.8.6 12.1L260.2 291c-2.8 2.6-6.9 2.8-10.1.7-3.9-2.4-8.3-3.7-12.8-3.7h-28.1c-6.5 0-11.8 5.9-11.8 13.2 0 6 3.6 11.2 8.8 12.7l45 13.5c18.6 5.6 31.6 23.4 31.6 43.4-.1 24.5-19.2 44.5-42.8 45.1z\"]\n};\nvar faBoxes = {\n prefix: 'fas',\n iconName: 'boxes',\n icon: [576, 512, [], \"f468\", \"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};\nvar faBoxesAlt = {\n prefix: 'fas',\n iconName: 'boxes-alt',\n icon: [576, 512, [], \"f4a1\", \"M240 288h-80v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88H16c-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-64-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm384 64h-80v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-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-16z\"]\n};\nvar faBoxingGlove = {\n prefix: 'fas',\n iconName: 'boxing-glove',\n icon: [448, 512, [], \"f438\", \"M384 160h-31.1c-26.3 0-48.3 20.8-48.8 47.1-.5 24.6 17.6 45.1 41.1 48.4 4 .6 6.9 4.1 6.9 8.1v16c0 4.7-4.1 8.5-8.8 8-40-4.4-71.2-38.4-71.2-79.5 0-5.5.6-10.8 1.6-16H141.2c-30.6 0-59.5-10.9-82.3-30.8-3.5-3.1-3.7-8.4-.4-11.7l11.3-11.3c3-3 7.7-3.1 10.9-.4 16.9 14.4 38.1 22.3 60.5 22.3H288v.5c28.4-38.1 66.9-32.5 96-32.5V96c0-53-43-96-96-96H96C43.3 0 0 43.1 0 95.9c0 63.9 5.3 127.8 15.8 190.8L32 384h40c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32v-64h-40c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h40l58.5-58.5C450.8 285.1 448 237.8 448 224c0-35.3-28.7-64-64-64zM260.8 441.6l-9.6 12.8c-2.6 3.5-7.7 4.3-11.2 1.6l-48-36-48 36c-3.5 2.7-8.6 1.9-11.2-1.6l-9.6-12.8c-2.6-3.5-1.9-8.5 1.6-11.2l40.5-30.4-40.5-30.4c-3.5-2.6-4.3-7.7-1.6-11.2l9.6-12.8c2.6-3.5 7.7-4.3 11.2-1.6l48 36 48-36c3.5-2.7 8.6-1.9 11.2 1.6l9.6 12.8c2.6 3.5 1.9 8.5-1.6 11.2L218.7 400l40.5 30.4c3.5 2.6 4.2 7.7 1.6 11.2z\"]\n};\nvar faBrackets = {\n prefix: 'fas',\n iconName: 'brackets',\n icon: [448, 512, [], \"f7e9\", \"M144 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h112a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H64V96h80a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm272 0H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h80v320h-80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h112a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32z\"]\n};\nvar faBracketsCurly = {\n prefix: 'fas',\n iconName: 'brackets-curly',\n icon: [576, 512, [], \"f7ea\", \"M208 32h-48a96 96 0 0 0-96 96v37.48a32.06 32.06 0 0 1-9.38 22.65L9.37 233.37a32 32 0 0 0 0 45.26l45.25 45.25A32 32 0 0 1 64 346.51V384a96 96 0 0 0 96 96h48a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-48a32 32 0 0 1-32-32v-37.48a96 96 0 0 0-28.13-67.89L77.25 256l22.63-22.63A96 96 0 0 0 128 165.48V128a32 32 0 0 1 32-32h48a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm358.63 201.37l-45.25-45.24a32.06 32.06 0 0 1-9.38-22.65V128a96 96 0 0 0-96-96h-48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h48a32 32 0 0 1 32 32v37.47a96 96 0 0 0 28.13 67.91L498.75 256l-22.62 22.63A96 96 0 0 0 448 346.52V384a32 32 0 0 1-32 32h-48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h48a96 96 0 0 0 96-96v-37.49a32 32 0 0 1 9.38-22.63l45.25-45.25a32 32 0 0 0 0-45.26z\"]\n};\nvar faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"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};\nvar faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [576, 512, [], \"f5dc\", \"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};\nvar faBreadLoaf = {\n prefix: 'fas',\n iconName: 'bread-loaf',\n icon: [640, 512, [], \"f7eb\", \"M480 192c0-88.37-107.45-160-240-160S0 103.63 0 192c0 35.35 26.86 64 60 64h4v192a32 32 0 0 0 32 32h288a32 32 0 0 0 32-32V256h4c33.14 0 60-28.65 60-64zM400 32c-2.43 0-4.78.2-7.19.24C465.2 66.39 512 124.62 512 192c0 42.75-26.92 79.06-64 91.46V448a63.27 63.27 0 0 1-8.9 32H544a32 32 0 0 0 32-32V256h4c33.14 0 60-28.65 60-64 0-88.37-107.45-160-240-160z\"]\n};\nvar faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [576, 512, [], \"f7ec\", \"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};\nvar faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [], \"f0b1\", \"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};\nvar faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"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};\nvar faBringForward = {\n prefix: 'fas',\n iconName: 'bring-forward',\n icon: [512, 512, [], \"f856\", \"M352 304V48a48 48 0 0 0-48-48H48A48 48 0 0 0 0 48v256a48 48 0 0 0 48 48h256a48 48 0 0 0 48-48zm112-144h-80v64h64v224H224v-64h-64v80a48 48 0 0 0 48 48h256a48 48 0 0 0 48-48V208a48 48 0 0 0-48-48z\"]\n};\nvar faBringFront = {\n prefix: 'fas',\n iconName: 'bring-front',\n icon: [640, 512, [], \"f857\", \"M480 368V144a48 48 0 0 0-48-48H208a48 48 0 0 0-48 48v224a48 48 0 0 0 48 48h224a48 48 0 0 0 48-48zM64 64h192V32a32 32 0 0 0-32-32H32A32 32 0 0 0 0 32v192a32 32 0 0 0 32 32h96v-64H64zm544 192h-96v64h64v128H384v32a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32V288a32 32 0 0 0-32-32z\"]\n};\nvar faBroadcastTower = {\n prefix: 'fas',\n iconName: 'broadcast-tower',\n icon: [640, 512, [], \"f519\", \"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};\nvar faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [640, 512, [], \"f51a\", \"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};\nvar faBrowser = {\n prefix: 'fas',\n iconName: 'browser',\n icon: [512, 512, [], \"f37e\", \"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-48zM128 148c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm320 0c0 6.6-5.4 12-12 12H188c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h248c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"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};\nvar faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"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};\nvar faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"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};\nvar faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [576, 512, [], \"f0a1\", \"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};\nvar faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [496, 512, [], \"f140\", \"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};\nvar faBullseyeArrow = {\n prefix: 'fas',\n iconName: 'bullseye-arrow',\n icon: [496, 512, [], \"f648\", \"M305.05 98.74l16.57 49.7-90.59 90.59c-9.38 9.38-9.38 24.56 0 33.94 9.37 9.37 24.56 9.38 33.94 0l90.59-90.59 49.7 16.57c7.39 2.46 15.53.54 21.04-4.96l63.67-63.67c10.8-10.8 6.46-29.2-8.04-34.04l-55.66-18.55-18.55-55.65c-4.83-14.5-23.23-18.84-34.04-8.04L310.02 77.7a20.582 20.582 0 0 0-4.97 21.04zm-75.17 96.19l55.14-55.14-2.12-6.38c-11.17-3.17-22.72-5.41-34.9-5.41-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128c0-12.18-2.24-23.73-5.42-34.89l-6.37-2.12-55.14 55.14C301.19 300.55 276.95 320 248 320c-35.29 0-64-28.71-64-64 0-28.95 19.45-53.19 45.88-61.07zm254.55-13.83l-35.5 35.5c-5.5 5.5-12.07 9.48-19.17 12.07 1.33 8.94 2.25 18.02 2.25 27.33 0 101.69-82.29 184-184 184-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 9.42 0 18.6.93 27.63 2.29 2.58-7.02 6.23-13.69 11.76-19.22l35.5-35.5A247.848 247.848 0 0 0 248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248c0-26.11-4.09-51.26-11.57-74.9z\"]\n};\nvar faBullseyePointer = {\n prefix: 'fas',\n iconName: 'bullseye-pointer',\n icon: [496, 512, [], \"f649\", \"M242.16 240.67L27.98 301.55c-15.17 4.31-16.95 25.1-2.73 31.92l68.47 32.89-89.17 89.17c-6.07 6.06-6.07 15.9 0 21.96l21.96 21.96c6.07 6.06 15.9 6.06 21.96 0l89.17-89.17 32.89 68.47c6.83 14.22 27.61 12.44 31.92-2.73l60.87-214.18c3.68-12.91-8.25-24.83-21.16-21.17zm40.91 68.76l-20.79 73.13C326.16 375.37 376 321.8 376 256c0-70.69-57.31-128-128-128-65.8 0-119.38 49.84-126.56 113.72l73.13-20.78C206.02 203.54 225.66 192 248 192c35.29 0 64 28.71 64 64 0 22.34-11.54 41.98-28.93 53.43zM248 8C111.03 8 0 119.03 0 256c0 8.39.44 16.67 1.26 24.85 5.22-4.39 11.05-8.11 17.98-10.08l44.87-12.75c-.01-.68-.1-1.33-.1-2.01 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184-.68 0-1.34-.09-2.01-.1l-12.75 44.87c-1.97 6.94-5.69 12.77-10.06 17.98 8.17.81 16.45 1.25 24.83 1.25 136.97 0 248-111.03 248-248S384.97 8 248 8z\"]\n};\nvar faBurgerSoda = {\n prefix: 'fas',\n iconName: 'burger-soda',\n icon: [640, 512, [], \"f858\", \"M352 176v-32a16 16 0 0 0-16-16H206.74l20-80H272a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16h-51.5a40 40 0 0 0-38.81 30.3L157.26 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16zm-88.45 142.22a64.71 64.71 0 0 1 3.74-66.82c6.72-9.87 15.07-18.86 24.09-27.4H38.27l25.78 258.29A31.88 31.88 0 0 0 96 512h160a31.59 31.59 0 0 0 13.65-3.36A79.55 79.55 0 0 1 256 464a47.93 47.93 0 0 1 17-36.61 63.91 63.91 0 0 1 4.58-91.27 64 64 0 0 1-14.03-17.9zM624 448H304a16 16 0 0 0-16 16 48 48 0 0 0 48 48h256a48 48 0 0 0 48-48 16 16 0 0 0-16-16zm-16-96H320a32 32 0 0 0 0 64h288a32 32 0 0 0 0-64zm-314.26-82.59c-14.53 21.32.19 50.59 25.54 50.59h289.45c25.35 0 40-29.27 25.53-50.59C604.8 226.13 539.94 192.07 464 192s-140.79 34.13-170.26 77.41zM544 240a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-80-16a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-80 16a16 16 0 1 1-16 16 16 16 0 0 1 16-16z\"]\n};\nvar faBurn = {\n prefix: 'fas',\n iconName: 'burn',\n icon: [384, 512, [], \"f46a\", \"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};\nvar faBurrito = {\n prefix: 'fas',\n iconName: 'burrito',\n icon: [512, 512, [], \"f7ed\", \"M307.29 230.32C278.33 310.45 201.65 368 111.57 368A206.93 206.93 0 0 1 .72 335.76c-3.72 33.8 6.86 68.88 32.74 94.74L81 478a116.2 116.2 0 0 0 164.22 0l216-215.73A175.28 175.28 0 0 0 351.83 224c-15.22 0-30.04 2.53-44.54 6.32zM287.76 160a174.91 174.91 0 0 0-38.33-109.28l-216 215.73A115.28 115.28 0 0 0 9 302.83 175.18 175.18 0 0 0 111.57 336c97.14 0 176.19-78.95 176.19-176zM512 123a74.14 74.14 0 0 0-52.31-70.74A74.18 74.18 0 0 0 358 6.73 80.14 80.14 0 0 0 325.8 0c-22.06 0-42 9.37-56.81 24.26A204.24 204.24 0 0 1 316.61 195a209.73 209.73 0 0 1 35.22-3 207.25 207.25 0 0 1 135.88 50.75C502.63 228 512 208 512 186a80.08 80.08 0 0 0-6.74-32.12A73.35 73.35 0 0 0 512 123z\"]\n};\nvar faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [512, 512, [], \"f207\", \"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};\nvar faBusAlt = {\n prefix: 'fas',\n iconName: 'bus-alt',\n icon: [512, 512, [], \"f55e\", \"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};\nvar faBusSchool = {\n prefix: 'fas',\n iconName: 'bus-school',\n icon: [512, 512, [], \"f5dd\", \"M488 112h-24V80c0-44.8-92.11-80-208-80S48 35.2 48 80v32H24c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h24v20.9c-9.39 5.57-16 15.38-16 27.1v128c0 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-32c17.67 0 32-14.33 32-32V288c0-11.72-6.61-21.52-16-27.1V240h24c13.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 312c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-128h-96c-17.67 0-32-14.33-32-32v-64c0-17.67 14.33-32 32-32h96v128zm32 0V128h96c17.67 0 32 14.33 32 32v64c0 17.67-14.33 32-32 32h-96zm128 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [], \"f64a\", \"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};\nvar faCabinetFiling = {\n prefix: 'fas',\n iconName: 'cabinet-filing',\n icon: [512, 512, [], \"f64b\", \"M480 0H32C14.33 0 0 14.33 0 32v192h512V32c0-17.67-14.33-32-32-32zM352 152c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24H192v24c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40c0-8.84 7.16-16 16-16h160c8.84 0 16 7.16 16 16v40zM0 480c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V256H0v224zm160-112c0-8.84 7.16-16 16-16h160c8.84 0 16 7.16 16 16v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24H192v24c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40z\"]\n};\nvar faCactus = {\n prefix: 'fas',\n iconName: 'cactus',\n icon: [512, 512, [], \"f8a7\", \"M464 224a48 48 0 0 0-48 48v64a16 16 0 0 1-16 16h-48V101.43c0-52-38.93-98.58-90.84-101.29A96 96 0 0 0 160 96v128h-48a16 16 0 0 1-16-16v-64a48 48 0 0 0-96 0v64a112 112 0 0 0 112 112h48v160a32 32 0 0 0 32 32h128a32 32 0 0 0 32-32v-32h48a112 112 0 0 0 112-112v-64a48 48 0 0 0-48-48zm-240-48a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm64 224a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [448, 512, [], \"f1ec\", \"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};\nvar faCalculatorAlt = {\n prefix: 'fas',\n iconName: 'calculator-alt',\n icon: [512, 512, [], \"f64c\", \"M192 288H32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V320c0-17.67-14.33-32-32-32zm-29.09 140.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 0L112 422.63l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L61.09 439.6c-3.12-3.12-3.12-8.19 0-11.31L89.37 400l-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.3 28.28 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.31L134.63 400l28.28 28.29zM480 0H320c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-16 120c0 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-8h40V56c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16zm16 168H320c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V320c0-17.67-14.33-32-32-32zm-16 152c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm0-64c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zM192 0H32C14.33 0 0 14.33 0 32v160c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-16 120c0 4.42-3.58 8-8 8H56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"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};\nvar faCalendarAlt = {\n prefix: 'fas',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"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};\nvar faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"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};\nvar faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"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};\nvar faCalendarEdit = {\n prefix: 'fas',\n iconName: 'calendar-edit',\n icon: [448, 512, [], \"f333\", \"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-12zm208.4 109.6l-95 95-5.4 48.2c-.7 6.4 4.7 11.9 11.2 11.2l48.2-5.4 95-95c2-2 2-5.2 0-7.2l-46.8-46.8c-2-2-5.2-2-7.2 0zm109.7-30.3l-25.4-25.4c-7.9-7.9-20.7-7.9-28.6 0l-26 26c-2 2-2 5.2 0 7.2l46.8 46.8c2 2 5.2 2 7.2 0l26-26c7.9-7.9 7.9-20.7 0-28.6z\"]\n};\nvar faCalendarExclamation = {\n prefix: 'fas',\n iconName: 'calendar-exclamation',\n icon: [448, 512, [], \"f334\", \"M0 148v-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 12H12c-6.6 0-12-5.4-12-12zm448 56v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12h424c6.6 0 12 5.4 12 12zM224 392c-22.1 0-40 17.9-40 40s17.9 40 40 40 40-17.9 40-40-17.9-40-40-40zm-39.2-139.2l7.2 112c.4 6.3 5.6 11.2 12 11.2h40c6.3 0 11.6-4.9 12-11.2l7.2-112c.4-6.9-5-12.8-12-12.8h-54.4c-6.9 0-12.4 5.9-12 12.8z\"]\n};\nvar faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"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};\nvar faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"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};\nvar faCalendarStar = {\n prefix: 'fas',\n iconName: 'calendar-star',\n icon: [448, 512, [], \"f736\", \"M400 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-48zM0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm134.1-143.7l54.7-8 24.5-49.6c4.4-9 17.1-8.8 21.5 0l24.5 49.6 54.7 8c9.8 1.4 13.7 13.5 6.6 20.5L281 379.4l9.4 54.6c1.7 9.9-8.7 17.2-17.4 12.6l-49-25.8-48.9 25.8c-8.7 4.6-19.1-2.8-17.4-12.6l9.4-54.6-39.6-38.6c-7.2-7-3.2-19.1 6.6-20.5z\"]\n};\nvar faCalendarTimes = {\n prefix: 'fas',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"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};\nvar faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"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};\nvar faCamcorder = {\n prefix: 'fas',\n iconName: 'camcorder',\n icon: [576, 512, [], \"f8a8\", \"M525.59 165.7L416 241.3v157.4l109.59 75.5c21.21 14.6 50.41-.29 50.41-25.79V191.5c0-25.41-29.09-40.41-50.41-25.8zM336.2 160H96v-32a32 32 0 0 1 32-32h176a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H128a96 96 0 0 0-96 96v34.89A47.66 47.66 0 0 0 0 207.8v224.4A47.81 47.81 0 0 0 47.8 480h288.4a47.81 47.81 0 0 0 47.8-47.8V207.8a47.81 47.81 0 0 0-47.8-47.8zM320 249.6a6.41 6.41 0 0 1-6.4 6.4H70.4a6.41 6.41 0 0 1-6.4-6.4v-19.2a6.41 6.41 0 0 1 6.4-6.4h243.2a6.41 6.41 0 0 1 6.4 6.4z\"]\n};\nvar faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [], \"f030\", \"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};\nvar faCameraAlt = {\n prefix: 'fas',\n iconName: 'camera-alt',\n icon: [512, 512, [], \"f332\", \"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 88zm-120 0c0-17.6 14.4-32 32-32 8.8 0 16-7.2 16-16s-7.2-16-16-16c-35.3 0-64 28.7-64 64 0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faCameraHome = {\n prefix: 'fas',\n iconName: 'camera-home',\n icon: [448, 512, [], \"f8fe\", \"M384,0H64A64,64,0,0,0,0,64V352a64,64,0,0,0,64,64h72.71L76.53,450.83c-6.9,4.33-12.5,14.45-12.5,22.6v11.9A26.68,26.68,0,0,0,90.7,512H357.37A26.68,26.68,0,0,0,384,485.33V473.45c0-8.17-5.65-18.3-12.58-22.62L311.28,416H384a64,64,0,0,0,64-64V64A64,64,0,0,0,384,0ZM224,352h-.05a144,144,0,1,1,.05,0Zm0-256h-.05a112,112,0,1,0,.05,0Zm0,80a32,32,0,0,0-32,32,16,16,0,0,1-32,0,64.06,64.06,0,0,1,64-64,16,16,0,0,1,0,32Z\"]\n};\nvar faCameraMovie = {\n prefix: 'fas',\n iconName: 'camera-movie',\n icon: [576, 512, [], \"f8a9\", \"M535.68 260.59L448 321.05V447l87.66 60.39c17 11.68 40.32-.23 40.32-20.63V281.22c.02-20.32-23.25-32.32-40.3-20.63zM368.2 288H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h48v112.2a47.81 47.81 0 0 0 47.8 47.8h256.4a47.81 47.81 0 0 0 47.8-47.8V335.8a47.81 47.81 0 0 0-47.8-47.8zM352 0c-48.57 0-90.31 27.37-112 67.23C218.31 27.37 176.57 0 128 0a128 128 0 0 0 0 256h224a128 128 0 0 0 0-256zM128 192a64 64 0 1 1 64-64 64.07 64.07 0 0 1-64 64zm224 0a64 64 0 1 1 64-64 64.07 64.07 0 0 1-64 64z\"]\n};\nvar faCameraPolaroid = {\n prefix: 'fas',\n iconName: 'camera-polaroid',\n icon: [576, 512, [], \"f8aa\", \"M570.63 343.94L512 256V80a48 48 0 0 0-48-48H112a48 48 0 0 0-48 48v176L5.38 343.94A32 32 0 0 0 0 361.69V448a32 32 0 0 0 32 32h512a32 32 0 0 0 32-32v-86.31a32 32 0 0 0-5.37-17.75zM392 112a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8v32a8 8 0 0 1-8 8h-32a8 8 0 0 1-8-8zm-104 16a64 64 0 1 1-64 64 64.1 64.1 0 0 1 64-64zm192 280a8 8 0 0 1-8 8H104a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h368a8 8 0 0 1 8 8z\"]\n};\nvar faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [], \"f083\", \"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};\nvar faCampfire = {\n prefix: 'fas',\n iconName: 'campfire',\n icon: [512, 512, [], \"f6ba\", \"M501 450.17l-139.97-44.68L501 360.81c8.26-2.64 12.86-11.61 10.28-20.04l-9.35-30.55c-2.58-8.43-11.37-13.13-19.62-10.5L256 371.96 29.69 299.72c-8.26-2.63-17.04 2.07-19.62 10.5L.72 340.77c-2.58 8.43 2.02 17.41 10.28 20.04l139.97 44.68L11 450.17C2.74 452.8-1.86 461.78.72 470.21l9.35 30.55c2.58 8.43 11.37 13.13 19.62 10.5L256 439.02l226.31 72.24c8.26 2.63 17.04-2.07 19.62-10.5l9.35-30.55c2.58-8.43-2.02-17.4-10.28-20.04zM256 320c79.53 0 144-64.47 144-144 0-33.29-33.42-101.96-80-144-13.37 12.06-25.45 24.75-36.14 37.48C266.34 46.01 244.61 22.21 220 0c-63.17 56.98-108 131.22-108 176 0 79.53 64.47 144 144 144zM220.5 92.48c4.23 5.09 60.42 80.06 60.42 80.06l35.84-42.72c2.53 4.37 4.83 8.65 6.89 12.76 16.71 33.33 9.66 75.99-20.44 97.99C289.97 250.26 273.64 256 256 256c-44.11 0-80-30.49-80-80 0-24.66 14.86-46.39 44.5-83.52z\"]\n};\nvar faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [640, 512, [], \"f6bb\", \"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};\nvar faCandleHolder = {\n prefix: 'fas',\n iconName: 'candle-holder',\n icon: [448, 512, [], \"f6bc\", \"M160 192c45.93 0 78-32.61 78-79.29C238 82.72 205.41 37.82 160 0c-45.62 38-78 82.84-78 112.71 0 46.68 32.07 79.29 78 79.29zm216 176c-39.7 0-72 32.3-72 72 0 8.46 1.73 16.46 4.42 24H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h360c39.7 0 72-32.3 72-72s-32.3-72-72-72zm0 96c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zM256 256c0-17.67-14.33-32-32-32h-64v48c0 8.84-7.16 16-16 16s-16-7.16-16-16v-48H96c-17.67 0-32 14.33-32 32v176h192V256z\"]\n};\nvar faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"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};\nvar faCandyCorn = {\n prefix: 'fas',\n iconName: 'candy-corn',\n icon: [640, 512, [], \"f6bd\", \"M187.09 307.14c-43.74 43.74-71.71 81.05-88.97 107.56 115.85 67.98 243.97 122.28 280.91 85.33l.06-.06c36.88-37.09-17.38-165.27-85.4-281.18-26.45 17.31-63.38 45.14-106.6 88.35zM326 446.95c-19.61-3.51-50.11-14.01-87.69-30.88 8.55-9.53 17.64-19.32 28.02-29.7 10.04-10.04 19.56-18.92 28.81-27.24 16.87 37.64 27.36 68.18 30.86 87.82zm-48.89-255.73c-9.69-15.74-19.51-31.14-29.28-45.81-18.62-27.95-44.49-55.7-162.89 60.4-116.1 118.4-88.35 144.27-60.4 162.89 14.73 9.81 30.2 19.68 46.01 29.41 18.29-28.22 47.93-67.63 93.91-113.61 45.46-45.46 84.5-74.94 112.65-93.28zM480 0C314.19 1.62 315.52 39.54 322.11 72.47c3.47 17.35 7.44 35.27 11.74 53.33 32.89-7.02 81.71-13.93 146.74-13.93 64.29 0 112.75 6.76 145.62 13.7 4.28-17.98 8.22-35.81 11.68-53.1C644.48 39.54 645.81 1.62 480 0zM341.62 157.03C375.47 287.01 427.67 416 479.91 416h.09c52.3-.15 104.57-129.16 138.44-259.21-30.94-6.47-76.74-12.91-137.85-12.91-61.87 0-108.03 6.6-138.97 13.15zm138.33 183.93c-11.38-16.35-25.53-45.33-40.17-83.84 12.78-.69 26.14-1.19 40.81-1.19 14.2 0 27.21.45 39.63 1.11-14.68 38.55-28.86 67.56-40.27 83.92z\"]\n};\nvar faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"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};\nvar faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"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};\nvar faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [], \"f1b9\", \"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};\nvar faCarAlt = {\n prefix: 'fas',\n iconName: 'car-alt',\n icon: [480, 512, [], \"f5de\", \"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};\nvar faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [], \"f5df\", \"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};\nvar faCarBuilding = {\n prefix: 'fas',\n iconName: 'car-building',\n icon: [640, 512, [], \"f859\", \"M213.52 455.07A88.41 88.41 0 0 1 192 397.24v-28.69a89.11 89.11 0 0 1 42.09-75.84l7.55-20.71H220a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a11.79 11.79 0 0 1 9.43 4.92A131.1 131.1 0 0 1 352 162.18V32a32 32 0 0 0-32-32H32A32 32 0 0 0 0 32v464a16 16 0 0 0 16 16h205.06a59.85 59.85 0 0 1-7.54-28.69zM208 92a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12v40a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12zm-64 296a12 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 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12V92a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm460.58 183.56L600 304.2l-17.87-49.08a99.92 99.92 0 0 0-93.2-63.12H375.07a99.94 99.94 0 0 0-93.24 63.12L264 304.2l-4.55 11.35a57.41 57.41 0 0 0-35.42 53v28.69a57 57 0 0 0 21.52 44.46v41.61A28.69 28.69 0 0 0 274.21 512h28.69a28.69 28.69 0 0 0 28.68-28.69V448h200.83v35.31A28.7 28.7 0 0 0 561.1 512h28.69a28.7 28.7 0 0 0 28.69-28.69V441.7A57 57 0 0 0 640 397.24v-28.69a57.39 57.39 0 0 0-35.42-52.99zM335.11 284c6.53-16.92 22.36-28 40-28h113.82c17.6 0 33.42 11.1 40 28L541 320H323zM300 407.85c-14.4 0-24-9.57-24-23.93S285.6 360 300 360s36 21.53 36 35.89-21.6 11.96-36 11.96zm264 0c-14.4 0-36 2.39-36-12S549.6 360 564 360s24 9.57 24 23.92-9.6 23.93-24 23.93z\"]\n};\nvar faCarBump = {\n prefix: 'fas',\n iconName: 'car-bump',\n icon: [576, 512, [], \"f5e0\", \"M575.67 492.44c2.06 9.91-5.85 19.27-16.13 19.27h-158.9c-10.29 0-18.19-9.35-16.13-19.27 9.07-43.75 48.42-76.67 95.58-76.67s86.51 32.92 95.58 76.67zm-401.95-39.28c7.2 16.17-.24 35.04-16.62 42.15l-32.21 13.98c-16.38 7.11-35.5-.23-42.7-16.4l-22.56-50.64c-13.99-6.28-25.89-17.26-32.57-32.24L5.45 361.49C-5.9 336 1.13 307.34 20.57 289.3l-1.04-30.49-1.89-55.13c-1.62-47.33 25.71-90.22 69.62-109.28l121.08-52.56c43.92-19.06 94.42-9.95 128.66 23.22l39.89 38.64 22.06 21.37c26.61-1.95 52.76 12.31 64.12 37.79l21.62 48.52c6.68 14.98 6.83 31.06 2.06 45.48l22.56 50.64c7.2 16.17-.24 35.04-16.62 42.15l-32.21 13.98c-16.38 7.11-35.5-.23-42.7-16.4l-13.79-30.95-244.06 105.93 13.79 30.95zm181.42-205.69c8.02 18.01 34.14 3.09 52.45-4.85 18.3-7.94 25.16-25.25 17.13-43.26-8.02-18.01-25.58-24.72-43.88-16.78-18.3 7.95-33.73 46.88-25.7 64.89zm-213.56 92.7c-8.02-18.01-47.52-33.11-65.82-25.17-18.3 7.94-25.16 25.25-17.13 43.26 8.02 18.01 25.58 24.72 43.88 16.78 18.3-7.95 47.1-16.86 39.07-34.87zm188.63-189.52l-39.89-38.64c-14.59-14.13-36.43-18.07-55.14-9.95L114.1 154.62c-18.71 8.12-30.53 26.67-29.84 46.84l1.89 55.13 244.06-105.94z\"]\n};\nvar faCarBus = {\n prefix: 'fas',\n iconName: 'car-bus',\n icon: [640, 512, [], \"f85a\", \"M604.58 315.56L600 304.2l-17.87-49.08a99.92 99.92 0 0 0-93.2-63.12H375.07a99.92 99.92 0 0 0-93.23 63.12L264 304.2l-4.55 11.36a57.39 57.39 0 0 0-35.42 53v28.69a57 57 0 0 0 21.52 44.46V480a32 32 0 0 0 32 32h22.07a32 32 0 0 0 32-32v-32h200.79v32a32 32 0 0 0 32 32h22.07a32 32 0 0 0 32-32v-38.3A57 57 0 0 0 640 397.24v-28.69a57.39 57.39 0 0 0-35.42-52.99zM335.11 284c6.53-16.92 22.36-28 40-28h113.82c17.6 0 33.42 11.1 40 28L541 320H323zM300 407.85c-14.4 0-24-9.57-24-23.92S285.6 360 300 360s36 21.53 36 35.89-21.6 11.96-36 11.96zm264 0c-14.4 0-36 2.39-36-12S549.6 360 564 360s24 9.57 24 23.93-9.6 23.92-24 23.92zM252.12 243.23a134.44 134.44 0 0 1 9.65-19.23H192V80h81.33A14.67 14.67 0 0 1 288 94.67v98.07a131.26 131.26 0 0 1 64-30.56V62.86C352 27.66 274.06 0 176 0S0 27.66 0 62.86v259.81A29.33 29.33 0 0 0 29.33 352H40v32a32 32 0 0 0 32 32h23.17a32 32 0 0 0 32-32v-32h67c4.63-24.49 18.73-46.08 40-59.29zM80 312a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm80-88H78.67A14.67 14.67 0 0 1 64 209.33V94.67A14.67 14.67 0 0 1 78.67 80H160z\"]\n};\nvar faCarCrash = {\n prefix: 'fas',\n iconName: 'car-crash',\n icon: [640, 512, [], \"f5e1\", \"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};\nvar faCarGarage = {\n prefix: 'fas',\n iconName: 'car-garage',\n icon: [640, 512, [], \"f5e2\", \"M512.49 292.9l-5.07-12.67-19.93-49.83C470.38 187.63 429.57 160 383.5 160h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.82-5.07 12.67C104.33 302.52 88 325.34 88 352v32c0 20.12 9.48 37.86 24 49.59V480c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h224v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-46.41c14.52-11.73 24-29.47 24-49.59v-32c0-26.66-16.33-49.48-39.51-59.1zM160 399.8c-19.2 0-32-12.76-32-31.9s12.8-31.9 32-31.9 48 28.71 48 47.85-28.8 15.95-48 15.95zm38.4-111.79l13.53-33.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17l13.53 33.83H198.4zM480 399.8c-19.2 0-48 3.19-48-15.95S460.8 336 480 336s32 12.76 32 31.9-12.8 31.9-32 31.9zm151.76-231.57L331.67 3.02a24.04 24.04 0 0 0-23.34 0L8.24 168.23c-7.73 4.3-10.52 14.05-6.22 21.79l7.78 14.01c4.3 7.74 14.05 10.52 21.79 6.22L320 51.53l288.41 158.73c7.74 4.3 17.49 1.51 21.79-6.22l7.78-14.01c4.3-7.75 1.51-17.5-6.22-21.8z\"]\n};\nvar faCarMechanic = {\n prefix: 'fas',\n iconName: 'car-mechanic',\n icon: [512, 512, [], \"f5e3\", \"M503.91 104h-55.98l-24-24 24-24h55.97c5.95 0 9.9-6.31 7.25-11.64-15.19-30.52-49.01-50.04-86.84-42.87-25.65 4.86-46.72 22.98-57.05 46.51H145.01c-12.38-28.17-40.2-48-72.94-48C40.75 0 13.9 18.12.84 44.37-1.81 49.69 2.15 56 8.09 56h55.98l24 24-24 24H8.09c-5.95 0-9.9 6.31-7.25 11.64 15.19 30.52 49.01 50.04 86.84 42.87 25.65-4.86 46.73-22.99 57.05-46.51h222.25c12.38 28.17 40.2 48 72.94 48 31.32 0 58.17-18.12 71.23-44.37 2.66-5.33-1.3-11.63-7.24-11.63zm-55.42 188.91l-5.07-12.67-19.93-49.83c-17.11-42.77-57.92-70.4-103.99-70.4h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.82-5.07 12.67C40.33 302.52 24 325.34 24 352v32c0 20.12 9.48 37.86 24 49.59V480c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h224v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-46.41c14.52-11.73 24-29.47 24-49.59v-32c0-26.66-16.33-49.48-39.51-59.09zM96 399.8c-19.2 0-32-12.76-32-31.9S76.8 336 96 336s48 28.71 48 47.85-28.8 15.95-48 15.95zm38.4-111.79l13.53-33.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17l13.53 33.83H134.4zM416 399.8c-19.2 0-48 3.19-48-15.95S396.8 336 416 336s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [], \"f5e4\", \"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};\nvar faCarTilt = {\n prefix: 'fas',\n iconName: 'car-tilt',\n icon: [640, 512, [], \"f5e5\", \"M624 448H317.12l-42.1-42.1 192.33-192.33 22.63 22.63c12.5 12.5 32.76 12.5 45.25 0l22.63-22.63c12.5-12.5 12.5-32.76 0-45.26l-38.24-38.23c-1-14.91-6.93-29.56-18.33-40.96l-33.94-33.94c-19.33-19.33-47.88-23.53-71.42-12.96L368.11 30.3 318.78 9.15C276.45-9 228.04.32 195.47 32.9l-89.8 89.81c-32.57 32.57-41.89 80.97-23.75 123.31l21.14 49.33 11.92 27.82c-10.57 23.54-6.37 52.09 12.96 71.42L181.36 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-16zM399.47 100.43c13.58-13.58 31.65-13.61 45.18-.07 13.54 13.54 13.51 31.61-.07 45.19s-31.69 36.2-45.22 22.66c-13.53-13.54-13.47-54.21.11-67.78zM140.74 220.81a48.003 48.003 0 0 1 10.18-52.85l89.8-89.8a48.003 48.003 0 0 1 52.85-10.18l49.33 21.14-181.02 181.01-21.14-49.32zm77.57 151c-13.58 13.58-31.65 13.61-45.19.07-13.53-13.53-13.51-31.61.07-45.18 13.58-13.58 54.24-13.64 67.78-.11 13.54 13.54-9.09 31.65-22.66 45.22z\"]\n};\nvar faCarWash = {\n prefix: 'fas',\n iconName: 'car-wash',\n icon: [464, 512, [], \"f5e6\", \"M349.33 85.33C349.33 61.77 392 0 392 0s42.67 61.77 42.67 85.33S415.56 128 392 128s-42.67-19.11-42.67-42.67zM232 128c23.56 0 42.67-19.1 42.67-42.67S232 0 232 0s-42.67 61.77-42.67 85.33S208.44 128 232 128zm-160 0c23.56 0 42.67-19.1 42.67-42.67S72 0 72 0 29.33 61.77 29.33 85.33 48.44 128 72 128zm392 224v32c0 20.12-9.48 37.86-24 49.59V480c0 17.67-14.33 32-32 32h-32c-17.67 0-32-14.33-32-32v-32H120v32c0 17.67-14.33 32-32 32H56c-17.67 0-32-14.33-32-32v-46.41C9.48 421.86 0 404.13 0 384v-32c0-26.67 16.33-49.48 39.51-59.1l5.07-12.67 19.93-49.82c17.11-42.77 57.92-70.4 103.99-70.4h127c46.06 0 86.88 27.63 103.99 70.4l19.93 49.83 5.07 12.67C447.67 302.52 464 325.34 464 352zm-344 31.85C120 364.71 91.2 336 72 336s-32 12.76-32 31.9 12.8 31.9 32 31.9 48 3.19 48-15.95zm233.6-95.84l-13.53-33.83c-7.29-18.22-24.94-30.17-44.57-30.17h-127c-19.63 0-37.28 11.95-44.57 30.17l-13.53 33.83h243.2zM424 367.9c0-19.14-12.8-31.9-32-31.9s-48 28.71-48 47.85 28.8 15.95 48 15.95 32-12.76 32-31.9z\"]\n};\nvar faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"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};\nvar faCaravanAlt = {\n prefix: 'fas',\n iconName: 'caravan-alt',\n icon: [640, 512, [], \"e000\", \"M624,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,32Zm192,0a32,32,0,0,1-32,32H352a32,32,0,0,1-32-32V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z\"]\n};\nvar faCaretCircleDown = {\n prefix: 'fas',\n iconName: 'caret-circle-down',\n icon: [512, 512, [], \"f32d\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-379.5-27.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H133c-10.7 0-16.1 12.9-8.5 20.5z\"]\n};\nvar faCaretCircleLeft = {\n prefix: 'fas',\n iconName: 'caret-circle-left',\n icon: [512, 512, [], \"f32e\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm27.5-379.5l-123 123c-4.7 4.7-4.7 12.3 0 17l123 123c7.6 7.6 20.5 2.2 20.5-8.5V133c0-10.7-12.9-16.1-20.5-8.5z\"]\n};\nvar faCaretCircleRight = {\n prefix: 'fas',\n iconName: 'caret-circle-right',\n icon: [512, 512, [], \"f330\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-27.5 379.5l123-123c4.7-4.7 4.7-12.3 0-17l-123-123c-7.6-7.6-20.5-2.2-20.5 8.5v246c0 10.7 12.9 16.1 20.5 8.5z\"]\n};\nvar faCaretCircleUp = {\n prefix: 'fas',\n iconName: 'caret-circle-up',\n icon: [512, 512, [], \"f331\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm379.5 27.5l-123-123c-4.7-4.7-12.3-4.7-17 0l-123 123c-7.6 7.6-2.2 20.5 8.5 20.5h246c10.7 0 16.1-12.9 8.5-20.5z\"]\n};\nvar faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"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};\nvar faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [192, 512, [], \"f0d9\", \"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};\nvar faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [192, 512, [], \"f0da\", \"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};\nvar faCaretSquareDown = {\n prefix: 'fas',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"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};\nvar faCaretSquareLeft = {\n prefix: 'fas',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"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};\nvar faCaretSquareRight = {\n prefix: 'fas',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"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};\nvar faCaretSquareUp = {\n prefix: 'fas',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"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};\nvar faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"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};\nvar faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [], \"f787\", \"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};\nvar faCars = {\n prefix: 'fas',\n iconName: 'cars',\n icon: [640, 512, [], \"f85b\", \"M252.13 243.23A131.77 131.77 0 0 1 375.07 160h38.41a57.49 57.49 0 0 0-32.9-36.44L376 112.2l-17.84-49.08A99.92 99.92 0 0 0 264.93 0H151.07a99.92 99.92 0 0 0-93.23 63.12L40 112.2l-4.55 11.36A57.39 57.39 0 0 0 0 176.55v28.69a57 57 0 0 0 21.52 44.46V288a32 32 0 0 0 32 32h22.07a32 32 0 0 0 32-32v-32h139.88zM111.11 92c6.53-16.92 22.36-28 40-28h113.82c17.6 0 33.42 11.1 40 28L317 128H99zM76 215.85c-14.4 0-24-9.57-24-23.92S61.6 168 76 168s36 21.53 36 35.89-21.6 11.96-36 11.96zm528.58 99.71L600 304.2l-17.87-49.08a99.92 99.92 0 0 0-93.2-63.12H375.07a99.92 99.92 0 0 0-93.23 63.12L264 304.2l-4.55 11.36a57.39 57.39 0 0 0-35.42 53v28.69a57 57 0 0 0 21.52 44.46V480a32 32 0 0 0 32 32h22.07a32 32 0 0 0 32-32v-32h200.79v32a32 32 0 0 0 32 32h22.07a32 32 0 0 0 32-32v-38.3A57 57 0 0 0 640 397.24v-28.69a57.39 57.39 0 0 0-35.42-52.99zM335.11 284c6.53-16.92 22.36-28 40-28h113.82c17.6 0 33.42 11.1 40 28L541 320H323zM300 407.85c-14.4 0-24-9.57-24-23.93S285.6 360 300 360s36 21.53 36 35.89-21.6 11.96-36 11.96zm264 0c-14.4 0-36 2.39-36-12S549.6 360 564 360s24 9.57 24 23.92-9.6 23.93-24 23.93z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"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};\nvar faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"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};\nvar faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"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};\nvar faCassetteTape = {\n prefix: 'fas',\n iconName: 'cassette-tape',\n icon: [512, 512, [], \"f8ab\", \"M464 63H48a48 48 0 0 0-48 48v288a48 48 0 0 0 48 48h32l48-96h256l48 96h32a48 48 0 0 0 48-48V111a48 48 0 0 0-48-48zM128 255a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm182.78 0H201.22a78.91 78.91 0 0 0 0-64h109.56a78.91 78.91 0 0 0 0 64zm73.22 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zM147.78 383l-32 64h280.44l-32-64z\"]\n};\nvar faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [512, 512, [], \"f6be\", \"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};\nvar faCatSpace = {\n prefix: 'fas',\n iconName: 'cat-space',\n icon: [640, 512, [], \"e001\", \"M544,32.72461V32l-.39648.39648C516.86914,12.32617,484.00391,0,448,0s-68.86914,12.32617-95.60352,32.39648L352,32v.72461C313.35156,61.93164,288,107.82422,288,160a159.95251,159.95251,0,0,0,3.89258,34.31445c-35.83985,5.3418-91.793,23.25782-131.89258,83.63867V192A96.105,96.105,0,0,0,64,96a32,32,0,0,0,0,64,32.04169,32.04169,0,0,1,32,32V448a64.06328,64.06328,0,0,0,64,64H336a15.9908,15.9908,0,0,0,16-16V480a32.00158,32.00158,0,0,0-32-32H288l128-96V496a15.9908,15.9908,0,0,0,16,16h32a15.9908,15.9908,0,0,0,16-16V316.77539A160.036,160.036,0,0,0,608,160C608,107.82422,582.64844,61.93164,544,32.72461ZM448,32a127.06647,127.06647,0,0,1,72.9375,23.0625L480,96H416L375.0625,55.0625A127.06647,127.06647,0,0,1,448,32Zm56,128a16,16,0,1,1-16-16A15.9908,15.9908,0,0,1,504,160Zm-80,0a16,16,0,1,1-16-16A15.9908,15.9908,0,0,1,424,160Zm24,128A128.14414,128.14414,0,0,1,320,160c0-32.16992,12.334-61.25391,32-83.76367V160a96,96,0,0,0,192,0V76.23633C563.666,98.74609,576,127.83008,576,160A128.14414,128.14414,0,0,1,448,288ZM162.94531,68.76953l39.71094,16.56055,16.5625,39.71094a5.32345,5.32345,0,0,0,9.53906,0l16.5586-39.71094,39.71484-16.56055a5.336,5.336,0,0,0,0-9.541l-39.71484-16.5586L228.75781,2.957a5.325,5.325,0,0,0-9.53906,0l-16.5625,39.71289-39.71094,16.5586a5.336,5.336,0,0,0,0,9.541Z\"]\n};\nvar faCauldron = {\n prefix: 'fas',\n iconName: 'cauldron',\n icon: [448, 512, [], \"f6bf\", \"M448 212v-40c0-6.63-6.27-12-14-12H14c-7.73 0-14 5.37-14 12v40c0 6.63 6.27 12 14 12h19.79C12.39 262.52 0 305.28 0 345.6c0 39.08 11.82 70.65 32 95.53V488c0 13.25 10.75 24 24 24s24-10.75 24-24v-7.49c38.95 21.3 89.14 31.49 144 31.49s105.05-10.19 144-31.49V488c0 13.25 10.75 24 24 24s24-10.75 24-24v-46.87c20.18-24.88 32-56.45 32-95.53 0-40.32-12.39-83.08-33.79-121.6H434c7.73 0 14-5.37 14-12zM160 64c17.67 0 32-14.33 32-32S177.67 0 160 0s-32 14.33-32 32 14.33 32 32 32zm112 64c26.51 0 48-21.49 48-48s-21.49-48-48-48-48 21.49-48 48 21.49 48 48 48z\"]\n};\nvar faCctv = {\n prefix: 'fas',\n iconName: 'cctv',\n icon: [576, 512, [], \"f8ac\", \"M517.45 168.58L139.24 2.29a32 32 0 0 0-39.67 13.84L4.23 183a32 32 0 0 0 16.85 46l156.57 64.85L137.81 400H64v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v128a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h96a32 32 0 0 0 30-20.77l46.85-124.94 68.52 28.38a32 32 0 0 0 27.89-2.94l189.26-118.31c22.21-13.88 19.25-47.11-5.07-56.84zm48.47 105.2l-35.45-15.59-138.4 86.5 119.58 52.58a16.86 16.86 0 0 0 22.22-8.65l40.7-92.62a16.85 16.85 0 0 0-8.65-22.22z\"]\n};\nvar faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"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};\nvar faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [], \"f6c0\", \"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};\nvar faChairOffice = {\n prefix: 'fas',\n iconName: 'chair-office',\n icon: [448, 512, [], \"f6c1\", \"M64 224v-64c0-17.67-14.33-32-32-32S0 142.33 0 160v64c0 17.67 14.33 32 32 32s32-14.33 32-32zm352-96c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32s32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm-64-64c0-35.35-28.65-64-64-64H160c-35.35 0-64 28.65-64 64v192h256V64zm51.67 245.88A31.996 31.996 0 0 0 373.31 288H74.69c-13.77 0-26 8.81-30.36 21.88l-10.67 32C26.76 362.6 42.18 384 64.03 384H192v67.36c-28.27 6.01-50.99 19.69-61.85 37.21-6.41 10.34 2.41 23.43 15.02 23.43h157.66c12.61 0 21.44-13.09 15.02-23.43-10.86-17.52-33.59-31.2-61.85-37.21V384h127.97c21.84 0 37.27-21.4 30.36-42.12l-10.66-32z\"]\n};\nvar faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [640, 512, [], \"f51b\", \"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};\nvar faChalkboardTeacher = {\n prefix: 'fas',\n iconName: 'chalkboard-teacher',\n icon: [640, 512, [], \"f51c\", \"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};\nvar faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"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};\nvar faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [], \"f1fe\", \"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};\nvar faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"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};\nvar faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [], \"f201\", \"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};\nvar faChartLineDown = {\n prefix: 'fas',\n iconName: 'chart-line-down',\n icon: [512, 512, [], \"f64d\", \"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-16zm-16-80V185.94c0-21.38-25.85-32.09-40.97-16.97l-32.4 32.4-96-96c-12.5-12.5-32.76-12.5-45.25 0L192 178.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.63l68.69 68.69c12.5 12.5 32.76 12.5 45.25 0L288 173.25l73.38 73.38-32.4 32.4c-15.12 15.12-4.41 40.97 16.97 40.97H464c8.84 0 16-7.17 16-16z\"]\n};\nvar faChartNetwork = {\n prefix: 'fas',\n iconName: 'chart-network',\n icon: [640, 512, [], \"f78a\", \"M576 192c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zM64 240c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm449.6-37.2l-19.2-25.6-48 36 19.2 25.6 48-36zM576 384c-14.4 0-27.6 5-38.3 13l-96-57.6c3.8-11.2 6.3-23 6.3-35.5 0-61.9-50.1-112-112-112-8.4 0-16.6 1.1-24.4 2.9l-40.8-87.4C281.4 96 288 80.8 288 64c0-35.3-28.7-64-64-64s-64 28.7-64 64 28.7 64 64 64c1.1 0 2.1-.3 3.2-.3l41 87.8C241.5 235.9 224 267.8 224 304c0 61.9 50.1 112 112 112 32.1 0 60.8-13.7 81.2-35.3l95.8 57.5c-.5 3.2-1 6.5-1 9.8 0 35.3 28.7 64 64 64s64-28.7 64-64-28.7-64-64-64zm-240-32c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm-184-32h48v-32h-48v32z\"]\n};\nvar faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [544, 512, [], \"f200\", \"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};\nvar faChartPieAlt = {\n prefix: 'fas',\n iconName: 'chart-pie-alt',\n icon: [512, 512, [], \"f64e\", \"M461.29 288H224V50.71c0-9.55-8.39-17.39-17.84-16.06C87.08 51.47-3.96 155.43.13 280.07 4.2 404.1 107.91 507.8 231.93 511.87c124.64 4.09 228.6-86.95 245.42-206.03 1.33-9.45-6.52-17.84-16.06-17.84zM288.8.04C279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.69 16.2-16.8C503.72 103.74 408.26 8.28 288.8.04z\"]\n};\nvar faChartScatter = {\n prefix: 'fas',\n iconName: 'chart-scatter',\n icon: [512, 512, [], \"f7ee\", \"M496 384H64V80a16 16 0 0 0-16-16H16A16 16 0 0 0 0 80v336a32 32 0 0 0 32 32h464a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-336-64a32 32 0 1 0-32-32 32 32 0 0 0 32 32zm256-160a32 32 0 1 0-32-32 32 32 0 0 0 32 32zm-224 0a32 32 0 1 0-32-32 32 32 0 0 0 32 32zm192 160a32 32 0 1 0-32-32 32 32 0 0 0 32 32zm-96-64a32 32 0 1 0-32-32 32 32 0 0 0 32 32z\"]\n};\nvar faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [512, 512, [], \"f00c\", \"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};\nvar faCheckCircle = {\n prefix: 'fas',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"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};\nvar faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [512, 512, [], \"f560\", \"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};\nvar faCheckSquare = {\n prefix: 'fas',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"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};\nvar faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"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};\nvar faCheeseSwiss = {\n prefix: 'fas',\n iconName: 'cheese-swiss',\n icon: [512, 512, [], \"f7f0\", \"M368 336a48 48 0 0 1-48-48H0v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288h-96a48 48 0 0 1-48 48zm-192 96a48 48 0 1 1 48-48 48 48 0 0 1-48 48zM299.83 32a32 32 0 0 0-21.13 7l-61.76 48.06a47.91 47.91 0 0 1-75.1 58.48L0 256h512c0-119.89-94-217.8-212.17-224z\"]\n};\nvar faCheeseburger = {\n prefix: 'fas',\n iconName: 'cheeseburger',\n icon: [512, 512, [], \"f7f1\", \"M464 256h-48l-96 64-96-64H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zM58.6 224h394.7c34.6 0 54.6-43.9 34.8-75.9C448 83.2 359.5 32.1 256 32c-103.5.1-192 51.2-232.2 116.1-19.8 32 .3 75.9 34.8 75.9zM384 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-16zm352 272H32a16 16 0 0 0-16 16v16a64.06 64.06 0 0 0 64 64h352a64.06 64.06 0 0 0 64-64v-16a16 16 0 0 0-16-16z\"]\n};\nvar faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"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};\nvar faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [], \"f43a\", \"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};\nvar faChessBishopAlt = {\n prefix: 'fas',\n iconName: 'chess-bishop-alt',\n icon: [256, 512, [], \"f43b\", \"M64 288h14.89A535.84 535.84 0 0 1 64 384h128a535.84 535.84 0 0 1-14.89-96H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-11.67c16-6.67 26.48-25.09 26.48-50.43 0-19.32-7.2-42.34-17.73-63.33l-48.59 48.59a4 4 0 0 1-5.66 0l-5.66-5.66a4 4 0 0 1 0-5.65L181 111.7c-10.22-16.81-22.2-31.22-33.86-39.33C155.31 69.59 160 61.85 160 52.73 160 41.28 151.92 32 140.47 32h-24.94C104.08 32 96 41.28 96 52.73c0 9.12 4.69 16.86 12.87 19.64-28.58 19.87-59.68 76.75-59.68 117.2 0 25.34 10.49 43.76 26.48 50.43H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16zm183.16 171.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.31z\"]\n};\nvar faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [512, 512, [], \"f43c\", \"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};\nvar faChessClock = {\n prefix: 'fas',\n iconName: 'chess-clock',\n icon: [640, 512, [], \"f43d\", \"M519.38 243a12 12 0 0 0-17 0l-50.89 50.89a12 12 0 0 0 0 17l5.65 5.66a12 12 0 0 0 17 0L525 265.59a12 12 0 0 0 0-17zm80.52-115h-56v-16a16 16 0 0 0-16-16h-128a16 16 0 0 0-16 16v16H200.15V79.94H240a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H112a16 16 0 0 0-16 16v15.94a16 16 0 0 0 16 16h40.18V128H39.9a40 40 0 0 0-40 40v272a40 40 0 0 0 40 40h560a40 40 0 0 0 40-40V168a40 40 0 0 0-40-40zM176.2 416.06a112 112 0 1 1 112-111.95 111.95 111.95 0 0 1-112 111.95zm288 0a112 112 0 1 1 112-111.95 111.95 111.95 0 0 1-112 111.95zm-284-191.92h-8a12 12 0 0 0-12 12v72a12 12 0 0 0 12 12h8a12 12 0 0 0 12-12v-72a12 12 0 0 0-12-12z\"]\n};\nvar faChessClockAlt = {\n prefix: 'fas',\n iconName: 'chess-clock-alt',\n icon: [640, 512, [], \"f43e\", \"M600 128H487.75V80H528a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H400a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h39.75v48H255.91v-16a16 16 0 0 0-16-16h-128a16 16 0 0 0-16 16v16H40a40.17 40.17 0 0 0-40 40.11V440a40 40 0 0 0 40 40h560a40 40 0 0 0 40-40V168.11A40.17 40.17 0 0 0 600 128zM175.93 416.06a112 112 0 1 1 112-111.95 112 112 0 0 1-112 111.95zm287.89 0a112 112 0 1 1 112-111.95 112 112 0 0 1-112 111.95zM231.12 243a12 12 0 0 0-17 0l-50.89 50.89a12 12 0 0 0 0 17l5.66 5.66a12 12 0 0 0 17 0l50.89-50.9a12 12 0 0 0 0-17zm236.7-18.84h-8a12 12 0 0 0-12 12v72a12 12 0 0 0 12 12h8a12 12 0 0 0 12-12v-72a12 12 0 0 0-12-12.02z\"]\n};\nvar faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [], \"f43f\", \"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};\nvar faChessKingAlt = {\n prefix: 'fas',\n iconName: 'chess-king-alt',\n icon: [320, 512, [], \"f440\", \"M106 208H96a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 96 384h128a535.78 535.78 0 0 1-15.94-128H224a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H176V64h24a8 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 8v24h-24a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H87.09a16 16 0 0 0-15 21.62zm173.16 251.58L256 448v-16a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v16l-23.15 11.58A16 16 0 0 0 32 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z\"]\n};\nvar faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [384, 512, [], \"f441\", \"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};\nvar faChessKnightAlt = {\n prefix: 'fas',\n iconName: 'chess-knight-alt',\n icon: [320, 512, [], \"f442\", \"M311.16 459.58L288 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 16h288a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zM45.55 235.52l28.83 12.86a22.59 22.59 0 0 0 17.67.34l9.09-3.65a22.79 22.79 0 0 0 13.33-14.62l6.53-21.87a17.09 17.09 0 0 1 8.92-11.15l14.2-5.43v37.21a28.58 28.58 0 0 1-16.9 26.09L80.68 279C40.87 299.22 32.42 352.42 64 384h192c7-7.85 16-18.31 16-32V203.16C272 126.62 209.38 64 132.84 64H40.52A8.54 8.54 0 0 0 32 72.56 12.14 12.14 0 0 0 33.27 78l10.1 20.28-6.37 6.35a17.21 17.21 0 0 0-5 12.11v97.9a22.86 22.86 0 0 0 13.55 20.88zM80.07 128a16 16 0 1 1-15.94 16 16 16 0 0 1 15.94-16z\"]\n};\nvar faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [], \"f443\", \"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};\nvar faChessPawnAlt = {\n prefix: 'fas',\n iconName: 'chess-pawn-alt',\n icon: [256, 512, [], \"f444\", \"M64 288h14.89A535.84 535.84 0 0 1 64 384h128a535.84 535.84 0 0 1-14.89-96H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-16.44a80 80 0 1 0-95.12 0H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16zm183.16 171.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.31z\"]\n};\nvar faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [], \"f445\", \"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};\nvar faChessQueenAlt = {\n prefix: 'fas',\n iconName: 'chess-queen-alt',\n icon: [256, 512, [], \"f446\", \"M67.37 192H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h16v14a535.76 535.76 0 0 1-16 130h128a535.76 535.76 0 0 1-16-130v-14h16a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-3.37l44.5-95.73a6.73 6.73 0 0 0-2.29-8.62l-10.06-6.71c-3.13-2.08-7.12-1-9.38 2a20.05 20.05 0 0 1-19.89 7.67c-9.74-1.81-16.35-11-16.35-21a5.65 5.65 0 0 0-5.64-5.61h-16.33a5.45 5.45 0 0 0-5.41 4.17 20.22 20.22 0 0 1-39.56 0 5.45 5.45 0 0 0-5.41-4.17H86.48a5.65 5.65 0 0 0-5.64 5.64c0 10.82-8 20.53-18.81 21.26a20 20 0 0 1-17.49-8.06 6.81 6.81 0 0 0-9.3-1.91l-10.08 6.72a6.73 6.73 0 0 0-2.29 8.62zM128 48a24 24 0 1 0-24-24 24 24 0 0 0 24 24zm119.16 411.6L224 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.31z\"]\n};\nvar faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [384, 512, [], \"f447\", \"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};\nvar faChessRookAlt = {\n prefix: 'fas',\n iconName: 'chess-rook-alt',\n icon: [320, 512, [], \"f448\", \"M311.16 459.58L288 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 16h288a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zM71.81 210.32L57.33 384h205.34l-14.48-173.7 30.62-31.11a32 32 0 0 0 9.19-22.45V72a8 8 0 0 0-8-8h-35.18a8 8 0 0 0-8 8v40h-32.94V72a8 8 0 0 0-8-8h-71.75a8 8 0 0 0-8 8v40H83.19V72a8 8 0 0 0-8-8H40a8 8 0 0 0-8 8v84.82a32 32 0 0 0 9.21 22.47zm64.6 21.27a23.59 23.59 0 0 1 47.18 0v47.18h-47.18z\"]\n};\nvar faChevronCircleDown = {\n prefix: 'fas',\n iconName: 'chevron-circle-down',\n icon: [512, 512, [], \"f13a\", \"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};\nvar faChevronCircleLeft = {\n prefix: 'fas',\n iconName: 'chevron-circle-left',\n icon: [512, 512, [], \"f137\", \"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};\nvar faChevronCircleRight = {\n prefix: 'fas',\n iconName: 'chevron-circle-right',\n icon: [512, 512, [], \"f138\", \"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};\nvar faChevronCircleUp = {\n prefix: 'fas',\n iconName: 'chevron-circle-up',\n icon: [512, 512, [], \"f139\", \"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};\nvar faChevronDoubleDown = {\n prefix: 'fas',\n iconName: 'chevron-double-down',\n icon: [448, 512, [], \"f322\", \"M207 477.5L12.7 283.1c-9.4-9.4-9.4-24.6 0-33.9l22.7-22.7c9.4-9.4 24.5-9.4 33.9 0l154.7 154 154.7-154c9.4-9.3 24.5-9.3 33.9 0l22.7 22.7c9.4 9.4 9.4 24.6 0 33.9L241 477.5c-9.4 9.3-24.6 9.3-34 0zm34-192L435.3 91.1c9.4-9.4 9.4-24.6 0-33.9l-22.7-22.7c-9.4-9.4-24.5-9.4-33.9 0L224 188.5 69.3 34.5c-9.4-9.3-24.5-9.3-33.9 0L12.7 57.2c-9.4 9.4-9.4 24.6 0 33.9L207 285.5c9.4 9.3 24.6 9.3 34 0z\"]\n};\nvar faChevronDoubleLeft = {\n prefix: 'fas',\n iconName: 'chevron-double-left',\n icon: [512, 512, [], \"f323\", \"M34.5 239L228.9 44.7c9.4-9.4 24.6-9.4 33.9 0l22.7 22.7c9.4 9.4 9.4 24.5 0 33.9L131.5 256l154 154.7c9.3 9.4 9.3 24.5 0 33.9l-22.7 22.7c-9.4 9.4-24.6 9.4-33.9 0L34.5 273c-9.3-9.4-9.3-24.6 0-34zm192 34l194.3 194.3c9.4 9.4 24.6 9.4 33.9 0l22.7-22.7c9.4-9.4 9.4-24.5 0-33.9L323.5 256l154-154.7c9.3-9.4 9.3-24.5 0-33.9l-22.7-22.7c-9.4-9.4-24.6-9.4-33.9 0L226.5 239c-9.3 9.4-9.3 24.6 0 34z\"]\n};\nvar faChevronDoubleRight = {\n prefix: 'fas',\n iconName: 'chevron-double-right',\n icon: [512, 512, [], \"f324\", \"M477.5 273L283.1 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.7-22.7c-9.4-9.4-9.4-24.5 0-33.9l154-154.7-154-154.7c-9.3-9.4-9.3-24.5 0-33.9l22.7-22.7c9.4-9.4 24.6-9.4 33.9 0L477.5 239c9.3 9.4 9.3 24.6 0 34zm-192-34L91.1 44.7c-9.4-9.4-24.6-9.4-33.9 0L34.5 67.4c-9.4 9.4-9.4 24.5 0 33.9l154 154.7-154 154.7c-9.3 9.4-9.3 24.5 0 33.9l22.7 22.7c9.4 9.4 24.6 9.4 33.9 0L285.5 273c9.3-9.4 9.3-24.6 0-34z\"]\n};\nvar faChevronDoubleUp = {\n prefix: 'fas',\n iconName: 'chevron-double-up',\n icon: [448, 512, [], \"f325\", \"M241 34.5l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9l-22.7 22.7c-9.4 9.4-24.5 9.4-33.9 0L224 131.5l-154.7 154c-9.4 9.3-24.5 9.3-33.9 0l-22.7-22.7c-9.4-9.4-9.4-24.6 0-33.9L207 34.5c9.4-9.3 24.6-9.3 34 0zm-34 192L12.7 420.9c-9.4 9.4-9.4 24.6 0 33.9l22.7 22.7c9.4 9.4 24.5 9.4 33.9 0l154.7-154 154.7 154c9.4 9.3 24.5 9.3 33.9 0l22.7-22.7c9.4-9.4 9.4-24.6 0-33.9L241 226.5c-9.4-9.3-24.6-9.3-34 0z\"]\n};\nvar faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [448, 512, [], \"f078\", \"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};\nvar faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [], \"f053\", \"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};\nvar faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [], \"f054\", \"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};\nvar faChevronSquareDown = {\n prefix: 'fas',\n iconName: 'chevron-square-down',\n icon: [448, 512, [], \"f329\", \"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 48zM240.971 361.941l135.515-135.515c9.373-9.373 9.373-24.569 0-33.941l-16.971-16.971c-9.373-9.373-24.569-9.373-33.941 0L224 277.088 122.427 175.515c-9.373-9.373-24.569-9.373-33.941 0l-16.971 16.971c-9.373 9.373-9.373 24.569 0 33.941L207.03 361.942c9.372 9.372 24.568 9.372 33.941-.001z\"]\n};\nvar faChevronSquareLeft = {\n prefix: 'fas',\n iconName: 'chevron-square-left',\n icon: [448, 512, [], \"f32a\", \"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 48zM118.059 272.971l135.515 135.515c9.373 9.373 24.569 9.373 33.941 0l16.971-16.971c9.373-9.373 9.373-24.569 0-33.941L202.912 256l101.574-101.573c9.373-9.373 9.373-24.569 0-33.941l-16.971-16.971c-9.373-9.373-24.569-9.373-33.941 0L118.059 239.029c-9.373 9.373-9.373 24.569 0 33.942z\"]\n};\nvar faChevronSquareRight = {\n prefix: 'fas',\n iconName: 'chevron-square-right',\n icon: [448, 512, [], \"f32b\", \"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-48zm281.941 207.029L194.427 103.515c-9.373-9.373-24.569-9.373-33.941 0l-16.971 16.971c-9.373 9.373-9.373 24.569 0 33.941L245.088 256 143.515 357.573c-9.373 9.373-9.373 24.569 0 33.941l16.971 16.971c9.373 9.373 24.569 9.373 33.941 0L329.942 272.97c9.372-9.372 9.372-24.568-.001-33.941z\"]\n};\nvar faChevronSquareUp = {\n prefix: 'fas',\n iconName: 'chevron-square-up',\n icon: [448, 512, [], \"f32c\", \"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-48zm207.029-281.941L71.515 285.573c-9.373 9.373-9.373 24.569 0 33.941l16.971 16.971c9.373 9.373 24.569 9.373 33.941 0L224 234.912l101.573 101.574c9.373 9.373 24.569 9.373 33.941 0l16.971-16.971c9.373-9.373 9.373-24.569 0-33.941L240.971 150.059c-9.373-9.373-24.569-9.373-33.942 0z\"]\n};\nvar faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [448, 512, [], \"f077\", \"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};\nvar faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [384, 512, [], \"f1ae\", \"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};\nvar faChimney = {\n prefix: 'fas',\n iconName: 'chimney',\n icon: [512, 512, [], \"f78b\", \"M480 0H32C14.3 0 0 14.3 0 32v128c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32zM32 512h288V384H32v128zm160-160h288V224H192v128zM32 224v128h128V224H32zm320 288h128V384H352v128z\"]\n};\nvar faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [], \"f51d\", \"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};\nvar faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"]\n};\nvar faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"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};\nvar faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [], \"f64f\", \"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};\nvar faClarinet = {\n prefix: 'fas',\n iconName: 'clarinet',\n icon: [640, 512, [], \"f8ad\", \"M630.12 129.22a15.94 15.94 0 0 0-17.43 3.47L569.38 176H480v-32h24a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H232a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H101.19a32 32 0 0 0-10.12 1.64l-80.13 26.71A16 16 0 0 0 0 219.53v72.94a16 16 0 0 0 10.94 15.18l80.13 26.71a32 32 0 0 0 10.12 1.64h468.19l43.31 43.31A16 16 0 0 0 624 384a15.73 15.73 0 0 0 6.12-1.22A16 16 0 0 0 640 368V144a16 16 0 0 0-9.88-14.78zM384 144h64v32h-64zm-96 0h64v32h-64zm-16 136a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm96 0a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm96 0a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"]\n};\nvar faClawMarks = {\n prefix: 'fas',\n iconName: 'claw-marks',\n icon: [512, 512, [], \"f6c2\", \"M6.99 224.51c-5-2.37-9.4 4.09-5.49 8l85.12 85.13c6 6 9.37 14.14 9.37 22.63V384h43.74c8.49 0 16.63 3.37 22.63 9.37l117.15 117.16c3.86 3.86 10.32-.56 7.99-5.49C206.4 333.11 63.36 251.26 6.99 224.51zM246.63 29.63c6 6 9.37 14.14 9.37 22.63V96h43.74c8.49 0 16.63 3.37 22.63 9.37l52.26 52.26c6 6 9.37 14.14 9.37 22.63V224h43.73c8.49 0 16.63 3.37 22.63 9.37l53.16 53.16c3.86 3.86 10.32-.56 7.99-5.49C430.4 109.11 287.36 27.26 230.99.51c-5-2.37-9.4 4.09-5.49 8l21.13 21.12zm-42.36 90.69c-7.8-6.05-12.27-15.15-12.27-25.03V64h-57.99c-6.01 0-12.04-1.84-17.12-5.05C74.85 32.39 38.37 13.23 12.42.91 3.54-3.3-4.28 8.18 2.67 15.13l179.96 179.96c6 6 9.37 14.14 9.37 22.63V256h38.29c8.49 0 16.62 3.37 22.63 9.37l89.71 89.71c6 6 9.37 14.14 9.37 22.63V416h38.29c8.49 0 16.62 3.37 22.63 9.37l84.01 84.01c6.86 6.86 18.34-.99 14.2-9.76-82.73-175.34-201.55-297.65-306.86-379.3z\"]\n};\nvar faClinicMedical = {\n prefix: 'fas',\n iconName: 'clinic-medical',\n icon: [576, 512, [], \"f7f2\", \"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};\nvar faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"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};\nvar faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"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};\nvar faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"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};\nvar faClipboardListCheck = {\n prefix: 'fas',\n iconName: 'clipboard-list-check',\n icon: [384, 512, [], \"f737\", \"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-24zM65.6 209.4l12.7-12.6c2.1-2.1 5.5-2.1 7.6 0l20.6 20.8 47.6-47.2c2.1-2.1 5.5-2.1 7.6 0l12.6 12.7c2.1 2.1 2.1 5.5 0 7.6l-64.2 63.6c-2.1 2.1-5.5 2.1-7.6 0L65.6 217c-2.1-2.1-2.1-5.5 0-7.6zM96 392c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm224-16c0 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-128c0 4.4-4.3 8-9.6 8H154.1l32.3-32h124c5.3 0 9.6 3.6 9.6 8v16z\"]\n};\nvar faClipboardPrescription = {\n prefix: 'fas',\n iconName: 'clipboard-prescription',\n icon: [384, 512, [], \"f5e8\", \"M176 240h-48v32h48c8.82 0 16-7.18 16-16s-7.18-16-16-16zM336 64h-80c0-35.29-28.71-64-64-64s-64 28.71-64 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zM192 40c13.26 0 24 10.74 24 24 0 13.25-10.74 24-24 24s-24-10.75-24-24c0-13.26 10.74-24 24-24zm112 392l-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.34 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 0l11.3 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.24 6.24 6.24 16.37 0 22.62z\"]\n};\nvar faClipboardUser = {\n prefix: 'fas',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", \"M336 64h-80a64 64 0 0 0-128 0H48a48 48 0 0 0-48 48v352a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V112a48 48 0 0 0-48-48zM192 40a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm0 152a64 64 0 1 1-64 64 64 64 0 0 1 64-64zm112 236.8c0 10.61-10 19.2-22.4 19.2H102.4C90 448 80 439.4 80 428.8v-19.2c0-31.81 30.09-57.6 67.2-57.6h5a103.25 103.25 0 0 0 79.7 0h5c37.11 0 67.2 25.79 67.2 57.6z\"]\n};\nvar faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"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};\nvar faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"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};\nvar faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"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};\nvar faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [], \"f0c2\", \"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};\nvar faCloudDownload = {\n prefix: 'fas',\n iconName: 'cloud-download',\n icon: [640, 512, [], \"f0ed\", \"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-139.9 93L305 412.3c-9.4 9.4-24.6 9.4-33.9 0l-92.7-92.7c-9.4-9.4-9.4-24.6 0-33.9l10.8-10.8c9.6-9.6 25.2-9.3 34.5.5l32.4 34.5V184c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v125.9l32.4-34.5c9.3-9.9 24.9-10.1 34.5-.5l10.8 10.8c9.2 9.3 9.2 24.5-.1 33.9z\"]\n};\nvar faCloudDownloadAlt = {\n prefix: 'fas',\n iconName: 'cloud-download-alt',\n icon: [640, 512, [], \"f381\", \"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};\nvar faCloudDrizzle = {\n prefix: 'fas',\n iconName: 'cloud-drizzle',\n icon: [512, 512, [], \"f738\", \"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-96zM48 360c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16s16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm96 80c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16s16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm96-80c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16s16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm96 80c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16s16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm96-80c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16s16-7.2 16-16v-40c0-8.8-7.2-16-16-16z\"]\n};\nvar faCloudHail = {\n prefix: 'fas',\n iconName: 'cloud-hail',\n icon: [512, 512, [], \"f739\", \"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-96zm-32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-192 96c-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-32zm-64-96c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM64 448c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm64-96c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faCloudHailMixed = {\n prefix: 'fas',\n iconName: 'cloud-hail-mixed',\n icon: [512, 512, [], \"f73a\", \"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.8zm95.3-.4c-7.9-3.9-17.5-.8-21.5 7.2l-16 32c-3.9 7.9-.8 17.5 7.2 21.5 2.3 1.1 4.8 1.7 7.2 1.7 5.8 0 11.5-3.2 14.3-8.8l16-32c3.8-8.1.7-17.7-7.2-21.6zm-192 0c-7.9-3.9-17.5-.8-21.5 7.2l-16 32c-3.9 7.9-.8 17.5 7.2 21.5 2.3 1.1 4.8 1.7 7.2 1.7 5.8 0 11.5-3.2 14.3-8.8l16-32c3.8-8.1.7-17.7-7.2-21.6zm384 0c-7.9-3.9-17.5-.8-21.5 7.2l-16 32c-3.9 7.9-.8 17.5 7.2 21.5 2.3 1.1 4.8 1.7 7.2 1.7 5.8 0 11.5-3.2 14.3-8.8l16-32c3.8-8.1.7-17.7-7.2-21.6zm-95.3.4c-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.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-96zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"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};\nvar faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [576, 512, [], \"f6c3\", \"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};\nvar faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"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};\nvar faCloudMusic = {\n prefix: 'fas',\n iconName: 'cloud-music',\n icon: [640, 512, [], \"f8ae\", \"M537.59 226.59a96 96 0 0 0-142.9-114.39A160 160 0 0 0 96 192c0 2.7.09 5.41.19 8.09A144 144 0 0 0 144 480h368a128 128 0 0 0 25.59-253.41zM384 352c0 17.67-21.5 32-48 32s-48-14.33-48-32 21.5-32 48-32a69.89 69.89 0 0 1 16 2v-76.36l-96 37.52V384c0 17.67-21.5 32-48 32s-48-14.33-48-32 21.5-32 48-32a69.89 69.89 0 0 1 16 2V239.25A16 16 0 0 1 235.19 224l128-47.25A16 16 0 0 1 384 192z\"]\n};\nvar faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [], \"f73d\", \"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};\nvar faCloudRainbow = {\n prefix: 'fas',\n iconName: 'cloud-rainbow',\n icon: [576, 512, [], \"f73e\", \"M430.8 304.9c9.9 5.6 19 12.4 26.9 20.3C487.1 292.8 529 272 576 272v-64c-61 0-116.3 24.6-156.8 64.3 5.7 9.9 9.8 20.9 11.6 32.6zm-31.6 20.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.9-56.5-66-101.9-66-61.9 0-112 50.1-112 112 0 3 .7 5.8.9 8.7C39.2 324.4 0 365.4 0 416c0 53 43 96 96 96h272c53 0 96-43 96-96 0-42-27.2-77.4-64.8-90.4zm-160.6-152c21 5.9 40.4 16.5 56.6 31C359.6 119.4 461.3 64 576 64V0C437.1 0 314.2 68.7 238.6 173.6zm87.2 51.5c7.4-.8 36.7-5.4 68.4 18.9 46.4-46.8 110.7-76 181.8-76v-64c-101.3 0-191.6 47.4-250.2 121.1z\"]\n};\nvar faCloudShowers = {\n prefix: 'fas',\n iconName: 'cloud-showers',\n icon: [512, 512, [], \"f73f\", \"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-96zM48 368c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16v-80c0-8.8-7.2-16-16-16zm96 32c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16v-80c0-8.8-7.2-16-16-16zm96-32c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16v-80c0-8.8-7.2-16-16-16zm96 32c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16v-80c0-8.8-7.2-16-16-16zm96-32c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16v-80c0-8.8-7.2-16-16-16z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"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};\nvar faCloudSleet = {\n prefix: 'fas',\n iconName: 'cloud-sleet',\n icon: [512, 512, [], \"f741\", \"M512 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 96h320c53 0 96-43 96-96zM87.2 353.7c-7.9-3.9-17.5-.7-21.5 7.2l-64 128c-3.9 7.9-.8 17.5 7.2 21.5 2.3 1.1 4.8 1.7 7.2 1.7 5.8 0 11.5-3.2 14.3-8.8l64-128c3.8-8.1.7-17.7-7.2-21.6zm256 0c-7.9-3.9-17.5-.7-21.5 7.2l-64 128c-3.9 7.9-.8 17.5 7.2 21.5 2.3 1.1 4.8 1.7 7.2 1.7 5.8 0 11.5-3.2 14.3-8.8l64-128c3.8-8.1.7-17.7-7.2-21.6zm151.7 35.4l-8-13.9c-2.2-3.8-7.1-5.1-10.9-2.9l-28 16.1V360c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v28.4l-28-16.1c-3.8-2.2-8.7-.9-10.9 2.9l-8 13.9c-2.2 3.8-.9 8.7 2.9 10.9l27.9 16-27.9 16c-3.8 2.2-5.1 7.1-2.9 10.9l8 13.9c2.2 3.8 7.1 5.1 10.9 2.9l28-16.1V472c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-28.4l28 16.1c3.8 2.2 8.7.9 10.9-2.9l8-13.9c2.2-3.8.9-8.7-2.9-10.9l-27.9-16 27.9-16c3.8-2.2 5.1-7.1 2.9-10.9zm-256 0l-8-13.9c-2.2-3.8-7.1-5.1-10.9-2.9l-28 16.1V360c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v28.4l-28-16.1c-3.8-2.2-8.7-.9-10.9 2.9l-8 13.9c-2.2 3.8-.9 8.7 2.9 10.9l27.9 16-27.9 16c-3.8 2.2-5.1 7.1-2.9 10.9l8 13.9c2.2 3.8 7.1 5.1 10.9 2.9l28-16.1V472c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-28.4l28 16.1c3.8 2.2 8.7.9 10.9-2.9l8-13.9c2.2-3.8.9-8.7-2.9-10.9l-27.9-16 27.9-16c3.8-2.2 5.1-7.1 2.9-10.9z\"]\n};\nvar faCloudSnow = {\n prefix: 'fas',\n iconName: 'cloud-snow',\n icon: [512, 512, [], \"f742\", \"M96 320h320c53 0 96-43 96-96s-43-96-96-96c-.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 96zm30.9 69.1l-8-13.9c-2.2-3.8-7.1-5.1-10.9-2.9l-28 16.1V360c0-4.4-3.6-8-8-8H56c-4.4 0-8 3.6-8 8v28.4l-28-16.1c-3.8-2.2-8.7-.9-10.9 2.9l-8 13.9c-2.2 3.8-.9 8.7 2.9 10.9l27.9 16L4 432c-3.8 2.2-5.1 7.1-2.9 10.9l8 13.9c2.2 3.8 7.1 5.1 10.9 2.9l28-16.1V472c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-28.4l28 16.1c3.8 2.2 8.7.9 10.9-2.9l8-13.9c2.2-3.8.9-8.7-2.9-10.9l-27.9-16 27.9-16c3.8-2.2 5.1-7.1 2.9-10.9zm192 32l-8-13.9c-2.2-3.8-7.1-5.1-10.9-2.9l-28 16.1V392c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v28.4l-28-16.1c-3.8-2.2-8.7-.9-10.9 2.9l-8 13.9c-2.2 3.8-.9 8.7 2.9 10.9l27.9 16-27.9 16c-3.8 2.2-5.1 7.1-2.9 10.9l8 13.9c2.2 3.8 7.1 5.1 10.9 2.9l28-16.1V504c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-28.4l28 16.1c3.8 2.2 8.7.9 10.9-2.9l8-13.9c2.2-3.8.9-8.7-2.9-10.9l-27.9-16 27.9-16c3.8-2.2 5.1-7.1 2.9-10.9zm192-32l-8-13.9c-2.2-3.8-7.1-5.1-10.9-2.9l-28 16.1V360c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v28.4l-28-16.1c-3.8-2.2-8.7-.9-10.9 2.9l-8 13.9c-2.2 3.8-.9 8.7 2.9 10.9l27.9 16-27.9 16c-3.8 2.2-5.1 7.1-2.9 10.9l8 13.9c2.2 3.8 7.1 5.1 10.9 2.9l28-16.1V472c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-28.4l28 16.1c3.8 2.2 8.7.9 10.9-2.9l8-13.9c2.2-3.8.9-8.7-2.9-10.9l-27.9-16 27.9-16c3.8-2.2 5.1-7.1 2.9-10.9z\"]\n};\nvar faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [], \"f6c4\", \"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};\nvar faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [576, 512, [], \"f743\", \"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};\nvar faCloudUpload = {\n prefix: 'fas',\n iconName: 'cloud-upload',\n icon: [640, 512, [], \"f0ee\", \"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-139.9 63.7l-10.8 10.8c-9.6 9.6-25.2 9.3-34.5-.5L320 266.1V392c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24V266.1l-32.4 34.5c-9.3 9.9-24.9 10.1-34.5.5l-10.8-10.8c-9.4-9.4-9.4-24.6 0-33.9l92.7-92.7c9.4-9.4 24.6-9.4 33.9 0l92.7 92.7c9.4 9.4 9.4 24.6.1 33.9z\"]\n};\nvar faCloudUploadAlt = {\n prefix: 'fas',\n iconName: 'cloud-upload-alt',\n icon: [640, 512, [], \"f382\", \"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};\nvar faClouds = {\n prefix: 'fas',\n iconName: 'clouds',\n icon: [640, 512, [], \"f744\", \"M544 320c-.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.8-18.6-35.9-55.8-60.8-99-60.8-61.9 0-112 50.1-112 112 0 7.3.8 14.3 2.1 21.2-38.3 12.6-66.1 48.3-66.1 90.8 0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM304 160c40.7 0 78.6 17.2 105.4 46.5 9.8-5.6 20.5-9.4 31.6-11.8 4.3-10.8 7-22.3 7-34.7 0-53-43-96-96-96-14.1 0-27.4 3.2-39.5 8.7C296.6 30.3 256 0 208 0 151.6 0 105.3 41.9 97.6 96.2c-.5 0-1-.2-1.6-.2-53 0-96 43-96 96s43 96 96 96h65.6c8.1-71.8 68.5-128 142.4-128z\"]\n};\nvar faCloudsMoon = {\n prefix: 'fas',\n iconName: 'clouds-moon',\n icon: [640, 512, [], \"f745\", \"M448 320h-1.6c-7.4-36.5-39.7-64-78.4-64-24.6 0-46.3 11.3-61 28.8-18.6-35.9-55.8-60.8-99-60.8-58.3 0-105.6 44.7-110.9 101.6C59.3 338.5 32 373.9 32 416c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zm183-71.3c-78.2 14.8-150-44.7-150-123.1 0-45.1 24.3-86.6 63.9-109 6.1-3.4 4.6-12.6-2.4-13.9C532.9.9 523 0 513.1 0 424.2 0 352 71.6 352 160c0 .7.2 1.3.2 2 16.3 16.8 27 38.8 30.3 63.1 38.5 5.1 71.7 29.9 87.6 64.8 23.1 4 44 14.4 61.1 29.1 42.5-4.7 80.7-26 107.1-58.2 4.4-5.5-.4-13.4-7.3-12.1zM68.3 303.2C83.2 238.6 140.2 192 208 192c40.7 0 78.6 17.2 105.4 46.5 11.5-6.5 24.1-10.8 37.1-12.9-6.8-37.3-39.3-65.6-78.5-65.6h-17.6c-7.4-36.5-39.7-64-78.4-64s-71 27.5-78.4 64H80c-44.2 0-80 35.8-80 80 0 33.9 21.2 62.8 51 74.4 5.5-4.1 11.2-8 17.3-11.2z\"]\n};\nvar faCloudsSun = {\n prefix: 'fas',\n iconName: 'clouds-sun',\n icon: [640, 512, [], \"f746\", \"M512 320h-1.6c-7.4-36.5-39.7-64-78.4-64-24.6 0-46.3 11.3-61 28.8-18.6-35.9-55.8-60.8-99-60.8-58.3 0-105.6 44.7-110.9 101.6C123.3 338.5 96 373.9 96 416c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zm48-160h-17.6c-7.4-36.5-39.7-64-78.4-64s-71 27.5-78.4 64H368c-27.6 0-51.8 13.9-66.2 35.1 29.1 6.2 55.5 21.3 75.6 43.3 16.5-9.4 35.3-14.5 54.6-14.5 44.6 0 84.3 26.6 102.1 65.9 20.5 3.6 39.1 12.3 55 24.4 29.8-11.7 50.9-40.5 50.9-74.3 0-44.1-35.8-79.9-80-79.9zM132.3 303.2c2.4-10.3 6.1-19.9 10.5-29.1-6.6-4-13-8.5-18.7-14.2-37.4-37.4-37.4-98.3 0-135.8 37.4-37.4 98.3-37.4 135.8 0 12.2 12.2 19.9 26.9 24.1 42.4 6.1-7 12.9-13.3 20.6-18.6l26.3-78.4c3.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.1C59.3 49.7 49.7 59.4 53 69.6l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5L53 314.5c-3.4 10.2 6.3 19.8 16.5 16.5l42.7-14.2c6.3-5.1 12.9-9.8 20.1-13.6zM128 192c0 23.4 12.8 43.8 31.7 54.9 23.1-29.5 57.2-49.2 96.2-53.5 0-.5.1-.9.1-1.4 0-35.3-28.7-64-64-64s-64 28.7-64 64z\"]\n};\nvar faClub = {\n prefix: 'fas',\n iconName: 'club',\n icon: [512, 512, [], \"f327\", \"M371.5 169.1C403.1 88.4 343.7 0 256 0c-87.8 0-147 88.5-115.5 169.1C65.7 159.2 0 217.3 0 292c0 68.5 55.5 124 124 124 36.5 0 69.3-15.8 92-40.9-.1 36.7-.8 52.4-53 75.6-13.8 6.1-21.4 21.1-18.3 35.9 3.1 14.8 16.2 25.4 31.3 25.4h160c15.1 0 28.2-10.6 31.3-25.4 3.1-14.8-4.5-29.7-18.3-35.9-51.6-23-52.8-38.1-53-75.6 22.7 25.1 55.5 40.9 92 40.9 68.5 0 124-55.5 124-124 0-74.8-65.8-132.8-140.5-122.9z\"]\n};\nvar faCocktail = {\n prefix: 'fas',\n iconName: 'cocktail',\n icon: [576, 512, [], \"f561\", \"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};\nvar faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"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};\nvar faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [384, 512, [], \"f126\", \"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};\nvar faCodeCommit = {\n prefix: 'fas',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", \"M128 256c0 10.8.9 21.5 2.6 32H12c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h118.6c-1.7 10.5-2.6 21.2-2.6 32zm500-32H509.4c1.8 10.5 2.6 21.2 2.6 32s-.9 21.5-2.6 32H628c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zm-308-10c-23.2 0-42 18.8-42 42s18.8 42 42 42 42-18.8 42-42-18.8-42-42-42m0-118c88.4 0 160 71.6 160 160s-71.6 160-160 160-160-71.6-160-160S231.6 96 320 96z\"]\n};\nvar faCodeMerge = {\n prefix: 'fas',\n iconName: 'code-merge',\n icon: [384, 512, [], \"f387\", \"M304 192c-38 0-69.8 26.5-77.9 62-23.9-3.5-58-12.9-83.9-37.6-16.6-15.9-27.9-36.5-33.7-61.6C138.6 143.3 160 114.1 160 80c0-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-35.8-23.5-66.1-56-76.3V246.1c1.6 1.7 3.3 3.4 5 5 39.3 37.5 90.4 48.6 121.2 51.8 12.1 28.9 40.6 49.2 73.8 49.2 44.2 0 80-35.8 80-80S348.2 192 304 192zM80 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-160c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faCoffee = {\n prefix: 'fas',\n iconName: 'coffee',\n icon: [640, 512, [], \"f0f4\", \"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};\nvar faCoffeePot = {\n prefix: 'fas',\n iconName: 'coffee-pot',\n icon: [512, 512, [], \"e002\", \"M431.45,177.65,480,32H88A88,88,0,0,0,0,120v88a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V136a40,40,0,0,1,40-40h13.33l27.39,82.16C95.41,217.9,64,277.69,64,344.62c0,51.47,18.62,84.77,49.64,117.71A57.18,57.18,0,0,0,155.17,480H420.84a57.08,57.08,0,0,0,41.45-17.6c31-32.95,49.69-66.24,49.71-117.72C512,278.37,481.37,217.83,431.45,177.65ZM445.91,320H130.61c6.71-39.06,28.92-72.85,60.5-96h195.8C417.89,247.2,439.49,281.22,445.91,320Z\"]\n};\nvar faCoffeeTogo = {\n prefix: 'fas',\n iconName: 'coffee-togo',\n icon: [448, 512, [], \"f6c5\", \"M432 64h-16l-23.16-46.31A32 32 0 0 0 364.22 0H83.78a32 32 0 0 0-28.62 17.69L32 64H16C7.16 64 0 71.16 0 80v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16zM106.78 512h234.44c16.64 0 30.51-12.76 31.89-29.34L400 160H48l26.89 322.66C76.27 499.24 90.14 512 106.78 512zm221-256l-13.34 160H133.56l-13.34-160h207.56z\"]\n};\nvar faCoffin = {\n prefix: 'fas',\n iconName: 'coffin',\n icon: [384, 512, [], \"f6c6\", \"M374.44,115.19,266.7,9.37a32.89,32.89,0,0,0-23-9.37H140.32a32.89,32.89,0,0,0-23,9.37L9.54,115.19A31.61,31.61,0,0,0,1,145.58L88.08,487.76A32.47,32.47,0,0,0,119.69,512H264.31a32.48,32.48,0,0,0,31.61-24.24L383,145.58a31.65,31.65,0,0,0-8.59-30.39Z\"]\n};\nvar faCoffinCross = {\n prefix: 'fas',\n iconName: 'coffin-cross',\n icon: [384, 512, [], \"e051\", \"M374.45 115.19L266.71 9.37c-6.11-6-14.4-9.37-23.04-9.37H140.33c-8.64 0-16.93 3.37-23.04 9.37L9.55 115.19C1.46 123.14-1.8 134.67.98 145.58l87.11 342.18C91.71 502.01 104.75 512 119.7 512h144.62c14.95 0 27.98-9.99 31.61-24.24l87.11-342.18c2.76-10.91-.49-22.44-8.59-30.39zM288 192c0 8.84-7.16 16-16 16h-56v128c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16V208h-56c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h56v-48c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v48h56c8.84 0 16 7.16 16 16v16z\"]\n};\nvar faCog = {\n prefix: 'fas',\n iconName: 'cog',\n icon: [512, 512, [], \"f013\", \"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};\nvar faCogs = {\n prefix: 'fas',\n iconName: 'cogs',\n icon: [640, 512, [], \"f085\", \"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};\nvar faCoin = {\n prefix: 'fas',\n iconName: 'coin',\n icon: [512, 512, [], \"f85c\", \"M0 320c0 27.77 18 53.37 48 74.33V330c-18.85-12-35.4-25.36-48-40.38zm256 32c141.33 0 256-64.44 256-144S397.33 64 256 64 0 128.44 0 208s114.67 144 256 144zM80 412.51c27.09 12.89 59.66 22.81 96 28.8V377c-35.39-6-67.81-15.88-96-29zm384-18.18c30.05-21 48-46.56 48-74.33v-30.37c-12.6 15-29.15 28.37-48 40.38zm-128 47c36.34-6 68.91-15.91 96-28.8V348c-28.19 13.12-60.61 23-96 29zM208 381.2v64.09c15.62 1.51 31.49 2.71 48 2.71s32.38-1.2 48-2.71V381.2a477.2 477.2 0 0 1-48 2.8 477.2 477.2 0 0 1-48-2.8z\"]\n};\nvar faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"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};\nvar faColumns = {\n prefix: 'fas',\n iconName: 'columns',\n icon: [512, 512, [], \"f0db\", \"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};\nvar faComet = {\n prefix: 'fas',\n iconName: 'comet',\n icon: [512, 512, [], \"e003\", \"M491.12794.70921c-38.6972,11.5936-111.77976,34.29644-187.67439,61.2961-2.09343-6.99991-3.99939-13.49983-5.5929-18.59351a16.058,16.058,0,0,0-22.90274-9.49988c-42.39976,22.09347-152.77349,82.59271-214.37343,142.4982-1.09359,1-2.49962,2-3.49947,3A194.83045,194.83045,0,1,0,332.6522,454.90662c.99985-1,1.9997-2.40622,2.99954-3.49995,59.78772-61.6086,120.3722-172.10721,142.47819-214.40356a16.06158,16.06158,0,0,0-9.49854-22.906c-5.20233-1.59373-11.6076-3.5-18.60653-5.59368,26.99587-75.999,49.69552-148.99813,61.30311-187.70077A16.18325,16.18325,0,0,0,491.12794.70921ZM315.33649,300.35583l-50.586,49.33337,11.92591,69.72764a15.30186,15.30186,0,0,1-22.19583,16.13651L191.9589,402.626l-62.52168,32.92732c-11.07253,5.93743-24.33026-3.5312-22.19582-16.13651l11.99816-69.72764L68.64379,300.35583a15.31471,15.31471,0,0,1,8.46745-26.13639l69.85454-10.19714,31.2667-63.46795a15.29265,15.29265,0,0,1,27.45283,0L236.952,264.0223l69.85454,10.19714A15.34746,15.34746,0,0,1,315.33649,300.35583Z\"]\n};\nvar faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"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};\nvar faCommentAlt = {\n prefix: 'fas',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"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};\nvar faCommentAltCheck = {\n prefix: 'fas',\n iconName: 'comment-alt-check',\n icon: [512, 512, [], \"f4a2\", \"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-64zm-77.9 163.8l-131 130c-4.3 4.3-11.3 4.3-15.6-.1l-75.7-76.3c-4.3-4.3-4.2-11.3.1-15.6l26-25.8c4.3-4.3 11.3-4.2 15.6.1l42.1 42.5 97.2-96.4c4.3-4.3 11.3-4.2 15.6.1l25.8 26c4.2 4.3 4.2 11.3-.1 15.5z\"]\n};\nvar faCommentAltDollar = {\n prefix: 'fas',\n iconName: 'comment-alt-dollar',\n icon: [512, 512, [], \"f650\", \"M448 0H64C28.65 0 0 28.65 0 64v288c0 35.35 28.65 64 64 64h96v83.98c0 9.85 11.21 15.5 19.13 9.65L304 416h144c35.35 0 64-28.65 64-64V64c0-35.35-28.65-64-64-64zM280 302.44V320c0 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.05V96c0-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};\nvar faCommentAltDots = {\n prefix: 'fas',\n iconName: 'comment-alt-dots',\n icon: [512, 512, [], \"f4a3\", \"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-64zM128 240c-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};\nvar faCommentAltEdit = {\n prefix: 'fas',\n iconName: 'comment-alt-edit',\n icon: [512, 512, [], \"f4a4\", \"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-64zM215.4 310.6l-48.2 5.4c-6.5.7-11.9-4.8-11.2-11.2l5.4-48.2 96.3-96.3 54 54-96.3 96.3zm150.7-150.7l-31.8 31.8-54-54 31.8-31.8c7.9-7.9 20.7-7.9 28.6 0l25.4 25.4c7.9 7.9 7.9 20.7 0 28.6z\"]\n};\nvar faCommentAltExclamation = {\n prefix: 'fas',\n iconName: 'comment-alt-exclamation',\n icon: [512, 512, [], \"f4a5\", \"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-64zM256 336c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm25.4-110.4c-.8 8.2-7.7 14.4-15.9 14.4h-19c-8.2 0-15.1-6.2-15.9-14.4l-12.8-128c-.9-9.4 6.5-17.6 15.9-17.6h44.6c9.5 0 16.9 8.2 15.9 17.6l-12.8 128z\"]\n};\nvar faCommentAltLines = {\n prefix: 'fas',\n iconName: 'comment-alt-lines',\n icon: [512, 512, [], \"f4a6\", \"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-64zM288 264c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm96-96c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faCommentAltMedical = {\n prefix: 'fas',\n iconName: 'comment-alt-medical',\n icon: [512, 512, [], \"f7f4\", \"M448 0H64A64 64 0 0 0 0 64v288a64 64 0 0 0 64 64h96v84a12 12 0 0 0 19.13 9.65L304 416h144a64 64 0 0 0 64-64V64a64 64 0 0 0-64-64zm-96 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};\nvar faCommentAltMinus = {\n prefix: 'fas',\n iconName: 'comment-alt-minus',\n icon: [512, 512, [], \"f4a7\", \"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-64zm-80 216c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16v16z\"]\n};\nvar faCommentAltMusic = {\n prefix: 'fas',\n iconName: 'comment-alt-music',\n icon: [512, 512, [], \"f8af\", \"M448-1H64A64.05 64.05 0 0 0 0 63v288a64.05 64.05 0 0 0 64 64h96v84a12 12 0 0 0 19.09 9.7L304 415h144a64.05 64.05 0 0 0 64-64V63a64.05 64.05 0 0 0-64-64zm-96 256c0 17.67-21.5 32-48 32s-48-14.33-48-32 21.5-32 48-32a69.89 69.89 0 0 1 16 2v-76.36l-96 37.52V287c0 17.67-21.5 32-48 32s-48-14.33-48-32 21.5-32 48-32a69.89 69.89 0 0 1 16 2V142.25A16 16 0 0 1 203.19 127l128-47.25A16 16 0 0 1 352 95z\"]\n};\nvar faCommentAltPlus = {\n prefix: 'fas',\n iconName: 'comment-alt-plus',\n icon: [512, 512, [], \"f4a8\", \"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-64zm-80 216c0 8.8-7.2 16-16 16h-72v72c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-72h-72c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h72v-72c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v72h72c8.8 0 16 7.2 16 16v16z\"]\n};\nvar faCommentAltSlash = {\n prefix: 'fas',\n iconName: 'comment-alt-slash',\n icon: [640, 512, [], \"f4a9\", \"M64 352c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L368 416h2L64 179.5V352zm569.8 106.1l-77.6-60c12.1-11.6 19.8-28 19.8-46.1V64c0-35.3-28.7-64-64-64H128c-21.5 0-40.4 10.7-52 27L45.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};\nvar faCommentAltSmile = {\n prefix: 'fas',\n iconName: 'comment-alt-smile',\n icon: [512, 512, [], \"f4aa\", \"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-64zM320 133.2c14.8 0 26.8 12 26.8 26.8s-12 26.8-26.8 26.8-26.8-12-26.8-26.8 12-26.8 26.8-26.8zm-128 0c14.8 0 26.8 12 26.8 26.8s-12 26.8-26.8 26.8-26.8-12-26.8-26.8 12-26.8 26.8-26.8zm164.2 140.9C331.3 303.3 294.8 320 256 320c-38.8 0-75.3-16.7-100.2-45.9-5.8-6.7-5-16.8 1.8-22.5 6.7-5.7 16.8-5 22.5 1.8 18.8 22 46.5 34.6 75.8 34.6 29.4 0 57-12.6 75.8-34.7 5.8-6.7 15.9-7.5 22.6-1.8 6.8 5.8 7.6 15.9 1.9 22.6z\"]\n};\nvar faCommentAltTimes = {\n prefix: 'fas',\n iconName: 'comment-alt-times',\n icon: [512, 512, [], \"f4ab\", \"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-64zM340.9 258.9c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-6.2 6.2-16.4 6.2-22.6 0l-51-50.9-50.9 50.9c-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.6l50.9-50.9-50.9-50.9c-6.2-6.2-6.2-16.4 0-22.6l11.3-11.3c6.2-6.2 16.4-6.2 22.6 0l50.9 50.9 50.9-50.9c6.2-6.2 16.4-6.2 22.6 0l11.3 11.3c6.2 6.2 6.2 16.4 0 22.6L289.9 208l51 50.9z\"]\n};\nvar faCommentCheck = {\n prefix: 'fas',\n iconName: 'comment-check',\n icon: [512, 512, [], \"f4ac\", \"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 32zm114.1 163.8l-131 130c-4.3 4.3-11.3 4.3-15.6-.1l-75.7-76.3c-4.3-4.3-4.2-11.3.1-15.6l26-25.8c4.3-4.3 11.3-4.2 15.6.1l42.1 42.5 97.2-96.4c4.3-4.3 11.3-4.2 15.6.1l25.8 26c4.2 4.3 4.2 11.3-.1 15.5z\"]\n};\nvar faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"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};\nvar faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"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};\nvar faCommentEdit = {\n prefix: 'fas',\n iconName: 'comment-edit',\n icon: [512, 512, [], \"f4ae\", \"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 32zm-40.6 310.6l-48.2 5.4c-6.5.7-11.9-4.8-11.2-11.2l5.4-48.2 96.3-96.3 54 54-96.3 96.3zm150.7-150.7l-31.8 31.8-54-54 31.8-31.8c7.9-7.9 20.7-7.9 28.6 0l25.4 25.4c7.9 7.9 7.9 20.7 0 28.6z\"]\n};\nvar faCommentExclamation = {\n prefix: 'fas',\n iconName: 'comment-exclamation',\n icon: [512, 512, [], \"f4af\", \"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 32zm0 336c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm25.4-110.4c-.8 8.2-7.7 14.4-15.9 14.4h-19c-8.2 0-15.1-6.2-15.9-14.4l-12.8-128c-.9-9.4 6.5-17.6 15.9-17.6h44.6c9.5 0 16.9 8.2 15.9 17.6l-12.8 128z\"]\n};\nvar faCommentLines = {\n prefix: 'fas',\n iconName: 'comment-lines',\n icon: [512, 512, [], \"f4b0\", \"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 32zm32 264c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm96-96c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"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};\nvar faCommentMinus = {\n prefix: 'fas',\n iconName: 'comment-minus',\n icon: [512, 512, [], \"f4b1\", \"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 32zm112 216c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16v16z\"]\n};\nvar faCommentMusic = {\n prefix: 'fas',\n iconName: 'comment-music',\n icon: [512, 512, [], \"f8b0\", \"M256 32C114.59 32 0 125.09 0 240c0 49.59 21.41 95 57 130.7C44.5 421.09 2.69 466 2.19 466.5a8 8 0 0 0-1.5 8.7A7.87 7.87 0 0 0 8 480c66.31 0 116-31.8 140.59-51.41A304.63 304.63 0 0 0 256 448c141.41 0 256-93.09 256-208S397.41 32 256 32zm96 256c0 17.67-21.5 32-48 32s-48-14.33-48-32 21.5-32 48-32a69.89 69.89 0 0 1 16 2v-76.36l-96 37.52V320c0 17.67-21.5 32-48 32s-48-14.33-48-32 21.5-32 48-32a69.89 69.89 0 0 1 16 2V175.25A16 16 0 0 1 203.19 160l128-47.25A16 16 0 0 1 352 128z\"]\n};\nvar faCommentPlus = {\n prefix: 'fas',\n iconName: 'comment-plus',\n icon: [512, 512, [], \"f4b2\", \"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 32zm112 216c0 8.8-7.2 16-16 16h-72v72c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-72h-72c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h72v-72c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v72h72c8.8 0 16 7.2 16 16v16z\"]\n};\nvar faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"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};\nvar faCommentSmile = {\n prefix: 'fas',\n iconName: 'comment-smile',\n icon: [512, 512, [], \"f4b4\", \"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 32zm64 133.2c14.8 0 26.8 12 26.8 26.8s-12 26.8-26.8 26.8-26.8-12-26.8-26.8 12-26.8 26.8-26.8zm-128 0c14.8 0 26.8 12 26.8 26.8s-12 26.8-26.8 26.8-26.8-12-26.8-26.8 12-26.8 26.8-26.8zm164.2 140.9C331.3 335.3 294.8 352 256 352c-38.8 0-75.3-16.7-100.2-45.9-5.8-6.7-5-16.8 1.8-22.5 6.7-5.7 16.8-5 22.5 1.8 18.8 22 46.5 34.6 75.8 34.6 29.4 0 57-12.6 75.8-34.7 5.8-6.7 15.9-7.5 22.6-1.8 6.8 5.8 7.6 15.9 1.9 22.6z\"]\n};\nvar faCommentTimes = {\n prefix: 'fas',\n iconName: 'comment-times',\n icon: [512, 512, [], \"f4b5\", \"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 32zm84.9 258.9c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-6.2 6.2-16.4 6.2-22.6 0l-51-50.9-50.9 50.9c-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.6l50.9-50.9-50.9-50.9c-6.2-6.2-6.2-16.4 0-22.6l11.3-11.3c6.2-6.2 16.4-6.2 22.6 0l50.9 50.9 50.9-50.9c6.2-6.2 16.4-6.2 22.6 0l11.3 11.3c6.2 6.2 6.2 16.4 0 22.6L289.9 240l51 50.9z\"]\n};\nvar faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"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};\nvar faCommentsAlt = {\n prefix: 'fas',\n iconName: 'comments-alt',\n icon: [576, 512, [], \"f4b6\", \"M416 224V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64v160c0 35.3 28.7 64 64 64v54.2c0 8 9.1 12.6 15.5 7.8l82.8-62.1H352c35.3.1 64-28.6 64-63.9zm96-64h-64v64c0 52.9-43.1 96-96 96H192v64c0 35.3 28.7 64 64 64h125.7l82.8 62.1c6.4 4.8 15.5.2 15.5-7.8V448h32c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64z\"]\n};\nvar faCommentsAltDollar = {\n prefix: 'fas',\n iconName: 'comments-alt-dollar',\n icon: [576, 512, [], \"f652\", \"M416 224V64c0-35.35-28.65-64-64-64H64C28.65 0 0 28.65 0 64v160c0 35.35 28.65 64 64 64v54.23c0 8 9.11 12.6 15.54 7.84L162.33 288H352c35.35 0 64-28.65 64-64zm-192-.12V240c0 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.07V48c0-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.07zM512 160h-64v64c0 52.93-43.06 96-96 96H192v64c0 35.35 28.65 64 64 64h125.67l82.79 62.07c6.44 4.76 15.54.16 15.54-7.84V448h32c35.35 0 64-28.65 64-64V224c0-35.35-28.65-64-64-64z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [576, 512, [], \"f653\", \"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};\nvar faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [496, 512, [], \"f51f\", \"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};\nvar faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"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};\nvar faCompassSlash = {\n prefix: 'fas',\n iconName: 'compass-slash',\n icon: [640, 512, [], \"f5e9\", \"M633.82 458.1l-99.85-77.17C555.47 344.21 568 301.62 568 256 568 119.03 456.97 8 320 8c-68.31 0-130.03 27.72-174.82 72.44L45.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.45zM446.14 156.05l-53.03 116.01-105.65-81.66 132.48-60.55c16.66-7.6 33.81 9.55 26.2 26.2zM220.05 382.14c-16.65 7.61-33.81-9.55-26.2-26.2l25.7-56.24L80.57 192.29C75.16 212.65 72 233.93 72 256c0 136.97 111.03 248 248 248 44.43 0 86.03-11.83 122.1-32.29L286.77 351.65l-66.72 30.49z\"]\n};\nvar faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"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};\nvar faCompressAlt = {\n prefix: 'fas',\n iconName: 'compress-alt',\n icon: [448, 512, [], \"f422\", \"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};\nvar faCompressArrowsAlt = {\n prefix: 'fas',\n iconName: 'compress-arrows-alt',\n icon: [512, 512, [], \"f78c\", \"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};\nvar faCompressWide = {\n prefix: 'fas',\n iconName: 'compress-wide',\n icon: [512, 512, [], \"f326\", \"M500 224H376c-13.3 0-24-10.7-24-24V76c0-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-340-24V76c0-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 236V312c0-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-12zm256 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H376c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faComputerClassic = {\n prefix: 'fas',\n iconName: 'computer-classic',\n icon: [448, 512, [], \"f8b1\", \"M32 496a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-48H32zM416 0H32A32 32 0 0 0 0 32v368a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V32a32 32 0 0 0-32-32zM80 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm304-12a8 8 0 0 1-8 8H232a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h144a8 8 0 0 1 8 8zm0-120a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32z\"]\n};\nvar faComputerSpeaker = {\n prefix: 'fas',\n iconName: 'computer-speaker',\n icon: [640, 512, [], \"f8b2\", \"M288 416H128a32 32 0 0 0 0 64h176.41A79.24 79.24 0 0 1 288 432zM0 80v256a48 48 0 0 0 48 48h240v-64H64V96h224V80a79.24 79.24 0 0 1 16.41-48H48A48 48 0 0 0 0 80zm592-48H368a48 48 0 0 0-48 48v352a48 48 0 0 0 48 48h224a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zM480 96a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm0 320a96 96 0 1 1 96-96 96 96 0 0 1-96 96zm0-160a64 64 0 1 0 64 64 64 64 0 0 0-64-64z\"]\n};\nvar faConciergeBell = {\n prefix: 'fas',\n iconName: 'concierge-bell',\n icon: [512, 512, [], \"f562\", \"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};\nvar faConstruction = {\n prefix: 'fas',\n iconName: 'construction',\n icon: [640, 512, [], \"f85d\", \"M634.66 460.17L349.5 15.92c-13.62-21.23-45.38-21.23-59 0L5.34 460.17C-9.14 482.73 7.52 512 34.85 512h570.3c27.33 0 43.99-29.27 29.51-51.83zM308 160a28 28 0 1 1-28 28 28 28 0 0 1 28-28zm-4 272a16 16 0 0 1-32 0v-32.77l-46.31-29.92-18.25 66.89A16 16 0 0 1 192 448a15.64 15.64 0 0 1-4.22-.56 16 16 0 0 1-11.24-19.64l29.75-109.11 83.06 53.67A31.91 31.91 0 0 1 304 399.23zm48 16l12-29.94A16 16 0 0 1 378.83 408h35.64l-94.8-58.34s-.08 0-.11-.07l-103.95-64a16 16 0 0 1-4.41-23.22l11.61-15.49a47.88 47.88 0 0 1 48.83-18l24.58 7.28c17.45 3.82 31.84 18.53 35.56 37.14l10.55 52.7L430 380l21.16-42.44a16 16 0 0 1 27.78-1.5L550.8 448z\"]\n};\nvar faContainerStorage = {\n prefix: 'fas',\n iconName: 'container-storage',\n icon: [640, 512, [], \"f4b7\", \"M640 80V48c0-8.8-7.2-16-16-16H16C7.2 32 0 39.2 0 48v32c0 8.8 7.2 16 16 16v320c-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-16V96c8.8 0 16-7.2 16-16zM448 416h-32V96h32v320zM192 96h32v320h-32V96zm144 320h-32V96h32v320zM80 96h32v320H80V96zm480 320h-32V96h32v320z\"]\n};\nvar faConveyorBelt = {\n prefix: 'fas',\n iconName: 'conveyor-belt',\n icon: [640, 512, [], \"f46e\", \"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 16zm400 64H96c-53 0-96 43-96 96s43 96 96 96h448c53 0 96-43 96-96s-43-96-96-96zM128 448c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faConveyorBeltAlt = {\n prefix: 'fas',\n iconName: 'conveyor-belt-alt',\n icon: [640, 512, [], \"f46f\", \"M80 256h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm320 0h160c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16v160c0 8.8 7.2 16 16 16zm144 64H96c-53 0-96 43-96 96s43 96 96 96h448c53 0 96-43 96-96s-43-96-96-96zM128 448c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [], \"f563\", \"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};\nvar faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"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};\nvar faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"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};\nvar faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"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};\nvar faCorn = {\n prefix: 'fas',\n iconName: 'corn',\n icon: [512, 512, [], \"f6c7\", \"M118.63 370.74l-67.88 67.88L96 483.88c37.49 37.49 98.27 37.49 135.76 0l90.51-90.51 97.66-19.53c6.43-1.29 8.85-9.59 3.91-13.89-88-76.52-221.49-72.92-305.21 10.79zm82.4-85.89c15.42-67.76-.79-141.26-49-196.71-4.29-4.94-12.58-2.51-13.87 3.91l-19.54 97.68-90.51 90.51c-37.49 37.49-37.49 98.28 0 135.77L96 348.12c30.38-30.38 66.59-51.38 105.03-63.27zM511.93 45.3v-3.2c1.28-21.44-14.72-40-36.48-41.91-16.63-1.61-31.67 7.03-39.03 21.11-9.92-9.59-24.33-13.75-38.41-9.6-13.44 3.85-23.67 14.08-27.51 26.88-10.88-7.03-24.96-8.64-37.77-3.2-12.79 5.77-21.11 17.28-23.36 29.77-11.52-5.44-25.59-5.44-37.44 1.59-11.85 6.72-18.88 18.89-19.84 31.36-11.83-4.47-25.91-3.19-37.11 4.81-3.26 2.3-5.94 5.13-8.31 8.17 28.33 51.23 37.75 110.06 28.31 166.44 56.39-9.36 115.25-.37 166.48 28.13 1.7-1.66 3.43-3.29 4.87-5.31 8-11.2 9.28-24.97 4.79-36.8 12.8-.97 24.96-8 31.69-19.85 7.03-11.84 7.36-25.92 1.59-37.44 12.8-2.25 24.31-10.25 30.08-23.05 5.76-12.8 4.15-26.87-2.88-37.77 12.47-3.83 23.03-13.75 27.2-27.19 4.16-14.08 0-28.48-8.97-38.41 12.51-6.37 21.46-19.17 22.1-34.53z\"]\n};\nvar faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"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};\nvar faCow = {\n prefix: 'fas',\n iconName: 'cow',\n icon: [640, 512, [], \"f6c8\", \"M634.01 276.72l-10-13.81v-77.02c0-11.89-12.52-19.63-23.16-14.31-10.82 5.41-19.47 13.59-26.31 23.01l-65.82-90.9A96.025 96.025 0 0 0 430.96 64H112c-48.6 0-88 39.4-88 88v86.41C9.48 250.14 0 267.88 0 288v32h8c35.35 0 64-28.65 64-64V152c0-16.87 10.55-31.16 25.34-37.04-.87 4.22-1.34 8.57-1.34 13.04v304c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V320c9.32 9.32 20.28 16.5 32.04 21.87V368c0 8.84 7.16 16 16 16s16-7.16 16-16v-17.31c9.1 1.12 12.81 2.36 32-.01V368c0 8.84 7.16 16 16 16s16-7.16 16-16v-26.18c11.71-5.36 22.64-12.51 31.92-21.79V432c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V256l32 32v41.48a63.97 63.97 0 0 0 10.75 35.5l41.33 61.99a47.233 47.233 0 0 0 39.3 21.03c22.52 0 41.9-15.89 46.32-37.97l21.73-108.63c1.72-8.62-.23-17.57-5.38-24.68zM377.24 167.36l-22.89 22.75c-21.82 21.7-51.41 33.88-82.26 33.88h-.17c-30.86 0-60.45-12.19-82.26-33.88l-22.89-22.75c-15.72-15.63-2.3-39.36 22.25-39.36h165.96c24.56 0 37.98 23.73 22.26 39.36zM576.01 352c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.17 16-16 16z\"]\n};\nvar faCowbell = {\n prefix: 'fas',\n iconName: 'cowbell',\n icon: [448, 512, [], \"f8b3\", \"M384.19 122.35A32 32 0 0 0 352.64 96h-16V48a48.1 48.1 0 0 0-48.12-48H160.29a48.1 48.1 0 0 0-48.09 48v48H95.36a32 32 0 0 0-31.55 26.35l-63.3 352A32 32 0 0 0 32.07 512h383.86a32 32 0 0 0 31.56-37.65zM176.32 64h96.17v32h-96.17z\"]\n};\nvar faCowbellMore = {\n prefix: 'fas',\n iconName: 'cowbell-more',\n icon: [640, 512, [], \"f8b4\", \"M287.78 352c0-75.21 43.66-140.27 106.92-171.76l-10.41-57.89A32.06 32.06 0 0 0 352.72 96h-15.91V48a48.05 48.05 0 0 0-48-48h-128a48.05 48.05 0 0 0-48 48v48H95.38a32 32 0 0 0-31.56 26.35l-63.31 352A32 32 0 0 0 32.07 512h342c-51.95-34.42-86.29-93.26-86.29-160zm-15-256h-96V64h96zM480 192a160 160 0 1 0 160 160 160 160 0 0 0-160-160zm80 168a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z\"]\n};\nvar faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"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};\nvar faCreditCardBlank = {\n prefix: 'fas',\n iconName: 'credit-card-blank',\n icon: [576, 512, [], \"f389\", \"M528 40H48C21.5 40 0 61.5 0 88v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V88c0-26.5-21.5-48-48-48zM160 404c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40zm192 0c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faCreditCardFront = {\n prefix: 'fas',\n iconName: 'credit-card-front',\n icon: [576, 512, [], \"f38a\", \"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-48zM192 268c0-6.6 5.4-12 12-12h64c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-64c-6.6 0-12-5.4-12-12v-40zm-32 136c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v8zm16-96c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h88c6.6 0 12 5.4 12 12v40zm176 96c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v8zm32-96c0 6.6-5.4 12-12 12h-64c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h64c6.6 0 12 5.4 12 12v40zm128 0c0 6.6-5.4 12-12 12h-88c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h88c6.6 0 12 5.4 12 12v40zm0-140c0 13.3-10.7 24-24 24h-80c-13.3 0-24-10.7-24-24v-48c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v48z\"]\n};\nvar faCricket = {\n prefix: 'fas',\n iconName: 'cricket',\n icon: [640, 512, [], \"f449\", \"M421.5 321.5L158 506c-8.9 6.2-20.5 7.9-30.4 3.5C54.8 477 5.7 406.9.1 327.4c-.8-10.8 4.8-21.2 13.7-27.4l263.5-184.5-30.9 175.1 175.1 30.9zM635.7 30.4l-15.2-20.2C612.9-.6 597.9-3.3 587 4.3L443 104.8c-14.5 10.1-34.4 6.6-44.6-7.9l-21.9-31.3c-5.1-7.2-15-9-22.3-3.9l-21.3 14.9L302 251.7l175.1 30.9 21.3-14.9c7.2-5.1 9-15 3.9-22.3l-24.5-35c-10.1-14.5-6.6-34.4 7.9-44.6L629.8 63.9c10.8-7.6 13.5-22.6 5.9-33.5zM496 352c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80z\"]\n};\nvar faCroissant = {\n prefix: 'fas',\n iconName: 'croissant',\n icon: [512, 512, [], \"f7f6\", \"M209.1 387.94L110 465.73a215.54 215.54 0 0 0 70.67 44.19 32 32 0 0 0 42.91-35.18zm300.82-207.28A215.54 215.54 0 0 0 465.73 110l-77.79 99.1 86.8 14.47a32.36 32.36 0 0 0 5.26.43 32 32 0 0 0 29.92-43.34zM234.9 22.59A32 32 0 0 0 196.55 1 268.35 268.35 0 0 0 1 196.55a32 32 0 0 0 21.6 38.35l208 64a32 32 0 0 0 32-8l28.31-28.31a32 32 0 0 0 8-32zm212.84 43a32 32 0 0 0-12.33-21.39A217.11 217.11 0 0 0 304.46 0a215.78 215.78 0 0 0-43.26 4.48c1.41 2.93 3.3 5.52 4.28 8.7l64 208c.06.2 0 .41.1.62 6-1.93 11.61-5 15.6-10l96-122.32a32 32 0 0 0 6.56-23.85zM221.8 329.57c-.2-.06-.42 0-.62-.09l-208-64a62.68 62.68 0 0 1-8.54-3.57 215.1 215.1 0 0 0 39.59 173.5 32 32 0 0 0 21.39 12.33 32.51 32.51 0 0 0 4.05.26 32 32 0 0 0 19.76-6.83l122.32-96c5.1-3.99 8.12-9.58 10.05-15.6z\"]\n};\nvar faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"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};\nvar faCropAlt = {\n prefix: 'fas',\n iconName: 'crop-alt',\n icon: [512, 512, [], \"f565\", \"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};\nvar faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [], \"f654\", \"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};\nvar faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"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};\nvar faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"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};\nvar faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [640, 512, [], \"f521\", \"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};\nvar faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"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};\nvar faCrutches = {\n prefix: 'fas',\n iconName: 'crutches',\n icon: [640, 512, [], \"f7f8\", \"M635.31 185.71l-181-181a16 16 0 0 0-22.62 0L409 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.6zM441 395.76a128.09 128.09 0 0 1-33.67 13L371.74 417l90.32 90.32a16 16 0 0 0 22.63 0l22.62-22.62a16 16 0 0 0 0-22.63zm-245.19-42.1l9.7-9.7 13.22-57.32L106.51 174.4l67.89-67.89 78.75 78.75a126.75 126.75 0 0 1 12.29-14.34L297.37 139l-77.72-77.74L231 49.94a16 16 0 0 0 0-22.63L208.33 4.69a16 16 0 0 0-22.62 0l-181 181a16 16 0 0 0 0 22.62L27.31 231a16 16 0 0 0 22.63 0l11.32-11.31 132.29 132.25c.68.68 1.58 1.06 2.28 1.72zm259.96-101.54l-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.29L234.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.68L510.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};\nvar faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"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};\nvar faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [512, 512, [], \"f1b3\", \"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};\nvar faCurling = {\n prefix: 'fas',\n iconName: 'curling',\n icon: [640, 512, [], \"f44a\", \"M554.1 192H85.9c13.2-37.2 48.4-64 90.1-64h48v-16C224 50.1 274.1 0 336 0h128c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16-117.7 0-176-11.4-176 48v16h176c41.7 0 76.9 26.8 90.1 64zM0 416c0 53 43 96 96 96h448c53 0 96-43 96-96v-32H0v32zm544-176H96c-53 0-96 43-96 96v16h640v-16c0-53-43-96-96-96z\"]\n};\nvar faCut = {\n prefix: 'fas',\n iconName: 'cut',\n icon: [448, 512, [], \"f0c4\", \"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};\nvar faDagger = {\n prefix: 'fas',\n iconName: 'dagger',\n icon: [384, 512, [], \"f6cb\", \"M336 128H224V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112H48c-26.51 0-48 21.49-48 48s21.49 48 48 48c20.87 0 38.45-13.4 45.06-32h197.88c6.61 18.6 24.19 32 45.06 32 26.51 0 48-21.49 48-48s-21.49-48-48-48zM128 428.84l50.69 76.03c6.33 9.5 20.29 9.5 26.63 0L256 428.84V224H128v204.84z\"]\n};\nvar faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"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};\nvar faDeaf = {\n prefix: 'fas',\n iconName: 'deaf',\n icon: [512, 512, [], \"f2a4\", \"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};\nvar faDebug = {\n prefix: 'fas',\n iconName: 'debug',\n icon: [512, 512, [], \"f7f9\", \"M146.27 303.84l30.88-4.41a79.07 79.07 0 0 0 6.77 22.72l-24.8 16.54a16 16 0 1 0 17.75 26.62l26.39-17.59a76.88 76.88 0 0 0 71.68 17.73L176 266.5v.76l-34.27 4.9a16 16 0 0 0 4.54 31.68zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 432c-101.46 0-184-82.54-184-184a182.89 182.89 0 0 1 33.38-105.37l256 256A182.89 182.89 0 0 1 256 440zm150.62-78.63l-60.3-60.3 19.41 2.77a16.23 16.23 0 0 0 2.27.16 16 16 0 0 0 2.25-31.84l-34.25-4.9v-22.52l34.27-4.9a16 16 0 1 0-4.54-31.68l-30.88 4.41a79.07 79.07 0 0 0-6.77-22.72l24.79-16.54a16 16 0 1 0-17.75-26.62l-26.38 17.59a78.43 78.43 0 0 0-102-2.79l-56.11-56.11A182.89 182.89 0 0 1 256 72c101.46 0 184 82.54 184 184a182.89 182.89 0 0 1-33.38 105.37z\"]\n};\nvar faDeer = {\n prefix: 'fas',\n iconName: 'deer',\n icon: [512, 512, [], \"f78e\", \"M488.7 133.3l-91.9-25.8 11.1-5.6c12.4-6.2 23-15.6 30.7-27.1l18.1-27.2c2.5-3.7 1.5-8.6-2.2-11.1l-13.3-8.9c-3.7-2.5-8.6-1.5-11.1 2.2l-18 27.2c-4.6 7-11 12.6-18.5 16.3L351 94.6l-33.8-9.5 8.3-10.3c6.8-8.5 10.5-19.1 10.5-30V8c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v36.8c0 3.6-1.2 7.1-3.5 10l-16.8 20.9-16.1-4.5c-6.9-1.9-11.7-8.2-11.7-15.4V8c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v47.8c0 21.5 14.3 40.4 35 46.2l78.9 22.2L304 192H64c-35.3 0-64 28.7-64 64v64l32-21.3v48.9l-11.9 31.8c-4.6 12.2-5.3 25.4-2.2 38l24.9 82.5C44.6 507 51 512 58.3 512h63.8c10.4 0 18-9.8 15.5-19.9l-26.3-88.4 19.4-51.7H288v144c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V288l32-64h64c17.7 0 32-14.3 32-32v-27.9c0-14.3-9.6-26.9-23.3-30.8zM416 176c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faDeerRudolph = {\n prefix: 'fas',\n iconName: 'deer-rudolph',\n icon: [512, 512, [], \"f78f\", \"M480 96c-17.7 0-32 14.3-32 32 0 1.1.5 2 .6 3l-83.8-23.5 11.1-5.6c12.4-6.2 23-15.6 30.7-27.1l18.1-27.2c2.5-3.7 1.5-8.6-2.2-11.1l-13.3-8.9c-3.7-2.5-8.6-1.5-11.1 2.2l-18 27.2c-4.6 7-11 12.6-18.5 16.3L319 94.6l-33.8-9.5 8.3-10.3c6.8-8.5 10.5-19.1 10.5-30V8c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v36.8c0 3.6-1.2 7.1-3.5 10l-16.8 20.9-16.1-4.5c-6.9-1.9-11.7-8.2-11.7-15.4V8c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v47.8c0 21.5 14.3 40.4 35 46.2l78.9 22.2L272 192H64c-35.3 0-64 28.7-64 64v64l32-21.3v48.9l-11.9 31.8c-4.6 12.2-5.3 25.4-2.2 38l24.9 82.5C44.6 507 51 512 58.3 512h63.8c10.4 0 18-9.8 15.5-19.9l-26.3-88.4 19.4-51.7H256v144c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V288l32-64h64c17.7 0 32-14.3 32-32v-27.9c0-1.5-.5-2.8-.7-4.2.2 0 .5.1.7.1 17.7 0 32-14.3 32-32s-14.3-32-32-32zm-96 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"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};\nvar faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [], \"f108\", \"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};\nvar faDesktopAlt = {\n prefix: 'fas',\n iconName: 'desktop-alt',\n icon: [576, 512, [], \"f390\", \"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 288H64V64h448v224z\"]\n};\nvar faDewpoint = {\n prefix: 'fas',\n iconName: 'dewpoint',\n icon: [512, 512, [], \"f748\", \"M160.1 22.1C109.1 179.8 0 222.7 0 333.9 0 432.3 85.9 512 192 512s192-79.7 192-178.1c0-111.8-108.9-153.3-160.1-311.8-8.7-28.8-54-30.1-63.8 0zM416 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 32z\"]\n};\nvar faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [], \"f655\", \"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};\nvar faDiagnoses = {\n prefix: 'fas',\n iconName: 'diagnoses',\n icon: [640, 512, [], \"f470\", \"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};\nvar faDiamond = {\n prefix: 'fas',\n iconName: 'diamond',\n icon: [448, 512, [], \"f219\", \"M242.2 8.3c-9.6-11.1-26.8-11.1-36.4 0l-200 232c-7.8 9-7.8 22.3 0 31.3l200 232c9.6 11.1 26.8 11.1 36.4 0l200-232c7.8-9 7.8-22.3 0-31.3l-200-232z\"]\n};\nvar faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [], \"f522\", \"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};\nvar faDiceD10 = {\n prefix: 'fas',\n iconName: 'dice-d10',\n icon: [512, 512, [], \"f6cd\", \"M11.09 255.29l130.38-27.25 67.78-212.5c2.95-9.2-8.4-15.92-14.45-8.54L3.01 240.87c-5.24 6.38.2 16.07 8.08 14.42zm359.43-27.24L500.9 255.3c7.89 1.65 13.32-8.05 8.09-14.43L317.19 6.99c-6.04-7.37-17.39-.66-14.46 8.55l67.79 212.51zm-106.49-222c-2.57-8.06-13.49-8.06-16.06 0l-73.4 230.11L256 292.87l81.43-56.72-73.4-230.1zm241.16 286.22l-144.06-30.11-88.2 61.45v179.53c0 7.59 8.55 11.66 14.02 6.67l222.13-202.2c5.31-4.82 3-13.9-3.89-15.34zm-498.38 0c-6.89 1.44-9.2 10.52-3.9 15.34L225.05 509.8c5.48 4.98 14.02.92 14.02-6.67V323.61l-88.2-61.45L6.81 292.27z\"]\n};\nvar faDiceD12 = {\n prefix: 'fas',\n iconName: 'dice-d12',\n icon: [512, 512, [], \"f6ce\", \"M256 273.89l-108.59 54.29L206.23 512h99.53l58.82-183.82L256 273.89zm16-27.78l108.84 54.42 123.62-123.62-51.43-102.84L272 139.24v106.87zm-32 0V139.24L58.97 74.07 7.54 176.92l123.62 123.62L240 246.11zM422.28 51.14L333.51 6.76A63.874 63.874 0 0 0 304.89 0H207.1c-9.94 0-19.73 2.31-28.62 6.76L89.72 51.14 256 111l166.28-59.86zm-24.23 277.43l-55.01 171.91 85.88-42.94a64.02 64.02 0 0 0 28.62-28.62l47.7-95.4A64.07 64.07 0 0 0 512 304.9v-90.27L398.05 328.57zM0 214.62v90.27c0 9.94 2.31 19.74 6.76 28.62l47.7 95.4a63.972 63.972 0 0 0 28.62 28.62l85.88 42.94-55.01-171.91L0 214.62z\"]\n};\nvar faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [480, 512, [], \"f6cf\", \"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};\nvar faDiceD4 = {\n prefix: 'fas',\n iconName: 'dice-d4',\n icon: [512, 512, [], \"f6d0\", \"M225.28 3.34L1.68 309.48C-1 313.15-.4 318.4 3.03 321.3l223.61 188.81c5.3 4.47 13.17.51 13.17-6.64V8.53C239.8.4 229.99-3.1 225.28 3.34zm285.04 306.14L286.72 3.34C282.01-3.1 272.2.4 272.2 8.53v494.94c0 7.15 7.87 11.11 13.17 6.64l223.6-188.81c3.44-2.9 4.04-8.15 1.35-11.82z\"]\n};\nvar faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"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};\nvar faDiceD8 = {\n prefix: 'fas',\n iconName: 'dice-d8',\n icon: [512, 512, [], \"f6d2\", \"M225.53 2.52L2.36 233.83c-4.21 4.37-2.56 11.71 3.1 13.77l234.13 85.06V8.39c-.01-7.49-8.91-11.21-14.06-5.87zm284.11 231.31L286.47 2.52C281.32-2.82 272.41.9 272.41 8.4v324.27l234.13-85.06c5.66-2.07 7.31-9.42 3.1-13.78zM33.53 310.38l192 199.1c5.15 5.34 14.06 1.62 14.06-5.88V368.29L42.13 296.61c-8.21-2.98-14.72 7.43-8.6 13.77zm436.34-13.77l-197.46 71.68V503.6c0 7.5 8.91 11.22 14.06 5.88l192-199.1c6.12-6.34-.39-16.75-8.6-13.77z\"]\n};\nvar faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [], \"f523\", \"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};\nvar faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [], \"f524\", \"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};\nvar faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [], \"f525\", \"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};\nvar faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [], \"f526\", \"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};\nvar faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [], \"f527\", \"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};\nvar faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [], \"f528\", \"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};\nvar faDigging = {\n prefix: 'fas',\n iconName: 'digging',\n icon: [576, 512, [], \"f85e\", \"M272 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-62.24 261.36q-38.7-25.78-79.55-48.09l-71.56-39-57.42 201a32 32 0 1 0 61.56 17.59l36.6-128.16L160 401.11V480a32 32 0 0 0 64 0v-96a32 32 0 0 0-14.24-26.64zM311.07 416a32 32 0 0 0-30.36 21.88L256 512h320L474.07 305.68c-11.29-22.59-43.07-23.81-56.07-2.15l-31.86 54.29-65.3-35.62L296.85 201a129.78 129.78 0 0 0-69.72-91.2c-1-.5-2.11-.66-3.11-1.13a31 31 0 0 0-7.22-2.67c-15.34-6.1-31.56-10-48.07-10H96a32 32 0 0 0-24.07 10.92l-56 64a25.89 25.89 0 0 0-2.3 3.16c-8.83 14.1-3 32.86 11.62 40.85l336.6 184.3L352 416zM105.9 205l-23.49-12.85L110.54 160h34.33zm93.74 51.13l34.73-41.23 13.5 67.54z\"]\n};\nvar faDigitalTachograph = {\n prefix: 'fas',\n iconName: 'digital-tachograph',\n icon: [640, 512, [], \"f566\", \"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};\nvar faDiploma = {\n prefix: 'fas',\n iconName: 'diploma',\n icon: [640, 512, [], \"f5ea\", \"M384 268.67V128H256v140.67l-95.16 164c-3.05 7.49 2.65 15.63 10.73 15.32l36.64.01 25.21 28.52c5.56 5.87 15.33 4.04 18.39-3.45L320 352l68.2 121.07c3.05 7.49 12.83 9.32 18.39 3.45l25.2-28.52 36.64-.01c8.08.31 13.78-7.83 10.73-15.32l-95.16-164zm-160-8.61V115.94c-9.64-2.45-19.21-5.19-28.65-8.37L68.39 64.78c-15.03-3.1-30.25 3.27-37.03 14.77-41.81 70.94-41.81 217.95 0 288.89 6.78 11.5 22.01 17.88 37.03 14.77l104.6-35.24L224 260.06zm384.64-180.5c-6.78-11.5-22.01-17.88-37.03-14.77l-126.96 42.78c-9.44 3.18-19.01 5.93-28.65 8.37v144.12l51.01 87.92 104.6 35.24c15.03 3.1 30.25-3.27 37.03-14.77 41.81-70.94 41.81-217.95 0-288.89z\"]\n};\nvar faDirections = {\n prefix: 'fas',\n iconName: 'directions',\n icon: [512, 512, [], \"f5eb\", \"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};\nvar faDiscDrive = {\n prefix: 'fas',\n iconName: 'disc-drive',\n icon: [512, 512, [], \"f8b5\", \"M496 416h-16V96a64 64 0 0 0-64-64H96a64 64 0 0 0-64 64v320H16a16 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-240 0a160 160 0 1 1 160-160 160 160 0 0 1-160 160zm0-192a32 32 0 1 0 32 32 32 32 0 0 0-32-32z\"]\n};\nvar faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"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};\nvar faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [], \"f529\", \"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};\nvar faDizzy = {\n prefix: 'fas',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"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};\nvar faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [], \"f471\", \"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};\nvar faDoNotEnter = {\n prefix: 'fas',\n iconName: 'do-not-enter',\n icon: [496, 512, [], \"f5ec\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm176 296H72c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h352c8.84 0 16 7.16 16 16v64c0 8.84-7.16 16-16 16z\"]\n};\nvar faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [], \"f6d3\", \"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};\nvar faDogLeashed = {\n prefix: 'fas',\n iconName: 'dog-leashed',\n icon: [576, 512, [], \"f6d4\", \"M67.64,3.37,288,168.08V192H239.54L38.17,41.25a16,16,0,0,1-2.8-22.45L45.19,6.18A16,16,0,0,1,67.64,3.37ZM128,224H288V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.1C58.83,268.85,32,233.66,32,192a32,32,0,0,1,64,0A32,32,0,0,0,128,224ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.23-21.39,27.32-11.31L374.6,64h53.62c10.92,0,23.74,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112ZM320,231.84l128,45.71V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H320ZM432,112a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z\"]\n};\nvar faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [288, 512, [], \"f155\", \"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};\nvar faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [], \"f472\", \"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};\nvar faDollyEmpty = {\n prefix: 'fas',\n iconName: 'dolly-empty',\n icon: [576, 512, [], \"f473\", \"M575.2 326.4L565 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.6L565 346.6c8.4-2.8 13-11.8 10.2-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};\nvar faDollyFlatbed = {\n prefix: 'fas',\n iconName: 'dolly-flatbed',\n icon: [640, 512, [], \"f474\", \"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};\nvar faDollyFlatbedAlt = {\n prefix: 'fas',\n iconName: 'dolly-flatbed-alt',\n icon: [640, 512, [], \"f475\", \"M624 384H128V16c0-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-16zm-416-64h160c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm224-160h96c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm0 160h160c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16H432c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16z\"]\n};\nvar faDollyFlatbedEmpty = {\n prefix: 'fas',\n iconName: 'dolly-flatbed-empty',\n icon: [640, 512, [], \"f476\", \"M624 384H128V16c0-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};\nvar faDonate = {\n prefix: 'fas',\n iconName: 'donate',\n icon: [512, 512, [], \"f4b9\", \"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};\nvar faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [640, 512, [], \"f52a\", \"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};\nvar faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [640, 512, [], \"f52b\", \"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};\nvar faDotCircle = {\n prefix: 'fas',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"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};\nvar faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [], \"f4ba\", \"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};\nvar faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"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};\nvar faDraftingCompass = {\n prefix: 'fas',\n iconName: 'drafting-compass',\n icon: [512, 512, [], \"f568\", \"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};\nvar faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [], \"f6d5\", \"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};\nvar faDrawCircle = {\n prefix: 'fas',\n iconName: 'draw-circle',\n icon: [512, 512, [], \"f5ed\", \"M512 256c0-26.93-16.67-49.88-40.23-59.32-20.88-75.84-80.61-135.56-156.45-156.45C305.88 16.68 282.93 0 256 0s-49.88 16.68-59.32 40.23C120.84 61.11 61.11 120.84 40.23 196.68 16.67 206.12 0 229.07 0 256s16.67 49.88 40.23 59.32c20.88 75.84 80.61 135.56 156.45 156.45C206.12 495.33 229.07 512 256 512s49.88-16.67 59.32-40.23c75.84-20.88 135.56-80.61 156.45-156.45C495.33 305.88 512 282.93 512 256zm-64-16c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM272 64c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 272c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16zm176 176c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm65.15-40.53C293.41 393.25 275.88 384 256 384s-37.41 9.25-49.15 23.47a159.62 159.62 0 0 1-102.32-102.32C118.75 293.41 128 275.88 128 256s-9.25-37.42-23.47-49.15a159.62 159.62 0 0 1 102.32-102.32C218.59 118.75 236.12 128 256 128s37.41-9.25 49.15-23.47a159.62 159.62 0 0 1 102.32 102.32C393.25 218.58 384 236.12 384 256s9.25 37.41 23.47 49.15a159.598 159.598 0 0 1-102.32 102.32z\"]\n};\nvar faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"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};\nvar faDrawSquare = {\n prefix: 'fas',\n iconName: 'draw-square',\n icon: [448, 512, [], \"f5ef\", \"M416 360.88V151.12c19.05-11.09 32-31.49 32-55.12 0-35.35-28.65-64-64-64-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-23.63-12.94-44.04-31.99-55.12zm-320 0V151.12A63.825 63.825 0 0 0 119.12 128h209.75a63.825 63.825 0 0 0 23.12 23.12v209.75a63.825 63.825 0 0 0-23.12 23.12H119.12A63.798 63.798 0 0 0 96 360.88zM400 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};\nvar faDreidel = {\n prefix: 'fas',\n iconName: 'dreidel',\n icon: [448, 512, [], \"f792\", \"M19.6 224C7 236.5 0 253.5 0 271.3v141.8c0 37 29.9 66.9 66.9 66.9h141.8c17.7 0 34.7-7 47.3-19.6l58.9-58.9L78.5 165.1 19.6 224zM443.3 59.3l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-109 109-71.9-71.9c-13.1-13.1-34.2-13.1-47.3 0l-68.7 68.7 236.4 236.4 68.7-68.7c13.1-13.1 13.1-34.2 0-47.3l-72-71.9 109-109c6.3-6.3 6.3-16.4 0-22.7z\"]\n};\nvar faDrone = {\n prefix: 'fas',\n iconName: 'drone',\n icon: [512, 512, [], \"f85f\", \"M112 224a110.32 110.32 0 0 0 16.26-1.64l-35.93-49.77a63.82 63.82 0 1 1 80.26-80.26l49.77 35.93A110.45 110.45 0 0 0 224 112a112 112 0 1 0-112 112zM339.41 92.33a63.82 63.82 0 1 1 80.26 80.26l-35.93 49.77A110.32 110.32 0 0 0 400 224a112 112 0 1 0-112-112 110.32 110.32 0 0 0 1.64 16.26zM172.59 419.67a63.82 63.82 0 1 1-80.26-80.26l35.93-49.77A110.32 110.32 0 0 0 112 288a112 112 0 1 0 112 112 110.32 110.32 0 0 0-1.64-16.26zM400 288a110.32 110.32 0 0 0-16.26 1.64l35.93 49.77a63.82 63.82 0 1 1-80.26 80.25l-49.77-35.92A110.32 110.32 0 0 0 288 400a112 112 0 1 0 112-112zm1-144.2a31.91 31.91 0 1 0-32.8-32.8l-67.86 49h-88.68l-67.86-49a31.91 31.91 0 1 0-32.8 32.8l49 67.86v88.68l-49 67.86a31.91 31.91 0 1 0 32.8 32.8l67.86-49h88.68l67.86 49a31.91 31.91 0 1 0 32.8-32.8l-49-67.86v-88.68z\"]\n};\nvar faDroneAlt = {\n prefix: 'fas',\n iconName: 'drone-alt',\n icon: [640, 512, [], \"f860\", \"M288 136a24 24 0 0 0-24-24h-97.62a23.66 23.66 0 0 0-44.77 0H24a24 24 0 0 0 0 48h240a24 24 0 0 0 24-24zm328.4-23.93l-97.82.31a23.58 23.58 0 0 0-45 .14l-98 .31a23.55 23.55 0 0 0 .15 47.09l240.81-.77a23.54 23.54 0 0 0-.15-47.08zM472 237.65l-96.85-29.05a191.9 191.9 0 0 0-110.33 0L168 237.65V192h-48v64.05a32 32 0 0 0 32 32h45.4a179 179 0 0 0-53.33 110.24 16.14 16.14 0 0 0 16 17.71h16.25c8.34 0 14.76-6.58 15.68-14.87a130 130 0 0 1 53.67-91.38l32.92 32.93a32 32 0 0 0 22.63 9.37h37.49a32 32 0 0 0 22.63-9.37l32.92-32.93A130.06 130.06 0 0 1 448 401.13c.92 8.29 7.34 14.85 15.68 14.87h16.25a16.14 16.14 0 0 0 16-17.71 179 179 0 0 0-53.33-110.24H488a32 32 0 0 0 32-32V192h-48z\"]\n};\nvar faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [], \"f569\", \"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};\nvar faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"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};\nvar faDrumstick = {\n prefix: 'fas',\n iconName: 'drumstick',\n icon: [512, 512, [], \"f6d6\", \"M462.43 49.57a169.21 169.21 0 0 0-239.31 0C187.66 85 160 128 160 192v85.83l-40.59 40.59c-9.71 9.69-24 11.07-36.76 6a60.31 60.31 0 0 0-65 98.72c15.27 15.27 36.5 19.58 56.1 15.09-4.49 19.6-.18 40.83 15.09 56.1a60.32 60.32 0 0 0 98.73-65c-5.09-12.73-3.72-27 6-36.75l40.6-40.58H320c64 0 107-27.66 142.44-63.12a169.22 169.22 0 0 0-.01-239.31z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"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};\nvar faDryer = {\n prefix: 'fas',\n iconName: 'dryer',\n icon: [448, 512, [], \"f861\", \"M384 0H64A64 64 0 0 0 0 64v416a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a64 64 0 0 0-64-64zM184 64a24 24 0 1 1-24 24 24 24 0 0 1 24-24zM64 88a24 24 0 1 1 24 24 24 24 0 0 1-24-24zm160 360a144 144 0 1 1 144-144 144 144 0 0 1-144 144zm-8-176c0-22.64-11.95-34.59-20.69-43.33-5.82-5.82-9.24-9.45-10.6-14.62A8 8 0 0 0 177 208h-16.29a8.16 8.16 0 0 0-8 9.53c2.77 16.64 12.51 26.38 19.93 33.8C180.53 259.17 184 263 184 272s-3.47 12.86-11.31 20.7C164 301.47 152 313.42 152 336.06s11.95 34.56 20.69 43.28c5.82 5.82 9.23 9.44 10.6 14.59A8 8 0 0 0 191 400h16.32a8.16 8.16 0 0 0 8-9.53c-2.77-16.61-12.51-26.35-19.93-33.75C187.47 348.88 184 345 184 336.06s3.47-12.86 11.31-20.7C204.05 306.62 216 294.67 216 272zm80 0c0-22.64-11.95-34.59-20.69-43.33-5.82-5.82-9.24-9.45-10.6-14.62A8 8 0 0 0 257 208h-16.29a8.16 8.16 0 0 0-8 9.53c2.77 16.64 12.51 26.38 19.93 33.8C260.53 259.17 264 263 264 272s-3.47 12.86-11.31 20.7C244 301.47 232 313.42 232 336.06s11.95 34.56 20.69 43.28c5.82 5.82 9.23 9.44 10.6 14.59A8 8 0 0 0 271 400h16.32a8.16 8.16 0 0 0 7.95-9.53c-2.77-16.61-12.51-26.35-19.93-33.75C267.47 348.88 264 345 264 336.06s3.47-12.86 11.31-20.7C284.05 306.62 296 294.67 296 272z\"]\n};\nvar faDryerAlt = {\n prefix: 'fas',\n iconName: 'dryer-alt',\n icon: [448, 512, [], \"f862\", \"M384 0H64A64 64 0 0 0 0 64v416a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a64 64 0 0 0-64-64zM184 64a24 24 0 1 1-24 24 24 24 0 0 1 24-24zM64 88a24 24 0 1 1 24 24 24 24 0 0 1-24-24zm160 360a144 144 0 1 1 144-144 144 144 0 0 1-144 144zm0-256a112 112 0 1 0 112 112 112 112 0 0 0-112-112zm0 192a80 80 0 0 1-78.39-64H184a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8h-38.39A80 80 0 1 1 224 384z\"]\n};\nvar faDuck = {\n prefix: 'fas',\n iconName: 'duck',\n icon: [512, 512, [], \"f6d8\", \"M416 224c53.02 0 96-42.98 96-96h-64c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 23.15 8.37 44.15 22.1 60.59 6.25 7.48 9.9 16.78 9.9 26.53 0 22.58-18.3 40.88-40.88 40.88h-21.69c-31.51 0-80.18-13.2-101.68-36.24C113.73 209.03 96 216.17 96 230.63 96 315.33 164.67 384 249.37 384h-32c-76.01 0-138.67-55.44-150.82-128h-50.4C7.03 256-.64 263.66.03 272.75 8.61 388.64 105.35 480 223.42 480h107.2c55.51 0 110.81-44.52 116.72-99.71 4.54-42.43-14.76-80.4-46.04-102.86-10.85-7.79-17.3-20.27-17.3-33.63 0-7.12 1.97-13.83 5.33-19.79H416zm-64-80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"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};\nvar faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"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};\nvar faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"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};\nvar faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"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};\nvar faEar = {\n prefix: 'fas',\n iconName: 'ear',\n icon: [384, 512, [], \"f5f0\", \"M192 0C85.96 0 0 85.96 0 192v176c0 79.53 64.47 144 144 144s144-64.47 144-144v-9.9c57.33-33.21 96-95.08 96-166.1C384 85.96 298.04 0 192 0zm128 200c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-8c0-52.94-43.06-96-96-96s-96 43.06-96 96c0 17.64 14.36 32 32 32h32c35.3 0 64 28.7 64 64s-28.7 64-64 64h-8c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h8c17.64 0 32-14.36 32-32s-14.36-32-32-32h-32c-35.3 0-64-28.7-64-64 0-70.58 57.42-128 128-128s128 57.42 128 128v8z\"]\n};\nvar faEarMuffs = {\n prefix: 'fas',\n iconName: 'ear-muffs',\n icon: [640, 512, [], \"f795\", \"M152 224c-11.9 0-22.3 5.4-29.6 13.7-10.6-6.9-23.8-9.3-36.4-4.4-11.8 4.8-20.2 14.7-23.7 26.2-11.8-.3-23.4 4.8-31.7 14.4-8 9.9-10.6 22.1-8.3 33.6-10.2 5.1-18.6 14.7-21.1 26.9-2.9 12.2.3 24 7.4 33.3-7 9-10.2 21.1-7.7 33.3 2.9 12.2 10.9 21.8 21.4 27.2-2.6 11.2 0 23.7 8 33.3 8 9.9 19.8 14.7 31.7 14.7 3.2 11.5 11.5 21.1 23.4 26.2 5.1 1.9 9.9 2.9 15 2.9 7.9 0 15.6-2.4 22.1-6.8 7.3 8.2 17.7 13.5 29.5 13.5 22.1 0 40-17.9 40-40 0-10-4-18.9-10.1-25.9 6.1-7 10.1-15.9 10.1-25.9 0-9.9-3.5-19.2-9.6-26.2 6.1-7 9.6-16 9.6-25.9s-3.5-18.9-9.6-25.9c6.1-7 9.6-16 9.6-25.9 0-10.2-4.1-19.1-10.2-26.1 6.1-7 10.2-16 10.2-26 0-22.3-17.9-40.2-40-40.2zm487.1 111c-2.9-12.2-10.9-21.8-21.4-26.9 2.6-11.5 0-24-8-33.6-8-9.9-19.8-14.7-31.7-14.7-3.2-11.5-11.5-21.4-23.4-26.2-12.7-5-26.1-2.5-36.8 4.5-7.3-8.4-17.8-14.1-29.9-14.1-22.1 0-40 17.9-40 40 0 10.1 4.1 19 10.2 26-6.1 7-10.2 15.9-10.2 26.1 0 9.9 3.5 18.9 9.6 25.9-6.1 7-9.6 16-9.6 25.9s3.5 18.9 9.6 25.9c-6.1 7-9.6 16-9.6 25.9 0 10.2 4.1 19.1 10.2 26.1-6.1 7-10.2 16-10.2 26 0 22.1 17.9 40 40 40 11.7 0 22-5.2 29.3-13.2 6.5 4.2 14.1 6.5 22 6.5 4.8 0 9.9-.6 14.7-2.9 11.8-4.5 20.2-14.4 23.4-25.9 11.8.3 23.7-4.8 32-14.4 8-9.9 10.6-22.1 8.3-33.6 10.2-5.1 18.2-14.7 21.1-26.9s-.3-24.3-7.4-33.3c7.2-8.7 10.4-20.9 7.8-33.1zM506.3 194.5c5.7 1.6 11.3 3.8 16.5 6.8 5.9-1.5 11.9-2.3 18-2.3 5.3 0 10.5.8 15.7 2C537.8 87.2 439 0 320 0S102.3 87.1 83.5 200.9c5.3-1.3 10.7-2.1 16.2-2.1 6.1 0 12.1.8 18 2.3 5.1-2.8 10.5-5 16-6.5C154.2 110.6 229.8 48 320 48c90.2 0 165.8 62.6 186.3 146.5z\"]\n};\nvar faEclipse = {\n prefix: 'fas',\n iconName: 'eclipse',\n icon: [640, 512, [], \"f749\", \"M464 80c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176S561.2 80 464 80zM165.5 346.5c-49.9-49.9-49.9-131.1 0-181 35.1-35.1 85.5-45 129.8-30.7 7.5-10.4 15.8-20.1 25.1-28.9L271.5 9.6c-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 5.3 1.8c-10.7-9.7-20.3-20.5-28.8-32.3-44.2 14.3-94.6 4.4-129.7-30.7zM256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96c7.7 0 15.1-1.2 22.3-2.9-14.2-28-22.3-59.6-22.3-93.1 0-33.5 8.1-65.1 22.3-93.1-7.2-1.7-14.6-2.9-22.3-2.9z\"]\n};\nvar faEclipseAlt = {\n prefix: 'fas',\n iconName: 'eclipse-alt',\n icon: [512, 512, [], \"f74a\", \"M502.4 240.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-181s131.1-49.9 181 0c49.9 49.9 49.9 131.1 0 181zm-20.4-37.3c-46.5 8.9-89.3-26.8-89.3-73.9 0-27.1 14.5-52 38-65.4 3.6-2.1 2.7-7.6-1.4-8.3-5.8-1.1-11.6-1.6-17.5-1.6-52.9 0-95.9 42.9-95.9 96 0 53 42.9 96 95.9 96 29.6 0 56.6-13.5 74.5-35.5 2.7-3.3-.2-8.1-4.3-7.3z\"]\n};\nvar faEdit = {\n prefix: 'fas',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"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};\nvar faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [], \"f7fb\", \"M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z\"]\n};\nvar faEggFried = {\n prefix: 'fas',\n iconName: 'egg-fried',\n icon: [512, 512, [], \"f7fc\", \"M478.32 150.45c-39.5-40.71-100.73-46.29-144.39-82.24C284.12 27.2 245.81-9.25 175.39 2.1c-86.78 14-111.71 80-125 157.14-11.1 64.34-54.41 127-50 192.91s52.83 128.43 114.97 150.74c93 33.39 146.94-31.71 204.64-86.45 43.68-41.44 93.4-37.72 140.93-73.89 56.28-42.82 71.71-140.55 17.39-192.1zM224 352.38c-61.74 0-112-50.3-112-112.11s50.26-112.12 112-112.12 112 50.29 112 112.12-50.19 112.11-112 112.11zM216 160a72.09 72.09 0 0 0-72 72 16 16 0 0 0 32 0 40.05 40.05 0 0 1 40-40 16 16 0 0 0 0-32z\"]\n};\nvar faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [], \"f052\", \"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};\nvar faElephant = {\n prefix: 'fas',\n iconName: 'elephant',\n icon: [640, 512, [], \"f6da\", \"M512 32c-13.16 0-25.52 2.66-37.4 6.4C464.71 15.82 442.23 0 416 0c-35.35 0-64 28.65-64 64 0 23.63 12.95 44.04 32 55.12V160c0 17.67 14.33 32 32 32h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-35.29 0-64-28.71-64-64v-24.8c-20.08-18.03-32-43.92-32-71.2 0-11.28 2.31-21.94 5.9-32H192C85.96 32 0 117.96 0 224v112c0 8.84 7.16 16 16 16h16v144c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V388.15C160.35 405.7 198.72 416 240 416s79.65-10.3 112-27.85V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h64c23.44 0 45.11-6.76 64-17.75V368c0 8.83-7.17 16-16 16s-16-7.17-16-16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16 0 46.87 40.52 84.46 88.36 79.57 41.62-4.25 71.64-42.46 71.64-84.3V160c0-70.69-57.31-128-128-128zm16 128c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faEllipsisH = {\n prefix: 'fas',\n iconName: 'ellipsis-h',\n icon: [512, 512, [], \"f141\", \"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};\nvar faEllipsisHAlt = {\n prefix: 'fas',\n iconName: 'ellipsis-h-alt',\n icon: [512, 512, [], \"f39b\", \"M256 242c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14m0-58c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm176 58c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14m0-58c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zM80 242c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14m0-58c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"]\n};\nvar faEllipsisV = {\n prefix: 'fas',\n iconName: 'ellipsis-v',\n icon: [192, 512, [], \"f142\", \"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};\nvar faEllipsisVAlt = {\n prefix: 'fas',\n iconName: 'ellipsis-v-alt',\n icon: [192, 512, [], \"f39c\", \"M96 242c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14m0-58c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0-118c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14m0-58C56.2 8 24 40.2 24 80s32.2 72 72 72 72-32.2 72-72S135.8 8 96 8zm0 410c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14m0-58c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"]\n};\nvar faEmptySet = {\n prefix: 'fas',\n iconName: 'empty-set',\n icon: [512, 512, [], \"f656\", \"M507.31 27.31L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0l-72.09 72.09C352.57 48.78 306.31 32 256 32 132.29 32 32 132.29 32 256c0 50.3 16.78 96.57 44.78 133.96l-72.09 72.1c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l72.09-72.09C159.43 463.22 205.7 480 256 480c123.71 0 224-100.29 224-224 0-50.3-16.78-96.57-44.78-133.96l72.09-72.09c6.25-6.26 6.25-16.39 0-22.64zM112 256c0-79.4 64.6-144 144-144 28.11 0 54.16 8.41 76.35 22.39L134.39 332.35C120.41 310.16 112 284.11 112 256zm288 0c0 79.4-64.6 144-144 144-28.11 0-54.16-8.41-76.35-22.39L377.6 179.65C391.59 201.84 400 227.89 400 256z\"]\n};\nvar faEngineWarning = {\n prefix: 'fas',\n iconName: 'engine-warning',\n icon: [640, 512, [], \"f5f2\", \"M48 256c0-59.53 19.55-117.38 55.36-164.51 5.18-6.81 4.48-16.31-2.03-21.86l-12.2-10.41c-6.91-5.9-17.62-5.06-23.15 2.15C23.32 117.02 0 185.5 0 256c0 70.47 23.32 138.96 65.96 194.62 5.53 7.21 16.23 8.05 23.15 2.16l12.19-10.4c6.51-5.55 7.21-15.04 2.04-21.86C67.55 373.37 48 315.53 48 256zM320 32C196.3 32 96 132.3 96 256c0 123.76 100.3 224 224 224s224-100.24 224-224c0-123.7-100.3-224-224-224zm0 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.44-110.41c-.82 8.18-7.7 14.41-15.92 14.41h-19.04c-8.22 0-15.1-6.23-15.92-14.41l-12.8-128c-.94-9.42 6.45-17.59 15.92-17.59h44.64c9.47 0 16.86 8.17 15.92 17.59l-12.8 128zM572.73 59.71c-5.58-7.18-16.29-7.95-23.17-2l-12.15 10.51c-6.47 5.6-7.1 15.09-1.88 21.87C572.04 137.47 592 195.81 592 256c0 60.23-19.96 118.57-56.46 165.95-5.22 6.78-4.59 16.27 1.88 21.87l12.15 10.5c6.87 5.95 17.59 5.18 23.17-2C616.21 396.38 640 327.31 640 256c0-71.27-23.79-140.34-67.27-196.29z\"]\n};\nvar faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"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};\nvar faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"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};\nvar faEnvelopeOpenDollar = {\n prefix: 'fas',\n iconName: 'envelope-open-dollar',\n icon: [512, 512, [], \"f657\", \"M256 417.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.18 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.77zM264 136h-16c-4.42 0-8 3.58-8 8v16.12c-23.62.63-42.67 20.55-42.67 45.07 0 19.97 12.98 37.81 31.58 43.39l45 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.11c-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.35V336c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.62-.63 42.67-20.54 42.67-45.07 0-19.97-12.98-37.81-31.58-43.39l-45-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.35V144c0-4.42-3.58-8-8-8z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"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};\nvar faEnvelopeSquare = {\n prefix: 'fas',\n iconName: 'envelope-square',\n icon: [448, 512, [], \"f199\", \"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};\nvar faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [], \"f52c\", \"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};\nvar faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [512, 512, [], \"f12d\", \"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};\nvar faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"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};\nvar faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [], \"f153\", \"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};\nvar faExchange = {\n prefix: 'fas',\n iconName: 'exchange',\n icon: [512, 512, [], \"f0ec\", \"M0 168v-16c0-13.255 10.745-24 24-24h381.97l-30.467-27.728c-9.815-9.289-10.03-24.846-.474-34.402l10.84-10.84c9.373-9.373 24.568-9.373 33.941 0l82.817 82.343c12.497 12.497 12.497 32.758 0 45.255l-82.817 82.343c-9.373 9.373-24.569 9.373-33.941 0l-10.84-10.84c-9.556-9.556-9.341-25.114.474-34.402L405.97 192H24c-13.255 0-24-10.745-24-24zm488 152H106.03l30.467-27.728c9.815-9.289 10.03-24.846.474-34.402l-10.84-10.84c-9.373-9.373-24.568-9.373-33.941 0L9.373 329.373c-12.497 12.497-12.497 32.758 0 45.255l82.817 82.343c9.373 9.373 24.569 9.373 33.941 0l10.84-10.84c9.556-9.556 9.341-25.113-.474-34.402L106.03 384H488c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z\"]\n};\nvar faExchangeAlt = {\n prefix: 'fas',\n iconName: 'exchange-alt',\n icon: [512, 512, [], \"f362\", \"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};\nvar faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [192, 512, [], \"f12a\", \"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};\nvar faExclamationCircle = {\n prefix: 'fas',\n iconName: 'exclamation-circle',\n icon: [512, 512, [], \"f06a\", \"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};\nvar faExclamationSquare = {\n prefix: 'fas',\n iconName: 'exclamation-square',\n icon: [448, 512, [], \"f321\", \"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-48zm-207.691 96h63.382c6.884 0 12.357 5.78 11.982 12.654l-7.418 136c-.347 6.364-5.609 11.346-11.982 11.346h-48.546c-6.373 0-11.635-4.982-11.982-11.346l-7.418-136c-.375-6.874 5.098-12.654 11.982-12.654zM224 398c-25.405 0-46-20.595-46-46s20.595-46 46-46 46 20.595 46 46-20.595 46-46 46z\"]\n};\nvar faExclamationTriangle = {\n prefix: 'fas',\n iconName: 'exclamation-triangle',\n icon: [576, 512, [], \"f071\", \"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};\nvar faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"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};\nvar faExpandAlt = {\n prefix: 'fas',\n iconName: 'expand-alt',\n icon: [448, 512, [], \"f424\", \"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};\nvar faExpandArrows = {\n prefix: 'fas',\n iconName: 'expand-arrows',\n icon: [448, 512, [], \"f31d\", \"M448 312v136c0 17.7-14.3 32-32 32H280c-13.3 0-24-10.7-24-24v-15.3c0-13.5 11.2-24.4 24.7-24l66.3 1.9-123-123-123 123 66.3-1.9c13.5-.4 24.7 10.5 24.7 24V456c0 13.3-10.7 24-24 24H32c-17.7 0-32-14.3-32-32V312c0-13.3 10.7-24 24-24h15.3c13.5 0 24.4 11.2 24 24.7L61.4 379l123-123-123-123 1.9 66.3c.4 13.5-10.5 24.7-24 24.7H24c-13.3 0-24-10.7-24-24V64c0-17.7 14.3-32 32-32h136c13.3 0 24 10.7 24 24v15.3c0 13.5-11.2 24.4-24.7 24L101 93.4l123 123 123-123-66.3 1.9c-13.5.4-24.7-10.5-24.7-24V56c0-13.3 10.7-24 24-24h136c17.7 0 32 14.3 32 32v136c0 13.3-10.7 24-24 24h-15.3c-13.5 0-24.4-11.2-24-24.7l1.9-66.3-123 123 123 123-1.9-66.3c-.4-13.5 10.5-24.7 24-24.7H424c13.3 0 24 10.7 24 24z\"]\n};\nvar faExpandArrowsAlt = {\n prefix: 'fas',\n iconName: 'expand-arrows-alt',\n icon: [448, 512, [], \"f31e\", \"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};\nvar faExpandWide = {\n prefix: 'fas',\n iconName: 'expand-wide',\n icon: [512, 512, [], \"f320\", \"M0 212V88c0-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-12zM352 76v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V88c0-13.3-10.7-24-24-24H364c-6.6 0-12 5.4-12 12zm148 212h-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-24V300c0-6.6-5.4-12-12-12zM160 436v-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};\nvar faExternalLink = {\n prefix: 'fas',\n iconName: 'external-link',\n icon: [512, 512, [], \"f08e\", \"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,320ZM474.67,0H316a28,28,0,0,0-28,28V46.71A28,28,0,0,0,316.79,73.9L384,72,135.06,319.09l-.06.06a24,24,0,0,0,0,33.94l23.94,23.85.06.06a24,24,0,0,0,33.91-.09L440,128l-1.88,67.22V196a28,28,0,0,0,28,28H484a28,28,0,0,0,28-28V37.33h0A37.33,37.33,0,0,0,474.67,0Z\"]\n};\nvar faExternalLinkAlt = {\n prefix: 'fas',\n iconName: 'external-link-alt',\n icon: [512, 512, [], \"f35d\", \"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};\nvar faExternalLinkSquare = {\n prefix: 'fas',\n iconName: 'external-link-square',\n icon: [448, 512, [], \"f14c\", \"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-64 47.111C384 109.929 370.071 96 352.889 96H220.667c-12.887 0-23.333 10.447-23.333 23.334v14.904c0 13.138 10.843 23.686 23.976 23.324l56.002-1.588L69.908 361.908c-7.858 7.802-7.88 20.504-.05 28.334l19.899 19.899c7.83 7.83 20.532 7.808 28.334-.05l205.935-207.404-1.588 56.003c-.362 13.133 10.186 23.976 23.324 23.976h14.904c12.887 0 23.334-10.447 23.334-23.333V127.111z\"]\n};\nvar faExternalLinkSquareAlt = {\n prefix: 'fas',\n iconName: 'external-link-square-alt',\n icon: [448, 512, [], \"f360\", \"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};\nvar faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"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};\nvar faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [], \"f1fb\", \"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};\nvar faEyeEvil = {\n prefix: 'fas',\n iconName: 'eye-evil',\n icon: [640, 512, [], \"f6db\", \"M627.03 239.08l-111.87-30.3c-4.79-6.56-10.15-13.4-16.13-20.45 1.35-2.07 55.18-87.98 55.18-87.98 8.94-14.32-6.1-31.35-22.45-25.42L412 118.29c-9.68-4.81-19.91-8.91-30.65-12.32l-44.47-95.24c-6.68-14.31-27.08-14.31-33.76 0l-44.47 95.24c-10.74 3.4-20.97 7.51-30.65 12.32L108.23 74.93C91.88 69 76.85 86.03 85.78 100.35c0 0 53.84 85.92 55.18 87.98a359.126 359.126 0 0 0-16.13 20.45l-111.87 30.3c-17.29 4.68-17.29 29.15 0 33.83l111.87 30.3c4.78 6.54 10.11 13.35 16.07 20.38-1.34 2.09-55.12 88.05-55.12 88.05-8.94 14.32 6.1 31.35 22.45 25.43L228 393.71c9.68 4.81 19.91 8.92 30.65 12.32l44.47 95.24c6.68 14.31 27.08 14.31 33.76 0l44.47-95.24c10.74-3.4 20.97-7.51 30.65-12.32l119.77 43.36c16.35 5.92 31.39-11.11 22.45-25.43 0 0-53.78-85.96-55.12-88.05 5.96-7.03 11.29-13.84 16.07-20.38l111.87-30.3c17.28-4.68 17.28-29.14-.01-33.83zM320 352c-53.02 0-96-42.98-96-96 0-19.73 5.99-38.06 16.2-53.31 15.91 9.57 34.77 16.33 55.59 19.33-4.41 9.25-7.79 20.41-7.79 33.98 0 42.67 32 64 32 64s32-21.33 32-64c0-13.57-3.37-24.73-7.79-33.98 20.82-3 39.68-9.76 55.59-19.33C410.01 217.94 416 236.27 416 256c0 53.02-42.98 96-96 96z\"]\n};\nvar faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"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};\nvar faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"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};\nvar faFanTable = {\n prefix: 'fas',\n iconName: 'fan-table',\n icon: [448, 512, [], \"e004\", \"M320,448H248V414.51C351.55,402.59,432,314.75,432,208,432,93.13,338.88,0,224,0S16,93.13,16,208c0,106.75,80.45,194.59,184,206.51V448H128c-28.42,0-54.95,18.53-63.3,44.16C61.48,502,69.88,512,80.26,512H367.74c10.38,0,18.78-10,15.56-19.84C375,466.53,348.42,448,320,448ZM119.67,334.8c-7.09-4.08-14.57-16.86-5.14-28.28l67.47-82c-57.17-20.29-69.18-77.3-59.64-113a93.77,93.77,0,0,1,44-57.34l0,0c13-7.39,24.26,2.35,27,9.73l37.08,99A94.36,94.36,0,0,1,386,235a18.84,18.84,0,0,1-21.91,18.58l-104.7-17.45a93.41,93.41,0,0,1-10.7,64.11A94.47,94.47,0,0,1,119.67,334.8ZM224,192a16,16,0,1,1-16,16A16,16,0,0,1,224,192Z\"]\n};\nvar faFarm = {\n prefix: 'fas',\n iconName: 'farm',\n icon: [576, 512, [], \"f864\", \"M221.5 91.08l.37-.17A111.93 111.93 0 0 0 0 112v400h128V260.54a64.35 64.35 0 0 1 6.76-28.63l55.48-111a64.12 64.12 0 0 1 31.26-29.83zm351.12 155.14l-55.49-111a32 32 0 0 0-15.62-14.93L381 66.76a32 32 0 0 0-26 0l-120.51 53.56a32 32 0 0 0-15.62 14.93l-55.49 111a32.08 32.08 0 0 0-3.38 14.29V512h128v-96h160v96h128V260.54a32.08 32.08 0 0 0-3.38-14.32zM416 320h-96v-96h96z\"]\n};\nvar faFastBackward = {\n prefix: 'fas',\n iconName: 'fast-backward',\n icon: [512, 512, [], \"f049\", \"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};\nvar faFastForward = {\n prefix: 'fas',\n iconName: 'fast-forward',\n icon: [512, 512, [], \"f050\", \"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};\nvar faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"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};\nvar faFaucetDrip = {\n prefix: 'fas',\n iconName: 'faucet-drip',\n icon: [512, 512, [], \"e006\", \"M416,480a32,32,0,0,0,64,0c0-17.67-32-64-32-64S416,462.33,416,480ZM352,192H313.39c-15.71-13.44-35.46-23.07-57.39-28V116.44l-32-3.38-32,3.38V164c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,208v96a16,16,0,0,0,16,16h92.79C129.38,357.73,173,384,224,384s94.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,192ZM81.59,95.91,224,80.89l142.41,15c9.42,1,17.59-6.81,17.59-16.8V48.89c0-10-8.17-17.8-17.59-16.8L256,43.74V16A16,16,0,0,0,240,0H208a16,16,0,0,0-16,16V43.74L81.59,32.09C72.17,31.09,64,38.9,64,48.89V79.11C64,89.1,72.17,96.91,81.59,95.91Z\"]\n};\nvar faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [], \"f1ac\", \"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};\nvar faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [], \"f52d\", \"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};\nvar faFeatherAlt = {\n prefix: 'fas',\n iconName: 'feather-alt',\n icon: [512, 512, [], \"f56b\", \"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};\nvar faFemale = {\n prefix: 'fas',\n iconName: 'female',\n icon: [256, 512, [], \"f182\", \"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};\nvar faFieldHockey = {\n prefix: 'fas',\n iconName: 'field-hockey',\n icon: [640, 512, [], \"f44c\", \"M560.7 0H628c6.6 0 12 5.4 12 12v124.9c0 3.2-1.3 6.2-3.5 8.5L592 190 479 76.9l73.3-73.3c2.2-2.3 5.2-3.6 8.4-3.6zm-53.4 274.7l50.8-50.8-113-113.1-230.7 231c-30 29.9-75-15.4-45.2-45.3 31.2-31.2 31.2-81.9 0-113.1-31.2-31.2-81.8-31.2-113 0C19.9 219.7 0 267.9 0 319.2c0 106 85.6 192 191.8 192 86.1 0 132.5-53.2 147.4-68-19.3-100.5 68.5-187.6 168.1-168.5zM480.2 320c-53 0-95.9 43-95.9 96s42.9 96 95.9 96 95.9-43 95.9-96-42.9-96-95.9-96z\"]\n};\nvar faFighterJet = {\n prefix: 'fas',\n iconName: 'fighter-jet',\n icon: [640, 512, [], \"f0fb\", \"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};\nvar faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"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};\nvar faFileAlt = {\n prefix: 'fas',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"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};\nvar faFileArchive = {\n prefix: 'fas',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"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};\nvar faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"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};\nvar faFileCertificate = {\n prefix: 'fas',\n iconName: 'file-certificate',\n icon: [512, 512, [], \"f5f3\", \"M504.99 105.01l-97.9-98c-7.71-7.71-16-7-23.1-7v128h128c0-7.53.64-15.35-7-23zm-153 31V.01H152c-13.3 0-24 10.7-24 24V133c18.3-5 19.58-5 26.45-5 16.23 0 32.1 6.67 43.53 18.3 8.72 9.59 4.41 6.98 18.28 10.76 21.07 5.75 37.64 22.53 43.23 43.8 3.11 13.2.6 8.66 10.75 18.99 15.25 15.51 21.26 38.26 15.7 59.36-3.75 13.23-3.71 8.01 0 22.12 5.57 21.11-.45 43.85-15.69 59.37-9.64 9.36-7.04 4.88-10.75 18.99-4.89 18.59-18.16 33.75-35.5 41.12V512h263.99c13.3 0 24-10.7 24-24V160.01h-136c-13.2 0-24-10.8-24-24zM247.42 338.28c7.4-7.53 10.29-18.5 7.58-28.79-5.43-20.65-5.44-17.74 0-38.42 2.71-10.28-.18-21.26-7.58-28.79-14.86-15.12-13.43-12.61-18.87-33.27-2.71-10.28-10.6-18.32-20.71-21.07-20.28-5.53-17.84-4.1-32.69-19.21-7.4-7.53-18.18-10.47-28.28-7.71-20.32 5.54-17.46 5.53-37.75 0-10.1-2.76-20.88.19-28.28 7.71-14.91 15.18-12.5 13.7-32.69 19.21-10.11 2.76-18 10.79-20.71 21.07-5.46 20.74-4 18.13-18.87 33.27-7.4 7.53-10.29 18.5-7.58 28.79 5.45 20.71 5.42 17.79 0 38.41-2.71 10.28.18 21.26 7.58 28.79 14.85 15.11 13.43 12.61 18.87 33.27 2.71 10.28 10.6 18.32 20.71 21.07 14.31 3.9 11.52 2.97 15.84 5V512l64-32 64 32V397.62c4.31-2.02 1.52-1.1 15.84-5 10.11-2.76 18-10.79 20.71-21.07 5.47-20.74 4.01-18.13 18.88-33.27zM128 352.01c-35.34 0-64-28.65-64-64s28.66-64 64-64 64 28.65 64 64-28.66 64-64 64z\"]\n};\nvar faFileChartLine = {\n prefix: 'fas',\n iconName: 'file-chart-line',\n icon: [384, 512, [], \"f659\", \"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-24zm-96 299.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-70.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v70.4zm96 0c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V236.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v198.4zm32-134.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v134.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V300.8z\"]\n};\nvar faFileChartPie = {\n prefix: 'fas',\n iconName: 'file-chart-pie',\n icon: [384, 512, [], \"f65a\", \"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-87.49 302.53c-28.73-11.16-51.87-34.3-63.04-63.03C43.42 298.14 90.91 224.8 160 210.66V352h141.34c-14.14 69.09-87.48 116.58-164.83 86.53zm175.63-118.55c0 .01.01.02 0 .02H192V199.86c0-.01.01 0 .02 0 66.34.01 120.11 53.78 120.12 120.12zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileCheck = {\n prefix: 'fas',\n iconName: 'file-check',\n icon: [384, 512, [], \"f316\", \"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 160h136v328c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V24C0 10.745 10.745 0 24 0h200v136c0 13.2 10.8 24 24 24zm65.296 109.732l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L162.12 346.45l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068L70.772 328.2c-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};\nvar faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"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};\nvar faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"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};\nvar faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [384, 512, [], \"f6dd\", \"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};\nvar faFileDownload = {\n prefix: 'fas',\n iconName: 'file-download',\n icon: [384, 512, [], \"f56d\", \"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};\nvar faFileEdit = {\n prefix: 'fas',\n iconName: 'file-edit',\n icon: [384, 512, [], \"f31c\", \"M384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9zM248 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-59.6 109.6l-95 95-5.4 48.2c-.7 6.4 4.7 11.9 11.2 11.2l48.2-5.4 95-95c2-2 2-5.2 0-7.2l-46.8-46.8c-2-2-5.2-2-7.2 0zm109.7-30.3l-25.4-25.4c-7.9-7.9-20.7-7.9-28.6 0l-26 26c-2 2-2 5.2 0 7.2l46.8 46.8c2 2 5.2 2 7.2 0l26-26c7.9-7.9 7.9-20.7 0-28.6z\"]\n};\nvar faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"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};\nvar faFileExclamation = {\n prefix: 'fas',\n iconName: 'file-exclamation',\n icon: [384, 512, [], \"f31a\", \"M384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9zm0 38.1v328c0 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 24h136zm-231.2 60.8l7.2 112c.4 6.3 5.6 11.2 12 11.2h40c6.3 0 11.6-4.9 12-11.2l7.2-112c.4-6.9-5-12.8-12-12.8h-54.4c-6.9 0-12.4 5.8-12 12.8zM232 400c0-22.1-17.9-40-40-40s-40 17.9-40 40 17.9 40 40 40 40-17.9 40-40z\"]\n};\nvar faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [], \"f56e\", \"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};\nvar faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"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};\nvar faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [], \"f56f\", \"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};\nvar faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"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};\nvar faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"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};\nvar faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"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};\nvar faFileMedicalAlt = {\n prefix: 'fas',\n iconName: 'file-medical-alt',\n icon: [448, 512, [], \"f478\", \"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};\nvar faFileMinus = {\n prefix: 'fas',\n iconName: 'file-minus',\n icon: [384, 512, [], \"f318\", \"M377,105,279.1,7a24,24,0,0,0-17-7H256V128H384v-6.1A23.92,23.92,0,0,0,377,105ZM224,136V0H24A23.94,23.94,0,0,0,0,24V488a23.94,23.94,0,0,0,24,24H360a23.94,23.94,0,0,0,24-24V160H248A24.07,24.07,0,0,1,224,136Zm72,176v16a16,16,0,0,1-16,16H104a16,16,0,0,1-16-16V312a16,16,0,0,1,16-16H280A16,16,0,0,1,296,312Z\"]\n};\nvar faFileMusic = {\n prefix: 'fas',\n iconName: 'file-music',\n icon: [384, 512, [], \"f8b6\", \"M224 136V0H24A23.94 23.94 0 0 0 0 24v464a23.94 23.94 0 0 0 24 24h336a23.94 23.94 0 0 0 24-24V160H248a24.08 24.08 0 0 1-24-24zm64 88v160c0 17.67-21.5 32-48 32s-48-14.33-48-32 21.5-32 48-32a69.89 69.89 0 0 1 16 2v-76.36l-96 37.52V416c0 17.67-21.5 32-48 32s-48-14.33-48-32 21.5-32 48-32a69.89 69.89 0 0 1 16 2V271.25A16 16 0 0 1 139.19 256l128-47.25A16 16 0 0 1 288 224zm89-119L279.09 7a24 24 0 0 0-17-7H256v128h128v-6.09a23.91 23.91 0 0 0-7-16.91z\"]\n};\nvar faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"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};\nvar faFilePlus = {\n prefix: 'fas',\n iconName: 'file-plus',\n icon: [384, 512, [], \"f319\", \"M377,105,279.1,7a24,24,0,0,0-17-7H256V128H384v-6.1A23.92,23.92,0,0,0,377,105ZM224,136V0H24A23.94,23.94,0,0,0,0,24V488a23.94,23.94,0,0,0,24,24H360a23.94,23.94,0,0,0,24-24V160H248A24.07,24.07,0,0,1,224,136Zm72,176v16a16,16,0,0,1-16,16H216v64a16,16,0,0,1-16,16H184a16,16,0,0,1-16-16V344H104a16,16,0,0,1-16-16V312a16,16,0,0,1,16-16h64V232a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64A16,16,0,0,1,296,312Z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"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};\nvar faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"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};\nvar faFileSearch = {\n prefix: 'fas',\n iconName: 'file-search',\n icon: [640, 512, [], \"f865\", \"M288 320c0-65.45 39.59-121.68 96-146.44V160H248a24.07 24.07 0 0 1-24-24V0H24A23.94 23.94 0 0 0 0 24v464a23.94 23.94 0 0 0 24 24h336a23.94 23.94 0 0 0 24-24v-21.56c-56.41-24.75-96-80.99-96-146.44zm96-198.1a23.92 23.92 0 0 0-7-16.9L279.1 7a24 24 0 0 0-17-7H256v128h128zm251.31 340.16l-77.41-77.41A126.69 126.69 0 0 0 576 320a128 128 0 1 0-128 128c23.7 0 45.61-6.88 64.65-18.11l77.41 77.42a16 16 0 0 0 22.63 0l22.62-22.62a16 16 0 0 0 0-22.63zM448 384a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"]\n};\nvar faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"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};\nvar faFileSpreadsheet = {\n prefix: 'fas',\n iconName: 'file-spreadsheet',\n icon: [384, 512, [], \"f65b\", \"M296 368h-48v48h48v-48zm-80-80h-48v48h48v-48zm80 0h-48v48h48v-48zm-80 80h-48v48h48v-48zm8-232V0H24C10.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-24zm104 104v192c0 8.84-7.16 16-16 16H72c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h240c8.84 0 16 7.16 16 16zm49-135L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM136 288H88v48h48v-48zm0 80H88v48h48v-48z\"]\n};\nvar faFileTimes = {\n prefix: 'fas',\n iconName: 'file-times',\n icon: [384, 512, [], \"f317\", \"M224,136V0H24A23.94,23.94,0,0,0,0,24V488a23.94,23.94,0,0,0,24,24H360a23.94,23.94,0,0,0,24-24V160H248A24.07,24.07,0,0,1,224,136Zm35.88,104.8,11.32,11.32a16,16,0,0,1,0,22.63L225.94,320l45.26,45.25a16,16,0,0,1,0,22.63L259.88,399.2a16,16,0,0,1-22.63,0L192,353.94,146.75,399.2a16,16,0,0,1-22.63,0L112.8,387.88a16,16,0,0,1,0-22.63L158.06,320,112.8,274.75a16,16,0,0,1,0-22.63l11.32-11.32a16,16,0,0,1,22.63,0L192,286.06l45.25-45.26A16,16,0,0,1,259.88,240.8ZM377,105,279.1,7a24,24,0,0,0-17-7H256V128H384v-6.1A23.92,23.92,0,0,0,377,105Z\"]\n};\nvar faFileUpload = {\n prefix: 'fas',\n iconName: 'file-upload',\n icon: [384, 512, [], \"f574\", \"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};\nvar faFileUser = {\n prefix: 'fas',\n iconName: 'file-user',\n icon: [384, 512, [], \"f65c\", \"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-24zm80 273.6v19.2c0 10.61-10.03 19.2-22.4 19.2H102.4c-12.37 0-22.4-8.6-22.4-19.2v-19.2c0-31.81 30.09-57.6 67.2-57.6h4.95c12.29 5.12 25.73 8 39.85 8s27.56-2.88 39.85-8h4.95c37.11 0 67.2 25.79 67.2 57.6zM192 320c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm185-215L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"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};\nvar faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"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};\nvar faFilesMedical = {\n prefix: 'fas',\n iconName: 'files-medical',\n icon: [448, 512, [], \"f7fd\", \"M96 392V96H24a24 24 0 0 0-24 24v368a24 24 0 0 0 24 24h272a24 24 0 0 0 24-24v-40H152a56.06 56.06 0 0 1-56-56zm224-288V0H152a24 24 0 0 0-24 24v368a24 24 0 0 0 24 24h272a24 24 0 0 0 24-24V128H344a24.07 24.07 0 0 1-24-24zm64 128v48a8 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 8zm57-159L375 7a24 24 0 0 0-17-7h-6v96h96v-6.06A24 24 0 0 0 441 73z\"]\n};\nvar faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"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};\nvar faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"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};\nvar faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [], \"f008\", \"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};\nvar faFilmAlt = {\n prefix: 'fas',\n iconName: 'film-alt',\n icon: [512, 512, [], \"f3a0\", \"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 12v40zm384 192c0 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};\nvar faFilmCanister = {\n prefix: 'fas',\n iconName: 'film-canister',\n icon: [576, 512, [], \"f8b7\", \"M544 128H352v288h128a32 32 0 0 0 32-32v-32a32 32 0 0 1 32-32 32 32 0 0 0 32-32V160a32 32 0 0 0-32-32zM440 360a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16zm0-160a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16zm96 0a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16zM336 448h-16V96h16a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-80V16a16 16 0 0 0-16-16H112a16 16 0 0 0-16 16v16H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h16v352H16a16 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};\nvar faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"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};\nvar faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"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};\nvar faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [384, 512, [], \"f06d\", \"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};\nvar faFireAlt = {\n prefix: 'fas',\n iconName: 'fire-alt',\n icon: [448, 512, [], \"f7e4\", \"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};\nvar faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [448, 512, [], \"f134\", \"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};\nvar faFireSmoke = {\n prefix: 'fas',\n iconName: 'fire-smoke',\n icon: [640, 512, [], \"f74b\", \"M528 288c-37.1 0-69.7 18.3-90.1 46.1C418.4 288.2 373 256 320 256s-98.4 32.2-117.9 78.1c-20.4-27.8-53-46.1-90.1-46.1C50.1 288 0 338.1 0 400s50.1 112 112 112h416c61.9 0 112-50.1 112-112s-50.1-112-112-112zm-332.3-4.8c9.7-12 21.3-22.3 33.9-31-4.7-11.6-7.4-24.7-7.4-39.3 0-29.8 18.2-56.1 54.4-101.1 5.2 6.2 73.8 96.9 73.8 96.9l43.8-51.7c3.1 5.3 5.9 10.5 8.4 15.4 12.4 24.5 13.9 53.1 5.1 77.8 13.7 9 26.1 20 36.5 32.8 13.5-9.7 28.6-16.7 44.5-21.3 4.6-15.5 7.2-31.9 7.2-48.9 0-40.3-40.8-123.4-97.8-174.2C381.8 53.2 367 68.5 353.9 84 332.6 55.7 306.1 26.9 276 0c-77.2 68.9-132 158.8-132 213 0 17 2.6 33.4 7.2 48.9 15.9 4.6 31 11.6 44.5 21.3z\"]\n};\nvar faFireplace = {\n prefix: 'fas',\n iconName: 'fireplace',\n icon: [640, 512, [], \"f79a\", \"M32 512h96V384c0-106 86-192 192-192s192 86 192 192v128h96V128H32v384zm310.3-200.4c-14-18.8-31.4-37.8-51.1-55.6-50.5 45.6-86.4 105-86.4 140.8 0 63.6 51.6 115.2 115.2 115.2s115.2-51.6 115.2-115.2c0-26.6-26.7-81.6-64-115.2-10.7 9.6-20.4 19.8-28.9 30zm15.5 136.9c-10.6 7.7-23.7 12.3-37.8 12.3-35.3 0-64-24.4-64-64 0-19.7 11.9-37.1 35.6-66.8 3.4 4.1 48.3 64.1 48.3 64.1l28.7-34.2c2 3.5 3.9 6.9 5.5 10.2 13.4 26.6 7.8 60.8-16.3 78.4zM624 0H16C7.2 0 0 7.2 0 16v64c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16z\"]\n};\nvar faFirstAid = {\n prefix: 'fas',\n iconName: 'first-aid',\n icon: [576, 512, [], \"f479\", \"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};\nvar faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [], \"f578\", \"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};\nvar faFishCooked = {\n prefix: 'fas',\n iconName: 'fish-cooked',\n icon: [640, 512, [], \"f7fe\", \"M363.44 64c-100 0-187.26 65.72-235.85 122l-97-79.26C17.08 95.68-3 107.42.4 124.29L27.27 256 .39 387.73C-3 404.6 17.07 416.32 30.54 405.32l97-79.26C176.17 382.28 263.48 448 363.44 448 516.18 448 640 294.4 640 256S516.18 64 363.44 64zM245.66 261.65l-11.31-11.31a8 8 0 0 1 0-11.31L319 154.34a8 8 0 0 1 11.32 0l11.31 11.31a8 8 0 0 1 0 11.32L257 261.65a8 8 0 0 1-11.34 0zm59.31 80a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L431 170.34a8 8 0 0 1 11.32 0l11.31 11.31a8 8 0 0 1 0 11.32zM501.66 273L417 357.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L479 250.34a8 8 0 0 1 11.32 0l11.31 11.31a8 8 0 0 1 .03 11.35z\"]\n};\nvar faFistRaised = {\n prefix: 'fas',\n iconName: 'fist-raised',\n icon: [384, 512, [], \"f6de\", \"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};\nvar faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"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};\nvar faFlagAlt = {\n prefix: 'fas',\n iconName: 'flag-alt',\n icon: [512, 512, [], \"f74c\", \"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 0zm430.6 4.2C291.3 91.5 305.4-62.2 96 32.4V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8V30.8c0-25.1-26.8-38.1-49.4-26.6z\"]\n};\nvar faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [512, 512, [], \"f11e\", \"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};\nvar faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [512, 512, [], \"f74d\", \"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};\nvar faFlame = {\n prefix: 'fas',\n iconName: 'flame',\n icon: [384, 512, [], \"f6df\", \"M192 0C79.7 101.33 0 220.92 0 300.55 0 425.05 78.95 512 192 512s192-86.95 192-211.45C384 220.6 303.78 100.86 192 0zm0 448c-70.58 0-128-52.89-128-117.89 0-44.13 25.84-71.51 34.34-79.76 3.12-3.12 8.19-3.12 11.31 0a7.98 7.98 0 0 1 2.34 5.66v40c0 30.93 25.07 56 56 56s56-25.07 56-56c0-72-112.64-64.77-39.43-164.33 2.89-3.93 7.48-4.16 10.58-3.17 1.62.53 5.38 2.24 5.38 6.78 0 33.55 25.05 54.97 51.57 77.63 33.38 28.54 67.9 58.04 67.9 117.21C320 395.11 262.58 448 192 448z\"]\n};\nvar faFlashlight = {\n prefix: 'fas',\n iconName: 'flashlight',\n icon: [640, 512, [], \"f8b8\", \"M384 160H32a32 32 0 0 0-32 32v128a32 32 0 0 0 32 32h352l16.12 10.75c43.14 28.76 92.62 45.67 143.88 50.89V98.36c-51.26 5.22-100.74 22.13-143.88 50.89zm-96 128h-32a32 32 0 0 1 0-64h32a32 32 0 0 1 0 64zM608 96h-32v320h32a32 32 0 0 0 32-32V128a32 32 0 0 0-32-32z\"]\n};\nvar faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"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};\nvar faFlaskPoison = {\n prefix: 'fas',\n iconName: 'flask-poison',\n icon: [416, 512, [], \"f6e0\", \"M80 48V16c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16zm88 240c-13.25 0-24 10.74-24 24 0 13.25 10.75 24 24 24s24-10.75 24-24c0-13.26-10.75-24-24-24zm247.95 68.67c-1.14 51.68-21.15 98.7-53.39 134.48-12.09 13.41-29.52 20.85-47.58 20.85H100.94c-17.78 0-35.05-7.13-47-20.3C20.43 454.79 0 405.79 0 352c0-80.12 45.61-149.15 112-183.88V96h192v73.05c67.19 36.13 113.71 107.67 111.95 187.62zM320 312c0-48.6-50.14-88-112-88S96 263.4 96 312c0 29.87 19.04 56.17 48 72.08V416c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-31.92c28.96-15.91 48-42.21 48-72.08zm-72-24c-13.25 0-24 10.74-24 24 0 13.25 10.75 24 24 24s24-10.75 24-24c0-13.26-10.75-24-24-24z\"]\n};\nvar faFlaskPotion = {\n prefix: 'fas',\n iconName: 'flask-potion',\n icon: [416, 512, [], \"f6e1\", \"M415.95 356.67c-1.14 51.68-21.15 98.7-53.39 134.48-12.09 13.41-29.52 20.85-47.58 20.85H100.94c-17.78 0-35.05-7.13-47-20.3C20.43 454.79 0 405.79 0 352c0-80.12 45.61-149.15 112-183.88V96h64v110.86C155.79 217.44 75.67 245.6 65.15 335.42c65.85-32.92 127.64-31.03 181.8-3.95C291.94 353.97 328.27 352 351.8 352c-.27-91.84-75.33-125.09-111.79-144.7V96h64v73.05c67.18 36.13 113.7 107.67 111.94 187.62zM96 64h224c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H96c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16z\"]\n};\nvar faFlower = {\n prefix: 'fas',\n iconName: 'flower',\n icon: [512, 512, [], \"f7ff\", \"M480 160A128 128 0 0 0 352 32c-38.45 0-72.54 17.3-96 44.14C232.54 49.3 198.45 32 160 32A128 128 0 0 0 32 160c0 38.45 17.3 72.54 44.14 96C49.3 279.46 32 313.55 32 352a128 128 0 0 0 128 128c38.45 0 72.54-17.3 96-44.14C279.46 462.7 313.55 480 352 480a128 128 0 0 0 128-128c0-38.45-17.3-72.54-44.14-96C462.7 232.54 480 198.45 480 160zM256 336a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"]\n};\nvar faFlowerDaffodil = {\n prefix: 'fas',\n iconName: 'flower-daffodil',\n icon: [512, 512, [], \"f800\", \"M495.87 320h-47.26c-63 0-119.82 22.23-160.61 57.92v-96.67A79.8 79.8 0 0 0 367.56 144 79.78 79.78 0 1 0 256 32.44 79.78 79.78 0 1 0 144.44 144 79.81 79.81 0 0 0 224 281.25v96.67C183.21 342.23 126.37 320 63.39 320H16.13c-9.19 0-17 7.72-16.06 16.84C10.06 435 106.43 512 223.83 512h64.34c117.4 0 213.77-77 223.76-175.16.92-9.12-6.87-16.84-16.06-16.84zM256 192a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"]\n};\nvar faFlowerTulip = {\n prefix: 'fas',\n iconName: 'flower-tulip',\n icon: [512, 512, [], \"f801\", \"M495.87 320h-47.26c-63 0-119.82 22.23-160.61 57.92V256a128 128 0 0 0 128-128V32l-80 48-78.86-80L176 80 96 32v96a128 128 0 0 0 128 128v121.92C183.21 342.23 126.37 320 63.39 320H16.13c-9.19 0-17 7.72-16.06 16.84C10.06 435 106.43 512 223.83 512h64.34c117.4 0 213.77-77 223.76-175.16.92-9.12-6.87-16.84-16.06-16.84z\"]\n};\nvar faFlushed = {\n prefix: 'fas',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"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};\nvar faFlute = {\n prefix: 'fas',\n iconName: 'flute',\n icon: [640, 512, [], \"f8b9\", \"M0 208v96a32 32 0 0 0 32 32h64V176H32a32 32 0 0 0-32 32zm608-32H128v160h480a32 32 0 0 0 32-32v-96a32 32 0 0 0-32-32zM320 280a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm96 0a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm96 0a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"]\n};\nvar faFluxCapacitor = {\n prefix: 'fas',\n iconName: 'flux-capacitor',\n icon: [448, 512, [], \"f8ba\", \"M448,112V400a80.15451,80.15451,0,0,1-80,80H80A80.15451,80.15451,0,0,1,0,400V112A80.15451,80.15451,0,0,1,80,32H368A80.15451,80.15451,0,0,1,448,112ZM139.0625,238.82812l-45-44.95312c-7.60938-7.73438-13.78125-22.8125-13.78125-33.65625a48.01238,48.01238,0,0,1,48-48c10.84375,0,25.92187,6.17187,33.65625,13.78125l44.95312,45A96.07,96.07,0,0,0,208,160a80,80,0,1,0-80,80A93.8335,93.8335,0,0,0,139.0625,238.82812ZM208,262.625V352a16,16,0,0,0,32,0V262.625l91.31249-91.3125a18.49794,18.49794,0,0,0,4.39063-11.01562,15.99079,15.99079,0,0,0-16-16,18.498,18.498,0,0,0-11.01563,4.39062L224,233.375l-84.6875-84.6875a18.498,18.498,0,0,0-11.01562-4.39062,15.99079,15.99079,0,0,0-16,16,18.498,18.498,0,0,0,4.39062,11.01562ZM224.23438,432A79.79393,79.79393,0,0,0,304,352.23438c0-22.04688-14.34375-50.67188-32-63.875V352a48,48,0,0,1-96,0V288.35938c-17.65625,13.20312-32,41.82812-32,63.875A79.79393,79.79393,0,0,0,223.76562,432h.46876ZM400,160a80,80,0,0,0-160,0,93.8335,93.8335,0,0,0,1.17188,11.0625l44.95312-45c7.73438-7.60938,22.81249-13.78125,33.65625-13.78125a48.01238,48.01238,0,0,1,48,48c0,10.84375-6.17187,25.92187-13.78125,33.65625l-45,44.95312A96.06972,96.06972,0,0,0,320,240,80.034,80.034,0,0,0,400,160Z\"]\n};\nvar faFog = {\n prefix: 'fas',\n iconName: 'fog',\n icon: [640, 512, [], \"f74e\", \"M160 320h320c53 0 96-43 96-96s-43-96-96-96c-.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.8C320.4 24.8 283.3 0 240 0c-61.9 0-112 50.1-112 112 0 7.3.8 14.3 2.1 21.2C91.8 145.8 64 181.5 64 224c0 53 43 96 96 96zm48 144H80c-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 0H288c-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-16zm-48-56v-16c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16z\"]\n};\nvar faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"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};\nvar faFolderDownload = {\n prefix: 'fas',\n iconName: 'folder-download',\n icon: [512, 512, [], \"e053\", \"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,128ZM364.44,283.36,268,379.06a17.05,17.05,0,0,1-24,0l-96.42-95.7A16,16,0,0,1,158.81,256H224V208a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16v48h65.18A16,16,0,0,1,364.44,283.36Z\"]\n};\nvar faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"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};\nvar faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"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};\nvar faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"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};\nvar faFolderTimes = {\n prefix: 'fas',\n iconName: 'folder-times',\n icon: [512, 512, [], \"f65f\", \"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-48zM340.85 338.91c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L256 321.94l-50.91 50.91c-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.63L222.06 288l-50.91-50.91c-6.25-6.25-6.25-16.38 0-22.63l11.31-11.31c6.25-6.25 16.38-6.25 22.63 0L256 254.06l50.91-50.91c6.25-6.25 16.38-6.25 22.63 0l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63L289.94 288l50.91 50.91z\"]\n};\nvar faFolderTree = {\n prefix: 'fas',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", \"M544 32H432L400 0h-80a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm0 288H432l-32-32h-80a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32zM64 16A16 16 0 0 0 48 0H16A16 16 0 0 0 0 16v400a32 32 0 0 0 32 32h224v-64H64V160h192V96H64z\"]\n};\nvar faFolderUpload = {\n prefix: 'fas',\n iconName: 'folder-upload',\n icon: [512, 512, [], \"e054\", \"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,128ZM353.19,320H288v48a16,16,0,0,1-16,16H240a16,16,0,0,1-16-16V320H158.83a16,16,0,0,1-11.27-27.34L244,197a17.05,17.05,0,0,1,24,0l96.42,95.7A16,16,0,0,1,353.19,320Z\"]\n};\nvar faFolders = {\n prefix: 'fas',\n iconName: 'folders',\n icon: [640, 512, [], \"f660\", \"M96 336V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48v-48H176c-44.11 0-80-35.89-80-80zM592 64H400L336 0H176c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48z\"]\n};\nvar faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"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};\nvar faFontAwesomeLogoFull = {\n prefix: 'fas',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"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};\nvar faFontCase = {\n prefix: 'fas',\n iconName: 'font-case',\n icon: [640, 512, [], \"f866\", \"M229.88 85.69A32 32 0 0 0 199.58 64h-47.16a32 32 0 0 0-30.3 21.69L.85 426.89A16 16 0 0 0 16 448h50.62a16 16 0 0 0 15.16-10.89L100.85 384h150.3l19.07 53.11A16 16 0 0 0 285.38 448H336a16 16 0 0 0 15.16-21.11zM129.58 304L176 174.74 222.42 304zM624 160h-32a16 16 0 0 0-16 16v1.81c-18.9-11-40.58-17.81-64-17.81a128.14 128.14 0 0 0-128 128v32a128.14 128.14 0 0 0 128 128c23.42 0 45.1-6.78 64-17.81V432a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V176a16 16 0 0 0-16-16zm-64 160a48 48 0 0 1-96 0v-32a48 48 0 0 1 96 0z\"]\n};\nvar faFootballBall = {\n prefix: 'fas',\n iconName: 'football-ball',\n icon: [496, 512, [], \"f44e\", \"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};\nvar faFootballHelmet = {\n prefix: 'fas',\n iconName: 'football-helmet',\n icon: [512, 512, [], \"f44f\", \"M480 320H355.5l-15.2-76 136.8-17.8c9-1.2 15.6-9.8 13.9-18.7C466.2 82.6 347.9-8.6 211.9 10.6 104.6 25.7 17.8 112.6 2.6 219.9-7.6 292 13.3 359 53.7 409.9c3.1 3.9 7.8 6.1 12.8 6.1H120l85.7 45c25.2 12.6 55.7 7.7 75.7-12.3 36.2-36.2 10.9-81.9 5-96.7h42.9l9.5 47.3c9.5 47.4 48 85.3 95.9 91.3 44 5.5 42.5 5.4 45.3 5.4 22.5 0 32-19.7 32-32V352c0-17.7-14.3-32-32-32zm-304 40c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm97.6-40l-10.3-25.7c-7.8-19.4 4.9-40.9 25.6-43.6l19.6-2.6 14.4 71.9h-49.3zM480 464l-41.3-5.2c-25.9-3.2-48-18.7-60.1-40.7H480V464zm0-80H368.3l-6.4-32H480v32z\"]\n};\nvar faForklift = {\n prefix: 'fas',\n iconName: 'forklift',\n icon: [640, 512, [], \"f47a\", \"M624 384h-80V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v416c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM416 237.1c0-8.7-1.8-17.2-5.2-25.2L332.5 29.1C324.9 11.4 307.6 0 288.3 0H144c-26.5 0-48 21.5-48 48v112H48c-26.5 0-48 21.5-48 48v208c0 53 43 96 96 96s96-43 96-96h64c0 53 43 96 96 96s96-43 96-96c0-28.3-12.5-53.5-32-71.1V237.1zM96 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm160-208l-96-96V64h117.8L352 237.1V256h-96zm96 208c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [], \"f04e\", \"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};\nvar faFragile = {\n prefix: 'fas',\n iconName: 'fragile',\n icon: [288, 512, [], \"f4bb\", \"M287.4 192.7l-16-178.1C270.7 6.3 263.9 0 255.7 0h-63.5l30.6 63.7-85.5 56L186.7 224 65.2 104.3l85.5-56L117.9 0H32.3c-8.2 0-15 6.3-15.7 14.6L.6 192.7c-7.2 80 50.7 148.9 127.4 157.6V480H74.1c-24.5 0-33.2 32-20 32h179.8c13.1 0 4.5-32-20-32H160V350.3c76.7-8.8 134.6-77.6 127.4-157.6z\"]\n};\nvar faFrenchFries = {\n prefix: 'fas',\n iconName: 'french-fries',\n icon: [512, 512, [], \"f803\", \"M432 224h-34c-6.92 0-13.7 4.27-15.19 11-8.6 39-62.09 69-126.79 69s-118.19-30-126.79-69c-1.49-6.76-8.27-11-15.19-11H80a16 16 0 0 0-15.62 19.47l54.1 243.47A32 32 0 0 0 149.73 512h212.54a32 32 0 0 0 31.24-25.06l54.1-243.47A16 16 0 0 0 432 224zm-80.45 4.14c.4-1.78 1.46-3.22 2.06-4.91l30.14-172.46a16 16 0 0 0-20.34-18.08l-34.28 10.25c-4.24 1.27-7.17 4.51-9.13 8.33v207.27c17.55-8.38 29.15-19.54 31.54-30.4zm79.9-36.14l16.3-93.23a16 16 0 0 0-20.34-18.08l-17.31 5.17-18.75 107.26c2.24-.32 4.33-1.12 6.63-1.12zM288 268.78V32a16 16 0 0 0-8.84-14.31l-32-16A16 16 0 0 0 224 16v252.78a160.62 160.62 0 0 0 64 0zM114 192c3.6 0 7 1 10.35 1.75l-20-107.16-19.74-5.9a16 16 0 0 0-20.36 18.08L80.55 192zm78 66.54V33.17l-3.76-20.1a16 16 0 0 0-25.39-9.81l-28.51 21.62a16 16 0 0 0-6.07 15.69l36.9 197.22c5.3 7.58 14.49 14.86 26.83 20.75z\"]\n};\nvar faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"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};\nvar faFrostyHead = {\n prefix: 'fas',\n iconName: 'frosty-head',\n icon: [384, 512, [], \"f79b\", \"M320 16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v192h256V16zm48 224H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24.4C29.9 310.1 24 334.8 24 360.9c0 59.9 31.3 112.1 78.2 142 10.2 6.5 22.5 9.1 34.6 9.1h109.6c14.7 0 29.1-4.6 41.1-13 51.4-35.8 82.2-99.4 69.5-169.6-2.6-14.5-7.5-28.3-13.7-41.4H368c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM130.7 362.7c-11.8 0-21.3-9.6-21.3-21.3 0-11.8 9.6-21.3 21.3-21.3 11.8 0 21.3 9.6 21.3 21.3 0 11.7-9.6 21.3-21.3 21.3zM192 464s-32-46.3-32-64c0-17.7 14.3-32 32-32s32 14.3 32 32-32 64-32 64zm61.3-101.3c-11.8 0-21.3-9.6-21.3-21.3 0-11.8 9.6-21.3 21.3-21.3 11.8 0 21.3 9.6 21.3 21.3.1 11.7-9.5 21.3-21.3 21.3z\"]\n};\nvar faFrown = {\n prefix: 'fas',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"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};\nvar faFrownOpen = {\n prefix: 'fas',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"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};\nvar faFunction = {\n prefix: 'fas',\n iconName: 'function',\n icon: [640, 512, [], \"f661\", \"M288.73 320c0-52.34 16.96-103.22 48.01-144.95 5.17-6.94 4.45-16.54-2.15-22.14l-24.69-20.98c-7-5.95-17.83-5.09-23.38 2.23C246.09 187.42 224 252.78 224 320c0 67.23 22.09 132.59 62.52 185.84 5.56 7.32 16.38 8.18 23.38 2.23l24.69-20.99c6.59-5.61 7.31-15.2 2.15-22.14-31.06-41.71-48.01-92.6-48.01-144.94zM224 16c0-8.84-7.16-16-16-16h-48C102.56 0 56 46.56 56 104v64H16c-8.84 0-16 7.16-16 16v48c0 8.84 7.16 16 16 16h40v128c0 13.2-10.8 24-24 24H16c-8.84 0-16 7.16-16 16v48c0 8.84 7.16 16 16 16h16c57.44 0 104-46.56 104-104V248h40c8.84 0 16-7.16 16-16v-48c0-8.84-7.16-16-16-16h-40v-64c0-13.2 10.8-24 24-24h48c8.84 0 16-7.16 16-16V16zm353.48 118.16c-5.56-7.32-16.38-8.18-23.38-2.23l-24.69 20.98c-6.59 5.61-7.31 15.2-2.15 22.14 31.05 41.71 48.01 92.61 48.01 144.95 0 52.34-16.96 103.23-48.01 144.95-5.17 6.94-4.45 16.54 2.15 22.14l24.69 20.99c7 5.95 17.83 5.09 23.38-2.23C617.91 452.57 640 387.22 640 320c0-67.23-22.09-132.59-62.52-185.84zm-54.17 231.9L477.25 320l46.06-46.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 0L432 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.63L386.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 0L432 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.63z\"]\n};\nvar faFunnelDollar = {\n prefix: 'fas',\n iconName: 'funnel-dollar',\n icon: [640, 512, [], \"f662\", \"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};\nvar faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [], \"f1e3\", \"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};\nvar faGalaxy = {\n prefix: 'fas',\n iconName: 'galaxy',\n icon: [512, 512, [], \"e008\", \"M506.578,274.10351C489.78116,202.99807,431.23821,146.26567,359.5898,131.959a194.38794,194.38794,0,0,0-101.80269,6.61719,143.73889,143.73889,0,0,1,85.51364-110.7441C356.6152,22.13681,353.61715,2.41416,339.207.963a196.56477,196.56477,0,0,0-65.10349,4.459C202.99807,22.21884,146.26567,80.76179,131.959,152.4102a194.38794,194.38794,0,0,0,6.61719,101.80269,143.73889,143.73889,0,0,1-110.7441-85.51364C22.13681,155.3848,2.41416,158.38285.963,172.793a196.56477,196.56477,0,0,0,4.459,65.10349C22.21884,309.00193,80.76179,365.73433,152.4102,380.041a194.38794,194.38794,0,0,0,101.80269-6.61719,143.73889,143.73889,0,0,1-85.51364,110.7441c-13.31445,5.69531-10.3164,25.418,4.09375,26.86913a196.56477,196.56477,0,0,0,65.10349-4.459C309.00193,489.78116,365.73433,431.23821,380.041,359.5898a194.38794,194.38794,0,0,0-6.61719-101.80269,143.73889,143.73889,0,0,1,110.7441,85.51364c5.69531,13.31445,25.418,10.3164,26.86913-4.09375A196.56477,196.56477,0,0,0,506.578,274.10351ZM256,304a48,48,0,1,1,48-48A47.99985,47.99985,0,0,1,256,304Z\"]\n};\nvar faGameBoard = {\n prefix: 'fas',\n iconName: 'game-board',\n icon: [512, 512, [], \"f867\", \"M256 160h-96v96h96zm0 192h96v-96h-96zM480 0H32A32 32 0 0 0 0 32v448a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zm-32 160h-96v96h96v96h-96v96h-96v-96h-96v96H64v-96h96v-96H64v-96h96V64h96v96h96V64h96z\"]\n};\nvar faGameBoardAlt = {\n prefix: 'fas',\n iconName: 'game-board-alt',\n icon: [512, 512, [], \"f868\", \"M480 0H32A32 32 0 0 0 0 32v448a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zm-32 256H256v192H64V256h192V64h192z\"]\n};\nvar faGameConsoleHandheld = {\n prefix: 'fas',\n iconName: 'game-console-handheld',\n icon: [384, 512, [], \"f8bb\", \"M352 0H32A32 32 0 0 0 0 32v448a32 32 0 0 0 32 32h256a96 96 0 0 0 96-96V32a32 32 0 0 0-32-32zM160 344a8 8 0 0 1-8 8h-24v24a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8v-24H72a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h24v-24a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v24h24a8 8 0 0 1 8 8zm72 40a24 24 0 1 1 24-24 24 24 0 0 1-24 24zM112 224a16 16 0 0 1-16-16V80a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v112a32 32 0 0 1-32 32zm184 112a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"]\n};\nvar faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"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};\nvar faGamepadAlt = {\n prefix: 'fas',\n iconName: 'gamepad-alt',\n icon: [640, 512, [], \"f8bc\", \"M638.59 368.22l-33.37-211.59c-8.86-50.26-48.4-90.77-100.66-103.13h-.07a803.19 803.19 0 0 0-369 0C83.17 65.86 43.64 106.36 34.78 156.63L1.41 368.22C-8.9 426.73 38.8 480 101.51 480c49.67 0 93.77-30.07 109.48-74.64l7.52-21.36h203l7.49 21.36C444.72 449.93 488.82 480 538.49 480c62.71 0 110.41-53.27 100.1-111.78zM280 236a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52h-52a12 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 12zm152 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};\nvar faGarage = {\n prefix: 'fas',\n iconName: 'garage',\n icon: [640, 512, [], \"e009\", \"M128,512H512V352H128.11Zm144-96h96a16,16,0,0,1,0,32H272a16,16,0,0,1,0-32ZM128,320H511.47l.53-96H128S128,320,128,320ZM610.5,117,338.41,3.67A57.4,57.4,0,0,0,320,0,57.4,57.4,0,0,0,301.5,3.67L29.5,117A48.11,48.11,0,0,0,0,161.28V496a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V224c0-17.59,14.59-32,32.59-32H511.41c18,0,32.59,14.41,32.59,32V496a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16V161.28A48.11,48.11,0,0,0,610.5,117Z\"]\n};\nvar faGarageCar = {\n prefix: 'fas',\n iconName: 'garage-car',\n icon: [640, 512, [], \"e00a\", \"M610.5,117,338.41,3.67A57.4,57.4,0,0,0,320,0,57.4,57.4,0,0,0,301.5,3.67L29.5,117A48.11,48.11,0,0,0,0,161.28V496a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V224c0-17.59,14.59-32,32.59-32H511.41c18,0,32.59,14.41,32.59,32V496a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16V161.28A48.11,48.11,0,0,0,610.5,117Zm-145,238.42-15.75-63A69.09,69.09,0,0,0,382.61,240H257.39a69.09,69.09,0,0,0-67.11,52.39l-15.75,63A47.9,47.9,0,0,0,144,400v32c0,11.72,6.61,21.52,16,27.1V488a24,24,0,0,0,24,24h32a24,24,0,0,0,24-24V464H400v24a24,24,0,0,0,24,24h32a24,24,0,0,0,24-24V459.1c9.39-5.58,16-15.38,16-27.1V400A47.9,47.9,0,0,0,465.47,355.4ZM236.84,304.05A21.15,21.15,0,0,1,257.39,288H382.61a21.15,21.15,0,0,1,20.55,16.05l12,47.95H224.86ZM208,431.85c-14.4,0-24-9.56-24-23.92S193.6,384,208,384s36,21.53,36,35.89S222.4,431.85,208,431.85Zm224,0c-14.4,0-36,2.39-36-12S417.6,384,432,384s24,9.58,24,23.93S446.4,431.85,432,431.85Z\"]\n};\nvar faGarageOpen = {\n prefix: 'fas',\n iconName: 'garage-open',\n icon: [640, 512, [], \"e00b\", \"M128,224v64H511.47l.53-64S128,224,128,224ZM465.47,355.4,456.62,320H407.14l8,32H224.86l8-32H183.38l-8.85,35.4A47.9,47.9,0,0,0,144,400v32c0,11.72,6.61,21.52,16,27.1V488a24,24,0,0,0,24,24h32a24,24,0,0,0,24-24V464H400v24a24,24,0,0,0,24,24h32a24,24,0,0,0,24-24V459.1c9.39-5.58,16-15.38,16-27.1V400A47.9,47.9,0,0,0,465.47,355.4ZM208,431.85c-14.4,0-24-9.56-24-23.92S193.6,384,208,384s36,21.53,36,35.89S222.4,431.85,208,431.85Zm224,0c-14.4,0-36,2.39-36-12S417.6,384,432,384s24,9.58,24,23.93S446.4,431.85,432,431.85ZM610.5,117,338.41,3.67A57.4,57.4,0,0,0,320,0,57.4,57.4,0,0,0,301.5,3.67L29.5,117A48.11,48.11,0,0,0,0,161.28V496a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V224c0-17.59,14.59-32,32.59-32H511.41c18,0,32.59,14.41,32.59,32V496a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16V161.28A48.11,48.11,0,0,0,610.5,117Z\"]\n};\nvar faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [], \"f52f\", \"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};\nvar faGasPumpSlash = {\n prefix: 'fas',\n iconName: 'gas-pump-slash',\n icon: [640, 512, [], \"f5f4\", \"M633.82 458.1l-65.45-50.58c4.72-9.54 7.63-20.15 7.63-31.52V152.57c0-16.97-6.74-33.25-18.75-45.26l-80.97-80.97c-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.63L480 97.94V160c0 28.14 20.93 51.27 48 55.19V376c0 .1-.05.18-.05.27L384 265.02V64c0-35.35-28.65-64-64-64H160c-28.65 0-52.62 18.96-60.78 44.92L45.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.45zM96 416h274.03L96 204.21V416zm304 32H80c-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-16z\"]\n};\nvar faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [], \"f0e3\", \"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};\nvar faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"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};\nvar faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [288, 512, [], \"f22d\", \"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};\nvar faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [], \"f6e2\", \"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};\nvar faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [], \"f06b\", \"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};\nvar faGiftCard = {\n prefix: 'fas',\n iconName: 'gift-card',\n icon: [576, 512, [], \"f663\", \"M528 128h-58.07c6.22-12.06 10.07-25.52 10.07-40 0-48.52-39.48-88-88-88-41.6 0-68.51 21.34-103.04 68.33C254.44 21.33 227.53 0 185.93 0c-48.52 0-88 39.48-88 88 0 14.48 3.85 27.94 10.07 40H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zM392 48c22.06 0 40 17.94 40 40 0 22.05-17.94 40-40 40h-86.07c51.36-76.47 65.72-80 86.07-80zM145.93 88c0-22.06 17.94-40 40-40 19.94 0 34.58 3.27 86.07 80h-86.07c-22.06 0-40-17.95-40-40zm60.13 104l-35.72 35.72c-6.25 6.25-6.25 16.38 0 22.63l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0L273.94 192h28.13l69.65 69.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L369.94 192H512v128H64V192h142.06zM64 448v-64h448v64H64z\"]\n};\nvar faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"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};\nvar faGingerbreadMan = {\n prefix: 'fas',\n iconName: 'gingerbread-man',\n icon: [416, 512, [], \"f79d\", \"M322.2 304H352c38.9 0 69.6-34.7 63.1-74.8-5.1-31.5-34.7-53.2-66.5-53.2h-65.9c-7.1 0-10.5-8.4-5.5-13.5 20.8-21.6 31.6-52.8 24.9-86.3-7.5-37.5-38.5-67.8-76-74.6C165-9.4 112 37.1 112 96c0 25.7 10.2 49.1 26.7 66.3 5 5.2 1.7 13.7-5.5 13.7H67.4C35.5 176 6 197.8.9 229.2-5.6 269.3 25.1 304 64 304h29.8c10.1 0 18.2 8.2 18.2 18.2 0 4.3-1.5 8.4-4.2 11.7l-58.2 69.8c-23.3 27.9-21.6 72.4 7.1 94.7C68.3 507.6 82.2 512 96 512c18.3 0 36.5-7.8 49.2-23l38.3-45.9c12.8-15.4 36.4-15.4 49.2 0L271 489c12.7 15.2 30.8 23 49.2 23 13.8 0 27.7-4.4 39.3-13.5 28.7-22.4 30.4-66.8 7.1-94.7L308.4 334c-2.7-3.3-4.2-7.4-4.2-11.7-.2-10.1 8-18.3 18-18.3zM176 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 16zm32-144c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faGlass = {\n prefix: 'fas',\n iconName: 'glass',\n icon: [384, 512, [], \"f804\", \"M354 0H34A32 32 0 0 0 2.06 34l32 448A32 32 0 0 0 66 512h256a32 32 0 0 0 31.94-30l32-448A32 32 0 0 0 354 0zm-34.37 64l-6.86 96H75.22l-6.86-96z\"]\n};\nvar faGlassChampagne = {\n prefix: 'fas',\n iconName: 'glass-champagne',\n icon: [256, 512, [], \"f79e\", \"M216 464h-56V347.7c60.7-15.2 103.3-72 95-135.4L228 27.4C225.7 11.7 212.2 0 196.3 0H59.7C43.8 0 30.3 11.7 28 27.4L1 212.3c-8.3 63.4 34.3 120.2 95 135.4V464H40c-22.1 0-40 17.9-40 40 0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8 0-22.1-17.9-40-40-40zM61.8 128l11.7-80h109l11.7 80H61.8z\"]\n};\nvar faGlassCheers = {\n prefix: 'fas',\n iconName: 'glass-cheers',\n icon: [640, 512, [], \"f79f\", \"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};\nvar faGlassCitrus = {\n prefix: 'fas',\n iconName: 'glass-citrus',\n icon: [512, 512, [], \"f869\", \"M368 0c-62.61 0-115.35 40.2-135.18 96h52.54C302 67.45 332.63 48 368 48a96.11 96.11 0 0 1 96 96c0 50.07-38.67 90.84-87.63 95.15l-4.84 48.49C449.39 285.73 512 222.32 512 144A144 144 0 0 0 368 0zm-48 128H32A32 32 0 0 0 .16 163.18l32 320A32 32 0 0 0 64 512h224a32 32 0 0 0 31.84-28.82l32-320A32 32 0 0 0 320 128zm-41.76 128H73.76l-6.4-64h217.28z\"]\n};\nvar faGlassMartini = {\n prefix: 'fas',\n iconName: 'glass-martini',\n icon: [512, 512, [], \"f000\", \"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};\nvar faGlassMartiniAlt = {\n prefix: 'fas',\n iconName: 'glass-martini-alt',\n icon: [512, 512, [], \"f57b\", \"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};\nvar faGlassWhiskey = {\n prefix: 'fas',\n iconName: 'glass-whiskey',\n icon: [512, 512, [], \"f7a0\", \"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};\nvar faGlassWhiskeyRocks = {\n prefix: 'fas',\n iconName: 'glass-whiskey-rocks',\n icon: [512, 512, [], \"f7a1\", \"M252.1 345.4l45.3 45.3c12.5 12.5 32.8 12.5 45.3 0l45.3-45.3c12.5-12.5 12.5-32.8 0-45.3l-45.3-45.3c-12.5-12.5-32.8-12.5-45.3 0l-45.3 45.3c-12.5 12.5-12.5 32.8 0 45.3zM480 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-66.3 249.4c9.9 11.6 15.6 26 15.6 41.4 0 17.1-6.7 33.2-18.7 45.3l-45.3 45.3C353.2 425.3 337.1 432 320 432c-17.1 0-33.2-6.7-45.3-18.7L229.5 368H160c-35.3 0-64-28.7-64-64v-38.9L69.4 96h373.2l-28.9 185.4zM160 336h52.2c-.9-4.3-1.4-8.7-1.4-13.3 0-17.1 6.7-33.2 18.7-45.3L256 251v-11c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32z\"]\n};\nvar faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"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};\nvar faGlassesAlt = {\n prefix: 'fas',\n iconName: 'glasses-alt',\n icon: [576, 512, [], \"f5f5\", \"M560.51 225.9L528.75 98.64C522.05 71.78 495.01 32 443.33 32c-15.63 0-23.03 2.94-43.02 9.6-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.24 6.7 8.48 10.94 15.18 10.94 3.54 0 4.82-.74 18.23-5.21 26.07-8.68 48.2 6.13 53.53 27.54l29.67 118.68C490.97 215.88 466.47 208 440 208c-55.09 0-102.27 32.91-123.65 80h-56.7c-21.38-47.09-68.56-80-123.65-80-26.47 0-50.97 7.88-71.86 20.96l29.67-118.68c5.32-21.41 27.46-36.22 53.53-27.54 13.42 4.47 14.7 5.21 18.23 5.21 6.7 0 12.94-4.24 15.18-10.94l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24C155.7 34.94 148.3 32 132.67 32 81 32 53.95 71.78 47.25 98.64L15.49 225.9C2.16 279.34 0 300.12 0 344c0 75.11 60.89 136 136 136 72.37 0 130.97-56.69 135.19-128h33.61c4.22 71.31 62.82 128 135.19 128 75.11 0 136-60.89 136-136 .01-43.88-2.15-64.66-15.48-118.1zM136 416c-39.7 0-72-32.3-72-72s32.3-72 72-72 72 32.3 72 72-32.3 72-72 72zm304 0c-39.7 0-72-32.3-72-72s32.3-72 72-72 72 32.3 72 72-32.3 72-72 72z\"]\n};\nvar faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [496, 512, [], \"f0ac\", \"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};\nvar faGlobeAfrica = {\n prefix: 'fas',\n iconName: 'globe-africa',\n icon: [496, 512, [], \"f57c\", \"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};\nvar faGlobeAmericas = {\n prefix: 'fas',\n iconName: 'globe-americas',\n icon: [496, 512, [], \"f57d\", \"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};\nvar faGlobeAsia = {\n prefix: 'fas',\n iconName: 'globe-asia',\n icon: [496, 512, [], \"f57e\", \"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};\nvar faGlobeEurope = {\n prefix: 'fas',\n iconName: 'globe-europe',\n icon: [496, 512, [], \"f7a2\", \"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};\nvar faGlobeSnow = {\n prefix: 'fas',\n iconName: 'globe-snow',\n icon: [448, 512, [], \"f7a3\", \"M384 416H64l-47.4 71.1c-7.1 10.7.5 24.9 13.3 24.9h388.2c12.8 0 20.4-14.2 13.3-24.9L384 416zm-192-32v-32h-57.9c-14.2 0-22-15-12.9-24.9l65.5-71.1h-30.1c-10.7 0-16.5-11.2-9.7-18.7l67.4-73.2c5-5.5 14.3-5.5 19.3 0l67.4 73.2c6.8 7.4 1 18.7-9.7 18.7h-30.1l65.5 71.1c9.1 9.9 1.3 24.9-12.9 24.9H256v32h124.1c41.7-40.6 67.9-97.1 67.9-160C448 100.3 347.7 0 224 0S0 100.3 0 224c0 62.9 26.1 119.4 67.9 160H192zm144-224c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm-96-96c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zM80 224c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z\"]\n};\nvar faGlobeStand = {\n prefix: 'fas',\n iconName: 'globe-stand',\n icon: [448, 512, [], \"f5f6\", \"M321.14 305.14c62.48-62.48 62.48-163.79 0-226.27-62.48-62.48-163.79-62.48-226.27 0-62.48 62.48-62.48 163.79 0 226.27s163.78 62.48 226.27 0zM348.12 464h-92.03v-36.98c44.6-9.01 87.14-30.71 121.75-65.31 85.25-85.22 92.73-218.44 22.91-312.38l10.7-10.7c6.25-6.25 6.25-16.38 0-22.63L400.14 4.69c-6.25-6.25-16.38-6.25-22.64 0L334.47 47.7c3.18 2.79 6.39 5.52 9.41 8.53 74.89 74.86 74.89 196.67 0 271.53C307.61 364.03 259.37 384 208.07 384s-99.53-19.97-135.81-56.24c-3.07-3.07-5.25-6.65-8.07-9.88l-59.5 59.5c-6.25 6.25-6.25 16.38 0 22.63L16 411.31c6.25 6.25 16.38 6.25 22.64 0l26.71-26.7c37.78 28.06 81.91 43.6 126.72 46.64V464h-92.03c-19.89 0-36.01 16.12-36.01 36 0 6.63 5.37 12 12 12h296.1c6.63 0 12-5.37 12-12 0-19.88-16.12-36-36.01-36z\"]\n};\nvar faGolfBall = {\n prefix: 'fas',\n iconName: 'golf-ball',\n icon: [416, 512, [], \"f450\", \"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};\nvar faGolfClub = {\n prefix: 'fas',\n iconName: 'golf-club',\n icon: [640, 512, [], \"f451\", \"M638.4 29.9L424.3 475.7c-10.7 22.2-33.1 36.3-57.7 36.3H64c-35.3 0-64-28.7-64-64v-8h120c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8H0v-48h120c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8H0v-26.9c0-40.1 36.4-70.3 75.8-62.9l389.7 73.1L595.2 9c3.8-8 13.4-11.3 21.4-7.4L631 8.5c7.9 3.9 11.2 13.5 7.4 21.4z\"]\n};\nvar faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"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};\nvar faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [], \"f19d\", \"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};\nvar faGramophone = {\n prefix: 'fas',\n iconName: 'gramophone',\n icon: [384, 512, [], \"f8bd\", \"M69.56 317.08c62.84-43.05 161.76-94.4 238.6-73.8A26.79 26.79 0 0 1 328 269.15a34.81 34.81 0 0 1-34.78 34.77H184a24 24 0 0 0-24 24v24h133.22A82.87 82.87 0 0 0 376 269.15a74.89 74.89 0 0 0-55.41-72.27C243.17 176.13 183 80.83 150.84 13.62 141.2-6.5 111.76-3.68 106 17.79L32.82 291.06c-5.82 21.62 18.53 38.49 36.74 26.02zM368 448h-16v-32a32 32 0 0 0-32-32H64a32 32 0 0 0-32 32v32H16a16 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};\nvar faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [], \"f531\", \"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};\nvar faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"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};\nvar faGrimace = {\n prefix: 'fas',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"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};\nvar faGrin = {\n prefix: 'fas',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"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};\nvar faGrinAlt = {\n prefix: 'fas',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"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};\nvar faGrinBeam = {\n prefix: 'fas',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"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};\nvar faGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'grin-beam-sweat',\n icon: [504, 512, [], \"f583\", \"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};\nvar faGrinHearts = {\n prefix: 'fas',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"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};\nvar faGrinSquint = {\n prefix: 'fas',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"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};\nvar faGrinSquintTears = {\n prefix: 'fas',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"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};\nvar faGrinStars = {\n prefix: 'fas',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"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};\nvar faGrinTears = {\n prefix: 'fas',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"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};\nvar faGrinTongue = {\n prefix: 'fas',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"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};\nvar faGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"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};\nvar faGrinTongueWink = {\n prefix: 'fas',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"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};\nvar faGrinWink = {\n prefix: 'fas',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"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};\nvar faGripHorizontal = {\n prefix: 'fas',\n iconName: 'grip-horizontal',\n icon: [448, 512, [], \"f58d\", \"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};\nvar faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [512, 512, [], \"f7a4\", \"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};\nvar faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [256, 512, [], \"f7a5\", \"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};\nvar faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"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};\nvar faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"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};\nvar faGuitarElectric = {\n prefix: 'fas',\n iconName: 'guitar-electric',\n icon: [512, 512, [], \"f8be\", \"M511.21 39.54a48.1 48.1 0 0 0-37.79-38.23C450.48-3 450.66.78 366.74 54.9A32.12 32.12 0 0 0 352 81.82v33.25L243.76 223.23a39.42 39.42 0 0 1-3.18-38.43l17.29-37.13a18.82 18.82 0 0 0-30.38-21.24l-38.31 38.28a77.44 77.44 0 0 0-18.24 28.84 77.63 77.63 0 0 1-40.52 44.37L54 273.29C-3.23 296.15-18.4 370 25.16 413.53l73.39 73.33c43.56 43.53 117.45 28.37 140.35-28.78l35.4-76.39a77.62 77.62 0 0 1 44.41-40.49 77.68 77.68 0 0 0 28.86-18.2l21.56-21.55a19.87 19.87 0 0 0-20.1-33L325.31 276a39.6 39.6 0 0 1-36.75-7.11L461.6 96c.82.05 1.56.35 2.4.35a48 48 0 0 0 47.21-56.81zm-329.56 354.8l-11.31 11.31a8 8 0 0 1-11.31 0L106.34 353a8 8 0 0 1 0-11.32l11.31-11.31a8 8 0 0 1 11.32 0L181.65 383a8 8 0 0 1 0 11.34zm64-64l-11.31 11.31a8 8 0 0 1-11.31 0L170.34 289a8 8 0 0 1 0-11.32l11.31-11.31a8 8 0 0 1 11.32 0L245.65 319a8 8 0 0 1 0 11.34z\"]\n};\nvar faGuitars = {\n prefix: 'fas',\n iconName: 'guitars',\n icon: [512, 512, [], \"f8bf\", \"M229.27 300.21A74.51 74.51 0 0 0 237.7 266c0-29.14-17-54.82-43.14-71.17-12.83-8-27.53-12-42.56-13.88v-54.22l16.6-33.21a29.17 29.17 0 0 0 3.08-13v-54.1A26.42 26.42 0 0 0 145.25 0h-34.53A26.41 26.41 0 0 0 84.3 26.41v54.08a29.12 29.12 0 0 0 3.07 13L104 126.74V181c-15 1.84-29.74 5.84-42.58 13.83a103.31 103.31 0 0 0-18.58 14.67c-15.39 15.39-24.62 35-24.62 56.58a74.37 74.37 0 0 0 8.42 34.2c8 15.65 6 35.59-4.88 48.78C8.11 365.55-.07 385.43 0 407c-.07 58 57.34 105 128 105 39.89 0 75.54-15 99-38.47 1.28-1.27 2.23-2.75 3.43-4.07a111.36 111.36 0 0 1 2.32-80.3L243 361.42a102.52 102.52 0 0 0-8.81-12.42c-10.89-13.16-12.89-33.16-4.92-48.79zm-73 32.08a40 40 0 1 1 0-56.58 40 40 0 0 1 .02 56.58zm349.19 68.53l-26.93-73.45a72.1 72.1 0 0 1 2.58-55.79 72.13 72.13 0 0 0 7-30.94v-28.32a18.47 18.47 0 0 0-34.88-8.47l-10.61 20.55c-5.36 10.37-15.35 17-26.62 19l-8-.1V73.38a34.72 34.72 0 0 0 5.09-3.8 40.77 40.77 0 0 0-51.44-62.75c-16.39 11.15-14 13.35-31.85 96.24a27.3 27.3 0 0 0 7.33 25L360 151v91.66l-8-.11c-11.31-3.11-20.84-11-25-22.37l-13-35.76a17.49 17.49 0 0 0-33.92 6v50.33a72.07 72.07 0 0 0 7 30.93 72.07 72.07 0 0 1 2.53 55.78l-27 73.48C240 453.53 278.54 512 335.76 512h96.41c57.23-.06 95.83-58.59 73.31-111.18zM432 392a8 8 0 0 1-8 8h-80a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h80a8 8 0 0 1 8 8zm0-64.12a8 8 0 0 1-8 8h-80a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h80a8 8 0 0 1 8 8z\"]\n};\nvar faHSquare = {\n prefix: 'fas',\n iconName: 'h-square',\n icon: [448, 512, [], \"f0fd\", \"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};\nvar faH1 = {\n prefix: 'fas',\n iconName: 'h1',\n icon: [576, 512, [], \"f313\", \"M304 96h-98.94A13.06 13.06 0 0 0 192 109.06v37.88A13.06 13.06 0 0 0 205.06 160H224v64H96v-64h18.94A13.06 13.06 0 0 0 128 146.94V112a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v34.94A13.06 13.06 0 0 0 13.06 160H32v192H13.06A13.06 13.06 0 0 0 0 365.06V400a16 16 0 0 0 16 16h98.94A13.06 13.06 0 0 0 128 402.94v-37.88A13.06 13.06 0 0 0 114.94 352H96v-64h128v64h-18.94A13.06 13.06 0 0 0 192 365.06V400a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-34.94A13.06 13.06 0 0 0 306.94 352H288V160h18.94A13.06 13.06 0 0 0 320 146.94V112a16 16 0 0 0-16-16zm256 256h-48V120a24 24 0 0 0-24-24h-40a24 24 0 0 0-21.44 13.26l-24 48A24 24 0 0 0 424 192h24v160h-48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faH2 = {\n prefix: 'fas',\n iconName: 'h2',\n icon: [576, 512, [], \"f314\", \"M560 352H440.79c17-42.95 135.21-66.57 135.21-159.62C576 132.55 528.33 96 469.14 96c-43.83 0-81.41 21.38-103.42 57a15.66 15.66 0 0 0 4.75 21.4l28.26 18.6a16.15 16.15 0 0 0 21.86-3.83c10.77-14.86 24.94-26 43.85-26s38.22 10.46 38.22 33.84c0 52.18-142.1 73.21-142.1 184.56a155.06 155.06 0 0 0 1.71 20.66A15.94 15.94 0 0 0 378.14 416H560a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM304 96h-98.94A13.06 13.06 0 0 0 192 109.06v37.88A13.06 13.06 0 0 0 205.06 160H224v64H96v-64h18.94A13.06 13.06 0 0 0 128 146.94V112a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v34.94A13.06 13.06 0 0 0 13.06 160H32v192H13.06A13.06 13.06 0 0 0 0 365.06V400a16 16 0 0 0 16 16h98.94A13.06 13.06 0 0 0 128 402.94v-37.88A13.06 13.06 0 0 0 114.94 352H96v-64h128v64h-18.94A13.06 13.06 0 0 0 192 365.06V400a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-34.94A13.06 13.06 0 0 0 306.94 352H288V160h18.94A13.06 13.06 0 0 0 320 146.94V112a16 16 0 0 0-16-16z\"]\n};\nvar faH3 = {\n prefix: 'fas',\n iconName: 'h3',\n icon: [576, 512, [], \"f315\", \"M499 217.69l64.4-72.31a15.48 15.48 0 0 0 4-10.31v-23.32A16 16 0 0 0 551.12 96H384a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h85.18c-2.29 2.45-4.65 5-7.19 7.9l-53.1 61.1a18 18 0 0 0-3.83 10.17 18.36 18.36 0 0 0 1.38 6.34l8.41 18.59c2.35 5.21 9 9.42 14.84 9.42h15.95c28.94 0 57.79 10.32 57.79 38.48 0 21.32-19.93 36.79-47.39 36.79-22.08 0-41.18-9.17-57.7-22.83a16.46 16.46 0 0 0-23.87 3.34l-19.75 28.8a15.46 15.46 0 0 0 2.53 20.35C384.9 403.21 422 416 459.51 416c71 0 116.49-48.86 116.49-106.06 0-47.3-32.73-80.89-77-92.25zM304 96h-98.94A13.06 13.06 0 0 0 192 109.06v37.88A13.06 13.06 0 0 0 205.06 160H224v64H96v-64h18.94A13.06 13.06 0 0 0 128 146.94V112a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v34.94A13.06 13.06 0 0 0 13.06 160H32v192H13.06A13.06 13.06 0 0 0 0 365.06V400a16 16 0 0 0 16 16h98.94A13.06 13.06 0 0 0 128 402.94v-37.88A13.06 13.06 0 0 0 114.94 352H96v-64h128v64h-18.94A13.06 13.06 0 0 0 192 365.06V400a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-34.94A13.06 13.06 0 0 0 306.94 352H288V160h18.94A13.06 13.06 0 0 0 320 146.94V112a16 16 0 0 0-16-16z\"]\n};\nvar faH4 = {\n prefix: 'fas',\n iconName: 'h4',\n icon: [576, 512, [], \"f86a\", \"M304 96h-98.94A13.06 13.06 0 0 0 192 109.06v37.88A13.06 13.06 0 0 0 205.06 160H224v64H96v-64h18.94A13.06 13.06 0 0 0 128 146.94V112a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v34.94A13.06 13.06 0 0 0 13.06 160H32v192H13.06A13.06 13.06 0 0 0 0 365.06V400a16 16 0 0 0 16 16h98.94A13.06 13.06 0 0 0 128 402.94v-37.88A13.06 13.06 0 0 0 114.94 352H96v-64h128v64h-18.94A13.06 13.06 0 0 0 192 365.06V400a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-34.94A13.06 13.06 0 0 0 306.94 352H288V160h18.94A13.06 13.06 0 0 0 320 146.94V112a16 16 0 0 0-16-16zm256 128h-16V112a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v112h-64V112a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v144a32 32 0 0 0 32 32h96v112a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faHamburger = {\n prefix: 'fas',\n iconName: 'hamburger',\n icon: [512, 512, [], \"f805\", \"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};\nvar faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [], \"f6e3\", \"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};\nvar faHammerWar = {\n prefix: 'fas',\n iconName: 'hammer-war',\n icon: [384, 512, [], \"f6e4\", \"M346.74 32.44L224 52.9V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v36.9L37.26 32.44C17.76 29.19 0 44.23 0 64.01v191.98c0 19.77 17.76 34.81 37.26 31.56L192 261.77l154.74 25.79C366.25 290.81 384 275.77 384 256V64.01c0-19.78-17.76-34.82-37.26-31.57zM160 299.54V496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V299.54l-32-5.33-32 5.33z\"]\n};\nvar faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"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};\nvar faHandHeart = {\n prefix: 'fas',\n iconName: 'hand-heart',\n icon: [448, 512, [], \"f4bc\", \"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-32zm-62.9 261.2l-72.6 71.4c-4.7 4.6-12.3 4.6-17 0l-72.6-71.4c-21.1-20.7-19.8-55.1 3.7-74.2 20.5-16.7 51.1-13.7 70 4.8l7.4 7.3 7.4-7.3c18.8-18.5 49.4-21.5 70-4.8 23.5 19.1 24.7 53.4 3.7 74.2z\"]\n};\nvar faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"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};\nvar faHandHoldingBox = {\n prefix: 'fas',\n iconName: 'hand-holding-box',\n icon: [576, 512, [], \"f47b\", \"M112 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H352v128l-64-32-64 32V0H112c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm453.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};\nvar faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"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};\nvar faHandHoldingMagic = {\n prefix: 'fas',\n iconName: 'hand-holding-magic',\n icon: [576, 512, [], \"f6e5\", \"M224 224c52.94 0 96-43.06 96-96 0 0-32 32-96 32-17.72 0-32-17.5-32-32V96c0-17.64 14.36-32 32-32h128c17.64 0 32 14.36 32 32v32c0 34.3-17.51 66.54-42.09 90.8L288 272l17.81-1.01c77.05-4.36 141.58-65.27 142.18-141.43 0-.52.01-1.04.01-1.56V96c0-52.94-43.06-96-96-96H224c-52.94 0-96 43.06-96 96v32c0 51.14 44.86 96 96 96zm341.28 104.1c-11.83-10.69-30.18-9.96-42.63 0l-92.34 73.87A64.004 64.004 0 0 1 390.33 416H272c-8.84 0-16-7.16-16-16s7.16-16 16-16h78.28c15.94 0 30.72-10.89 33.28-26.63C386.82 337.32 371.43 320 352 320H192c-26.97 0-53.11 9.27-74.06 26.27L71.44 384H16c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h356.77c14.53 0 28.63-4.95 39.98-14.03l151.23-120.99c15.19-12.13 16.38-35.27 1.3-48.88z\"]\n};\nvar faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"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};\nvar faHandHoldingSeedling = {\n prefix: 'fas',\n iconName: 'hand-holding-seedling',\n icon: [576, 512, [], \"f4bf\", \"M480 0h-64c-40.7 0-77.5 15.7-105.8 40.8 25.4 32 40.9 72.2 41.6 116C424.9 142 480 77.5 480 0zM256 160v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V160C320 71.6 248.4 0 160 0H96c0 88.4 71.6 160 160 160zm309.3 168.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};\nvar faHandHoldingUsd = {\n prefix: 'fas',\n iconName: 'hand-holding-usd',\n icon: [576, 512, [], \"f4c0\", \"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};\nvar faHandHoldingWater = {\n prefix: 'fas',\n iconName: 'hand-holding-water',\n icon: [576, 512, [], \"f4c1\", \"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};\nvar faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"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};\nvar faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [512, 512, [], \"f806\", \"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};\nvar faHandPaper = {\n prefix: 'fas',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"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};\nvar faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"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};\nvar faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"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};\nvar faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"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};\nvar faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"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};\nvar faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [], \"f0a6\", \"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};\nvar faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"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};\nvar faHandReceiving = {\n prefix: 'fas',\n iconName: 'hand-receiving',\n icon: [640, 512, [], \"f47c\", \"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-32zm-169.3 41.6L342.4 9.3C330-3.1 310-3.1 297.6 9.3l-96.4 96.4c-12.4 12.3-12.4 32.4 0 44.7l96.4 96.4c12.3 12.3 32.4 12.3 44.7 0l96.4-96.4c12.4-12.4 12.4-32.4 0-44.8z\"]\n};\nvar faHandRock = {\n prefix: 'fas',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"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};\nvar faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"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};\nvar faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"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};\nvar faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"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};\nvar faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [640, 512, [], \"f4c2\", \"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};\nvar faHandsHeart = {\n prefix: 'fas',\n iconName: 'hands-heart',\n icon: [640, 512, [], \"f4c3\", \"M436 17.5c-30.8-26.7-76.7-21.9-104.9 7.7L320 36.9l-11.1-11.6C280.7-4.4 234.8-9.2 204 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.5-33.2 29.7-88.2-5.7-118.8zM204.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};\nvar faHandsHelping = {\n prefix: 'fas',\n iconName: 'hands-helping',\n icon: [640, 512, [], \"f4c4\", \"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};\nvar faHandsUsd = {\n prefix: 'fas',\n iconName: 'hands-usd',\n icon: [640, 512, [], \"f4c5\", \"M393.3 159.4c-2.9-23-20.7-41.3-42.9-47.7l-50.1-14.3c-3.6-1-6.1-4.4-6.1-8.1 0-4.6 3.8-8.4 8.4-8.4h32.8c3.6 0 7.1.8 10.3 2.2 4.8 2.2 10.4 1.7 14.1-2l17.5-17.5c5.3-5.3 4.7-14.3-1.5-18.4-9.5-6.3-20.4-10.1-31.8-11.5V16c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v17.6c-30.3 3.6-53.4 31-49.3 63 2.9 23 20.7 41.3 42.9 47.7l50.1 14.3c3.6 1 6.1 4.4 6.1 8.1 0 4.6-3.8 8.4-8.4 8.4h-32.8c-3.6 0-7.1-.8-10.3-2.2-4.8-2.2-10.4-1.7-14.1 2l-17.5 17.5c-5.3 5.3-4.7 14.3 1.5 18.4 9.5 6.3 20.4 10.1 31.8 11.5V240c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-17.6c30.3-3.6 53.4-30.9 49.3-63zm-188.5 71c-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};\nvar faHandsWash = {\n prefix: 'fas',\n iconName: 'hands-wash',\n icon: [576, 512, [], \"e05e\", \"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};\nvar faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"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};\nvar faHandshakeAlt = {\n prefix: 'fas',\n iconName: 'handshake-alt',\n icon: [640, 512, [], \"f4c6\", \"M483.9 338.7L334.6 217.5l-30 27.5c-40.6 37.1-86.8 11.9-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 128H16c-8.8 0-16 7.2-16 16v191.9c0 8.8 7.2 16 16 16h130.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.1zM624 128H512l-54.6-54.6c-6-6-14.1-9.4-22.6-9.4h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.7 15.7-16.3 40.6-2.1 56 9.6 10.5 35 21.6 56.1 2.7.1-.1.3-.1.4-.2l53-48.5 27-24.7c6.5-5.9 16.6-5.5 22.6 1s5.5 16.6-1 22.6l-26.1 23.9 145.6 118.2c12.2 9.9 19.5 23.5 22.2 37.9H624c8.8 0 16-7.2 16-16V143.9c0-8.8-7.2-15.9-16-15.9z\"]\n};\nvar faHandshakeAltSlash = {\n prefix: 'fas',\n iconName: 'handshake-alt-slash',\n icon: [640, 512, [], \"e05f\", \"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};\nvar faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"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};\nvar faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [], \"f6e6\", \"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};\nvar faHardHat = {\n prefix: 'fas',\n iconName: 'hard-hat',\n icon: [512, 512, [], \"f807\", \"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};\nvar faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [], \"f292\", \"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};\nvar faHatChef = {\n prefix: 'fas',\n iconName: 'hat-chef',\n icon: [512, 512, [], \"f86b\", \"M416 32a95.17 95.17 0 0 0-57.73 19.74C334.93 20.5 298 0 256 0s-78.93 20.5-102.27 51.74A95.56 95.56 0 0 0 0 128c0 41.74 64 192 64 192h60.09L112 169.25a8 8 0 0 1 7.33-8.61l16-1.28a8 8 0 0 1 8.61 7.34L156.2 320h83.14V168a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v152h84.46l12.27-153.3a8 8 0 0 1 8.61-7.34l16 1.28a8 8 0 0 1 7.33 8.61L387.91 320H448s64-150.26 64-192a96 96 0 0 0-96-96zM64 480a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V352H64z\"]\n};\nvar faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"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};\nvar faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"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};\nvar faHatSanta = {\n prefix: 'fas',\n iconName: 'hat-santa',\n icon: [640, 512, [], \"f7a7\", \"M480 384H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-32c0-17.7-14.3-32-32-32zm-96-192l71.7 19.5c2.3-4.1 4.9-8 8.2-11.4.4-14.5 6.2-28.6 17-39.4 2.2-2.2 4.7-4.1 7.2-5.9L435 92.1C402.6 54 355.2 32 305.2 32c-68.6 0-130.4 41.2-156.8 104.5L58.7 352h393.9L384 192zm256 48c0-12.1-8.2-21.9-19.2-25.2 5.5-10.1 4.4-22.8-4.2-31.4s-21.3-9.7-31.4-4.2c-3.3-11-13.1-19.2-25.2-19.2s-21.9 8.2-25.2 19.2c-10.1-5.5-22.8-4.4-31.4 4.2s-9.7 21.3-4.2 31.4c-11 3.3-19.2 13.1-19.2 25.2s8.2 21.9 19.2 25.2c-5.5 10.1-4.4 22.8 4.2 31.4 5.2 5.2 12 7.8 18.9 7.8 4.4 0 8.6-1.5 12.5-3.6 3.3 11 13.1 19.2 25.2 19.2s21.9-8.2 25.2-19.2c4 2.1 8.2 3.6 12.5 3.6 6.8 0 13.6-2.6 18.9-7.8 8.6-8.6 9.7-21.3 4.2-31.4 11-3.3 19.2-13.1 19.2-25.2z\"]\n};\nvar faHatWinter = {\n prefix: 'fas',\n iconName: 'hat-winter',\n icon: [512, 512, [], \"f7a8\", \"M195.2 105.2c-5.5 10.1-4.4 22.8 4.2 31.4 5.2 5.2 12 7.8 18.9 7.8 4.4 0 8.6-1.5 12.5-3.6 3.3 11 13.1 19.2 25.2 19.2s21.9-8.2 25.2-19.2c4 2.1 8.2 3.6 12.5 3.6 6.8 0 13.6-2.6 18.9-7.8 8.6-8.6 9.7-21.3 4.2-31.4 11-3.3 19.2-13.1 19.2-25.2s-8.2-21.9-19.2-25.2c5.5-10.1 4.4-22.8-4.2-31.4s-21.3-9.7-31.4-4.2C277.9 8.2 268.1 0 256 0s-21.9 8.2-25.2 19.2c-10.1-5.5-22.8-4.4-31.4 4.2s-9.7 21.3-4.2 31.4C184.2 58.1 176 67.9 176 80s8.2 21.9 19.2 25.2zM128 270.1l64 32 64-32 64 32 64-32 64 32 7.2-3.6c-19.7-50.2-55.2-104.9-119-140.5-.4.4-.6.8-1 1.2-10.6 10.6-24.6 16.7-39.6 17.2-10.5 9.9-24.5 15.7-39.6 15.7-15.2 0-29.2-5.8-39.6-15.7-14.9-.5-28.9-6.5-39.6-17.2-.4-.4-.6-.8-1-1.2-63.9 35.6-99.4 90.4-119 140.5l7.2 3.6 64-32zM496 448H16c-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-16zm-30.3-118.9l-17.7 8.8-64-32-64 32-64-32-64 32-64-32-64 32-17.7-8.8C32.2 377.8 32 416 32 416h448s-.2-38.2-14.3-86.9z\"]\n};\nvar faHatWitch = {\n prefix: 'fas',\n iconName: 'hat-witch',\n icon: [576, 512, [], \"f6e7\", \"M571.21 426.81l-22.66-22.66c-6.03-6.03-15.49-5.96-21.99-.43C492.89 432.38 450.6 448 405.89 448H170.11c-44.71 0-87.01-15.62-120.68-44.28-6.5-5.53-15.95-5.61-21.99.43L4.79 426.81c-6.44 6.44-6.45 17.25.4 23.25C50.85 490.12 108.8 512 170.11 512h235.78c61.31 0 119.26-21.88 164.93-61.94 6.84-6 6.84-16.81.39-23.25zM224 416v-64c0-17.67 14.33-32 32-32h64c17.67 0 32 14.33 32 32v64h53.89c23.94 0 46.54-5.79 67.29-15.91l-79.6-185.73a64.009 64.009 0 0 1-1.89-45.45l6.35-19.04A32.01 32.01 0 0 1 428.4 128h39.2c13.77 0 26 8.81 30.36 21.88L512 192l30.36-77.24c3.83-11.5.84-24.18-7.73-32.75L465.28 9.37c-10.21-10.2-25.97-12.32-38.5-5.16L260.43 107.18a128.004 128.004 0 0 0-53.47 59.15L103.03 400.19c20.69 10.06 43.23 15.81 67.08 15.81H224zm32 0h64v-64h-64v64z\"]\n};\nvar faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"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};\nvar faHdd = {\n prefix: 'fas',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"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};\nvar faHeadSide = {\n prefix: 'fas',\n iconName: 'head-side',\n icon: [512, 512, [], \"f6e9\", \"M509.21 275c-20.94-47.12-48.44-151.73-73.08-186.75C397.68 33.6 334.56 0 266.09 0H192C85.96 0 0 85.96 0 192c0 56.79 24.8 107.67 64 142.82V512h256v-64h64c35.35 0 64-28.65 64-64v-64h31.96c23.16 0 38.65-23.84 29.25-45zM320 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faHeadSideBrain = {\n prefix: 'fas',\n iconName: 'head-side-brain',\n icon: [512, 512, [], \"f808\", \"M160 178.94V176c0 1-.23 1.89-.29 2.85a2.46 2.46 0 0 1 .29.09zM509.21 275c-20.94-47.12-48.44-151.73-73.08-186.75A207.94 207.94 0 0 0 266.09 0H192C86 0 0 86 0 192a191.28 191.28 0 0 0 64 142.82V512h256v-64h64a64 64 0 0 0 64-64v-64h32a32 32 0 0 0 29.21-45zM336 208h-50.94a47.5 47.5 0 0 1 2.94 16 48 48 0 0 1-48 48 47.5 47.5 0 0 1-16-2.94V320h-64v-50.94a47.5 47.5 0 0 1-16 2.94 48 48 0 0 1-48-48c0-1 .23-1.89.29-2.85A47.88 47.88 0 0 1 112 128a48 48 0 0 1 48-48 47.46 47.46 0 0 1 23.53 6.4 47.76 47.76 0 0 1 80.94 0 47.37 47.37 0 0 1 68.59 25.6H336a48 48 0 0 1 0 96z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"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};\nvar faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"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};\nvar faHeadSideHeadphones = {\n prefix: 'fas',\n iconName: 'head-side-headphones',\n icon: [512, 512, [], \"f8c2\", \"M509.21 273c-20.94-47.12-48.44-151.73-73.1-186.75A207.87 207.87 0 0 0 266.09-2H256v107.19c37.74 18 64 56.21 64 100.81a112 112 0 1 1-224 0c0-44.6 26.26-82.79 64-100.81V.88C69.23 16.14 0 94.88 0 190a191.27 191.27 0 0 0 64 142.81V510h256v-64h64a64 64 0 0 0 64-64v-64h32a32 32 0 0 0 29.21-45zM128 206a80 80 0 1 0 80-80 80 80 0 0 0-80 80zm80-32a32 32 0 1 1-32 32 32 32 0 0 1 32-32z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [512, 512, [], \"e063\", \"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};\nvar faHeadSideMedical = {\n prefix: 'fas',\n iconName: 'head-side-medical',\n icon: [512, 512, [], \"f809\", \"M509.21 275c-20.94-47.12-48.44-151.73-73.08-186.75A207.94 207.94 0 0 0 266.09 0H192C86 0 0 86 0 192a191.28 191.28 0 0 0 64 142.82V512h256v-64h64a64 64 0 0 0 64-64v-64h32a32 32 0 0 0 29.21-45zM320 216a8 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};\nvar faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"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};\nvar faHeadVr = {\n prefix: 'fas',\n iconName: 'head-vr',\n icon: [512, 512, [], \"f6ea\", \"M304 64h112v160H308.56c-41.85 0-79.98-30.11-84.15-71.75C219.62 104.36 257.1 64 304 64zm208 144V80c0-8.84-7.16-16-16-16h-48v160h48c8.84 0 16-7.16 16-16zm-319.43-52.56c-3.16-31.6 7.18-63.15 28.37-86.57C242.14 45.44 272.41 32 304 32h72.3C343.87 11.68 305.97 0 266.09 0H224C140.44 0 69.54 53.48 43.16 128H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h187.49c-5.67-11.31-9.61-23.56-10.92-36.56zM501.51 256H308.56c-31.13 0-59.73-12.33-80.92-32H34.95c7.4 43.72 29.4 82.44 61.05 110.82V512h224v-64h64c35.35 0 64-28.65 64-64v-64h31.96c23.16 0 38.65-23.84 29.24-45-2.47-5.56-5.05-12.04-7.69-19z\"]\n};\nvar faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [512, 512, [], \"f1dc\", \"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};\nvar faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [], \"f025\", \"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};\nvar faHeadphonesAlt = {\n prefix: 'fas',\n iconName: 'headphones-alt',\n icon: [512, 512, [], \"f58f\", \"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};\nvar faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"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};\nvar faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"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};\nvar faHeartBroken = {\n prefix: 'fas',\n iconName: 'heart-broken',\n icon: [512, 512, [], \"f7a9\", \"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};\nvar faHeartCircle = {\n prefix: 'fas',\n iconName: 'heart-circle',\n icon: [496, 512, [], \"f4c7\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm123.5 272.3L260.9 394.5c-7.1 7.4-18.7 7.4-25.9 0L124.5 280.3c-32.1-33.2-30.2-88.2 5.7-118.8 31.3-26.7 77.9-21.9 106.6 7.7l11.3 11.6 11.3-11.6c28.7-29.6 75.3-34.4 106.6-7.7 35.8 30.6 37.7 85.6 5.5 118.8z\"]\n};\nvar faHeartRate = {\n prefix: 'fas',\n iconName: 'heart-rate',\n icon: [640, 512, [], \"f5f8\", \"M624 224H480c-12.12 0-23.21 6.85-28.63 17.69l-26.54 53.09-73.95-271.2C346.99 9.35 333.82-.51 319.13.02 304.36.43 291.8 10.86 288.7 25.3l-69.14 322.68-28.79-100.78C186.84 233.47 174.29 224 160 224H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h119.86l57.38 200.79c3.94 13.77 16.52 23.2 30.75 23.2.36 0 .73 0 1.09-.02 14.67-.5 27.14-10.92 30.22-25.28l68.44-319.4 61.39 225.12a32.012 32.012 0 0 0 27.72 23.42c13.16 1.2 25.84-5.69 31.78-17.53L499.78 288H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faHeartSquare = {\n prefix: 'fas',\n iconName: 'heart-square',\n icon: [448, 512, [], \"f4c8\", \"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-52.5 248.3L236.9 394.5c-7.1 7.4-18.7 7.4-25.9 0L100.5 280.3c-32.1-33.2-30.2-88.2 5.7-118.8 31.3-26.7 77.9-21.9 106.6 7.7l11.3 11.6 11.3-11.6c28.7-29.6 75.3-34.4 106.6-7.7 35.8 30.6 37.7 85.6 5.5 118.8z\"]\n};\nvar faHeartbeat = {\n prefix: 'fas',\n iconName: 'heartbeat',\n icon: [512, 512, [], \"f21e\", \"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};\nvar faHeat = {\n prefix: 'fas',\n iconName: 'heat',\n icon: [448, 512, [], \"e00c\", \"M64,152.25V112A16,16,0,0,0,48,96H16A16,16,0,0,0,0,112v40.25A218.65,218.65,0,0,0,56.48,299,154.12,154.12,0,0,1,96,402.41V464a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V402.41a218.44,218.44,0,0,0-56.42-146.69A154.3,154.3,0,0,1,64,152.25ZM391.58,255.72A154.3,154.3,0,0,1,352,152.25V112a16,16,0,0,0-16-16H304a16,16,0,0,0-16,16v40.25A218.65,218.65,0,0,0,344.48,299,154.12,154.12,0,0,1,384,402.41V464a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V402.41A218.44,218.44,0,0,0,391.58,255.72ZM208,152.25V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V152.25A218.65,218.65,0,0,0,200.48,299,154.12,154.12,0,0,1,240,402.41V464a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V402.41a218.44,218.44,0,0,0-56.42-146.69A154.3,154.3,0,0,1,208,152.25Z\"]\n};\nvar faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [], \"f533\", \"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};\nvar faHelmetBattle = {\n prefix: 'fas',\n iconName: 'helmet-battle',\n icon: [576, 512, [], \"f6eb\", \"M32.01 256C49.68 256 64 243.44 64 227.94V0L.97 221.13C-4.08 238.84 11.2 256 32.01 256zm543.02-34.87L512 0v227.94c0 15.5 14.32 28.06 31.99 28.06 20.81 0 36.09-17.16 31.04-34.87zM480 210.82C480 90.35 288 0 288 0S96 90.35 96 210.82c0 82.76-22.86 145.9-31.13 180.71-3.43 14.43 3.59 29.37 16.32 35.24L256 512V256l-96-32v-32h256v32l-96 32v256l174.82-85.23c12.73-5.87 19.75-20.81 16.32-35.24-8.28-34.81-31.14-97.95-31.14-180.71z\"]\n};\nvar faHexagon = {\n prefix: 'fas',\n iconName: 'hexagon',\n icon: [576, 512, [], \"f312\", \"M441.5 39.8C432.9 25.1 417.1 16 400 16H176c-17.1 0-32.9 9.1-41.5 23.8l-112 192c-8.7 14.9-8.7 33.4 0 48.4l112 192c8.6 14.7 24.4 23.8 41.5 23.8h224c17.1 0 32.9-9.1 41.5-23.8l112-192c8.7-14.9 8.7-33.4 0-48.4l-112-192z\"]\n};\nvar faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [544, 512, [], \"f591\", \"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};\nvar faHiking = {\n prefix: 'fas',\n iconName: 'hiking',\n icon: [384, 512, [], \"f6ec\", \"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};\nvar faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [], \"f6ed\", \"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};\nvar faHistory = {\n prefix: 'fas',\n iconName: 'history',\n icon: [512, 512, [], \"f1da\", \"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};\nvar faHockeyMask = {\n prefix: 'fas',\n iconName: 'hockey-mask',\n icon: [448, 512, [], \"f6ee\", \"M376.61 54.46c-82.95-72.61-222.26-72.61-305.22 0C7.36 110.5-31.01 224.44 32.63 416 64.53 512 224 512 224 512s159.47 0 191.37-96c63.64-191.56 25.27-305.5-38.76-361.54zM288 64c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm-128 0c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm16 400c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm0-64c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm0-64c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm-48-64c-35.35 0-64-28.65-64-64 0-17.67 14.33-32 32-32h64c17.67 0 32 14.33 32 32 0 35.35-28.65 64-64 64zm96-128c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm48 320c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm0-64c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm0-64c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm48-64c-35.35 0-64-28.65-64-64 0-17.67 14.33-32 32-32h64c17.67 0 32 14.33 32 32 0 35.35-28.65 64-64 64z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"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};\nvar faHockeySticks = {\n prefix: 'fas',\n iconName: 'hockey-sticks',\n icon: [640, 512, [], \"f454\", \"M0 368v128c0 8.8 7.2 16 16 16h48V352H16c-8.8 0-16 7.2-16 16zM484.6 30.3L427.4 1.7c-7.9-4-17.5-.7-21.5 7.2L238.8 343.2c-2.7 5.4-8.2 8.8-14.3 8.8H96v160h126.1c24.2 0 46.4-13.7 57.2-35.4L491.8 51.8c3.9-7.9.7-17.5-7.2-21.5zm-245.1 204L293.2 127 234.1 8.8c-4-7.9-13.6-11.1-21.5-7.2l-57.3 28.6c-7.9 4-11.1 13.6-7.2 21.5l91.4 182.6zM624 352h-48v160h48c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-223.5-10.3L346.8 449c12.6 25.2 25.4 63 71.1 63H544V352H415.6c-4.6 0-10.8-1.7-15.1-10.3z\"]\n};\nvar faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [448, 512, [], \"f7aa\", \"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};\nvar faHome = {\n prefix: 'fas',\n iconName: 'home',\n icon: [576, 512, [], \"f015\", \"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};\nvar faHomeAlt = {\n prefix: 'fas',\n iconName: 'home-alt',\n icon: [576, 512, [], \"f80a\", \"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.47L318.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};\nvar faHomeHeart = {\n prefix: 'fas',\n iconName: 'home-heart',\n icon: [576, 512, [], \"f4c9\", \"M64 311.4V496c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16V311.4c-6.7-5.5-44.7-38.3-224-196.4C107.9 273.9 70.4 306.1 64 311.4zm314.1-26.3c27.6 23 29.1 64.2 4.5 89.1l-84.7 85.6c-5.5 5.5-14.3 5.5-19.8 0l-84.7-85.6c-24.6-24.9-23.2-66.1 4.3-89.1 24-20 59.7-16.4 81.6 5.8l8.6 8.7 8.6-8.7c22-22.2 57.7-25.8 81.6-5.8zM64 311.4v-.3s-2.7 2.5 0 .3zm506.7-75.1L512 184.5V48c0-8.8-7.2-16-16-16h-64c-8.8 0-16 7.2-16 16v51.7L314.7 10.3c-15.3-13.7-38.2-13.7-53.5 0l-256 226c-6.6 5.9-7.1 16-1.2 22.6l21.4 23.8c5.9 6.6 16 7.1 22.6 1.2L277.4 81.7c6-5.3 15.1-5.3 21.2 0L527.9 284c6.6 5.9 16.7 5.4 22.6-1.2l21.4-23.8c5.9-6.7 5.4-16.8-1.2-22.7zM512 311.1v.3c2.9 2.3 0-.3 0-.3z\"]\n};\nvar faHomeLg = {\n prefix: 'fas',\n iconName: 'home-lg',\n icon: [576, 512, [], \"f80b\", \"M570.69 236.28L512 184.45V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v51.69L314.75 10.31a39.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.59zM288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V368a16 16 0 0 1 16-16h96a16 16 0 0 1 16 16v128a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2z\"]\n};\nvar faHomeLgAlt = {\n prefix: 'fas',\n iconName: 'home-lg-alt',\n icon: [576, 512, [], \"f80c\", \"M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V368a16 16 0 0 1 16-16h96a16 16 0 0 1 16 16v128a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm282.69 121.28l-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};\nvar faHoodCloak = {\n prefix: 'fas',\n iconName: 'hood-cloak',\n icon: [576, 512, [], \"f6ef\", \"M288.27 192c-70.69 0-128 57.31-128 128v192h256V320c0-70.69-57.3-128-128-128zm281.37 268.84C511.97 383.87 511.97 320 511.97 320h.06v-64c0-84.03-46.37-123.05-101.18-182.7l39.75-39.75C462.99 21.17 454.22 0 436.71 0H287.6C192 0 64.03 109.45 64.03 256v64s0 63.87-57.67 140.84C1.89 466.8-.07 473.48 0 480c.19 16.52 13.46 32 32.33 32h95.94V320c0-88.22 71.78-160 160-160s160 71.78 160 160v192h95.4c18.87 0 32.14-15.48 32.33-32 .07-6.52-1.89-13.2-6.36-19.16z\"]\n};\nvar faHorizontalRule = {\n prefix: 'fas',\n iconName: 'horizontal-rule',\n icon: [640, 512, [], \"f86c\", \"M640 239.87v31.26A15.88 15.88 0 0 1 624.14 287H15.87A15.88 15.88 0 0 1 0 271.13v-31.26A15.88 15.88 0 0 1 15.87 224h608.27A15.88 15.88 0 0 1 640 239.87z\"]\n};\nvar faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [], \"f6f0\", \"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};\nvar faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [512, 512, [], \"f7ab\", \"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};\nvar faHorseSaddle = {\n prefix: 'fas',\n iconName: 'horse-saddle',\n icon: [576, 512, [], \"f8c3\", \"M128 160v-25.83a96.74 96.74 0 0 0-40 26.94V160a88.09 88.09 0 0 0-88 88v56a16 16 0 0 0 16 16h16a16 16 0 0 0 16-16v-56c0-13.22 6.87-24.39 16.78-31.69-.22 2.6-.78 5.07-.78 7.69a95.47 95.47 0 0 0 30.53 69.88l-25.72 68.6a64.13 64.13 0 0 0-2.15 38l24.84 99.4c1.69 6.68 8.62 12.12 15.5 12.12h66a16 16 0 0 0 15.53-19.88l-26.34-105.26L186 323.27l22 3.66v-72.54A95.83 95.83 0 0 1 128 160zm160 0v-32H160v32a64 64 0 0 0 128 0zm287.9-83.41a31.69 31.69 0 0 0-8.56-21.79c-3.78-4-8.59-9.11-13.69-14.5 11.07-6.85 19.5-17.49 22.19-30.66A8.11 8.11 0 0 0 567.9 0h-120A127.94 127.94 0 0 0 320 127.05v33a95.83 95.83 0 0 1-80 94.39v77.87l80 13.33V496a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V318.22A111.5 111.5 0 0 0 448 240a3.55 3.55 0 0 0-.1-.64V136.89l16 7.11 18.91 37.7a32 32 0 0 0 40.5 15.36l32.56-13C567 179.61 576 166.3 576 154.34zM511.9 96a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"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};\nvar faHospitalAlt = {\n prefix: 'fas',\n iconName: 'hospital-alt',\n icon: [576, 512, [], \"f47d\", \"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};\nvar faHospitalSymbol = {\n prefix: 'fas',\n iconName: 'hospital-symbol',\n icon: [512, 512, [], \"f47e\", \"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};\nvar faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [640, 512, [], \"f80d\", \"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};\nvar faHospitals = {\n prefix: 'fas',\n iconName: 'hospitals',\n icon: [640, 512, [], \"f80e\", \"M256 96V32a32 32 0 0 0-32-32H64a32 32 0 0 0-32 32v64a32 32 0 0 0-32 32v352a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V128a32 32 0 0 0-32-32zM128 404a12 12 0 0 1-12 12H76a12 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 12H76a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm26-116h-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-26v26a6 6 0 0 1-6 6zm70 244a12 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 12zM608 96V32a32 32 0 0 0-32-32H416a32 32 0 0 0-32 32v64a32 32 0 0 0-32 32v352a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V128a32 32 0 0 0-32-32zM480 404a12 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 12zm26-116h-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-26v26a6 6 0 0 1-6 6zm70 244a12 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};\nvar faHotTub = {\n prefix: 'fas',\n iconName: 'hot-tub',\n icon: [512, 512, [], \"f593\", \"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};\nvar faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [], \"f80f\", \"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};\nvar faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [576, 512, [], \"f594\", \"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};\nvar faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"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};\nvar faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [], \"f253\", \"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};\nvar faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [], \"f252\", \"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};\nvar faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [], \"f251\", \"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};\nvar faHouse = {\n prefix: 'fas',\n iconName: 'house',\n icon: [576, 512, [], \"e00d\", \"M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.76,10.3C308.48,4.61,296.51,0,288,0s-20.45,4.61-26.73,10.3l-256,226a16,16,0,0,0-1.2,22.6l21.4,23.8A18.31,18.31,0,0,0,37.42,288a18.51,18.51,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.87l15.91,14A18.62,18.62,0,0,0,538.63,288a18.12,18.12,0,0,0,11.87-5.31l21.41-23.81A18.61,18.61,0,0,0,576,248.18,18.21,18.21,0,0,0,570.69,236.27ZM352,298.66A21.39,21.39,0,0,1,330.64,320h-85.3A21.39,21.39,0,0,1,224,298.66V213.32A21.39,21.39,0,0,1,245.34,192h85.3A21.39,21.39,0,0,1,352,213.32Z\"]\n};\nvar faHouseDamage = {\n prefix: 'fas',\n iconName: 'house-damage',\n icon: [576, 512, [], \"f6f1\", \"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};\nvar faHouseDay = {\n prefix: 'fas',\n iconName: 'house-day',\n icon: [640, 512, [], \"e00e\", \"M136,176a40,40,0,1,0,40-40A40.07,40.07,0,0,0,136,176ZM635.23,292.42,576,240V144a16,16,0,0,0-16-16H528a16,16,0,0,0-16,16v39.29l-88.48-78.37a35.32,35.32,0,0,0-46.92,0L164.8,292.42a14.18,14.18,0,0,0-1.23,20l18.79,21.28a14.21,14.21,0,0,0,20,1.25L224,315.87V480a32,32,0,0,0,32,32H544a32,32,0,0,0,32-32V315.84L597.62,335a14.28,14.28,0,0,0,20-1.25l18.79-21.28A14.25,14.25,0,0,0,635.23,292.42ZM448,368a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V304a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16ZM104,176a72,72,0,0,1,144,0v0l42.83-37.93-10.54-5.26,23-69a11.88,11.88,0,0,0-15.06-15l-69,23L186.66,6.6a11.9,11.9,0,0,0-21.31,0L132.83,71.7l-69.09-23a11.88,11.88,0,0,0-15.06,15l23,69L6.6,165.34a11.91,11.91,0,0,0,0,21.32l65.11,32.51-23,69.1a11.89,11.89,0,0,0,15.06,15.06l69-23,.74,1.49a46.66,46.66,0,0,1,10.08-13.32l24.07-21.31C131.92,243,104,212.84,104,176Z\"]\n};\nvar faHouseFlood = {\n prefix: 'fas',\n iconName: 'house-flood',\n icon: [576, 512, [], \"f74f\", \"M21.4 244c-5.9-6.6-5.2-16.7 1.4-22.6L261.6 10c15.1-13.4 37.8-13.4 52.9 0L416 99.9V48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v108.6l73.2 64.8c6.6 5.9 7.2 16 1.4 22.6l-21.2 24c-5.9 6.6-16 7.2-22.6 1.4L288 72.1 65.2 269.4c-6.6 5.9-16.7 5.2-22.6-1.4l-21.2-24zm540.7 203.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.3zM288 114.8l192 170v99.8h-.1c-16 0-31.6 5.5-43.9 15.4-12.2 9.8-31.5 15.6-51.7 15.6-21.2 0-40.7-6.1-53.5-16.7-11.7-9.7-26.1-14.8-41.6-14.8-16.2 0-32.3 5.7-45.5 16.1-12.4 9.8-31.1 15.4-51.5 15.4-21.2 0-40.7-6.1-53.5-16.7-11.6-9.6-26-14.7-41.4-14.7-.5 0-.9.1-1.4.1v-99.4L288 114.8zM320 224h-64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16z\"]\n};\nvar faHouseLeave = {\n prefix: 'fas',\n iconName: 'house-leave',\n icon: [640, 512, [], \"e00f\", \"M356.87,384.5a30.05,30.05,0,0,0,6.95-10.64l20.71-51.5,11.76-29.25c-.48-3-.81-6-1-9a63.54,63.54,0,0,1-58,.39c-31.26-15.74-44.05-54.16-28.52-85.64l6.73-13.65a127.24,127.24,0,0,1,66.4-61.67l7.52-3.07L263.52,8.92a35.32,35.32,0,0,0-46.92,0L4.8,196.42a14.18,14.18,0,0,0-1.23,20l18.79,21.28a14.2,14.2,0,0,0,20,1.25L64,219.87V384a32,32,0,0,0,32,32H325.44ZM224,272a16,16,0,0,1-16,16H144a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16ZM528,96a48,48,0,1,0-48-48A48,48,0,0,0,528,96ZM393.55,385.74a61.78,61.78,0,0,1-14.18,21.49l-50,50.11a32,32,0,0,0,45.18,45.29l59.4-59.4a64.8,64.8,0,0,0,14.2-21.5l13.5-33.79c-55.29-60.29-38.7-41.79-47.4-53.69ZM622.42,245.06l-23.29-11.8-9.7-29.38c-14.7-44.61-55.7-75.81-102.19-75.9-36-.09-55.88,10.09-93.28,25.2a95.46,95.46,0,0,0-49.7,46.2L337.56,213a32.11,32.11,0,0,0,14.2,42.9,31.55,31.55,0,0,0,42.49-14.31L401,228a31.82,31.82,0,0,1,16.49-15.41l26.8-10.79-15.2,60.69A64.23,64.23,0,0,0,444,321.25l59.9,65.4a64.42,64.42,0,0,1,14.89,27.69L537,487.63a32,32,0,0,0,62.1-15.5l-22.2-89a63.81,63.81,0,0,0-14.9-27.7l-45.5-49.7,17.2-68.69,5.5,16.5a63.73,63.73,0,0,0,31.7,37l23.29,11.81a31.57,31.57,0,0,0,42.5-14.31A32.37,32.37,0,0,0,622.42,245.06Z\"]\n};\nvar faHouseNight = {\n prefix: 'fas',\n iconName: 'house-night',\n icon: [640, 512, [], \"e010\", \"M112,224a111.77,111.77,0,0,0,87-41.47,5.25,5.25,0,0,0-5.05-8.47A87.74,87.74,0,0,1,134.11,11.6a5.26,5.26,0,0,0-1.65-9.73A136.16,136.16,0,0,0,112,0a112,112,0,0,0,0,224Zm523.23,68.42L576,240V144a16,16,0,0,0-16-16H528a16,16,0,0,0-16,16v39.29l-88.48-78.37a35.32,35.32,0,0,0-46.92,0L164.8,292.42a14.19,14.19,0,0,0-1.23,20l18.79,21.28a14.2,14.2,0,0,0,20,1.25L224,315.87V480a32,32,0,0,0,32,32H544a32,32,0,0,0,32-32V315.84L597.62,335a14.28,14.28,0,0,0,20-1.25l18.79-21.28A14.25,14.25,0,0,0,635.23,292.42ZM448,368a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V304a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16ZM195,68.78l39.72,16.56,16.56,39.72a5.32,5.32,0,0,0,9.54,0l16.56-39.72,39.72-16.56a5.33,5.33,0,0,0,0-9.54L277.33,42.68,260.77,3a5.32,5.32,0,0,0-9.54,0L234.67,42.68,195,59.24a5.33,5.33,0,0,0,0,9.54Zm-37.9,310.46-39.72-16.56L100.77,323a5.32,5.32,0,0,0-9.54,0L74.67,362.68,35,379.24a5.33,5.33,0,0,0,0,9.54l39.72,16.56,16.56,39.72a5.32,5.32,0,0,0,9.54,0l16.56-39.72,39.72-16.56a5.33,5.33,0,0,0,0-9.54Z\"]\n};\nvar faHouseReturn = {\n prefix: 'fas',\n iconName: 'house-return',\n icon: [640, 512, [], \"e011\", \"M374.8,333.36a63.48,63.48,0,0,1-80.3-31.17c-15.47-31.51-2.63-69.95,28.56-85.65l11.51-5.83,5.56-16.83a143.26,143.26,0,0,1,51.95-71.1L263.52,8.92a35.32,35.32,0,0,0-46.92,0L4.8,196.41a14.19,14.19,0,0,0-1.23,20l18.79,21.29a14.21,14.21,0,0,0,20,1.24L64,219.87V384a32,32,0,0,0,32,32H341.86L352,375.38a95.83,95.83,0,0,1,22.33-41.5ZM224,272a16,16,0,0,1-16,16H144a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16Zm307-9.51-15.2-60.69,26.79,10.79A31.81,31.81,0,0,1,559,228l6.71,13.59a31.56,31.56,0,0,0,42.49,14.31,32.11,32.11,0,0,0,14.2-42.9l-6.7-13.59A95.44,95.44,0,0,0,566,153.21c-37.4-15.11-57.29-25.3-93.28-25.2-46.49.09-87.49,31.29-102.19,75.89l-9.7,29.38-23.29,11.8a32.37,32.37,0,0,0-14.3,43,31.58,31.58,0,0,0,42.5,14.31l23.29-11.81a63.75,63.75,0,0,0,31.7-37l5.5-16.49,17.2,68.69L398,355.46a63.83,63.83,0,0,0-14.9,27.69l-22.2,89a32,32,0,0,0,62.1,15.5l18.29-73.28a64.51,64.51,0,0,1,14.89-27.7l59.9-65.39A64.21,64.21,0,0,0,531,262.48ZM432,96a48,48,0,1,0-48-48A48,48,0,0,0,432,96ZM630.63,457.34l-50-50.1a61.78,61.78,0,0,1-14.18-21.49l-20.7-51.49c-8.7,11.9,7.89-6.59-47.4,53.69l13.5,33.79a64.75,64.75,0,0,0,14.2,21.49l59.4,59.4a32,32,0,0,0,45.18-45.29Z\"]\n};\nvar faHouseSignal = {\n prefix: 'fas',\n iconName: 'house-signal',\n icon: [640, 512, [], \"e012\", \"M635.23,196.42,576,144V48a16,16,0,0,0-16-16H528a16,16,0,0,0-16,16V87.29L423.52,8.92a35.32,35.32,0,0,0-46.92,0L164.8,196.42a14.19,14.19,0,0,0-1.23,20l18.79,21.28a14.2,14.2,0,0,0,20,1.25L224,219.87v64A320.42,320.42,0,0,1,305.24,416H544a32,32,0,0,0,32-32V219.84L597.62,239a14.28,14.28,0,0,0,20-1.25l18.79-21.28A14.25,14.25,0,0,0,635.23,196.42ZM448,272a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16ZM0,416v96H96A96,96,0,0,0,0,416Zm0-96v63.93A128.12,128.12,0,0,1,128.07,512H192C192,406,106,320,0,320Zm0-96H0v63.93c123.71,0,224.07,100.36,224.07,224.07H288C288,352.94,159.06,224,0,224Z\"]\n};\nvar faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [], \"e065\", \"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};\nvar faHryvnia = {\n prefix: 'fas',\n iconName: 'hryvnia',\n icon: [384, 512, [], \"f6f2\", \"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};\nvar faHumidity = {\n prefix: 'fas',\n iconName: 'humidity',\n icon: [384, 512, [], \"f750\", \"M223.9 22.1c-8.7-28.8-53.9-30.1-63.8 0C109.1 179.8 0 222.7 0 333.9 0 432.3 85.9 512 192 512s192-79.7 192-178.1c0-111.7-108.9-153.3-160.1-311.8zM96 288c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm49.5 131.8c-2.8 3.5-7.8 4-11.2 1.2l-12.5-10c-3.4-2.8-4-7.8-1.2-11.2l118-147.5c2.8-3.4 7.8-4 11.2-1.2l12.5 10c3.5 2.8 4 7.8 1.2 11.2l-118 147.5zM256 416c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faHurricane = {\n prefix: 'fas',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", \"M176 96l24.5-74.8C204.2 10 194.9-1.3 183.1.1 80 12.4 0 101.6 0 208c0 114.9 93.1 208 208 208l-24.5 74.8c-3.7 11.2 5.6 22.5 17.4 21.1C304 499.6 384 410.4 384 304c0-114.9-93.1-208-208-208zm16 256c-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};\nvar faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"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};\nvar faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [], \"f810\", \"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};\nvar faIceSkate = {\n prefix: 'fas',\n iconName: 'ice-skate',\n icon: [576, 512, [], \"f7ac\", \"M568 416h-32c-4.4 0-8 3.6-8 8v16c0 13.3-10.7 24-24 24h-72v-48h-48v48H144v-48H96v48H8c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8h504c35.3 0 64-28.7 64-64v-24c0-4.4-3.6-8-8-8zM64 384h416c17.7 0 32-14.3 32-32v-37c0-44.1-30-82.4-72.7-93.1L320 192h-56c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h56v-32h-56c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h56V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16L78.4 82.7c-27.5 7.9-46.4 33-46.4 61.5V352c0 17.7 14.3 32 32 32z\"]\n};\nvar faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"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};\nvar faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [], \"f86d\", \"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};\nvar faIconsAlt = {\n prefix: 'fas',\n iconName: 'icons-alt',\n icon: [512, 512, [], \"f86e\", \"M16 160h64v48a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-48h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-96h192a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H16A16 16 0 0 0 0 16v32a16 16 0 0 0 16 16zM478.08.33L329.51 23.18C314.87 25.44 304 38.94 304 54.86V161.7a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.49-64 48s28.65 48 64 48c35.2 0 63.73-21.33 64-47.69V99.73L464 82.5v47.2a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.49-64 48s28.65 48 64 48c35.2 0 63.73-21.33 64-47.69V32c0-19.47-16-34.43-33.92-31.67zM328 368a40 40 0 1 0-40-40 40 40 0 0 0 40 40zm-108.41 15.94L197 361.31a16 16 0 0 0-22.63 0l-27.92 27.89-22.7-22.7a64 64 0 1 0-90.7-3.3l-6.92 6.92c-29.59 29.59-35.69 77.63-9.81 110.52A81.31 81.31 0 0 0 138 488.19l8.48-8.49 27.61 27.61a16 16 0 0 0 22.63 0l22.62-22.62a16 16 0 0 0 0-22.63l-27.64-27.61 27.89-27.89a16 16 0 0 0 0-22.62zM80 304a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm12.72 138.94a17.29 17.29 0 1 1-24.45-24.46l8.48-8.48 24.45 24.45zm392-150.25a16 16 0 0 0-22.63 0l-169.4 169.37a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l169.37-169.37a16 16 0 0 0 0-22.63zM472 432a40 40 0 1 0 40 40 40 40 0 0 0-40-40z\"]\n};\nvar faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"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};\nvar faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"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};\nvar faIdCardAlt = {\n prefix: 'fas',\n iconName: 'id-card-alt',\n icon: [576, 512, [], \"f47f\", \"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};\nvar faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"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};\nvar faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"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};\nvar faImagePolaroid = {\n prefix: 'fas',\n iconName: 'image-polaroid',\n icon: [448, 512, [], \"f8c4\", \"M128 192a32 32 0 1 0-32-32 32 32 0 0 0 32 32zM416 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 320H64V96h320zM268.8 209.07a16 16 0 0 0-25.6 0l-49.32 65.75L173.31 244a16 16 0 0 0-26.62 0L96 320h256z\"]\n};\nvar faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"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};\nvar faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [576, 512, [], \"f01c\", \"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};\nvar faInboxIn = {\n prefix: 'fas',\n iconName: 'inbox-in',\n icon: [576, 512, [], \"f310\", \"M250.5 0h68.6c9.5 0 17.1 7.7 17.1 17.1V160h68.3c17.8 0 26.7 21.5 14.1 34.1l-119.4 120c-7.9 7.9-20.9 7.8-28.6-.3L157 193.8c-12.1-12.7-3.1-33.8 14.5-33.8h61.9V17.1c0-9.4 7.7-17.1 17.1-17.1zm315 338.9l-94.6-118.2c-4.5-5.6-13-6-18-.9l-28.1 28.9c-4.2 4.3-4.5 11.1-.8 15.9l44.3 55.4H376l-32 64H232l-32-64h-92.4l43.8-54.7c3.7-4.7 3.5-11.4-.6-15.7l-27.6-29.5c-5-5.3-13.6-5-18.1.7l-94.4 118c-7 8.6-10.7 19.1-10.7 30V464c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48v-95.2c0-10.9-3.7-21.4-10.5-29.9z\"]\n};\nvar faInboxOut = {\n prefix: 'fas',\n iconName: 'inbox-out',\n icon: [576, 512, [], \"f311\", \"M576 368.8V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48v-95.2c0-10.9 3.7-21.5 10.5-30l94.4-118c4.6-5.7 13.1-6 18.1-.7l27.6 29.5c4.1 4.4 4.3 11 .6 15.7L107.6 320H200l32 64h112l32-64h92.4l-44.3-55.4c-3.8-4.7-3.5-11.5.8-15.9l28.1-28.9c5-5.2 13.5-4.8 18 .9l94.6 118.2c6.7 8.5 10.4 19 10.4 29.9zm-233.4-65.9V160h61.9c17.6 0 26.6-21.1 14.5-33.8L305.3 6.2c-7.7-8.1-20.7-8.3-28.6-.3l-119.4 120c-12.6 12.6-3.7 34.1 14.1 34.1h68.3v142.9c0 9.5 7.7 17.1 17.1 17.1h68.6c9.5 0 17.2-7.7 17.2-17.1z\"]\n};\nvar faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"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};\nvar faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [512, 512, [], \"f275\", \"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};\nvar faIndustryAlt = {\n prefix: 'fas',\n iconName: 'industry-alt',\n icon: [512, 512, [], \"f3b3\", \"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.248zM404 384h-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 12zm-128 0h-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 12zm-128 0h-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 12z\"]\n};\nvar faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [], \"f534\", \"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};\nvar faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"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};\nvar faInfoCircle = {\n prefix: 'fas',\n iconName: 'info-circle',\n icon: [512, 512, [], \"f05a\", \"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};\nvar faInfoSquare = {\n prefix: 'fas',\n iconName: 'info-square',\n icon: [448, 512, [], \"f30f\", \"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-48zm-176 86c23.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};\nvar faInhaler = {\n prefix: 'fas',\n iconName: 'inhaler',\n icon: [640, 512, [], \"f5f9\", \"M32 448c-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-32zm0 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96-48c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zM616.27 38.02L478.47 1.1c-17.07-4.57-34.62 5.56-39.19 22.63l-15.41 57.52 168.74 168.74L638.9 77.21c4.58-17.07-5.55-34.61-22.63-39.19zm-207.08 73.8c-8.74-8.74-23.66-4.7-26.79 7.26L346.49 256H224c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h295.31c14.55 0 27.26-9.81 30.95-23.88l44.22-168.59c2.88-11-.29-22.71-8.33-30.75L409.19 111.82zM128 400c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faIntegral = {\n prefix: 'fas',\n iconName: 'integral',\n icon: [384, 512, [], \"f667\", \"M377.21 73.03l-28-36.17C328.43 9.98 295.87-3.75 262.05.89 221.86 6.41 190.54 40 181.42 80.82l-78.16 334.36-23.95-30.91c-10.69-13.79-30.18-16.03-43.53-4.98l-24.17 20c-13.35 11.05-15.51 31.19-4.82 44.98l21.42 27.65c15.98 20.63 38.53 35.82 63.89 39.21 49.82 6.67 94.4-26.18 105.34-75.22l79.2-339.11 28.03 36.2c10.68 13.8 30.17 16.04 43.52 5l24.18-20c13.36-11.03 15.53-31.17 4.84-44.97z\"]\n};\nvar faIntersection = {\n prefix: 'fas',\n iconName: 'intersection',\n icon: [384, 512, [], \"f668\", \"M166.74 33.62C69.96 46.04 0 133.11 0 230.68V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V224c0-59.2 53.85-106.04 115.13-94.14 45.58 8.85 76.87 51.5 76.87 97.93V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V224c0-114.18-100.17-205.4-217.26-190.38z\"]\n};\nvar faInventory = {\n prefix: 'fas',\n iconName: 'inventory',\n icon: [640, 512, [], \"f480\", \"M624 0h-32c-8.8 0-16 7.2-16 16v144H64V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v496h64v-32h512v32h64V16c0-8.8-7.2-16-16-16zm-48 416H64V224h512v192zM368 128h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zM112 384h96c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm160 0h96c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16z\"]\n};\nvar faIslandTropical = {\n prefix: 'fas',\n iconName: 'island-tropical',\n icon: [448, 512, [], \"f811\", \"M336.53 32c-34.88 0-65.66 13.82-86.3 35.08C235.78 28.29 193.72 0 143.47 0 87 0 40.31 35.43 32.18 81.64A12.38 12.38 0 0 0 44.6 96H80l16-32 16 32h30.17c-34.21 35-39.62 86.88-14.54 122.58 4.36 6.2 13.14 7.31 18.5 1.95l71-71c4 79.62-11 159.62-21 202.5H142.8A144 144 0 0 0 .36 474.78C-2.53 494.3 12.39 512 32.12 512H352c18.46 0 34.11-15.74 31.8-34.05-7-55.68-47.06-101-99-118.13 10.2-88.69-7.32-183.68-18.52-231.82H368l16-32 16 32h35.4a12.38 12.38 0 0 0 12.42-14.36C439.69 67.43 393 32 336.53 32z\"]\n};\nvar faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [320, 512, [], \"f033\", \"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};\nvar faJackOLantern = {\n prefix: 'fas',\n iconName: 'jack-o-lantern',\n icon: [576, 512, [], \"f30e\", \"M352 106.6V35.81c0-6.06-3.42-11.6-8.84-14.31l-39.6-19.8c-8.37-4.19-18.54-.32-22.01 8.37l-36.06 90.15C258.62 97.58 272.65 96 288 96c24.28 0 45.23 3.99 64 10.6zm143.3 46.53c-27-23.09-65.36-29.76-99.49-20.93 6.09 5.5 12.16 11.02 17.19 17.8 3.1 4.26 5.46 9.42 8.15 14.17C389.39 140.55 345.54 128 288 128s-101.39 12.54-133.15 36.17c2.69-4.75 5.04-9.91 8.15-14.17 5.02-6.78 11.1-12.29 17.19-17.8-34.13-8.83-72.49-2.16-99.49 20.93-107.6 92.01-107.6 241.72 0 333.74 38.63 33.03 100.82 33.34 140.12 1.25C238.65 503.51 260.72 512 288 512s49.35-8.49 67.19-23.88c39.3 32.09 101.49 31.78 140.12-1.25 107.59-92.01 107.59-241.73-.01-333.74zM320.85 278L362 211.33c2.33-4.57 8.6-4.42 12 0L415.15 278c1.66 3.25.9 10-6 10h-82.29c-6.9 0-7.7-6.69-6.01-10zm-160 0L202 211.33c2.33-4.57 8.6-4.42 12 0L255.15 278c1.66 3.25.9 10-6 10h-82.29c-6.9 0-7.7-6.69-6.01-10zm308.95 67.6c-5.96 17.04-12.75 28.62-18.7 36.96-9.38 12.94-21.34 23.8-35.19 32.99-.25-8.62-7.23-15.55-15.91-15.55h-16c-8.84 0-16 7.16-16 16v21.48c-23.46 6.88-50.16 10.52-79.98 10.52-29.85 0-56.56-3.65-80.02-10.51V416c0-8.84-7.16-16-16-16h-16c-8.7 0-15.71 6.97-15.92 15.63-13.71-9.08-25.53-19.79-34.75-32.51-6.12-8.59-13.02-20.31-19.04-37.46-4.87-13.89 10.56-26.15 23.24-18.67 32.94 19.44 70.39 32.74 110.47 38.84V384c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-14.26h.02c58.38 0 112.72-15.74 158.54-42.79 12.66-7.48 28.09 4.77 23.24 18.65z\"]\n};\nvar faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"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};\nvar faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"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};\nvar faJournalWhills = {\n prefix: 'fas',\n iconName: 'journal-whills',\n icon: [448, 512, [], \"f66a\", \"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};\nvar faJoystick = {\n prefix: 'fas',\n iconName: 'joystick',\n icon: [448, 512, [], \"f8c5\", \"M416 352H128v-16a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v16H32a32 32 0 0 0-32 32v96a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32v-96a32 32 0 0 0-32-32zM192 218.8V320h64V218.8c46.15-13.8 80-56.14 80-106.8a112 112 0 0 0-224 0c0 50.66 33.85 93 80 106.8zM200 48a24 24 0 1 1-24 24 24 24 0 0 1 24-24z\"]\n};\nvar faJug = {\n prefix: 'fas',\n iconName: 'jug',\n icon: [448, 512, [], \"f8c6\", \"M448 168a71.72 71.72 0 0 0-126.68-46.35L311 108.77A31.66 31.66 0 0 1 305.23 96H142.77a31.66 31.66 0 0 1-5.77 12.77l-76.95 96.17a128 128 0 0 0-28 80V448a64 64 0 0 0 64 64H352a64 64 0 0 0 64-64V284.9a127.59 127.59 0 0 0-11.1-51A72 72 0 0 0 448 168zm-96 216a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32zm25.38-192.28l-24.09-30.1C356.14 151.54 365 144 376 144a23.88 23.88 0 0 1 1.38 47.72zM152 64h144a23.94 23.94 0 0 0 24-24V24a23.94 23.94 0 0 0-24-24H152a23.94 23.94 0 0 0-24 24v16a23.94 23.94 0 0 0 24 24z\"]\n};\nvar faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [], \"f66b\", \"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};\nvar faKazoo = {\n prefix: 'fas',\n iconName: 'kazoo',\n icon: [640, 512, [], \"f8c7\", \"M608 128h-95.42c-19.51-9.89-41.25-16-64.58-16s-45.07 6.11-64.58 16H241.93a128.3 128.3 0 0 0-35.17 4.92L23.21 185.37A32 32 0 0 0 0 216.14v79.72a32 32 0 0 0 23.21 30.77l183.55 52.44a127.93 127.93 0 0 0 35.17 4.93h141.49c19.51 9.89 41.25 16 64.58 16s45.07-6.11 64.58-16H608a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32zM448 352a96 96 0 1 1 96-96 96 96 0 0 1-96 96zm50.91-135.6l-11.31-11.31a8 8 0 0 0-11.32 0L448 233.37l-28.29-28.28a8 8 0 0 0-11.31 0l-11.31 11.31a8 8 0 0 0 0 11.31L425.37 256l-28.28 28.28a8 8 0 0 0 0 11.32l11.31 11.31a8 8 0 0 0 11.31 0L448 278.63l28.28 28.28a8 8 0 0 0 11.32 0l11.31-11.31a8 8 0 0 0 0-11.32L470.63 256l28.28-28.29a8 8 0 0 0 0-11.31z\"]\n};\nvar faKerning = {\n prefix: 'fas',\n iconName: 'kerning',\n icon: [640, 512, [], \"f86f\", \"M416.54 0h-17A8 8 0 0 0 392 5.32l-176.28 496a8 8 0 0 0 7.55 10.68h17a8 8 0 0 0 7.54-5.32l176.28-496A8 8 0 0 0 416.54 0zM304 96h-50.62a16 16 0 0 0-15.16 10.89L160 306.68 81.78 106.89A16 16 0 0 0 66.62 96H16A16 16 0 0 0 .85 117.11l105.27 277.2a32 32 0 0 0 30.3 21.69h47.16a32 32 0 0 0 30.3-21.69l105.27-277.2A16 16 0 0 0 304 96zm335.15 298.89l-105.27-277.2A32 32 0 0 0 503.58 96h-47.16a32 32 0 0 0-30.3 21.69l-105.27 277.2A16 16 0 0 0 336 416h50.61a16 16 0 0 0 15.16-10.89L416.31 368h127.38l14.53 37.11A16 16 0 0 0 573.38 416H624a16 16 0 0 0 15.15-21.11zM447.63 288L480 205.32 512.37 288z\"]\n};\nvar faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [], \"f084\", \"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};\nvar faKeySkeleton = {\n prefix: 'fas',\n iconName: 'key-skeleton',\n icon: [512, 512, [], \"f6f3\", \"M448 0H320c-35.35 0-64 28.65-64 64v153.6L4.69 468.91c-6.25 6.25-6.25 16.38 0 22.63l15.77 15.77c6.25 6.25 16.38 6.25 22.63 0l36.25-36.25 36.11 36.11c6.25 6.25 16.38 6.25 22.63 0l43.16-43.16c6.25-6.25 6.25-16.38 0-22.63l-36.11-36.11L176 374.4l36.91 36.91c6.25 6.25 16.38 6.25 22.63 0l15.77-15.77c6.25-6.25 6.25-16.38 0-22.63L214.4 336l80-80H448c35.35 0 64-28.65 64-64V64c0-35.35-28.65-64-64-64zm-73.37 182.63c-12.5 12.5-32.76 12.5-45.26 0s-12.5-32.76 0-45.25c12.5-12.5 32.76-12.5 45.26 0 12.49 12.49 12.49 32.75 0 45.25zm64-64c-12.5 12.5-32.76 12.5-45.26 0s-12.5-32.76 0-45.25c12.5-12.5 32.76-12.5 45.26 0 12.49 12.49 12.49 32.75 0 45.25z\"]\n};\nvar faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"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};\nvar faKeynote = {\n prefix: 'fas',\n iconName: 'keynote',\n icon: [512, 512, [], \"f66c\", \"M368 448h-80v-64h-64v64h-80c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm140.62-166.76l-51.78-103.55A32 32 0 0 0 428.22 160H144c0-37.62 26.21-69.06 62.68-77.55C215.31 90.81 227.03 96 240 96h64c26.51 0 48-21.49 48-48S330.51 0 304 0h-64c-22.35 0-40.96 15.34-46.31 36.02C137.77 49.72 96 99.91 96 160H83.78a32 32 0 0 0-28.62 17.69L3.38 281.24A32.066 32.066 0 0 0 0 295.55V320c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-24.45c0-4.96-1.16-9.86-3.38-14.31z\"]\n};\nvar faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [], \"f66d\", \"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};\nvar faKidneys = {\n prefix: 'fas',\n iconName: 'kidneys',\n icon: [640, 512, [], \"f5fb\", \"M231.6 32.07c-35.33-39.56-96.04-42.99-135.62-7.69C36.08 77.85 2.39 149.96.13 224c-1.28 42.04 7.47 70.91 12.89 90.06 11.94 42.31 50.46 69.93 92.35 69.93 64.31 0 109.65-61.47 92.47-122.11-1.04-3.7-23.08-50.43 26.07-94.27 39.58-35.3 43.02-95.98 7.69-135.54zm72.27 235.7c0-21.31-11.84-40.5-30.97-50.09l-35.84-17.92c-8.57 10.12-16.55 24.95-11.66 42.26l1.82 6.49 24.21 12.11c2.72 1.37 4.44 4.09 4.44 7.16v212.21l.02 16.01c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16l-.02-48V267.77zm62.97-50.09c-19.09 9.59-30.97 28.78-30.97 50.09l.02 212.21V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16l-.02-48V267.77c0-3.03 1.72-5.78 4.47-7.16l23.87-11.94 2.13-7.39c4.89-16.94-3.08-31.56-11.61-41.56l-35.89 17.96zM543.89 24.3C504.34-10.92 443.56-7.45 408.3 32.2c-35.27 39.59-31.73 100.27 7.91 135.52 49.6 44.12 26.49 91.15 25.76 93.71C424.49 322 469.62 384 534.29 384c41.74 0 80.13-27.37 92.26-69.46 5.54-19.27 14.54-48.08 13.35-90.54-2.09-74.03-35.81-146.16-96.01-199.7z\"]\n};\nvar faKiss = {\n prefix: 'fas',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"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};\nvar faKissBeam = {\n prefix: 'fas',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"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};\nvar faKissWinkHeart = {\n prefix: 'fas',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"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};\nvar faKite = {\n prefix: 'fas',\n iconName: 'kite',\n icon: [640, 512, [], \"f6f4\", \"M113.75 315.83l53.38 35.58c10.63 7.09 24.88-.54 24.88-13.31v-68.21c0-12.78-14.24-20.4-24.88-13.31L120 288v-64c0-48.6-39.4-88-88-88H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16c22.09 0 40 17.91 40 40v64l-47.12-31.42C14.24 249.49 0 257.12 0 269.89v68.21c0 12.78 14.24 20.4 24.88 13.31l53.38-35.58a32.004 32.004 0 0 1 35.49 0zM615.8 1.57C613.24.91 610.77 0 608 0H345.46c-2.36 0-4.54.67-6.76 1.16l138.76 138.76L615.8 1.57zM331.31 331.31c-3.12 3.12-8.19 3.12-11.31 0L308.69 320c-3.12-3.12-3.12-8.19 0-11.31l146.14-146.14L315.11 22.82c-.21.7-.66 1.26-.83 1.98l-78.76 341.31c-.39 1.69-.44 3.34-.55 4.99l-88.33 88.33c-9.83 9.83-26.63 2.87-26.63-11.03v-89.95l-24-16-24 16v84.86c0 16.55 5.05 33.04 15.7 45.71 26.48 31.53 68.98 28.26 92.87 4.34l88.31-88.31c1.66-.12 3.32-.19 5.02-.58l341.31-78.76c.72-.17 1.29-.62 1.99-.83L477.46 185.17 331.31 331.31zM638.43 24.2L500.08 162.54 638.84 301.3c.49-2.22 1.16-4.4 1.16-6.75V32c0-2.77-.91-5.24-1.57-7.8z\"]\n};\nvar faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"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};\nvar faKnifeKitchen = {\n prefix: 'fas',\n iconName: 'knife-kitchen',\n icon: [576, 512, [], \"f6f5\", \"M267.52 216.6L4.87 469.83c-8.72 8.41-5.22 22.73 6.49 26.49 113.84 36.59 239.36 8.02 324.21-73.79l61.04-58.85c6.48-6.25 6.48-16.38 0-22.63L267.52 216.6zM566.28 43.31L531.07 9.37c-12.96-12.5-33.98-12.5-46.94 0l-192.31 185.4 112.1 108.08 34.35-27.71c6.22-6 9.72-14.14 9.72-22.63V208L566.28 88.57c12.96-12.5 12.96-32.76 0-45.26zM444.24 149.66c-6.48 6.25-16.99 6.25-23.47 0s-6.48-16.38 0-22.63 16.99-6.25 23.47 0 6.48 16.38 0 22.63zm60.52-58.35c-6.48 6.25-16.99 6.25-23.47 0s-6.48-16.38 0-22.63 16.99-6.25 23.47 0 6.48 16.39 0 22.63z\"]\n};\nvar faLambda = {\n prefix: 'fas',\n iconName: 'lambda',\n icon: [448, 512, [], \"f66e\", \"M424 384h-43.5L197.6 48.68A32.018 32.018 0 0 0 169.5 32H24C10.75 32 0 42.74 0 56v48c0 13.25 10.75 24 24 24h107.5l4.63 8.49L3.25 446.55C-3.53 462.38 8.08 480 25.31 480h52.23c9.6 0 18.28-5.72 22.06-14.55l95.02-221.72L314.4 463.32A32.018 32.018 0 0 0 342.5 480H424c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faLamp = {\n prefix: 'fas',\n iconName: 'lamp',\n icon: [448, 512, [], \"f4ca\", \"M445.5 211.4L368 19.4C363.3 7.6 352.4 0 340.4 0H120.6c-11.4 0-21.8 6.8-27 17.7l-90.4 192c-10 21.3 4.6 46.3 27 46.3h387.7c21.6 0 36.2-23.5 27.6-44.6zM158.3 288C121 325.2 96 386.8 96 428.8c0 28.4 11.5 54.3 30.5 74.3 5.7 6 13.9 8.9 22.2 8.9h150.6c8.3 0 16.5-2.9 22.2-8.9 19-20.1 30.5-45.9 30.5-74.3 0-42-25-103.6-62.3-140.8H158.3z\"]\n};\nvar faLampDesk = {\n prefix: 'fas',\n iconName: 'lamp-desk',\n icon: [512, 512, [], \"e014\", \"M494.42,64H346.5L301.24,18.74a64,64,0,0,0-90.5,90.5l11,11L103,239a24,24,0,0,0-6.11,23.56L149.9,448H64C35.58,448,9.05,466.53.7,492.16-2.52,502,5.88,512,16.26,512H367.74c10.39,0,18.78-10,15.57-19.84C375,466.53,348.42,448,320,448H199.82L147,263,255.72,154.22l.28.28V302.42c0,15.63,18.9,23.46,30,12.4L506.82,94C517.88,82.9,510.05,64,494.42,64ZM379.71,266.33a55.73,55.73,0,0,0,78.62-78.62Z\"]\n};\nvar faLampFloor = {\n prefix: 'fas',\n iconName: 'lamp-floor',\n icon: [384, 512, [], \"e015\", \"M256,448H224V255.69H160V448H128c-28.42,0-54.95,18.53-63.3,44.16C61.48,502,69.88,512,80.26,512H303.74c10.38,0,18.78-10,15.56-19.84C311,466.53,284.42,448,256,448ZM381.38,179.4l-68.57-160A32,32,0,0,0,283.39,0H100.61A32,32,0,0,0,71.19,19.4L2.62,179.4A32,32,0,0,0,32,224H352A32,32,0,0,0,381.38,179.4Z\"]\n};\nvar faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [], \"f66f\", \"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};\nvar faLandmarkAlt = {\n prefix: 'fas',\n iconName: 'landmark-alt',\n icon: [512, 512, [], \"f752\", \"M48 256h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-18.9C431.6 111.7 368.3 48.4 288 34.9V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v18.9C143.7 48.4 80.4 111.7 66.9 192H48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm448 192h-16v-16c0-8.8-7.2-16-16-16h-16V288h-64v128h-96V288h-64v128h-96V288H64v128H48c-8.8 0-16 7.2-16 16v16H16c-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};\nvar faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"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};\nvar faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [], \"f109\", \"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};\nvar faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"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};\nvar faLaptopHouse = {\n prefix: 'fas',\n iconName: 'laptop-house',\n icon: [640, 512, [], \"e066\", \"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};\nvar faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"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};\nvar faLasso = {\n prefix: 'fas',\n iconName: 'lasso',\n icon: [576, 512, [], \"f8c8\", \"M288 0C126.5 0 0 79.63 0 181.3c0 49.78 30.22 95.84 85 129.7 3.52 2.17 7.37 4.29 11.3 6.41 0 .89-.33 1.71-.33 2.6 0 35.35 35.82 64 80 64 .69 0 1.33-.15 2-.16a68.71 68.71 0 0 1 2.69 17.9A45.7 45.7 0 0 1 134.94 448H48a16 16 0 0 0-16 15.94v32.12A16 16 0 0 0 48 512h86.94c59.38 0 108.8-47.22 109.76-106.38A135 135 0 0 0 238 360a468.23 468.23 0 0 0 50 2.58c161.5 0 288-79.63 288-181.28S449.5 0 288 0zm0 298.82c-12.73 0-25.23-.81-37.6-2C238.79 273 210 256 176 256a94.36 94.36 0 0 0-41.2 9.4c-5.58-2.86-11.32-5.69-16.05-8.61C98.31 244.17 64 217.57 64 181.3c0-62.61 104.69-117.54 224-117.54s224 54.93 224 117.54-104.69 117.52-224 117.52z\"]\n};\nvar faLaugh = {\n prefix: 'fas',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"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};\nvar faLaughBeam = {\n prefix: 'fas',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"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};\nvar faLaughSquint = {\n prefix: 'fas',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"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};\nvar faLaughWink = {\n prefix: 'fas',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"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};\nvar faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [512, 512, [], \"f5fd\", \"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};\nvar faLayerMinus = {\n prefix: 'fas',\n iconName: 'layer-minus',\n icon: [512, 512, [], \"f5fe\", \"M12.41 276.3l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40L266.65 130.72a25.682 25.682 0 0 0-21.29 0L12.41 236.3c-16.55 7.5-16.55 32.5 0 40zM304 64h192c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H304c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16zm195.59 300.1l-58.09-26.33-161.63 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 337.77l-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 404.1c16.55-7.5 16.55-32.5 0-40z\"]\n};\nvar faLayerPlus = {\n prefix: 'fas',\n iconName: 'layer-plus',\n icon: [512, 512, [], \"f5ff\", \"M304 144h64v64c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-64h64c8.84 0 16-7.16 16-16V96c0-8.84-7.16-16-16-16h-64V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v64h-64c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16zm195.59 220.1l-58.54-26.53-161.19 73.06c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.95 337.57 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-40zM12.41 275.9l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L448 299.28V280.7c-15.32 4.38-31.27 7.29-48 7.29-88.01 0-160.72-64.67-173.72-149.04L12.41 235.9c-16.55 7.5-16.55 32.5 0 40z\"]\n};\nvar faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [576, 512, [], \"f06c\", \"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};\nvar faLeafHeart = {\n prefix: 'fas',\n iconName: 'leaf-heart',\n icon: [576, 512, [], \"f4cb\", \"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 19.2 2.9 37.7 8.1 55.1C31.6 399.5 4.3 463.2 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.6zM430.6 294.4L345.9 380c-5.5 5.5-14.3 5.5-19.8 0l-84.7-85.6c-24.6-24.9-23.2-66.1 4.3-89.1 24-20 59.6-16.4 81.6 5.8l8.6 8.7 8.6-8.7c22-22.2 57.7-25.8 81.6-5.8 27.6 22.9 29.1 64.2 4.5 89.1z\"]\n};\nvar faLeafMaple = {\n prefix: 'fas',\n iconName: 'leaf-maple',\n icon: [512, 512, [], \"f6f6\", \"M503.58 166.05l-37.24-22.34 9.86-88.78c1.23-11.04-8.1-20.37-19.14-19.14l-88.78 9.86-22.33-37.23c-6.63-11.05-22.57-11.26-29.49-.39l-89.6 140.79 16.58-64.84c2.8-12.58-8.62-23.7-21.12-20.58L196.6 77.22l-45.3-51.33c-6.94-8.67-20.13-8.67-27.07 0l-45.3 51.33L53.2 63.41c-12.5-3.12-23.92 8-21.12 20.58l33.04 160.19-37.09 15.89c-14.01 6-14.01 25.86 0 31.87l102.75 44.04L9.37 457.38c-12.5 12.5-12.5 32.75 0 45.25C15.62 508.88 23.81 512 32 512s16.37-3.12 22.62-9.38L257 300.25l-66.1 115.67 29.16 68.05c6.01 14.01 25.87 14.01 31.87 0l15.89-37.09 160.19 33.04c12.58 2.79 23.7-8.62 20.58-21.12l-13.81-25.72 51.32-45.3c8.67-6.94 8.67-20.13 0-27.07l-51.32-45.3 13.81-25.72c3.12-12.5-8-23.92-20.58-21.12l-64.84 16.58 140.79-89.59c10.88-6.94 10.67-22.88-.38-29.51z\"]\n};\nvar faLeafOak = {\n prefix: 'fas',\n iconName: 'leaf-oak',\n icon: [512, 512, [], \"f6f7\", \"M488.4 155.16c-3.97-2.74-8.07-5.45-12.47-7.36-7.33-3.19-10.35-11.81-8.06-19.56 9.76-33.08 2.92-57.01-12.43-71.51l.17-.17c-14.49-15.34-38.43-22.19-71.5-12.43-7.76 2.29-16.37-.73-19.56-8.06-1.91-4.39-4.62-8.5-7.36-12.47-18.65-26.98-54.04-31.7-77.81-9.65-6.76 6.27-11.71 14.7-16.65 22.66-7.82 12.63-14.94 25.7-23.13 39.93-6.72-5.51-11.65-9.75-16.77-13.73-28.61-22.23-59.63-15.96-77.62 15.4-13.05 22.74-11.64 47.07-8.47 71.76 1.65 12.84 2.69 25.76 4.38 42.31-6.14-4.27-8.58-6.24-11.27-7.78-26.1-14.94-55.32-4.3-63.17 24.64-3.2 11.82-3.57 25.64-.86 37.58 3.93 17.31 12.87 33.46 17.61 50.66 2.6 9.41 3.91 21.04.72 29.81-7.54 20.71-11.4 40.95-5.91 61.32L9.37 457.38c-12.5 12.5-12.5 32.75 0 45.25C15.62 508.88 23.81 512 32 512s16.37-3.12 22.62-9.38l183.71-183.71-64.41 112.71c3.62-1.09 7.23-2.11 10.87-3.43 8.77-3.19 20.4-1.88 29.81.72 17.2 4.75 33.35 13.68 50.66 17.62 11.94 2.71 25.76 2.35 37.58-.86 28.94-7.85 39.58-37.07 24.64-63.17-1.54-2.69-3.52-5.12-7.78-11.27 16.55 1.69 29.46 2.72 42.31 4.38 24.69 3.17 49.01 4.57 71.76-8.47 31.37-17.99 37.63-49.02 15.4-77.62-3.98-5.12-8.21-10.05-13.73-16.77 14.24-8.19 27.31-15.31 39.93-23.13 7.96-4.94 16.4-9.89 22.66-16.65 22.06-23.77 17.35-59.16-9.63-77.81z\"]\n};\nvar faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"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};\nvar faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [], \"f536\", \"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};\nvar faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"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};\nvar faLevelDown = {\n prefix: 'fas',\n iconName: 'level-down',\n icon: [352, 512, [], \"f149\", \"M345.04 368l-136 136.901c-9.388 9.465-24.691 9.465-34.079 0L38.96 368c-9.307-9.384-9.277-24.526.069-33.872l22.056-22.056c9.619-9.619 25.301-9.329 34.557.639L152 373.16V80H68.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 24v349.16l56.357-60.448c9.256-9.968 24.938-10.258 34.557-.639l22.056 22.056c9.346 9.345 9.377 24.487.07 33.871z\"]\n};\nvar faLevelDownAlt = {\n prefix: 'fas',\n iconName: 'level-down-alt',\n icon: [320, 512, [], \"f3be\", \"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};\nvar faLevelUp = {\n prefix: 'fas',\n iconName: 'level-up',\n icon: [352, 512, [], \"f148\", \"M345.04 144l-136-136.901c-9.388-9.465-24.691-9.465-34.079 0L38.96 144c-9.307 9.384-9.277 24.526.069 33.872l22.056 22.056c9.619 9.619 25.301 9.329 34.557-.639L152 138.84V432H68.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-24V138.84l56.357 60.448c9.256 9.968 24.938 10.258 34.557.639l22.056-22.056c9.346-9.345 9.377-24.487.07-33.871z\"]\n};\nvar faLevelUpAlt = {\n prefix: 'fas',\n iconName: 'level-up-alt',\n icon: [320, 512, [], \"f3bf\", \"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};\nvar faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"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};\nvar faLightCeiling = {\n prefix: 'fas',\n iconName: 'light-ceiling',\n icon: [512, 512, [], \"e016\", \"M288,162.39V0H224V162.39C108.51,176.59,16.56,266,.31,379.85-2.41,399,13.07,416,32.54,416H479.46c19.47,0,34.95-17,32.23-36.15C495.44,266,403.49,176.59,288,162.39ZM256,512a64,64,0,0,0,64-64H192A64,64,0,0,0,256,512Z\"]\n};\nvar faLightSwitch = {\n prefix: 'fas',\n iconName: 'light-switch',\n icon: [384, 512, [], \"e017\", \"M320,0H64A64,64,0,0,0,0,64V448a64,64,0,0,0,64,64H320a64,64,0,0,0,64-64V64A64,64,0,0,0,320,0ZM192,32a16,16,0,1,1-16,16A16,16,0,0,1,192,32Zm0,448a16,16,0,1,1,16-16A16,16,0,0,1,192,480Zm96-112a48,48,0,0,1-48,48H144a48,48,0,0,1-48-48V272H288Zm0-128H96V144a48,48,0,0,1,48-48h96a48,48,0,0,1,48,48Z\"]\n};\nvar faLightSwitchOff = {\n prefix: 'fas',\n iconName: 'light-switch-off',\n icon: [384, 512, [], \"e018\", \"M320,0H64A64,64,0,0,0,0,64V448a64,64,0,0,0,64,64H320a64,64,0,0,0,64-64V64A64,64,0,0,0,320,0ZM192,32a16,16,0,1,1-16,16A16,16,0,0,1,192,32Zm0,448a16,16,0,1,1,16-16A16,16,0,0,1,192,480Zm96-192h0v80a48,48,0,0,1-48,48H144a48,48,0,0,1-48-48V272h0V240h0V144a48,48,0,0,1,48-48h96a48,48,0,0,1,48,48v80h0ZM128,352a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V256H128Z\"]\n};\nvar faLightSwitchOn = {\n prefix: 'fas',\n iconName: 'light-switch-on',\n icon: [384, 512, [], \"e019\", \"M320,0H64A64,64,0,0,0,0,64V448a64,64,0,0,0,64,64H320a64,64,0,0,0,64-64V64A64,64,0,0,0,320,0ZM192,32a16,16,0,1,1-16,16A16,16,0,0,1,192,32Zm0,448a16,16,0,1,1,16-16A16,16,0,0,1,192,480Zm96-240h0v32h0v96a48,48,0,0,1-48,48H144a48,48,0,0,1-48-48V288h0V224h0V144a48,48,0,0,1,48-48h96a48,48,0,0,1,48,48ZM224,128H160a32,32,0,0,0-32,32v96H256V160A32,32,0,0,0,224,128Z\"]\n};\nvar faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"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};\nvar faLightbulbDollar = {\n prefix: 'fas',\n iconName: 'lightbulb-dollar',\n icon: [352, 512, [], \"f670\", \"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.35zM175.45 0C73.44.31 0 82.97 0 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 0zM192 255.88V272c0 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.07V80c0-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.07z\"]\n};\nvar faLightbulbExclamation = {\n prefix: 'fas',\n iconName: 'lightbulb-exclamation',\n icon: [352, 512, [], \"f671\", \"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.35zM175.45 0C73.44.31 0 82.97 0 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 0zm.55 320c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm38.24-238.41l-12.8 128c-.82 8.18-7.7 14.41-15.92 14.41h-19.04c-8.22 0-15.1-6.23-15.92-14.41l-12.8-128c-.94-9.42 6.45-17.59 15.92-17.59h44.64c9.47 0 16.86 8.17 15.92 17.59z\"]\n};\nvar faLightbulbOn = {\n prefix: 'fas',\n iconName: 'lightbulb-on',\n icon: [640, 512, [], \"f672\", \"M240.06,454.34A32,32,0,0,0,245.42,472l17.1,25.69c5.23,7.91,17.17,14.28,26.64,14.28h61.7c9.47,0,21.41-6.37,26.64-14.28L394.59,472A37.47,37.47,0,0,0,400,454.34L400,416H240ZM319.45,0C217.44.31,144,83,144,176a175,175,0,0,0,43.56,115.78c16.52,18.85,42.36,58.22,52.21,91.44,0,.28.07.53.11.78H400.12c0-.25.07-.5.11-.78,9.85-33.22,35.69-72.59,52.21-91.44A175,175,0,0,0,496,176C496,78.63,416.91-.31,319.45,0ZM320,96a80.09,80.09,0,0,0-80,80,16,16,0,0,1-32,0A112.12,112.12,0,0,1,320,64a16,16,0,0,1,0,32ZM112,192a24,24,0,0,0-24-24H24a24,24,0,0,0,0,48H88A24,24,0,0,0,112,192Zm504-24H552a24,24,0,0,0,0,48h64a24,24,0,0,0,0-48ZM131.08,55.22l-55.42-32a24,24,0,1,0-24,41.56l55.42,32a24,24,0,1,0,24-41.56Zm457.26,264-55.42-32a24,24,0,1,0-24,41.56l55.42,32a24,24,0,0,0,24-41.56Zm-481.26-32-55.42,32a24,24,0,1,0,24,41.56l55.42-32a24,24,0,0,0-24-41.56ZM520.94,100a23.8,23.8,0,0,0,12-3.22l55.42-32a24,24,0,0,0-24-41.56l-55.42,32a24,24,0,0,0,12,44.78Z\"]\n};\nvar faLightbulbSlash = {\n prefix: 'fas',\n iconName: 'lightbulb-slash',\n icon: [640, 512, [], \"f673\", \"M633.82 458.1L439.73 308.09c4.51-6.26 8.87-11.94 12.71-16.31C479.55 260.85 496 220.37 496 176 496 78.8 417.2 0 320 0 208.69 0 164.65 92.77 163.64 94.71L45.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.45zM320 96c-37.14 0-68.17 25.56-77.14 59.94l-26.89-20.78C232.36 93.59 272.69 64 320 64c8.84 0 16 7.16 16 16s-7.16 16-16 16zm-79.99 320l.04 38.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.02-15.21L370.03 416H240.01zm-76.28-159.44c6.57 12.69 14.49 24.57 23.83 35.22 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h88.74L163.73 256.56z\"]\n};\nvar faLightsHoliday = {\n prefix: 'fas',\n iconName: 'lights-holiday',\n icon: [640, 512, [], \"f7b2\", \"M637.4 98.8l-17.5-27.4c-4.7-7.4-14.2-9.5-21.8-5.1C522 110.7 424 135 320 135S118 110.7 41.9 66.3c-7.6-4.4-17.1-2.3-21.8 5.1L2.6 98.8c-4.9 7.8-2.7 18.3 5.2 22.9 38.1 22.4 81.1 40 127 53L114.7 230c-25.5 1.1-48.5 16.2-61.3 51.6-18.1 49.8 14.3 129 27.9 134 13.5 4.9 89.3-34.9 107.5-84.7 12.9-35.3 5-61.7-13.8-79l22.8-62.6c29.3 5.2 59.6 8.4 90.4 9.8v63c-23.6 9.8-40 31.8-40 69.5 0 53 57.6 116.4 72 116.4s72-63.3 72-116.4c0-37.6-16.4-59.7-40-69.5v-63c30.8-1.4 61-4.6 90.4-9.8l22.8 62.6c-18.8 17.3-26.7 43.6-13.8 79 18.1 49.8 93.9 89.6 107.5 84.7 13.5-4.9 46-84.2 27.9-134-12.9-35.3-35.8-50.5-61.3-51.6l-20.1-55.3c45.9-13 88.9-30.6 127-53 7.5-4.6 9.7-15.1 4.8-22.9zM145.6 309c-4.8 13.1-26.4 37.1-42.5 46.5-6.3-17.5-7.4-49.7-2.7-62.9 4.1-11.3 17.6-16.8 30-12.3s19.3 17.4 15.2 28.7zM320 384c-11.9-14.3-24-44.2-24-58.2 0-12.1 10.7-21.8 24-21.8s24 9.8 24 21.8c0 14-12.1 43.9-24 58.2zm189.5-103.7c12.5-4.5 25.9 1 30 12.3 4.8 13.1 3.7 45.4-2.7 62.9-16.1-9.3-37.7-33.3-42.5-46.5-4-11.3 2.8-24.2 15.2-28.7z\"]\n};\nvar faLineColumns = {\n prefix: 'fas',\n iconName: 'line-columns',\n icon: [512, 512, [], \"f870\", \"M496 288H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 128H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-256H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM208 288H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 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 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-384H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm0 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faLineHeight = {\n prefix: 'fas',\n iconName: 'line-height',\n icon: [640, 512, [], \"f871\", \"M626.29 224H269.71c-7.57 0-13.71 7.16-13.71 16v32c0 8.84 6.14 16 13.71 16h356.58c7.57 0 13.71-7.16 13.71-16v-32c0-8.84-6.14-16-13.71-16zm0 160H269.71c-7.57 0-13.71 7.16-13.71 16v32c0 8.84 6.14 16 13.71 16h356.58c7.57 0 13.71-7.16 13.71-16v-32c0-8.84-6.14-16-13.71-16zm0-320H269.71C262.14 64 256 71.16 256 80v32c0 8.84 6.14 16 13.71 16h356.58c7.57 0 13.71-7.16 13.71-16V80c0-8.84-6.14-16-13.71-16zM176 144c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C-4.64 126 .36 144 16 144h48v224H16c-14.29 0-21.31 17.31-11.29 27.31l80 80a16 16 0 0 0 22.62 0l80-80C196.64 386 191.64 368 176 368h-48V144z\"]\n};\nvar faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [512, 512, [], \"f0c1\", \"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};\nvar faLips = {\n prefix: 'fas',\n iconName: 'lips',\n icon: [640, 512, [], \"f600\", \"M631.14 195.68C579.47 109.99 466.31 32 417.72 32c0 0-32.57 0-97.72 50-65.15-50-97.72-50-97.72-50-48.59 0-161.75 77.99-213.42 163.68-10.32 17.11-11.63 37.99-3.89 56.38C32.95 318.51 117.59 480 279.28 480h81.43c161.69 0 246.33-161.49 274.32-227.95 7.74-18.38 6.43-39.26-3.89-56.37zM320 320c-170.66 0-256-96-256-96s64-32 160-32l35.38 8.84C278.2 205.55 298.95 208 320 208s41.8-2.45 60.62-7.16L416 192c96 0 160 32 160 32s-85.34 96-256 96z\"]\n};\nvar faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [384, 512, [], \"f195\", \"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};\nvar faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [], \"f03a\", \"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};\nvar faListAlt = {\n prefix: 'fas',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"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};\nvar faListMusic = {\n prefix: 'fas',\n iconName: 'list-music',\n icon: [512, 512, [], \"f8c9\", \"M16 256h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0-128h256a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16H16A16 16 0 0 0 0 80v32a16 16 0 0 0 16 16zm128 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM470.94 1.33l-96.53 28.51A32 32 0 0 0 352 60.34V360a148.76 148.76 0 0 0-48-8c-61.86 0-112 35.82-112 80s50.14 80 112 80 112-35.82 112-80V148.15l73-21.39a32 32 0 0 0 23-30.71V32a32 32 0 0 0-41.06-30.67z\"]\n};\nvar faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [], \"f0cb\", \"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};\nvar faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [], \"f0ca\", \"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};\nvar faLocation = {\n prefix: 'fas',\n iconName: 'location',\n icon: [512, 512, [], \"f601\", \"M496 224h-50.88C431.61 143.66 368.34 80.39 288 66.88V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v50.88C143.66 80.39 80.39 143.66 66.88 224H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h50.88C80.39 368.34 143.66 431.61 224 445.12V496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-50.88c80.34-13.51 143.61-76.78 157.12-157.12H496c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM256 384c-70.7 0-128-57.31-128-128s57.3-128 128-128 128 57.31 128 128-57.3 128-128 128zm0-216c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88z\"]\n};\nvar faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [512, 512, [], \"f124\", \"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};\nvar faLocationCircle = {\n prefix: 'fas',\n iconName: 'location-circle',\n icon: [496, 512, [], \"f602\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm110.24 169.74l-95.95 207.89c-11.2 23.99-46.38 15.99-46.38-9.59v-87.96h-87.96c-25.59 0-33.58-35.18-9.59-46.38l207.89-95.95c19.2-7.99 39.99 12.8 31.99 31.99z\"]\n};\nvar faLocationSlash = {\n prefix: 'fas',\n iconName: 'location-slash',\n icon: [640, 512, [], \"f603\", \"M633.82 458.1L488.95 346.13c9.66-17.86 16.68-37.35 20.18-58.13H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-50.88C495.61 143.66 432.34 80.39 352 66.88V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v50.88c-37.52 6.31-71.24 23.54-97.95 48.24L45.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.45zM437.33 306.24l-33.09-25.58c2.33-7.84 3.76-16.05 3.76-24.66 0-48.6-39.4-88-88-88-16.56 0-31.84 4.8-44.99 12.78l-33.21-25.66C263.45 138.28 290.44 128 320 128c70.7 0 128 57.31 128 128 0 17.93-3.94 34.83-10.67 50.24zM320 384c-62.37 0-114.18-44.65-125.55-103.7L121.61 224H80c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h50.88c13.51 80.34 76.78 143.61 157.12 157.12V496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-50.88c14.07-2.37 27.35-6.75 40.19-11.99l-64.57-49.9c-2.57.15-5.01.77-7.62.77z\"]\n};\nvar faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [], \"f023\", \"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};\nvar faLockAlt = {\n prefix: 'fas',\n iconName: 'lock-alt',\n icon: [448, 512, [], \"f30d\", \"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-48zM264 392c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48zm32-168H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\"]\n};\nvar faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"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};\nvar faLockOpenAlt = {\n prefix: 'fas',\n iconName: 'lock-open-alt',\n icon: [576, 512, [], \"f3c2\", \"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 0zM264 392c0 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};\nvar faLongArrowAltDown = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-down',\n icon: [256, 512, [], \"f309\", \"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};\nvar faLongArrowAltLeft = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-left',\n icon: [448, 512, [], \"f30a\", \"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};\nvar faLongArrowAltRight = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-right',\n icon: [448, 512, [], \"f30b\", \"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};\nvar faLongArrowAltUp = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-up',\n icon: [256, 512, [], \"f30c\", \"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};\nvar faLongArrowDown = {\n prefix: 'fas',\n iconName: 'long-arrow-down',\n icon: [320, 512, [], \"f175\", \"M261.573 286.544L196 352.118V56c0-13.255-10.745-24-24-24h-24c-13.255 0-24 10.745-24 24v296.118l-65.573-65.574c-9.373-9.373-24.569-9.373-33.941 0L7.515 303.515c-9.373 9.373-9.373 24.569 0 33.941L143.03 472.97c9.373 9.373 24.568 9.373 33.941 0l135.515-135.514c9.373-9.373 9.373-24.569 0-33.941l-16.971-16.971c-9.373-9.373-24.569-9.373-33.942 0z\"]\n};\nvar faLongArrowLeft = {\n prefix: 'fas',\n iconName: 'long-arrow-left',\n icon: [448, 512, [], \"f177\", \"M193.456 357.573L127.882 292H424c13.255 0 24-10.745 24-24v-24c0-13.255-10.745-24-24-24H127.882l65.574-65.573c9.373-9.373 9.373-24.569 0-33.941l-16.971-16.971c-9.373-9.373-24.569-9.373-33.941 0L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l135.515 135.515c9.373 9.373 24.569 9.373 33.941 0l16.971-16.971c9.373-9.372 9.373-24.568 0-33.941z\"]\n};\nvar faLongArrowRight = {\n prefix: 'fas',\n iconName: 'long-arrow-right',\n icon: [448, 512, [], \"f178\", \"M254.544 154.427L320.118 220H24c-13.255 0-24 10.745-24 24v24c0 13.255 10.745 24 24 24h296.118l-65.574 65.573c-9.373 9.373-9.373 24.569 0 33.941l16.971 16.971c9.373 9.373 24.569 9.373 33.941 0L440.97 272.97c9.373-9.373 9.373-24.569 0-33.941L305.456 103.515c-9.373-9.373-24.569-9.373-33.941 0l-16.971 16.971c-9.373 9.372-9.373 24.568 0 33.941z\"]\n};\nvar faLongArrowUp = {\n prefix: 'fas',\n iconName: 'long-arrow-up',\n icon: [320, 512, [], \"f176\", \"M58.427 225.456L124 159.882V456c0 13.255 10.745 24 24 24h24c13.255 0 24-10.745 24-24V159.882l65.573 65.574c9.373 9.373 24.569 9.373 33.941 0l16.971-16.971c9.373-9.373 9.373-24.569 0-33.941L176.971 39.029c-9.373-9.373-24.568-9.373-33.941 0L7.515 174.544c-9.373 9.373-9.373 24.569 0 33.941l16.971 16.971c9.372 9.373 24.568 9.373 33.941 0z\"]\n};\nvar faLoveseat = {\n prefix: 'fas',\n iconName: 'loveseat',\n icon: [512, 512, [], \"f4cc\", \"M160 224v64h192v-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 64zm288-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-16h256v16c0 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};\nvar faLowVision = {\n prefix: 'fas',\n iconName: 'low-vision',\n icon: [576, 512, [], \"f2a8\", \"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};\nvar faLuchador = {\n prefix: 'fas',\n iconName: 'luchador',\n icon: [448, 512, [], \"f455\", \"M190.2 256H144c-26.5 0-48-23.9-48-53.3V192h48c26.5 0 48 23.9 48 53.3v8.7c-.6.7-1.2 1.3-1.8 2zm33.8 64h38.7c-6.8-14.8-18.5-33.4-38.7-53.3-20.2 19.9-31.9 38.5-38.7 53.3H224zm-64 32c-17.6 0-32 14.4-32 32s14.4 32 32 32h128c17.6 0 32-14.4 32-32s-14.4-32-32-32H160zm96-106.7v8.7c.6.7 1.2 1.3 1.8 2H304c26.5 0 48-23.9 48-53.3V192h-48c-26.5 0-48 23.9-48 53.3zM448 224v128c0 88.4-71.6 160-160 160H160C71.6 512 0 440.4 0 352V224C0 100.3 100.3 0 224 0s224 100.3 224 224zm-64-52c0-6.6-5.4-12-12-12h-68c-37.9 0-69.3 28.3-77.5 66.2-.9-.7-4.2-.7-5.1 0C213.3 188.3 182 160 144 160H76c-6.6 0-12 5.4-12 12v30.7c0 47.1 35.8 85.3 80 85.3h22.4c-7.4 12.2-12.5 23.5-15.8 32.9-30.9 4.6-54.6 31-54.6 63.1 0 35.5 29.4 64 64.9 64H287c35.5 0 64.9-28.5 64.9-64 0-32.1-23.7-58.5-54.6-63.1-3.3-9.5-8.4-20.7-15.8-32.9H304c44.2 0 80-38.2 80-85.3V172z\"]\n};\nvar faLuggageCart = {\n prefix: 'fas',\n iconName: 'luggage-cart',\n icon: [640, 512, [], \"f59d\", \"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};\nvar faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [], \"f604\", \"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};\nvar faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"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};\nvar faMace = {\n prefix: 'fas',\n iconName: 'mace',\n icon: [512, 512, [], \"f6f8\", \"M170.65 296.09L4.69 462.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l165.97-165.97a161.122 161.122 0 0 1-45.27-45.26zm330.33-101.12l-74.99-23.77c-12.6-41.73-45.59-74.19-87.67-85.95L313.05 10.8c-4.92-14.5-17.46-14.37-22.08.22l-23.77 75c-41.73 12.6-74.19 45.59-85.96 87.67l-74.44 25.26c-14.5 4.92-14.37 17.46.22 22.08l74.99 23.77c12.6 41.73 45.59 74.19 87.67 85.96l25.26 74.44c4.92 14.5 17.46 14.37 22.08-.22l23.77-74.99c41.73-12.6 74.19-45.59 85.95-87.67l74.44-25.26c14.52-4.93 14.39-17.47-.2-22.09zM304 240c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faMagic = {\n prefix: 'fas',\n iconName: 'magic',\n icon: [512, 512, [], \"f0d0\", \"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};\nvar faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [512, 512, [], \"f076\", \"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};\nvar faMailBulk = {\n prefix: 'fas',\n iconName: 'mail-bulk',\n icon: [576, 512, [], \"f674\", \"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};\nvar faMailbox = {\n prefix: 'fas',\n iconName: 'mailbox',\n icon: [576, 512, [], \"f813\", \"M144 64A144 144 0 0 0 0 208v208a32 32 0 0 0 32 32h256V208A144 144 0 0 0 144 64zm80 176a16 16 0 0 1-16 16H80a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h128a16 16 0 0 1 16 16zM432 64H244.87C290.23 95.87 320 148.48 320 208v240h224a32 32 0 0 0 32-32V208A144 144 0 0 0 432 64zm80 208a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-48h-56a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h104a16 16 0 0 1 16 16z\"]\n};\nvar faMale = {\n prefix: 'fas',\n iconName: 'male',\n icon: [192, 512, [], \"f183\", \"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};\nvar faMandolin = {\n prefix: 'fas',\n iconName: 'mandolin',\n icon: [512, 512, [], \"f6f9\", \"M507.31 50.67l-46-46a16 16 0 0 0-19.81-2.25l-64 40.07a32 32 0 0 0-14 19.11L349 117.73l-74.46 74.46C90.38 190.67 46 241 30.74 256.28c-46.81 46.79-39.52 150.36 17.54 207.45s160.65 64.34 207.44 17.53C271 466 321.32 421.62 319.8 237.45L394.27 163l56.11-14.51a32 32 0 0 0 19.11-14l40.07-64a16 16 0 0 0-2.25-19.82zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"]\n};\nvar faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"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};\nvar faMapMarked = {\n prefix: 'fas',\n iconName: 'map-marked',\n icon: [576, 512, [], \"f59f\", \"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};\nvar faMapMarkedAlt = {\n prefix: 'fas',\n iconName: 'map-marked-alt',\n icon: [576, 512, [], \"f5a0\", \"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};\nvar faMapMarker = {\n prefix: 'fas',\n iconName: 'map-marker',\n icon: [384, 512, [], \"f041\", \"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};\nvar faMapMarkerAlt = {\n prefix: 'fas',\n iconName: 'map-marker-alt',\n icon: [384, 512, [], \"f3c5\", \"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};\nvar faMapMarkerAltSlash = {\n prefix: 'fas',\n iconName: 'map-marker-alt-slash',\n icon: [640, 512, [], \"f605\", \"M300.8 502.4c9.6 12.8 28.8 12.8 38.4 0 18.6-26.69 35.23-50.32 50.14-71.47L131.47 231.62c10.71 52.55 50.15 99.78 169.33 270.78zm333.02-44.3L462.41 325.62C502.09 265.52 512 238.3 512 192 512 86.4 425.6 0 320 0c-68.2 0-128.24 36.13-162.3 90.12L45.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.45zm-263.7-203.81L247 159.13c12.34-27.96 40.01-47.13 73-47.13 44.8 0 80 35.2 80 80 0 25.57-11.71 47.74-29.88 62.29z\"]\n};\nvar faMapMarkerCheck = {\n prefix: 'fas',\n iconName: 'map-marker-check',\n icon: [384, 512, [], \"f606\", \"M192 0C86.4 0 0 86.4 0 192c0 76.8 25.6 99.2 172.8 310.4 9.6 12.8 28.8 12.8 38.4 0C358.4 291.2 384 268.8 384 192 384 86.4 297.6 0 192 0zm114.08 163.83L175.04 293.82c-4.31 4.28-11.28 4.25-15.55-.06l-75.72-76.33c-4.28-4.31-4.25-11.28.06-15.56l26.03-25.82c4.31-4.28 11.28-4.25 15.56.06l42.15 42.49 97.2-96.42c4.31-4.28 11.28-4.25 15.55.06l25.82 26.03c4.28 4.32 4.25 11.28-.06 15.56z\"]\n};\nvar faMapMarkerEdit = {\n prefix: 'fas',\n iconName: 'map-marker-edit',\n icon: [384, 512, [], \"f607\", \"M192 0C86.4 0 0 86.4 0 192c0 76.8 25.6 99.2 172.8 310.4 9.6 12.8 28.8 12.8 38.4 0C358.4 291.2 384 268.8 384 192 384 86.4 297.6 0 192 0zm-43.17 283.15l-42.83 4.8c-5.78.62-10.57-4.27-9.95-9.95l4.8-42.83 85.54-85.54 47.98 47.98-85.54 85.54zm133.91-133.9l-28.26 28.26-47.98-47.98 28.26-28.26c7.02-7.02 18.39-7.02 25.41 0l22.57 22.57c7.02 7.01 7.02 18.39 0 25.41z\"]\n};\nvar faMapMarkerExclamation = {\n prefix: 'fas',\n iconName: 'map-marker-exclamation',\n icon: [384, 512, [], \"f608\", \"M192 0C86.4 0 0 86.4 0 192c0 76.8 25.6 99.2 172.8 310.4 9.6 12.8 28.8 12.8 38.4 0C358.4 291.2 384 268.8 384 192 384 86.4 297.6 0 192 0zm0 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.44-110.41c-.82 8.18-7.7 14.41-15.92 14.41h-19.04c-8.22 0-15.1-6.23-15.92-14.41l-12.8-128c-.94-9.42 6.45-17.59 15.92-17.59h44.64c9.47 0 16.86 8.17 15.92 17.59l-12.8 128z\"]\n};\nvar faMapMarkerMinus = {\n prefix: 'fas',\n iconName: 'map-marker-minus',\n icon: [384, 512, [], \"f609\", \"M192 0C86.4 0 0 86.4 0 192c0 76.8 25.6 99.2 172.8 310.4 9.6 12.8 28.8 12.8 38.4 0C358.4 291.2 384 268.8 384 192 384 86.4 297.6 0 192 0zm112 200c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z\"]\n};\nvar faMapMarkerPlus = {\n prefix: 'fas',\n iconName: 'map-marker-plus',\n icon: [384, 512, [], \"f60a\", \"M192 0C86.4 0 0 86.4 0 192c0 76.8 25.6 99.2 172.8 310.4 9.6 12.8 28.8 12.8 38.4 0C358.4 291.2 384 268.8 384 192 384 86.4 297.6 0 192 0zm112 200c0 8.84-7.16 16-16 16h-72v72c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-72H96c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h72V96c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v72h72c8.84 0 16 7.16 16 16v16z\"]\n};\nvar faMapMarkerQuestion = {\n prefix: 'fas',\n iconName: 'map-marker-question',\n icon: [384, 512, [], \"f60b\", \"M192 0C86.4 0 0 86.4 0 192c0 76.8 25.6 99.2 172.8 310.4 9.6 12.8 28.8 12.8 38.4 0C358.4 291.2 384 268.8 384 192 384 86.4 297.6 0 192 0zm0 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm26.67-113.27v1.43c0 8.75-7.09 15.84-15.84 15.84h-16.32c-8.75 0-15.84-7.09-15.84-15.84V224c0-9.1 5.19-17.43 13.33-21.5 30.61-15.31 50.67-26.54 50.67-42.5 0-19.39-14.02-40-40-40-17.93 0-33.13 11.84-38.2 28.12-2.15 6.9-8.11 11.88-15.33 11.88H124.3c-10.24 0-17.72-9.56-15.44-19.55 8.91-39.15 44-68.45 85.81-68.45 55.08 0 88 44.75 88 88 0 40.95-32.75 62.47-64 78.73z\"]\n};\nvar faMapMarkerSlash = {\n prefix: 'fas',\n iconName: 'map-marker-slash',\n icon: [640, 512, [], \"f60c\", \"M633.82 458.1L462.41 325.62C502.09 265.52 512 238.3 512 192 512 86.4 425.6 0 320 0c-68.2 0-128.24 36.13-162.3 90.12L45.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.45zM300.8 502.4c9.6 12.8 28.8 12.8 38.4 0 18.6-26.69 35.23-50.32 50.14-71.47L131.47 231.62c10.71 52.55 50.15 99.78 169.33 270.78z\"]\n};\nvar faMapMarkerSmile = {\n prefix: 'fas',\n iconName: 'map-marker-smile',\n icon: [384, 512, [], \"f60d\", \"M192 0C86.4 0 0 86.4 0 192c0 76.8 25.6 99.2 172.8 310.4 9.6 12.8 28.8 12.8 38.4 0C358.4 291.2 384 268.8 384 192 384 86.4 297.6 0 192 0zm64 117.16c14.82 0 26.84 12.02 26.84 26.84s-12.02 26.84-26.84 26.84-26.84-12.02-26.84-26.84 12.02-26.84 26.84-26.84zm-128 0c14.82 0 26.84 12.02 26.84 26.84s-12.02 26.84-26.84 26.84-26.84-12.02-26.84-26.84 12.02-26.84 26.84-26.84zm164.17 140.97C267.3 287.28 230.78 304 192 304c-38.75 0-75.27-16.72-100.16-45.86-5.75-6.72-4.95-16.81 1.77-22.55 6.69-5.73 16.81-4.97 22.55 1.77C134.98 259.38 162.62 272 192 272c29.41 0 57.03-12.63 75.83-34.66 5.78-6.73 15.86-7.53 22.56-1.78 6.72 5.74 7.52 15.85 1.78 22.57z\"]\n};\nvar faMapMarkerTimes = {\n prefix: 'fas',\n iconName: 'map-marker-times',\n icon: [384, 512, [], \"f60e\", \"M192 0C86.4 0 0 86.4 0 192c0 76.8 25.6 99.2 172.8 310.4 9.6 12.8 28.8 12.8 38.4 0C358.4 291.2 384 268.8 384 192 384 86.4 297.6 0 192 0zm84.85 242.91c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L192 225.94l-50.91 50.91c-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.63L158.06 192l-50.91-50.91c-6.25-6.25-6.25-16.38 0-22.63l11.31-11.31c6.25-6.25 16.38-6.25 22.63 0L192 158.06l50.91-50.91c6.25-6.25 16.38-6.25 22.63 0l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63L225.94 192l50.91 50.91z\"]\n};\nvar faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [288, 512, [], \"f276\", \"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};\nvar faMapSigns = {\n prefix: 'fas',\n iconName: 'map-signs',\n icon: [512, 512, [], \"f277\", \"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};\nvar faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"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};\nvar faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [384, 512, [], \"f222\", \"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};\nvar faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [512, 512, [], \"f227\", \"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};\nvar faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [384, 512, [], \"f229\", \"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};\nvar faMarsStrokeH = {\n prefix: 'fas',\n iconName: 'mars-stroke-h',\n icon: [480, 512, [], \"f22b\", \"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};\nvar faMarsStrokeV = {\n prefix: 'fas',\n iconName: 'mars-stroke-v',\n icon: [288, 512, [], \"f22a\", \"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};\nvar faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [640, 512, [], \"f6fa\", \"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};\nvar faMeat = {\n prefix: 'fas',\n iconName: 'meat',\n icon: [512, 512, [], \"f814\", \"M444 68.52C399.45 24.05 345.11 0 299.17 0c-23.64 0-44.77 6.79-61.47 20a41.83 41.83 0 0 0-7.3 5.82C191.68 64.5 128.14 139.6 128.14 209.42v100.37l-8.61 8.6c-9.71 9.69-24 11.07-36.79 6a60.33 60.33 0 0 0-65 98.72c15.26 15.28 36.51 19.59 56.13 15.1-4.49 19.6-.18 40.83 15.11 56.1a60.36 60.36 0 0 0 98.83-65c-5.1-12.73-3.72-27 6-36.75l8.6-8.59h100.47c69.89 0 145.07-63.46 183.8-102.15a40.86 40.86 0 0 0 6.66-9c37.42-49.4 17.37-137.63-49.34-204.3zm8.73 179.39c-9.76 9.75-24.3 11.8-34.79 11.8-34.72 0-77.19-20.87-110.82-54.47-27.19-27.16-46.31-60.32-52.45-91-4.74-23.7-1.19-43.56 9.74-54.48C274.13 50.05 288.69 48 299.18 48c34.72 0 77.18 20.87 110.82 54.46 53.88 53.84 67 121.19 42.7 145.45zM331.89 127.23c-9.81 9.8-5.84 29.67 8.88 44.37s34.61 18.68 44.42 8.87 5.84-29.66-8.88-44.37-34.61-18.67-44.42-8.87z\"]\n};\nvar faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [], \"f5a2\", \"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};\nvar faMedkit = {\n prefix: 'fas',\n iconName: 'medkit',\n icon: [512, 512, [], \"f0fa\", \"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};\nvar faMegaphone = {\n prefix: 'fas',\n iconName: 'megaphone',\n icon: [576, 512, [], \"f675\", \"M32 176c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32 11.38 0 20.9-6.28 26.57-15.22l106.99 32.3c-3.35 9.76-5.56 20.04-5.56 30.92 0 52.94 43.06 96 96 96 44.49 0 81.66-30.57 92.5-71.7L480 448V64L58.57 191.22C52.9 182.28 43.38 176 32 176zm179.29 190.88l91.47 27.61C297.95 415.92 278.85 432 256 432c-26.47 0-48-21.53-48-48 0-6.05 1.24-11.79 3.29-17.12zM560 32h-32c-8.84 0-16 7.16-16 16v416c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMeh = {\n prefix: 'fas',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"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};\nvar faMehBlank = {\n prefix: 'fas',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"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};\nvar faMehRollingEyes = {\n prefix: 'fas',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"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};\nvar faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [640, 512, [], \"f538\", \"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};\nvar faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"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};\nvar faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [288, 512, [], \"f223\", \"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};\nvar faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [], \"f753\", \"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};\nvar faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"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};\nvar faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [352, 512, [], \"f130\", \"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};\nvar faMicrophoneAlt = {\n prefix: 'fas',\n iconName: 'microphone-alt',\n icon: [352, 512, [], \"f3c9\", \"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};\nvar faMicrophoneAltSlash = {\n prefix: 'fas',\n iconName: 'microphone-alt-slash',\n icon: [640, 512, [], \"f539\", \"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};\nvar faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"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};\nvar faMicrophoneStand = {\n prefix: 'fas',\n iconName: 'microphone-stand',\n icon: [512, 512, [], \"f8cb\", \"M289.54 60.53c-23.85 23.84-34.57 55.55-33 86.77l108.15 108.14c31.22 1.58 62.94-9.14 86.78-33l2.19-2.18L291.72 58.34zM6.74 423.18a26.67 26.67 0 0 0 1.07 36.57l44.38 44.37a26.74 26.74 0 0 0 36.63 1.14L224 385.93V496a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V329.44L344 280 232 168zM478.46 33.54a114.49 114.49 0 0 0-161.93 0l-2.19 2.18 161.94 161.93 2.18-2.18a114.49 114.49 0 0 0 0-161.93z\"]\n};\nvar faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [], \"f610\", \"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};\nvar faMicrowave = {\n prefix: 'fas',\n iconName: 'microwave',\n icon: [512, 512, [], \"e01b\", \"M464,64H48A48,48,0,0,0,0,112V368a48,48,0,0,0,48,48h0l24,32h48l24-32H368l24,32h48l24-32h0a48,48,0,0,0,48-48V112A48,48,0,0,0,464,64ZM384,352H64V128H384Zm64-72a24,24,0,1,1,24-24A24,24,0,0,1,448,280Zm0-96a24,24,0,1,1,24-24A24,24,0,0,1,448,184Z\"]\n};\nvar faMindShare = {\n prefix: 'fas',\n iconName: 'mind-share',\n icon: [640, 512, [], \"f677\", \"M410.4 273.1c7-1 13.3-1.1 18.6-1.1h51v-15.2c0-20 12-37.3 29-44.8 2.8-7.7 4.8-15.8 4.8-24.5 0-31.3-19.3-58.1-46.7-69.3 1-4.2 1.6-8.6 1.6-13.2 0-33.1-27-60-60.2-60-.7 0-1.4.2-2.1.2-6.6-25.9-30-45.2-58.2-45.2C315 0 288 26.9 288 60v324c12.6-57.1 64-102.3 122.4-110.9zM195.8 0c-28.1 0-51.5 19.3-58.2 45.2-.7 0-1.4-.2-2.1-.2-33.3 0-60.2 26.9-60.2 60 0 4.5.6 8.9 1.6 13.2-27.4 11.2-46.7 38-46.7 69.3 0 11.8 3 22.8 7.8 32.7-22.6 13-38 37-38 64.8 0 31.3 19.2 58 46.5 69.3-.8 4.3-1.3 8.7-1.3 13.2 0 37.3 30.3 67.5 67.8 67.5 3.9 0 7.6-.5 11.3-1.1 9 26.7 34.1 46.1 64 46.1 37.4 0 67.8-30.2 67.8-67.5L256 60c0-33.1-27-60-60.2-60zM635 339.8l-96-95.2c-10.1-10-27-2.6-27 12.2V304h-79.9c-5.6 0-11.2-.1-17 .8-47.1 6.9-85.6 44.5-93.4 91.5C313.9 443 335 486.7 370 510c9.8 6.5 21.6-3.2 17.8-14.4-9-26.6-5.6-95.5 60.3-95.5h64v47.2c0 14.8 16.9 22.2 27 12.2l96-95.2c6.6-6.7 6.6-17.9-.1-24.5z\"]\n};\nvar faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [], \"f068\", \"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};\nvar faMinusCircle = {\n prefix: 'fas',\n iconName: 'minus-circle',\n icon: [512, 512, [], \"f056\", \"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};\nvar faMinusHexagon = {\n prefix: 'fas',\n iconName: 'minus-hexagon',\n icon: [576, 512, [], \"f307\", \"M553.5 231.8c8.7 14.9 8.7 33.4 0 48.4l-112 192c-8.6 14.7-24.4 23.8-41.5 23.8H176c-17.1 0-32.9-9.1-41.5-23.8l-112-192c-8.7-14.9-8.7-33.4 0-48.4l112-192C143.1 25.1 158.9 16 176 16h224c17.1 0 32.9 9.1 41.5 23.8l112 192zM420 296c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12H156c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h264z\"]\n};\nvar faMinusOctagon = {\n prefix: 'fas',\n iconName: 'minus-octagon',\n icon: [512, 512, [], \"f308\", \"M497.9 150.5c9 9 14.1 21.2 14.1 33.9v143.1c0 12.7-5.1 24.9-14.1 33.9L361.5 497.9c-9 9-21.2 14.1-33.9 14.1H184.5c-12.7 0-24.9-5.1-33.9-14.1L14.1 361.5c-9-9-14.1-21.2-14.1-33.9V184.5c0-12.7 5.1-24.9 14.1-33.9L150.5 14.1c9-9 21.2-14.1 33.9-14.1h143.1c12.7 0 24.9 5.1 33.9 14.1l136.5 136.4zM388 296c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12H124c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h264z\"]\n};\nvar faMinusSquare = {\n prefix: 'fas',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"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};\nvar faMistletoe = {\n prefix: 'fas',\n iconName: 'mistletoe',\n icon: [576, 512, [], \"f7b4\", \"M373.3 117.3c23.6 0 42.7-19.1 42.7-42.7S396.9 32 373.3 32s-42.7 19.1-42.7 42.7 19.2 42.6 42.7 42.6zm168.8 144.1c-26-26-89.6-38.6-130.9-44.2L312 117.1c-8.4-12.1-13.3-26.6-13.3-42.4s5-30.3 13.3-42.4V16c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v102.1l-99.1 99.1C123.6 222.8 60 235.4 34 261.4c-40 40-45.4 99.4-12.1 132.7 33.3 33.3 92.8 27.9 132.7-12.1 11.4-11.4 20.1-30.2 26.9-51 6.8 12.3 19.5 20.9 34.5 20.9 22.1 0 40-17.9 40-40s-17.9-40-40-40c-8.2 0-15.4 3.1-21.7 7.3 1.8-10 3.4-19.6 4.5-28.2l65.2-65.2v72.8c14.6 13.2 24 32.1 24 53.3 0 39.7-32.3 72-72 72-6.2 0-12.1-1-17.8-2.5-3.7 9.9-6.2 19.5-6.2 28.1 0 56.6 43 102.4 96 102.4s96-45.8 96-102.4c0-38.1-43.6-94.6-72-127.3v-96.3l65.2 65.2c5.6 41.3 18.2 104.9 44.2 130.9 40 40 99.4 45.4 132.7 12.1 33.4-33.3 28-92.7-12-132.7z\"]\n};\nvar faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"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};\nvar faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [320, 512, [], \"f10b\", \"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};\nvar faMobileAlt = {\n prefix: 'fas',\n iconName: 'mobile-alt',\n icon: [320, 512, [], \"f3cd\", \"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};\nvar faMobileAndroid = {\n prefix: 'fas',\n iconName: 'mobile-android',\n icon: [320, 512, [], \"f3ce\", \"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-48zm-64 452c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v8z\"]\n};\nvar faMobileAndroidAlt = {\n prefix: 'fas',\n iconName: 'mobile-android-alt',\n icon: [320, 512, [], \"f3cf\", \"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-48zm-64 452c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v8zm64-80c0 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};\nvar faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [640, 512, [], \"f0d6\", \"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};\nvar faMoneyBillAlt = {\n prefix: 'fas',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"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};\nvar faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [640, 512, [], \"f53a\", \"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};\nvar faMoneyBillWaveAlt = {\n prefix: 'fas',\n iconName: 'money-bill-wave-alt',\n icon: [640, 512, [], \"f53b\", \"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};\nvar faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [640, 512, [], \"f53c\", \"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};\nvar faMoneyCheckAlt = {\n prefix: 'fas',\n iconName: 'money-check-alt',\n icon: [640, 512, [], \"f53d\", \"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};\nvar faMoneyCheckEdit = {\n prefix: 'fas',\n iconName: 'money-check-edit',\n icon: [640, 512, [], \"f872\", \"M462.88 374.62a32 32 0 0 0 22.63 9.38H528a16 16 0 0 0 16-16v-42.46a32 32 0 0 0-9.38-22.63L303.19 71.47l-71.7 71.7zm-254-254l71.7-71.8L238.79 7a24.1 24.1 0 0 0-33.9 0L167 44.87a24 24 0 0 0 0 33.8zM608 160H437l120.27 120.28A64 64 0 0 1 576 325.54V400a16 16 0 0 1-16 16H104a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h323l-64-64H104a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h227L203 160H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32z\"]\n};\nvar faMoneyCheckEditAlt = {\n prefix: 'fas',\n iconName: 'money-check-edit-alt',\n icon: [640, 512, [], \"f873\", \"M204.78 116.47l4.1 4.1 71.69-71.8L238.78 7a24.1 24.1 0 0 0-33.9 0L167 44.87a24 24 0 0 0 0 33.8zM608 160H437l120.25 120.28A64 64 0 0 1 576 325.54V400a16 16 0 0 1-16 16H264a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h163l-64-64h-99a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h67L203 160H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM144 415.88V432a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8v-16.29a57.26 57.26 0 0 1-31.37-11.35 8 8 0 0 1-.57-12.14L91.81 381a8.21 8.21 0 0 1 10.13-.73 24.08 24.08 0 0 0 12.82 3.73h28.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.07V240a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16.29a57.18 57.18 0 0 1 31.37 11.35 8 8 0 0 1 .57 12.14L164.18 291a8.22 8.22 0 0 1-10.14.73 23.93 23.93 0 0 0-12.81-3.73h-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.57 23.42 31.57 43.39 0 24.53-19.04 44.44-42.66 45.07zm318.87-41.25a32 32 0 0 0 22.62 9.37H528a16 16 0 0 0 16-16v-42.46a32 32 0 0 0-9.37-22.63L303.17 71.47l-71.7 71.7z\"]\n};\nvar faMonitorHeartRate = {\n prefix: 'fas',\n iconName: 'monitor-heart-rate',\n icon: [576, 512, [], \"f611\", \"M480 96H96v160h100.95c3.03 0 5.8 1.71 7.15 4.42l19.9 39.8 49.69-99.38c5.9-11.79 22.72-11.79 28.62 0L329.89 256H400c8.84 0 16 7.16 16 16s-7.16 16-16 16h-89.89L288 243.78l-49.69 99.38c-5.9 11.79-22.72 11.79-28.62 0L182.11 288H96v128h384V96zm48-96H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zm-16 448H64V64h448v384z\"]\n};\nvar faMonkey = {\n prefix: 'fas',\n iconName: 'monkey',\n icon: [640, 512, [], \"f6fb\", \"M549.47 267.22C529.43 280.25 505.64 288 480 288c-56.67 0-104.29-37.26-121.08-88.38C262.91 224.9 192 312.05 192 416v32c-17.64 0-32-14.36-32-32V176c0-44.11-35.89-80-80-80S0 131.89 0 176v48c0 17.67 14.33 32 32 32s32-14.33 32-32v-48c0-8.83 7.17-16 16-16s16 7.17 16 16v240c0 52.94 43.06 96 96 96h240c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l155.68-103.79 34.68 104.02 1.64 10.11V496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-37.61c0-10.34-1.67-20.61-4.94-30.42l-53.59-160.75zM592 64h-21.88C556.9 26.8 521.74 0 480 0s-76.9 26.8-90.12 64H368c-26.51 0-48 21.49-48 48s21.49 48 48 48h16c0 53.02 42.98 96 96 96s96-42.98 96-96h16c26.51 0 48-21.49 48-48s-21.49-48-48-48zm-152 56c-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};\nvar faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"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};\nvar faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"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};\nvar faMoonCloud = {\n prefix: 'fas',\n iconName: 'moon-cloud',\n icon: [576, 512, [], \"f754\", \"M256 256c-12 0-23.1 3.5-32.7 9.2-3.5-41-37.4-73.2-79.3-73.2-38.8 0-71.1 27.6-78.4 64.2-.5 0-1-.2-1.6-.2-35.3 0-64 28.7-64 64s28.7 64 64 64h192c35.3 0 64-28.7 64-64s-28.7-64-64-64zm309.3 106.4c-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.7-11.6-2.1-23.3-3.2-35-3.2-90.8 0-166.7 63.2-186.6 148.1 2.5 4 4.9 8.2 6.9 12.6 3.6-.4 7.1-.6 10.7-.6 52.9 0 96 43.1 96 96 0 36.1-20.2 67.2-49.7 83.6 33.2 27.7 76 44.4 122.7 44.4 59.2 0 113.2-26.9 149-71.1 5.2-6.6-.6-16.2-8.8-14.6z\"]\n};\nvar faMoonStars = {\n prefix: 'fas',\n iconName: 'moon-stars',\n icon: [512, 512, [], \"f755\", \"M332.2 426.4c-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.7C108.7 109.4 0 200 0 320c0 106 85.8 192 191.8 192 59.2 0 113.2-26.9 149-71.1 5.3-6.5-.5-16.1-8.6-14.5zM304 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zm154.7 85.3L432 128l-26.7 53.3L352 208l53.3 26.7L432 288l26.7-53.3L512 208l-53.3-26.7z\"]\n};\nvar faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"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};\nvar faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [], \"f678\", \"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};\nvar faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [], \"f21c\", \"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};\nvar faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [640, 512, [], \"f6fc\", \"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};\nvar faMountains = {\n prefix: 'fas',\n iconName: 'mountains',\n icon: [640, 512, [], \"f6fd\", \"M635.73 406.91l-194.04-297.6c-11.57-17.75-39.8-17.75-51.37 0l-32.84 50.37 67.68 105.68c2.38 3.72 1.3 8.67-2.42 11.05l-13.46 8.62c-3.72 2.38-8.67 1.3-11.05-2.42l-59.9-93.54-70.81-110.55c-12.4-19.36-42.64-19.36-55.04 0L4.58 403.18C-7.99 422.81 6.81 448 30.92 448h580.22c22.5 0 36.32-23.09 24.59-41.09z\"]\n};\nvar faMouse = {\n prefix: 'fas',\n iconName: 'mouse',\n icon: [384, 512, [], \"f8cc\", \"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};\nvar faMouseAlt = {\n prefix: 'fas',\n iconName: 'mouse-alt',\n icon: [384, 512, [], \"f8cd\", \"M224 0h-64A160 160 0 0 0 0 160v192a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V160A160 160 0 0 0 224 0zm0 160a32 32 0 0 1-64 0v-32a32 32 0 0 1 64 0z\"]\n};\nvar faMousePointer = {\n prefix: 'fas',\n iconName: 'mouse-pointer',\n icon: [320, 512, [], \"f245\", \"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};\nvar faMp3Player = {\n prefix: 'fas',\n iconName: 'mp3-player',\n icon: [384, 512, [], \"f8ce\", \"M336 0H48A48 48 0 0 0 0 48v416a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zM192 448a96 96 0 1 1 96-96 96 96 0 0 1-96 96zm128-256H64V64h256zM192 320a32 32 0 1 0 32 32 32 32 0 0 0-32-32z\"]\n};\nvar faMug = {\n prefix: 'fas',\n iconName: 'mug',\n icon: [576, 512, [], \"f874\", \"M448 63H56a23.94 23.94 0 0 0-24 24v264a96 96 0 0 0 96 96h192a96 96 0 0 0 96-96v-32h32a128 128 0 0 0 0-256zm0 192h-32V127h32a64 64 0 0 1 0 128z\"]\n};\nvar faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [], \"f7b6\", \"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};\nvar faMugMarshmallows = {\n prefix: 'fas',\n iconName: 'mug-marshmallows',\n icon: [512, 512, [], \"f7b7\", \"M178.5 67.2l22.4-22.4c-5.9-7.3-14.5-12.4-24.6-12.4H64c-17.7 0-32 14.3-32 32v63.9h130.1c-5.5-21.1-.2-44.6 16.4-61.1zm18.2 61.2h151c7.2-12.3 6.1-28.1-4.4-38.6l-48.5-48.4c-12.5-12.5-32.8-12.5-45.3 0L201 89.8c-10.4 10.5-11.5 26.3-4.3 38.6zM400 160.3H160v63.5c0 17.7-14.3 32-32 32s-32-14.3-32-32v-63.5H32c-17.7 0-32 14.3-32 32v191.8c0 53 43 95.9 96 95.9h192c53 0 96-42.9 96-95.9h16c61.8 0 112-50.2 112-111.9s-50.2-111.9-112-111.9zm0 159.9h-16v-95.9h16c26.5 0 48 21.5 48 47.9s-21.5 48-48 48z\"]\n};\nvar faMugTea = {\n prefix: 'fas',\n iconName: 'mug-tea',\n icon: [640, 512, [], \"f875\", \"M595.6 416H12.36c-25 0-11.6 64 36 64h511.35c47.69 0 60.89-64 35.89-64zM192 384h192a96 96 0 0 0 96-96h32a128 128 0 0 0 0-256H240v64l38.63 38.63a32 32 0 0 1 9.37 22.62V224a32 32 0 0 1-32 32h-64a32 32 0 0 1-32-32v-66.75a32 32 0 0 1 9.37-22.62L208 96V32h-88a23.94 23.94 0 0 0-24 24v232a96 96 0 0 0 96 96zM480 96h32a64 64 0 0 1 0 128h-32z\"]\n};\nvar faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [], \"f001\", \"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};\nvar faMusicAlt = {\n prefix: 'fas',\n iconName: 'music-alt',\n icon: [384, 512, [], \"f8cf\", \"M310.94 1.33l-96.53 28.51A32 32 0 0 0 192 60.34V360a148.76 148.76 0 0 0-48-8c-61.86 0-112 35.82-112 80s50.14 80 112 80 112-35.82 112-80V148.15l73-21.39a32 32 0 0 0 23-30.71V32a32 32 0 0 0-41.06-30.67z\"]\n};\nvar faMusicAltSlash = {\n prefix: 'fas',\n iconName: 'music-alt-slash',\n icon: [640, 512, [], \"f8d0\", \"M272 352c-61.86 0-112 35.82-112 80s50.14 80 112 80 112-35.82 112-80v-5.18l-94.91-73.36A144.39 144.39 0 0 0 272 352zm361.82 106.1L384 265V148.15l73-21.39a32 32 0 0 0 23-30.71V32a32 32 0 0 0-41.07-30.67L342.4 29.84a32 32 0 0 0-22.4 30.5v155.22L45.47 3.39A16 16 0 0 0 23 6.2L3.37 31.47a16 16 0 0 0 2.81 22.45l588.35 454.71a16 16 0 0 0 22.47-2.81l19.63-25.27a16 16 0 0 0-2.81-22.45z\"]\n};\nvar faMusicSlash = {\n prefix: 'fas',\n iconName: 'music-slash',\n icon: [640, 512, [], \"f8d1\", \"M192 387.92a139 139 0 0 0-32-3.92c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V327.88l-64-49.46zm441.82 70.18l-65.06-50.28c4.51-7.37 7.24-15.35 7.24-23.82V32a32 32 0 0 0-41.62-30.49L214.41 96a31.85 31.85 0 0 0-21 21.73L45.47 3.39A16 16 0 0 0 23 6.2L3.37 31.47a16 16 0 0 0 2.81 22.45l588.35 454.71a16 16 0 0 0 22.47-2.81l19.63-25.27a16 16 0 0 0-2.81-22.45zM512 323.92a139 139 0 0 0-32-3.92 137 137 0 0 0-22.15 2.11l-156.61-121L512 139.3z\"]\n};\nvar faNarwhal = {\n prefix: 'fas',\n iconName: 'narwhal',\n icon: [640, 512, [], \"f6fe\", \"M600.83 211.05l38.9-166.17c1.04-4.46-.94-9.25-5.14-11.57-5.07-2.8-11.45-.96-14.25 4.11L535 192s.41.17 1.12.46C299.61 197.4 227.97 416 163.88 416 144.1 416 128 399.91 128 380.13v-97.99l49.75-30.51A32.007 32.007 0 0 0 192 225v-80.98c0-12.78-14.24-20.4-24.88-13.31L96 178.13l-71.12-47.42C14.24 123.63 0 131.25 0 144.03V225c0 10.7 5.35 20.69 14.25 26.62L64 282.14v97.99C64 435.2 108.8 480 163.88 480H576c35.35 0 64-28.65 64-64V288c0-31.6-15.54-59.45-39.17-76.95zM432 352c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"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};\nvar faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [288, 512, [], \"f22c\", \"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};\nvar faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"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};\nvar faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"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};\nvar faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [384, 512, [], \"f481\", \"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};\nvar faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"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};\nvar faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"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};\nvar faOctagon = {\n prefix: 'fas',\n iconName: 'octagon',\n icon: [512, 512, [], \"f306\", \"M361.5 14.1c-9-9-21.2-14.1-33.9-14.1H184.5c-12.7 0-24.9 5.1-33.9 14.1L14.1 150.5c-9 9-14.1 21.2-14.1 33.9v143.1c0 12.7 5.1 24.9 14.1 33.9l136.5 136.5c9 9 21.2 14.1 33.9 14.1h143.1c12.7 0 24.9-5.1 33.9-14.1L498 361.4c9-9 14.1-21.2 14.1-33.9v-143c0-12.7-5.1-24.9-14.1-33.9L361.5 14.1z\"]\n};\nvar faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"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};\nvar faOilTemp = {\n prefix: 'fas',\n iconName: 'oil-temp',\n icon: [640, 512, [], \"f614\", \"M320 384c44.18 0 80-35.82 80-80 0-32.79-19.77-60.89-48-73.25V208h48c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-48v-32h48c8.84 0 16-7.16 16-16V96c0-8.84-7.16-16-16-16h-48V48h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v214.75c-28.23 12.35-48 40.46-48 73.25 0 44.18 35.82 80 80 80zm-304 0h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84 5.67 0 11.01-.79 16.46-1.3-16.71-16.89-27.65-39.17-30.96-63.86-18.79-2.44-33.34-9.14-41.59-16.74-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 311.58 58.04 320 32 320H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16zm608 64h-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 439.58 442.04 448 416 448s-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 439.58 250.04 448 224 448s-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 439.58 58.04 448 32 448H16c-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-16zm0-128h-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.1-8.24 7.6-22.8 14.3-41.59 16.74-3.32 24.69-14.25 46.97-30.96 63.86 5.46.51 10.79 1.3 16.46 1.3 38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c.02-8.84-7.14-16-15.98-16z\"]\n};\nvar faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [], \"f679\", \"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};\nvar faOmega = {\n prefix: 'fas',\n iconName: 'omega',\n icon: [512, 512, [], \"f67a\", \"M488 416h-32.61c42.89-53.17 65.05-123.68 53.64-199.4C492.12 104.36 399.19 14.85 286.45 1.77 131.74-16.18 0 104.82 0 256c0 60.59 21.27 116.18 56.61 160H24c-13.25 0-24 10.75-24 24v48c0 13.25 10.75 24 24 24h136c17.67 0 32-14.33 32-32v-42.7c0-20.53-11.09-38.78-27.88-50.59-48.22-33.92-76.98-93.67-65.67-159.06 10.89-62.93 60.5-114.85 122.99-128.01C324.68 77.9 416 156.49 416 256c0 54.44-27.4 102.51-69.08 131.38-16.49 11.43-26.92 29.63-26.92 49.7V480c0 17.67 14.33 32 32 32h136c13.25 0 24-10.75 24-24v-48c0-13.25-10.75-24-24-24z\"]\n};\nvar faOrnament = {\n prefix: 'fas',\n iconName: 'ornament',\n icon: [384, 512, [], \"f7b8\", \"M288 153.9V112c0-8.8-7.2-16-16-16h-24.9c5.5-9.4 8.9-20.3 8.9-32 0-35.3-28.7-64-64-64s-64 28.7-64 64c0 11.7 3.4 22.6 8.9 32H112c-8.8 0-16 7.2-16 16v41.9C66.9 170.7 42.7 195 25.9 224h332.2c-16.8-29-41-53.3-70.1-70.1zM192 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm180.6 176H11.4C4.3 276.1 0 297.5 0 320s4.1 44 11.2 64h361.7c7.1-20 11.2-41.5 11.2-64-.1-22.5-4.4-43.9-11.5-64zM192 512c71 0 132.9-38.7 166.1-96H25.9c33.2 57.3 95.1 96 166.1 96z\"]\n};\nvar faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [], \"f700\", \"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};\nvar faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [], \"f03b\", \"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};\nvar faOutlet = {\n prefix: 'fas',\n iconName: 'outlet',\n icon: [512, 512, [], \"e01c\", \"M448,0H64A64,64,0,0,0,0,64V448a64,64,0,0,0,64,64H448a64,64,0,0,0,64-64V64A64,64,0,0,0,448,0ZM386.26,409.29A22.87,22.87,0,0,1,369.85,416H142.15a22.87,22.87,0,0,1-16.41-6.71C87.71,370.28,64,316.1,64,256s23.71-114.28,61.74-153.3A22.86,22.86,0,0,1,142.15,96h227.7a22.86,22.86,0,0,1,16.41,6.7c38,39,61.74,93.2,61.74,153.3S424.29,370.28,386.26,409.29ZM256,304a32,32,0,0,0-32,32v16h64V336A32,32,0,0,0,256,304ZM192,176H176a16,16,0,0,0-16,16v80a16,16,0,0,0,16,16h16a16,16,0,0,0,16-16V192A16,16,0,0,0,192,176Zm144,0H320a16,16,0,0,0-16,16v80a16,16,0,0,0,16,16h16a16,16,0,0,0,16-16V192A16,16,0,0,0,336,176Z\"]\n};\nvar faOven = {\n prefix: 'fas',\n iconName: 'oven',\n icon: [448, 512, [], \"e01d\", \"M96,320H352V288H96ZM384,0H64A64,64,0,0,0,0,64v96H448V64A64,64,0,0,0,384,0ZM80,104a24,24,0,1,1,24-24A24,24,0,0,1,80,104Zm96,0a24,24,0,1,1,24-24A24,24,0,0,1,176,104Zm96,0a24,24,0,1,1,24-24A24,24,0,0,1,272,104Zm96,0a24,24,0,1,1,24-24A24,24,0,0,1,368,104ZM0,480a32,32,0,0,0,32,32H416a32,32,0,0,0,32-32V192H0ZM64,256H384V448H64Z\"]\n};\nvar faOverline = {\n prefix: 'fas',\n iconName: 'overline',\n icon: [448, 512, [], \"f876\", \"M432 0H16A16 16 0 0 0 0 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16zM232.19 128h-16.38A167.81 167.81 0 0 0 48 295.81v48.38A167.81 167.81 0 0 0 215.81 512h16.38A167.81 167.81 0 0 0 400 344.19v-48.38A167.81 167.81 0 0 0 232.19 128zM320 344.19A87.91 87.91 0 0 1 232.19 432h-16.38A87.91 87.91 0 0 1 128 344.19v-48.38A87.91 87.91 0 0 1 215.81 208h16.38A87.91 87.91 0 0 1 320 295.81z\"]\n};\nvar faPageBreak = {\n prefix: 'fas',\n iconName: 'page-break',\n icon: [576, 512, [], \"f877\", \"M243.6 256a19.59 19.59 0 0 0-19.6 19.6v24.8a19.59 19.59 0 0 0 19.6 19.6h88.8a19.59 19.59 0 0 0 19.6-19.6v-24.8a19.59 19.59 0 0 0-19.6-19.6zM160 64h176v64a16 16 0 0 0 16 16h64v64h64v-76.06a48.16 48.16 0 0 0-14.09-34L382 14.09A48 48 0 0 0 348.09 0H144a48.14 48.14 0 0 0-48 48.07V208h64zm400 192H432a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM416 448H160v-80H96v96a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48v-96h-64zM160 304v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16z\"]\n};\nvar faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [], \"f815\", \"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};\nvar faPaintBrush = {\n prefix: 'fas',\n iconName: 'paint-brush',\n icon: [512, 512, [], \"f1fc\", \"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};\nvar faPaintBrushAlt = {\n prefix: 'fas',\n iconName: 'paint-brush-alt',\n icon: [512, 512, [], \"f5a9\", \"M365.99 33.1L194.11 289.51l78 65 218.81-221.52C564.15 52.52 427.95-55.3 365.99 33.1zM167.87 309.29c-40.45 2.41-77.23 17.53-98.03 72.35-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.39-.68-6.64-1.06-9.96l-87.07-72.56z\"]\n};\nvar faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"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};\nvar faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [], \"f53f\", \"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};\nvar faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"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};\nvar faPalletAlt = {\n prefix: 'fas',\n iconName: 'pallet-alt',\n icon: [640, 512, [], \"f483\", \"M80 256h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm320 0h160c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16v160c0 8.8 7.2 16 16 16zm224 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};\nvar faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"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};\nvar faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [], \"f0c6\", \"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};\nvar faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"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};\nvar faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [], \"f1dd\", \"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};\nvar faParagraphRtl = {\n prefix: 'fas',\n iconName: 'paragraph-rtl',\n icon: [384, 512, [], \"f878\", \"M368 384H112v-48c0-14.25-17.23-21.39-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 516.64 112 511.64 112 496v-48h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM144 224h16v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V64h32v240a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V64h16a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H144C80 0 32 48 32 112s48 112 112 112z\"]\n};\nvar faParking = {\n prefix: 'fas',\n iconName: 'parking',\n icon: [448, 512, [], \"f540\", \"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};\nvar faParkingCircle = {\n prefix: 'fas',\n iconName: 'parking-circle',\n icon: [496, 512, [], \"f615\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.46 0-184-82.54-184-184S146.54 72 248 72s184 82.54 184 184-82.54 184-184 184zm32-296h-96c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h48c44.18 0 80-35.82 80-80s-35.82-80-80-80zm0 96h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16z\"]\n};\nvar faParkingCircleSlash = {\n prefix: 'fas',\n iconName: 'parking-circle-slash',\n icon: [496, 512, [], \"f616\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.46 0-184-82.54-184-184 0-30.83 7.71-59.86 21.17-85.41l286.39 221.35C338.86 421.69 295.58 440 248 440zm-9.77-232H280c8.82 0 16 7.18 16 16s-7.18 16-16 16h-.37l-41.4-32zm172.6 133.41l-76.42-59.06C350.07 267.74 360 247.1 360 224c0-44.18-35.82-80-80-80h-96c-6.91 0-12.67 4.43-14.9 10.57l-44.66-34.51C157.14 90.31 200.42 72 248 72c101.46 0 184 82.54 184 184 0 30.83-7.71 59.86-21.17 85.41zM168 352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-19.48l-64-49.46V352z\"]\n};\nvar faParkingSlash = {\n prefix: 'fas',\n iconName: 'parking-slash',\n icon: [640, 512, [], \"f617\", \"M288 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64.86L96 204.21V432c0 26.5 21.5 48 48 48h308.83L288 352.6V368zm345.82 90.1L544 388.68V80c0-26.5-21.5-48-48-48H144c-15.31 0-28.79 7.31-37.58 18.48L45.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.45zM409.69 284.87l-50.53-39.05c5.4-5.73 8.84-13.34 8.84-21.82 0-17.64-14.36-32-32-32h-46.48l-65.06-50.29C225.61 134 231.98 128 240 128h96c52.94 0 96 43.06 96 96 0 23.24-8.49 44.35-22.31 60.87z\"]\n};\nvar faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"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};\nvar faPastafarianism = {\n prefix: 'fas',\n iconName: 'pastafarianism',\n icon: [640, 512, [], \"f67b\", \"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};\nvar faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [448, 512, [], \"f0ea\", \"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};\nvar faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [448, 512, [], \"f04c\", \"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};\nvar faPauseCircle = {\n prefix: 'fas',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"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};\nvar faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"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};\nvar faPawAlt = {\n prefix: 'fas',\n iconName: 'paw-alt',\n icon: [448, 512, [], \"f701\", \"M144 128c26.51 0 48-21.49 48-48s-21.49-48-48-48-48 21.49-48 48 21.49 48 48 48zm-48 64c0-26.51-21.49-48-48-48S0 165.49 0 192s21.49 48 48 48 48-21.49 48-48zm208-64c26.51 0 48-21.49 48-48s-21.49-48-48-48-48 21.49-48 48 21.49 48 48 48zm96 16c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-32.69 156.78c-26.29-14.84-47.14-61.41-67.17-97.83C284.41 174.31 254.21 160 224 160s-60.41 14.31-76.15 42.95c-20.29 36.96-40.12 82.56-67.17 97.83C51.63 317.18 32 348.18 32 383.95c0 53.01 42.98 95.98 96 95.98 51.71 1.76 72.19-31.99 96-31.99s44.29 33.75 96 31.99c53.02 0 96-42.97 96-95.98 0-35.77-19.63-66.77-48.69-83.17z\"]\n};\nvar faPawClaws = {\n prefix: 'fas',\n iconName: 'paw-claws',\n icon: [512, 512, [], \"f702\", \"M193.44 222.61c30.94-8.14 46.42-49.94 34.58-93.36-6.53-23.92-20.07-43.04-36.02-54.29V0l-64.01 79.99c-15.02 17.7-20.45 47.82-12.01 78.75 11.84 43.42 46.53 72.02 77.46 63.87zm125.12 0c30.94 8.14 65.62-20.45 77.46-63.87 8.44-30.94 3.01-61.05-12.01-78.75L320 0v74.96c-15.95 11.26-29.49 30.37-36.02 54.29-11.84 43.42 3.64 85.22 34.58 93.36zM256 256c-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 378.76 335.41 256 256 256zm-147.28-12.61c-7.21-24.03-24.89-41.91-44.72-48.46V128l-45.51 62.37A96.204 96.204 0 0 0 0 247.09c.03 6.97 1.09 14.22 3.28 21.52 10.4 34.65 42.44 57.09 71.56 50.13 29.11-6.97 44.28-40.7 33.88-75.35zm384.79-53.02L448 128v66.94c-19.83 6.55-37.51 24.43-44.72 48.46-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 2.19-7.29 3.25-14.54 3.28-21.52a96.283 96.283 0 0 0-18.5-56.72z\"]\n};\nvar faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [496, 512, [], \"f67c\", \"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};\nvar faPegasus = {\n prefix: 'fas',\n iconName: 'pegasus',\n icon: [576, 512, [], \"f703\", \"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 128-63.92 0-104.2-36.78-127.66-90.27-3.22-7.35-13.61-7.76-17.04-.5C165.49 57.82 160 80.8 160 105.1c0 67.04 51.01 133.09 128 147.74v3.17c-82.89 0-143.33-57.52-157.03-122.86-16.72 5.47-31.62 14.98-42.97 27.97V160c-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};\nvar faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [], \"f304\", \"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};\nvar faPenAlt = {\n prefix: 'fas',\n iconName: 'pen-alt',\n icon: [512, 512, [], \"f305\", \"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};\nvar faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [], \"f5ac\", \"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};\nvar faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [], \"f5ad\", \"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};\nvar faPenSquare = {\n prefix: 'fas',\n iconName: 'pen-square',\n icon: [448, 512, [], \"f14b\", \"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};\nvar faPencil = {\n prefix: 'fas',\n iconName: 'pencil',\n icon: [512, 512, [], \"f040\", \"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 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z\"]\n};\nvar faPencilAlt = {\n prefix: 'fas',\n iconName: 'pencil-alt',\n icon: [512, 512, [], \"f303\", \"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};\nvar faPencilPaintbrush = {\n prefix: 'fas',\n iconName: 'pencil-paintbrush',\n icon: [512, 512, [], \"f618\", \"M316.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.71zm181.85 44.53c18.75-18.76 18.75-49.17 0-67.93l-45.26-45.25c-18.76-18.76-49.18-18.76-67.94 0L338.7 60.08l113.2 113.2 46.03-46.04zm-41.18 264.38c-6.59 0-12.24-3.77-14.59-9.98-18.13-47.78-48.4-65.38-82.65-70.71L257.83 412.61C266.64 475.95 315.42 512 384 512c90.07 0 128-72.38 128-154.73-9.79 6.68-44.14 34.35-55.25 34.35zm-336.57-158.3L216 137.51 146.01 33.1C84.05-55.3-52.15 52.52 21.08 132.99l99.1 100.33z\"]\n};\nvar faPencilRuler = {\n prefix: 'fas',\n iconName: 'pencil-ruler',\n icon: [512, 512, [], \"f5ae\", \"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};\nvar faPennant = {\n prefix: 'fas',\n iconName: 'pennant',\n icon: [576, 512, [], \"f456\", \"M571 228.5c-78.1 88.2-179.8 108.8-184.1 109.6-134.8 26.1-153.3 7.5-237.1 37.5-10.6 3.8-21.8-3.6-21.8-14.8V112.5c0-9 7.3-16.4 16.3-16 43.2 2 95.3 13.2 155.2 42.4 140.6 68.5 223.7 62.9 252.9 57.2 18-3.8 31.3 18.1 18.6 32.4zM56 0C25.1 0 0 25.1 0 56c0 22.3 13.2 41.4 32 50.4V504c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V106.4c18.8-9 32-28.1 32-50.4 0-30.9-25.1-56-56-56z\"]\n};\nvar faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [576, 512, [], \"e068\", \"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};\nvar faPeopleCarry = {\n prefix: 'fas',\n iconName: 'people-carry',\n icon: [640, 512, [], \"f4ce\", \"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};\nvar faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [], \"f816\", \"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};\nvar faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [448, 512, [], \"f295\", \"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};\nvar faPercentage = {\n prefix: 'fas',\n iconName: 'percentage',\n icon: [384, 512, [], \"f541\", \"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};\nvar faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"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};\nvar faPersonCarry = {\n prefix: 'fas',\n iconName: 'person-carry',\n icon: [384, 512, [], \"f4cf\", \"M0 479.9c0 17.7 14.3 32 32 32s32-14.3 32-32v-74.5C48 391.7.6 350.8 0 350.3v129.6zM368 96H208c-8.8 0-16 7.2-16 16v112h-25.4l-33.3-61.8c-11.1-21.1-32.8-34.2-56.6-34.2H48c-26.5 0-48 21.5-48 48v103c0 18.7 8.2 36.4 22.4 48.6l76 65.1 14.1 92.5c1 5.7 10.1 30.7 36.8 26.3 17.4-2.9 29.2-19.4 26.3-36.8l-14.1-92.5c-2.5-14.8-10.1-28.3-21.5-38.1l-44-37.7v-78.3l32 59.9h240c8.8 0 16-7.2 16-16V112c0-8.9-7.2-16-16-16zM80 96c26.5 0 48-21.5 48-48S106.5 0 80 0 32 21.5 32 48s21.5 48 48 48z\"]\n};\nvar faPersonDolly = {\n prefix: 'fas',\n iconName: 'person-dolly',\n icon: [512, 512, [], \"f4d0\", \"M331.1 360.5c2.3 8.5 11.1 13.6 19.6 11.3l117-31.3c8.5-2.3 13.6-11.1 11.3-19.6L447.6 204c-2.3-8.5-11.1-13.6-19.6-11.3L311 224c-8.5 2.3-13.6 11.1-11.3 19.6l31.4 116.9zM0 479.9c0 17.7 14.3 32 32 32s32-14.3 32-32v-74.5C48 391.7.5 350.8 0 350.3v129.6zm503.4-106.1c-1.1-4.3-5.5-6.8-9.8-5.7l-154.1 41.3c-9.8-12.9-24.2-21.9-40.9-24.5l-59.4-221.6c-1.1-4.3-5.5-6.8-9.8-5.7l-30.9 8.3c-4.3 1.1-6.8 5.5-5.7 9.8l12.9 48.2h-39l-33.3-61.8c-11.1-21.1-32.8-34.2-56.7-34.2H48c-26.5 0-48 21.5-48 48v103c0 18.7 8.2 36.4 22.4 48.6l76 65.1 14.1 92.5c1 5.7 10.1 30.7 36.8 26.3 17.4-2.9 29.2-19.4 26.3-36.8l-14.1-92.5c-2.5-14.8-10.1-28.3-21.5-38.1l-44-37.7V228l32 59.9h94.8l28.9 107.8c-16.4 11.6-27.2 30.6-27.2 52.2 0 35.3 28.7 64 64 64 32.7 0 59.3-24.5 63.2-56.1l154.2-41.3c4.3-1.1 6.8-5.5 5.7-9.8l-8.2-30.9zm-214.8 90.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.1 16-16 16zM80 96c26.5 0 48-21.5 48-48S106.6 0 80 0 32 21.5 32 48s21.5 48 48 48z\"]\n};\nvar faPersonDollyEmpty = {\n prefix: 'fas',\n iconName: 'person-dolly-empty',\n icon: [512, 512, [], \"f4d1\", \"M0 479.9c0 17.7 14.3 32 32 32s32-14.3 32-32v-74.5C48 391.7.5 350.8 0 350.3v129.6zm503.4-106.1c-1.1-4.3-5.5-6.8-9.8-5.7l-154.1 41.3c-9.8-12.9-24.2-21.9-40.9-24.5l-59.4-221.6c-1.1-4.3-5.5-6.8-9.8-5.7l-30.9 8.3c-4.3 1.1-6.8 5.5-5.7 9.8l12.9 48.2h-39l-33.3-61.8c-11.1-21.1-32.8-34.2-56.7-34.2H48c-26.5 0-48 21.5-48 48v103c0 18.7 8.2 36.4 22.4 48.6l76 65.1 14.1 92.5c1 5.7 10.1 30.7 36.8 26.3 17.4-2.9 29.2-19.4 26.3-36.8l-14.1-92.5c-2.5-14.8-10.1-28.3-21.5-38.1l-44-37.7V228l32 59.9h94.8l28.9 107.8c-16.4 11.6-27.2 30.6-27.2 52.2 0 35.3 28.7 64 64 64 32.7 0 59.3-24.5 63.2-56.1l154.2-41.3c4.3-1.1 6.8-5.5 5.7-9.8l-8.2-30.9zm-214.8 90.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.1 16-16 16zM80 96c26.5 0 48-21.5 48-48S106.6 0 80 0 32 21.5 32 48s21.5 48 48 48z\"]\n};\nvar faPersonSign = {\n prefix: 'fas',\n iconName: 'person-sign',\n icon: [512, 512, [], \"f757\", \"M144 96c26.5 0 48-21.5 48-48S170.4 0 144 0 96 21.5 96 48s21.5 48 48 48zm357.5-29.4L433.8 42l5.5-15c3-8.3-1.3-17.5-9.6-20.5l-15-5.5c-8.3-3-17.5 1.3-20.5 9.6l-5.5 15L321.1 1c-8.3-3-17.5 1.3-20.5 9.6l-43.8 120.3c-3 8.3 1.3 17.5 9.6 20.5L334 176l-13 36-47.8-16-49.3-49.3c-12.1-12.1-28.1-18.8-45.2-18.8h-62.9c-24.4 0-46.3 13.6-57.2 35.4L3.4 273.7c-7.9 15.8-1.5 35 14.3 42.9 4.6 2.3 9.5 3.4 14.3 3.4 11.7 0 23-6.5 28.6-17.7L80 263.6v54.8L64.1 476.8c-1.7 17.6 11.1 33.3 28.6 35 1.1.1 2.2.2 3.2.2 16.2 0 30.1-12.3 31.8-28.8L140.9 352h15.3l35.8 71.5V480c0 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-82.5v-91.2l20 20c7 7 15.6 12.3 25 15.5l46.1 15.4-11.2 30.8c-3 8.3 1.3 17.5 9.6 20.5l15 5.5c8.3 3 17.5-1.3 20.5-9.6l46.2-126.9 67.6 24.6c8.3 3 17.5-1.3 20.5-9.6L511 87.1c3.1-8.3-1.2-17.4-9.5-20.5z\"]\n};\nvar faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [], \"f095\", \"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};\nvar faPhoneAlt = {\n prefix: 'fas',\n iconName: 'phone-alt',\n icon: [512, 512, [], \"f879\", \"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};\nvar faPhoneLaptop = {\n prefix: 'fas',\n iconName: 'phone-laptop',\n icon: [640, 512, [], \"f87a\", \"M604 128H420a36 36 0 0 0-36 36v312a36 36 0 0 0 36 36h184a36 36 0 0 0 36-36V164a36 36 0 0 0-36-36zm-28 320H448V192h128zM128 64h320v32h64V48a48.1 48.1 0 0 0-47.91-48H111.91A48.1 48.1 0 0 0 64 48v240H16a16 16 0 0 0-16 16v16a64.14 64.14 0 0 0 63.91 64H352v-96H128z\"]\n};\nvar faPhoneOffice = {\n prefix: 'fas',\n iconName: 'phone-office',\n icon: [576, 512, [], \"f67d\", \"M128 416h64c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v352c0 17.67 14.33 32 32 32zM528 32H256v352c0 35.29-28.71 64-64 64h-64c-35.29 0-64-28.71-64-64V32H48C21.49 32 0 53.49 0 80v384c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM384 432c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v32zm0-128c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v32zm128 128c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v32zm0-128c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v32zm0-112H320V96h192v96z\"]\n};\nvar faPhonePlus = {\n prefix: 'fas',\n iconName: 'phone-plus',\n icon: [512, 512, [], \"f4d2\", \"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.4zM16 144h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16h-64V16c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v64H16C7.2 80 0 87.2 0 96v32c0 8.8 7.2 16 16 16z\"]\n};\nvar faPhoneRotary = {\n prefix: 'fas',\n iconName: 'phone-rotary',\n icon: [512, 512, [], \"f8d3\", \"M370.43 192.25A64 64 0 0 0 314.86 160H197.14a64 64 0 0 0-55.57 32.25L36.22 376.62A32 32 0 0 0 32 392.5V448a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32v-55.5a32 32 0 0 0-4.22-15.88zM256 384a72 72 0 1 1 72-72 72 72 0 0 1-72 72zm250.18-261C436.76 65 347.38 32 256 32S75.24 65 5.82 123A16.45 16.45 0 0 0 0 135.64V192a16 16 0 0 0 16 16h70.11a16 16 0 0 0 14.31-8.85L128 128c39.9-17.28 83.2-24 128-24 44.77 0 88.07 6.72 128 24l27.58 71.15a16 16 0 0 0 14.31 8.85H496a16 16 0 0 0 16-16v-56.36a16.45 16.45 0 0 0-5.82-12.64z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"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};\nvar faPhoneSquare = {\n prefix: 'fas',\n iconName: 'phone-square',\n icon: [448, 512, [], \"f098\", \"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};\nvar faPhoneSquareAlt = {\n prefix: 'fas',\n iconName: 'phone-square-alt',\n icon: [448, 512, [], \"f87b\", \"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};\nvar faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [384, 512, [], \"f2a0\", \"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};\nvar faPhotoVideo = {\n prefix: 'fas',\n iconName: 'photo-video',\n icon: [640, 512, [], \"f87c\", \"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};\nvar faPi = {\n prefix: 'fas',\n iconName: 'pi',\n icon: [512, 512, [], \"f67e\", \"M488 160c13.25 0 24-10.75 24-24V88c0-13.26-10.75-24-24-24H99.91c-16.97 0-33.25 6.74-45.25 18.74L4.72 132.69C-5.36 142.77 1.78 160 16.03 160H128v142.46c0 38.8-12.89 75.63-36.62 105.62-7.27 9.18-5.71 22.57 2.56 30.85l34.11 34.11c10.25 10.25 26.95 8.94 36.12-2.28C202.93 423.33 224 364.51 224 302.46V160h64v202.58c0 54.98 37.28 105.36 91.32 115.42 42.26 7.87 83.64-7.87 109.62-40.34l17.8-21.66c8.28-10.35 6.6-25.45-3.75-33.73l-37.46-29.98c-10.35-8.28-25.45-6.61-33.73 3.75L414 377.67a16.806 16.806 0 0 1-13.16 6.33c-9.28 0-16.84-7.56-16.84-16.84V160h104z\"]\n};\nvar faPiano = {\n prefix: 'fas',\n iconName: 'piano',\n icon: [512, 512, [], \"f8d4\", \"M476.62,269.81l-57.24-28.62A64,64,0,0,1,384,184,184.45,184.45,0,0,0,199.55-.5h-15.1A184.45,184.45,0,0,0,0,184H0V479.5a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V327.05A64,64,0,0,0,476.62,269.81ZM448,447.5H64v-96H96v56a8,8,0,0,0,8,8h16a8,8,0,0,0,8-8v-56h32v56a8,8,0,0,0,8,8h16a8,8,0,0,0,8-8v-56h32v56a8,8,0,0,0,8,8h16a8,8,0,0,0,8-8v-56h64v56a8,8,0,0,0,8,8h16a8,8,0,0,0,8-8v-56h32v56a8,8,0,0,0,8,8h16a8,8,0,0,0,8-8v-56h32Z\"]\n};\nvar faPianoKeyboard = {\n prefix: 'fas',\n iconName: 'piano-keyboard',\n icon: [576, 512, [], \"f8d5\", \"M544 63H32A32 32 0 0 0 0 95v320a32 32 0 0 0 32 32h512a32 32 0 0 0 32-32V95a32 32 0 0 0-32-32zM144 383H64V223h64v80a16 16 0 0 0 16 16zm128 0h-96v-64a16 16 0 0 0 16-16v-80h64v80a16 16 0 0 0 16 16zm128 0h-96v-64a16 16 0 0 0 16-16v-80h64v80a16 16 0 0 0 16 16zm112 0h-80v-64a16 16 0 0 0 16-16v-80h64z\"]\n};\nvar faPie = {\n prefix: 'fas',\n iconName: 'pie',\n icon: [576, 512, [], \"f705\", \"M458.78 304c-10.12 6.94-36.19 32-85.25 32s-75.15-25-85.26-32h-.08c-7.33 5-35.19 32-85.28 32-49.13 0-75.17-25-85.34-32h-.22c-8.34 5.7-26.69 22.63-59.6 29.2l31 92.88A32 32 0 0 0 119.07 448h337.87a32 32 0 0 0 30.36-21.88l31-92.88c-33.11-6.62-52.47-24.4-59.46-29.2zM544 240c-6.44 0-10.37-1.2-14.47-3.52C494.93 136.17 400.07 64 288 64S81 136.21 46.45 236.55c-4.07 2.28-8 3.45-14.45 3.45a32 32 0 0 0 0 64c32 0 50-13.47 61.92-22.39 9.08-6.8 12.83-9.61 23.53-9.61s14.47 2.81 23.55 9.61c11.91 8.92 29.89 22.39 61.91 22.39s50-13.48 61.88-22.41c9-6.78 12.8-9.59 23.45-9.59s14.39 2.81 23.44 9.59c11.89 8.92 29.86 22.41 61.86 22.41s49.95-13.48 61.84-22.41c9.05-6.78 12.8-9.59 23.44-9.59s14.34 2.81 23.38 9.58C494.06 290.52 512 304 544 304a32 32 0 0 0 0-64zm-337.69-88.84l-16 32c-9.44 18.83-38.17 4.79-28.62-14.31l16-32c9.53-18.85 38.09-4.63 28.62 14.31zM304 176c0 21.17-32 21.18-32 0v-32c0-21.17 32-21.18 32 0zm81.69 7.16l-16-32c-9.48-18.95 19.13-33.19 28.62-14.31l16 32c9.53 19.05-19.17 33.15-28.62 14.31z\"]\n};\nvar faPig = {\n prefix: 'fas',\n iconName: 'pig',\n icon: [576, 512, [], \"f706\", \"M560 192h-29.51c-8.77-20.04-21.64-37.71-37.38-52.46L512 64h-32c-29.4 0-55.39 13.5-73 34.32-7.57-1.1-15.12-2.32-23-2.32H256c-77.4 0-141.95 54.97-156.78 128H56c-14.8 0-26.51-13.46-23.54-28.78C34.68 183.82 45.34 176 56.95 176h1.01c3.34 0 6.04-2.71 6.04-6.04v-19.92c0-3.34-2.71-6.04-6.04-6.04C29.5 144 4.1 164.4.47 192.62-3.91 226.77 22.7 256 56 256h40c0 52.18 25.35 98.07 64 127.28V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-48h128v48c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-80.72A160.09 160.09 0 0 0 511.28 352H560c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm-128 64c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"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};\nvar faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"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};\nvar faPizza = {\n prefix: 'fas',\n iconName: 'pizza',\n icon: [576, 512, [], \"f817\", \"M403.22 403.08c-81.87 81.92-215 81.22-296-2.11-77-79.19-77-210.74 0-289.94 81-83.33 214.14-84 296-2.11l22-22.07c6.46-6.46 6.44-17.36-.42-23.39-112.86-99.22-292.21-82.09-382.18 51.37-56.83 84.3-56.83 198.05 0 282.34 90 133.46 269.32 150.59 382.23 51.37 6.86-6 6.88-16.93.42-23.39zM131.9 380.45a175.77 175.77 0 0 0 248.71 0L256.25 256l124.36-124.45a175.77 175.77 0 0 0-248.71 0c-68.68 68.73-68.68 180.17 0 248.9zM256.25 352a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-48-208a16 16 0 1 1-16 16 16 16 0 0 1 16.04-16zm-48 96a16 16 0 1 1-16 16 16 16 0 0 1 16.08-16zm362.99-139.87c-5.79-7.55-17.22-7.92-23.95-1.19l-21.42 21.44c66.7 77.84 66.7 193.4 0 271.24l21.42 21.44c6.73 6.73 18.16 6.37 23.95-1.19a256.62 256.62 0 0 0 0-311.74zm-68.05 43l-49.92 50a15.83 15.83 0 0 1 10.86 15 16 16 0 0 1-16 16 15.83 15.83 0 0 1-14.95-10.87L342.35 256l112.84 112.93a176.6 176.6 0 0 0 0-225.85zM448.1 288a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"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};\nvar faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"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};\nvar faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"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};\nvar faPlaneAlt = {\n prefix: 'fas',\n iconName: 'plane-alt',\n icon: [576, 512, [], \"f3de\", \"M472 200H347.7l-38.6-72H324c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12h-49.2L243.5 5.7c-2.2-3.5-6.1-5.7-10.2-5.7h-57.8c-7.9 0-13.6 7.4-11.6 15l33.3 185.4c-32.6 1-63.1 3.7-89.9 7.8l-39.8-66.4c-2.2-3.6-6.1-5.8-10.3-5.8H14.6c-7.6 0-13.3 6.9-11.8 14.4l16.6 82.8C6.9 240.1 0 247.9 0 256s6.9 15.9 19.4 22.8L2.9 361.6C1.4 369.1 7.1 376 14.6 376h42.6c4.2 0 8.1-2.2 10.3-5.8l39.8-66.4c26.8 4.1 57.3 6.8 89.9 7.8L163.9 497c-2 7.6 3.8 15 11.6 15h57.8c4.2 0 8-2.2 10.2-5.7l31.3-58.3H324c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-14.9l38.6-72H472c57.4 0 104-25.1 104-56s-46.6-56-104-56z\"]\n};\nvar faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [], \"f5af\", \"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};\nvar faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [], \"f5b0\", \"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};\nvar faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"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};\nvar faPlanetMoon = {\n prefix: 'fas',\n iconName: 'planet-moon',\n icon: [576, 512, [], \"e01f\", \"M512,0a64,64,0,1,0,64,64A63.99942,63.99942,0,0,0,512,0ZM224,64C100.28711,64,0,164.28516,0,288,0,411.71289,100.28711,512,224,512S448,411.71289,448,288C448,164.28516,347.71289,64,224,64Zm96,272.89062a64.02377,64.02377,0,0,1-6.75781,28.627L272.918,446.166a28.68332,28.68332,0,0,1-20.89258,15.45312q-5.16211.86719-10.41992,1.43359a16.03421,16.03421,0,0,1-17.60742-15.98437C223.99609,423.58984,223.99414,384,224,384a32.00033,32.00033,0,0,1-32-32V320l-54.62695-54.62891A32.00483,32.00483,0,0,0,114.74609,256l-25.02539-.00195c-20.74414,0-34.53125-21.54493-25.96875-40.43946C91.39258,154.55469,152.7793,112,224,112q2.25586,0,4.49805.0625A28.487,28.487,0,0,1,256,140.62109,64.00066,64.00066,0,0,1,245.25,176.125l-49.72852,57.35742a32.00106,32.00106,0,0,0,1.55079,43.58985A37.31367,37.31367,0,0,0,223.45312,288H288a31.99908,31.99908,0,0,1,32,32Z\"]\n};\nvar faPlanetRinged = {\n prefix: 'fas',\n iconName: 'planet-ringed',\n icon: [512, 512, [], \"e020\", \"M502.91733,9.0683c-23.49085-23.49086-88.309.01368-167.21341,54.81788-75.418-31.2567-165.47314-16.29536-226.79313,45.02464-61.318,61.32-76.28132,151.37515-45.02463,226.79319C9.082,414.60847-14.42256,479.42661,9.0683,502.91747c37.19239,37.19241,177.89534-43.21014,314.2681-179.58293C459.70916,186.9637,540.10973,46.26071,502.91733,9.0683ZM346.505,346.50508c-38.15531,38.15337-84.07059,78.86539-130.69292,113.57336A207.99464,207.99464,0,0,0,460.03924,215.65C423.85078,264.25092,382.07819,310.93186,346.505,346.50508Z\"]\n};\nvar faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [448, 512, [], \"f04b\", \"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};\nvar faPlayCircle = {\n prefix: 'fas',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"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};\nvar faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [], \"f1e6\", \"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};\nvar faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [], \"f067\", \"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};\nvar faPlusCircle = {\n prefix: 'fas',\n iconName: 'plus-circle',\n icon: [512, 512, [], \"f055\", \"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};\nvar faPlusHexagon = {\n prefix: 'fas',\n iconName: 'plus-hexagon',\n icon: [576, 512, [], \"f300\", \"M553.5 231.8c8.7 14.9 8.7 33.4 0 48.4l-112 192c-8.6 14.7-24.4 23.8-41.5 23.8H176c-17.1 0-32.9-9.1-41.5-23.8l-112-192c-8.7-14.9-8.7-33.4 0-48.4l112-192C143.1 25.1 158.9 16 176 16h224c17.1 0 32.9 9.1 41.5 23.8l112 192zM432 228c0-6.6-5.4-12-12-12h-92v-92c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12v92h-92c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h92v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h92c6.6 0 12-5.4 12-12v-56z\"]\n};\nvar faPlusOctagon = {\n prefix: 'fas',\n iconName: 'plus-octagon',\n icon: [512, 512, [], \"f301\", \"M497.9 150.5c9 9 14.1 21.2 14.1 33.9v143.1c0 12.7-5.1 24.9-14.1 33.9L361.5 497.9c-9 9-21.2 14.1-33.9 14.1H184.5c-12.7 0-24.9-5.1-33.9-14.1L14.1 361.5c-9-9-14.1-21.2-14.1-33.9V184.5c0-12.7 5.1-24.9 14.1-33.9L150.5 14.1c9-9 21.2-14.1 33.9-14.1h143.1c12.7 0 24.9 5.1 33.9 14.1l136.5 136.4zM400 228c0-6.6-5.4-12-12-12h-92v-92c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12v92h-92c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h92v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h92c6.6 0 12-5.4 12-12v-56z\"]\n};\nvar faPlusSquare = {\n prefix: 'fas',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"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};\nvar faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"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};\nvar faPodium = {\n prefix: 'fas',\n iconName: 'podium',\n icon: [448, 512, [], \"f680\", \"M432 144H111.36c6.33-30.9 30.72-55.29 62.71-62.05C182.76 90.63 194.75 96 208 96h64c26.51 0 48-21.49 48-48S298.51 0 272 0h-64c-22.06 0-40.45 14.97-46.07 35.24C109.85 46.85 70.16 90.29 63.35 144H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-32 320h-38.22L384 224H64l22.22 240H48c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faPodiumStar = {\n prefix: 'fas',\n iconName: 'podium-star',\n icon: [448, 512, [], \"f758\", \"M432 144H111.4c6.3-30.9 30.7-55.3 62.7-62 8.7 8.7 20.7 14 33.9 14h64c26.5 0 48-21.5 48-48S298.5 0 272 0h-64c-22.1 0-40.4 15-46.1 35.2-52.1 11.6-91.8 55-98.6 108.8H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-32 320h-38.2L384 224H64l22.2 240H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h352c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-95.5-137.3l-33 32.2 7.8 45.5c1.4 8.2-7.2 14.3-14.5 10.5L224 393.4l-40.8 21.5c-7.2 3.8-15.9-2.3-14.5-10.5l7.8-45.5-33-32.2c-5.9-5.8-2.7-15.9 5.5-17.1l45.6-6.7 20.4-41.4c3.7-7.5 14.3-7.4 17.9 0l20.4 41.4 45.6 6.7c8.2 1.2 11.5 11.3 5.6 17.1z\"]\n};\nvar faPoliceBox = {\n prefix: 'fas',\n iconName: 'police-box',\n icon: [384, 512, [], \"e021\", \"M368,464H352V88a24,24,0,0,0-24-24h-8.02148V48a16,16,0,0,0-16-16H208V16a16,16,0,0,0-32,0V32H80A16,16,0,0,0,64,48V64H56A24,24,0,0,0,32,88V464H16A16,16,0,0,0,0,480v16a16,16,0,0,0,16,16H368a16,16,0,0,0,16-16V480A16,16,0,0,0,368,464ZM168,128a8.00039,8.00039,0,0,1,8,8v24H144V128Zm-64,0h24v32H96V136A8.00039,8.00039,0,0,1,104,128Zm0,80a8.00039,8.00039,0,0,1-8-8V176h32v32Zm72,104a8.00039,8.00039,0,0,1-8,8H104a8.00039,8.00039,0,0,1-8-8V248a8.00039,8.00039,0,0,1,8-8h64a8.00039,8.00039,0,0,1,8,8Zm-8-104H144V176h32v24A8.00039,8.00039,0,0,1,168,208Zm112-80a8.00039,8.00039,0,0,1,8,8v24H256V128Zm-64,0h24v32H208V136A8.00039,8.00039,0,0,1,216,128Zm-8,72V176h32v32H216A8.00039,8.00039,0,0,1,208,200Zm72,8H256V176h32v24A8.00039,8.00039,0,0,1,280,208Z\"]\n};\nvar faPoll = {\n prefix: 'fas',\n iconName: 'poll',\n icon: [448, 512, [], \"f681\", \"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};\nvar faPollH = {\n prefix: 'fas',\n iconName: 'poll-h',\n icon: [448, 512, [], \"f682\", \"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};\nvar faPollPeople = {\n prefix: 'fas',\n iconName: 'poll-people',\n icon: [640, 512, [], \"f759\", \"M80 96c26.5 0 48-21.5 48-48S106.5 0 80 0 32 21.5 32 48s21.5 48 48 48zm48 240c0-26.5-21.5-48-48-48s-48 21.5-48 48 21.5 48 48 48 48-21.5 48-48zm-32 80H64c-35.3 0-64 28.7-64 64v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-35.3-28.7-64-64-64zM616 32H248c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24h368c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24zm-40 96h-64V96h64v32zm-480 0H64c-35.3 0-64 28.7-64 64v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-35.3-28.7-64-64-64zm520 192H248c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24h368c13.3 0 24-10.7 24-24V344c0-13.3-10.7-24-24-24zm-40 96H352v-32h224v32z\"]\n};\nvar faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [], \"f2fe\", \"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};\nvar faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [], \"f75a\", \"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};\nvar faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"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};\nvar faPopcorn = {\n prefix: 'fas',\n iconName: 'popcorn',\n icon: [512, 512, [], \"f819\", \"M443.62 138.88a42.72 42.72 0 0 0-33.09-20.79 37.89 37.89 0 0 0-.33-37.43c-9.11-16-28-23.69-45.55-20.17-.33-16.64-11.47-32-29-37.43a43.36 43.36 0 0 0-39.14 6.4 4.25 4.25 0 0 0-.68-1.92C288.73 6.42 264.77-4.78 242.5 2a41.66 41.66 0 0 0-27.32 27.19 43.4 43.4 0 0 0-38.82-6.08c-17.54 5.44-28.66 20.79-29 37.43-17.56-3.54-36.46 4.12-45.57 20.12a37.18 37.18 0 0 0-.33 37.43c-13.46 1.28-26.32 8.64-33.06 20.79-3.92 6.74-4.77 14-4.27 21.12h383.73c.52-7.12-.33-14.37-4.24-21.12zM366.4 192l-28 256h-45.01L315 192H197.05l21.56 256h-45.05l-28-256H64l43.91 292.75A32 32 0 0 0 139.56 512h232.88a32 32 0 0 0 31.65-27.25L448 192z\"]\n};\nvar faPortalEnter = {\n prefix: 'fas',\n iconName: 'portal-enter',\n icon: [512, 512, [], \"e022\", \"M432,0c-40.78711,0-74.373,97.74414-79.30859,223.98438H339.96875l-26.0625-53.25c-12.5-25.54688-35.45313-44.21876-61.78125-50.9375L181.04688,98.65625a95.62917,95.62917,0,0,0-80.84376,17.14063L60.54688,146.20312a31.99557,31.99557,0,1,0,38.9375,50.78126l39.6875-30.40626c7.67187-5.89062,17.4375-8,25.26562-6.14062l14.70312,4.375L141.6875,252.20312a64.16816,64.16816,0,0,0,26.29688,80.3125l84.96874,50.17188-27.46874,87.71875a32.00118,32.00118,0,1,0,61.07811,19.125l31.64063-101.0625a48.20913,48.20913,0,0,0-21.64063-54.39063l-61.25-36.14062L266.625,219.65625l20.28125,41.4375a48.27457,48.27457,0,0,0,43.10937,26.89063h22.67383C357.61719,414.23828,391.209,512,432,512c44.18359,0,80-114.61523,80-256S476.18359,0,432,0ZM272,96a48,48,0,1,0-48-48A47.99238,47.99238,0,0,0,272,96ZM113.6875,317.46875,98.89062,351.98438H32a32,32,0,0,0,0,64h77.45312a47.90248,47.90248,0,0,0,44.10938-29.07813l8.78125-20.53125-10.65625-6.29688A95.295,95.295,0,0,1,113.6875,317.46875Z\"]\n};\nvar faPortalExit = {\n prefix: 'fas',\n iconName: 'portal-exit',\n icon: [512, 512, [], \"e023\", \"M480,223.98438H435.96875l-26.0625-53.25c-12.5-25.54688-35.45313-44.21876-61.78125-50.9375L277.04688,98.65625a95.62917,95.62917,0,0,0-80.84376,17.14063l-39.65624,30.40624c-1.56055,1.19532-2.44336,2.85352-3.72071,4.25977C140.25586,61.78906,112.41016,0,80,0,35.81641,0,0,114.61523,0,256S35.81641,512,80,512c25.25391,0,47.73828-37.5332,62.40039-96.01562h63.05273a47.90248,47.90248,0,0,0,44.10938-29.07813l8.78125-20.53125-10.65625-6.29688a95.295,95.295,0,0,1-38-42.60937l-14.79688,34.51563H154.13281A768.691,768.691,0,0,0,160,256c0-20.22266-.80859-39.80273-2.19336-58.67383,11.14258,7.87305,26.27734,8.39258,37.67774-.34179l39.6875-30.40626c7.67187-5.89062,17.4375-8,25.26562-6.14062l14.70312,4.375L237.6875,252.20312a64.16816,64.16816,0,0,0,26.29688,80.3125l84.96874,50.17188-27.46874,87.71875a32.00118,32.00118,0,1,0,61.07812,19.125l31.64062-101.0625a48.20913,48.20913,0,0,0-21.64062-54.39063l-61.25-36.14062,31.3125-78.28125,20.28125,41.4375a48.27458,48.27458,0,0,0,43.10937,26.89063H480a32,32,0,0,0,0-64ZM368,96a48,48,0,1,0-48-48A47.99238,47.99238,0,0,0,368,96Z\"]\n};\nvar faPortrait = {\n prefix: 'fas',\n iconName: 'portrait',\n icon: [384, 512, [], \"f3e0\", \"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};\nvar faPoundSign = {\n prefix: 'fas',\n iconName: 'pound-sign',\n icon: [320, 512, [], \"f154\", \"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};\nvar faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [], \"f011\", \"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};\nvar faPray = {\n prefix: 'fas',\n iconName: 'pray',\n icon: [384, 512, [], \"f683\", \"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};\nvar faPrayingHands = {\n prefix: 'fas',\n iconName: 'praying-hands',\n icon: [640, 512, [], \"f684\", \"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};\nvar faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [384, 512, [], \"f5b1\", \"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};\nvar faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"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};\nvar faPrescriptionBottleAlt = {\n prefix: 'fas',\n iconName: 'prescription-bottle-alt',\n icon: [384, 512, [], \"f486\", \"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};\nvar faPresentation = {\n prefix: 'fas',\n iconName: 'presentation',\n icon: [576, 512, [], \"f685\", \"M560 0H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h16v256c0 17.67 14.33 32 32 32h192v34.75l-75.31 75.31c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L288 445.25l62.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.63L320 386.75V352h192c17.67 0 32-14.33 32-32V64h16c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16zm-80 288H96V64h384v224z\"]\n};\nvar faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [], \"f02f\", \"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};\nvar faPrintSearch = {\n prefix: 'fas',\n iconName: 'print-search',\n icon: [640, 512, [], \"f81a\", \"M128 448v-96h163.23a160.64 160.64 0 0 1-3.23-32c0-36.16 12.51-69.18 32.81-96H128V64h192v48a16 16 0 0 0 16 16h48v45.56A158.69 158.69 0 0 1 448 160V77.25a32 32 0 0 0-9.37-22.63L393.37 9.37A32 32 0 0 0 370.74 0H96a32 32 0 0 0-32 32v160a64 64 0 0 0-64 64v112a16 16 0 0 0 16 16h48v96a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32c-35.7 0-68.37-12.16-95-32zm507.31 14.06l-77.41-77.41c11.22-19 18.1-40.95 18.1-64.65a128 128 0 1 0-128 128c23.7 0 45.61-6.88 64.65-18.11l77.41 77.42a16 16 0 0 0 22.63 0l22.62-22.62a16 16 0 0 0 0-22.63zM448 384a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"]\n};\nvar faPrintSlash = {\n prefix: 'fas',\n iconName: 'print-slash',\n icon: [640, 512, [], \"f686\", \"M192 448v-96h95.22L93.47 202.25C75.78 213.64 64 233.4 64 256v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c4 0 7.76-.93 11.29-2.28L411.43 448H192zm441.82 10.1L537.95 384H560c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64V77.25c0-8.49-3.37-16.62-9.37-22.63L457.37 9.37c-6-6-14.14-9.37-22.63-9.37H160c-17.67 0-32 14.33-32 32v35.16L45.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.45zM448 224H330.93L192 116.62V64h192v48c0 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};\nvar faProcedures = {\n prefix: 'fas',\n iconName: 'procedures',\n icon: [640, 512, [], \"f487\", \"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};\nvar faProjectDiagram = {\n prefix: 'fas',\n iconName: 'project-diagram',\n icon: [640, 512, [], \"f542\", \"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};\nvar faProjector = {\n prefix: 'fas',\n iconName: 'projector',\n icon: [640, 512, [], \"f8d6\", \"M592 192h-94.08A144.14 144.14 0 0 1 576 320c0 61.91-39.28 114.82-94.22 135.13L493 499.88A16 16 0 0 0 508.49 512h39A16 16 0 0 0 563 499.88L576 448h16a48 48 0 0 0 48-48V240a48 48 0 0 0-48-48zM288 320a144.14 144.14 0 0 1 78.08-128H48a48 48 0 0 0-48 48v160a48 48 0 0 0 48 48h16l13 51.88A16 16 0 0 0 92.49 512h39A16 16 0 0 0 147 499.88L160 448h206.08A144.14 144.14 0 0 1 288 320zM96 352a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm352-32a112 112 0 1 0-112 112 112.16 112.16 0 0 0 112-112zm-120-40a32 32 0 0 0-32 32 16 16 0 0 1-32 0 64.07 64.07 0 0 1 64-64 16 16 0 0 1 0 32zm0-152h16a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16h-16a16 16 0 0 0-16 16v96a16 16 0 0 0 16 16zm93.65 5.65a16 16 0 0 0 22.63 0l67.88-67.88a16 16 0 0 0 0-22.63l-11.31-11.31a16 16 0 0 0-22.63 0l-67.88 67.89a16 16 0 0 0 0 22.62zm-193.93 0a16 16 0 0 0 22.63 0l11.31-11.31a16 16 0 0 0 0-22.62l-67.88-67.89a16 16 0 0 0-22.63 0l-11.31 11.31a16 16 0 0 0 0 22.63z\"]\n};\nvar faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [384, 512, [], \"e06a\", \"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};\nvar faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [384, 512, [], \"e06b\", \"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};\nvar faPumpkin = {\n prefix: 'fas',\n iconName: 'pumpkin',\n icon: [576, 512, [], \"f707\", \"M352 113.21v-77.4c0-6.06-3.42-11.6-8.84-14.31l-39.6-19.8c-8.37-4.19-18.54-.32-22.01 8.37L244 103.93C257.27 99.2 271.57 96 288 96c25.16 0 46.23 6.12 64 17.21zm143.3 39.92c-31.61-27.03-78.8-31.69-116.51-15.05 3.07 3.97 6.52 7.38 9.21 11.92 8.32 14.27 14.5 31.78 19.11 51.62-3.69-8.81-7.96-16.87-12.86-24.12-22.67-33-58.08-49.5-106.25-49.5s-83.58 16.5-106.25 49.5c-4.9 7.25-9.17 15.3-12.86 24.11 4.61-19.84 10.78-37.34 19.11-51.61 2.69-4.54 6.13-7.95 9.21-11.92-37.71-16.64-84.9-11.98-116.51 15.05-107.6 92.01-107.6 241.72 0 333.74 38.63 33.03 100.82 33.34 140.12 1.25C238.65 503.51 260.72 512 288 512s49.35-8.49 67.19-23.88c39.3 32.09 101.49 31.78 140.12-1.25 107.59-92.01 107.59-241.73-.01-333.74z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [576, 512, [], \"f12e\", \"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};\nvar faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"]\n};\nvar faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [384, 512, [], \"f128\", \"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};\nvar faQuestionCircle = {\n prefix: 'fas',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"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};\nvar faQuestionSquare = {\n prefix: 'fas',\n iconName: 'question-square',\n icon: [448, 512, [], \"f2fd\", \"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-48zM224 430c-25.365 0-46-20.636-46-46 0-25.365 20.635-46 46-46s46 20.635 46 46c0 25.364-20.635 46-46 46zm40-131.333V300c0 6.627-5.373 12-12 12h-56c-6.627 0-12-5.373-12-12v-4c0-41.059 31.128-57.472 54.652-70.66 20.171-11.309 32.534-19 32.534-33.976 0-19.81-25.269-32.958-45.698-32.958-27.19 0-39.438 13.139-57.303 35.797-4.045 5.13-11.46 6.069-16.665 2.122l-34.699-26.31c-5.068-3.843-6.251-10.972-2.715-16.258C141.4 112.957 176.158 90 230.655 90c56.366 0 116.531 43.998 116.531 102 0 77.02-83.186 78.205-83.186 106.667z\"]\n};\nvar faQuidditch = {\n prefix: 'fas',\n iconName: 'quidditch',\n icon: [640, 512, [], \"f458\", \"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};\nvar faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [512, 512, [], \"f10d\", \"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};\nvar faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [512, 512, [], \"f10e\", \"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};\nvar faQuran = {\n prefix: 'fas',\n iconName: 'quran',\n icon: [448, 512, [], \"f687\", \"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};\nvar faRabbit = {\n prefix: 'fas',\n iconName: 'rabbit',\n icon: [448, 512, [], \"f708\", \"M445.54 487.52L352 337.85V272h7.35c31.29 0 56.65-25.36 56.65-56.65a56.66 56.66 0 0 0-23.72-46.1l-48.65-34.75c-1.1-.54-2.27-.74-3.38-1.21 7.8-12.49 15.21-29.76 20.54-49.66 11.32-42.24 9.08-79.55-5-83.32-14.08-3.77-34.67 27.41-45.99 69.66-2.72 10.15-4.61 19.97-5.79 29.15-1.18-9.18-3.07-19-5.79-29.15-11.33-42.25-31.92-73.43-46-69.66s-16.32 41.08-5 83.32c6.94 25.9 17.37 47.54 27.64 59.62-9.11 7.93-15.9 18.5-18.03 31.55-.54 3.32-.82 6.72-.82 10.19V256h-12.8c-83.19 0-152.93 56.77-173.12 133.61C63.44 386.15 56.01 384 48 384c-26.51 0-48 21.49-48 48s21.49 48 48 48c7.93 0 15.3-2.11 21.89-5.51C79.98 496.58 102.13 512 128 512h144c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-22.59l74.35-60.18 72.91 116.66a15.99 15.99 0 0 0 13.57 7.52h37.74c12.56 0 20.22-13.82 13.56-24.48zM336 208c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faRabbitFast = {\n prefix: 'fas',\n iconName: 'rabbit-fast',\n icon: [576, 512, [], \"f709\", \"M135.52 412.67a15.99 15.99 0 0 0-7.52 13.57v37.74c0 12.57 13.82 20.23 24.48 13.57l66.69-39.87-47.85-47.85-35.8 22.84zm416.76-195.42l-56.42-34.62c-.06-13.95-2.28-30.77-7.07-48.67-11.32-42.24-31.91-73.43-45.99-69.66-14.08 3.77-16.32 41.08-5 83.32.65 2.44 1.44 4.7 2.15 7.06-4.89-6.08-10.23-12.23-16.31-18.32-30.93-30.92-64.35-47.64-74.66-37.33s6.4 43.73 37.33 74.66c12.67 12.67 25.67 22.77 37.42 29.78-3.14 5.76-5.71 12.06-6.89 19.32-.49 3.03-.71 6.15-.75 9.31C364.55 195.11 261.59 128 192 128c-52.08 0-85.21 28.24-104.72 54.09-1.77-2.7-2.96-5.66-5.33-8.03-18.75-18.75-49.14-18.75-67.88 0-18.74 18.74-18.74 49.14 0 67.88 16.4 16.39 41.29 17.57 59.92 5.29l191.4 191.4c6 6 14.14 9.37 22.63 9.37h144c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-96v-55.59c0-35.53-23.86-67.16-58.02-76.91l-42.38-12.11c-8.5-2.44-13.42-11.3-11-19.78 2.44-8.52 11.41-13.33 19.78-11l42.38 12.11C318.59 234.38 352 278.66 352 328.41V352l64-32h103.35c31.29 0 56.65-25.36 56.65-56.65a56.66 56.66 0 0 0-23.72-46.1zM496 256c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faRacquet = {\n prefix: 'fas',\n iconName: 'racquet',\n icon: [640, 512, [], \"f45a\", \"M125.9 346.5l56.7 80-120.7 82.6c-7.2 5-17.2 3.3-22.2-3.9L2.9 453.4c-5.1-7.2-3.4-17.1 3.7-22.3.1.1 119.3-84.6 119.3-84.6zm402.8-16.7c-49.1 34.8-103.9 52-153.5 52-27.6 0-84.5-15.1-171.9 18.6l-45.7-64.5c32.7-38.2 56.7-83.2 67.7-132.7 12.2-54.7 49.5-110.5 106.8-151.1 100.5-71.2 228.2-70.2 283.4 7.7 54.3 76.7 15.4 197.6-86.8 270zm-271.2 5.9c-11.7-12.3-12-11.7-21.2-29.7-7.9 14.1-16.3 27.9-26.2 41 15.7-4.9 31.5-8.5 47.4-11.3zM485.9 64c-106.4 0-178.6 90-195 141.1-21.3 66.2 13.3 112.8 83.9 112.8 84.1 0 171.1-66.8 195-141.1C591.1 110.7 556.5 64 485.9 64z\"]\n};\nvar faRadar = {\n prefix: 'fas',\n iconName: 'radar',\n icon: [512, 512, [], \"e024\", \"M504,256c0,136.9668-111.0332,248-248,248S8,392.9668,8,256,119.0332,8,256,8A246.36335,246.36335,0,0,1,395.14648,50.916L425.377,20.68555a16.00006,16.00006,0,0,1,22.627,0l11.31054,11.31054a16.00006,16.00006,0,0,1,0,22.627l-201.373,201.373L257.93555,256H320a64.00026,64.00026,0,1,1-66.15625-63.78125L281.97852,164.084A92.08681,92.08681,0,0,0,256,160a96,96,0,1,0,96,96h64c0,79.53906-58.498,145.17578-134.63281,157.43555C275.54492,405.49414,266.60156,400,256,400s-19.54492,5.49414-25.36719,13.43555A159.59519,159.59519,0,0,1,98.56445,281.36719C106.50586,275.54492,112,266.60156,112,256s-5.49414-19.54492-13.43555-25.36719C110.82422,154.49805,176.46094,96,256,96c27.11328,0,52.21484,7.48438,74.53125,19.53125L354.51953,91.543A190.21144,190.21144,0,0,0,256,64C159.74023,64,80.26172,134.91211,66.375,227.30078a31.59809,31.59809,0,0,0,0,57.39649A191.79963,191.79963,0,0,0,227.30273,445.625a31.59657,31.59657,0,0,0,57.39454,0C377.08594,431.74023,448,352.25977,448,256Z\"]\n};\nvar faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [496, 512, [], \"f7b9\", \"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};\nvar faRadiationAlt = {\n prefix: 'fas',\n iconName: 'radiation-alt',\n icon: [496, 512, [], \"f7ba\", \"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};\nvar faRadio = {\n prefix: 'fas',\n iconName: 'radio',\n icon: [512, 512, [], \"f8d7\", \"M447 127H210.5l288.83-81.21a16 16 0 0 0 11.07-19.74l-4.33-15.38A16 16 0 0 0 486.33-.4L63 127a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V191a64 64 0 0 0-64-64zM207 247v16a8 8 0 0 1-8 8H87a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h112a8 8 0 0 1 8 8zm0 144a8 8 0 0 1-8 8H87a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h112a8 8 0 0 1 8 8zm16-64a8 8 0 0 1-8 8H71a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h144a8 8 0 0 1 8 8zm144 72a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"]\n};\nvar faRadioAlt = {\n prefix: 'fas',\n iconName: 'radio-alt',\n icon: [512, 512, [], \"f8d8\", \"M448 128H211.5l288.83-81.21a16 16 0 0 0 11.07-19.74l-4.33-15.38A16 16 0 0 0 487.33.6L64 128a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zM224 424a8 8 0 0 1-8 8H104a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h112a8 8 0 0 1 8 8zm32-64a8 8 0 0 1-8 8H72a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h176a8 8 0 0 1 8 8zm128 88a64 64 0 1 1 64-64 64 64 0 0 1-64 64zm64-192H64v-64h384z\"]\n};\nvar faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [576, 512, [], \"f75b\", \"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};\nvar faRaindrops = {\n prefix: 'fas',\n iconName: 'raindrops',\n icon: [448, 512, [], \"f75c\", \"M216 136.3c0-34.9-31.8-47.9-46.7-97.4-2.5-9-15.7-9.4-18.6 0-14.9 49.3-46.7 62.7-46.7 97.4 0 30.8 25 55.7 56 55.7s56-24.9 56-55.7zM46.7 230.9C31.8 280.2 0 293.6 0 328.3 0 359.1 25 384 56 384s56-24.9 56-55.7c0-34.9-31.8-47.9-46.7-97.4-2.5-9-15.7-9.4-18.6 0zm294.5-87.7c-5.8-19.8-36-20.7-42.5 0C264.7 251.6 192 281.1 192 357.6c0 67.7 57.2 122.4 128 122.4s128-54.8 128-122.4c0-76.9-72.6-105.5-106.8-214.4z\"]\n};\nvar faRam = {\n prefix: 'fas',\n iconName: 'ram',\n icon: [640, 512, [], \"f70a\", \"M622.25 105.96L576 83.22V64c0-17.67-14.33-32-32-32h-72.97C453.45 12.5 428.26 0 400 0c-52.94 0-96 43.06-96 96 0 47.46 34.7 86.72 80.02 94.38-5.23.88-10.53 1.62-16.02 1.62-51.54 0-93.26-40.71-95.56-91.68-5.9-2.63-12.29-4.32-19.33-4.32-12.47 0-24 4.8-32.31 12.8-8.64-8-20.16-12.8-32.64-12.8-13.12 0-24.97 5.44-33.61 13.75-11.19-9.28-26.23-13.75-41.59-10.23-17.59 3.84-31.03 16.95-35.84 33.28-16.64-2.88-34.23 3.2-45.44 17.28-11.52 14.08-13.44 32.64-7.03 48.31-14.72 8-24.64 24-24.64 41.92 0 18.23 10.23 33.92 24.95 41.92-6.41 15.69-4.16 34.23 7.05 48.31 11.52 14.09 29.11 20.17 45.75 16.97 4.08 13.88 14.64 25.07 28.47 30.58l-6.14 16.38a63.973 63.973 0 0 0-2.16 38l16.85 67.41A16.002 16.002 0 0 0 130.3 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-18.31-73.26 14.76-39.36c4.73-2.15 9.22-4.78 12.9-8.31 8.64 8 20.17 12.81 32.64 12.81 12.48 0 24-4.81 32.64-12.81 8.64 8 19.84 12.81 32.64 12.81 12.49 0 23.87-4.96 32.46-12.91.16.15.34.27.51.42V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V330.67L483.5 307a64.009 64.009 0 0 0 28.5-53.25V192h87.66c9.26 0 17.76-4.9 22.37-12.94 7.59-13.26 17.98-33.45 17.98-44.59a31.798 31.798 0 0 0-17.76-28.51zM352 96c0-26.47 21.53-48 48-48s48 21.53 48 48-21.53 48-48 48-48-21.53-48-48zm160 16c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faRampLoading = {\n prefix: 'fas',\n iconName: 'ramp-loading',\n icon: [384, 512, [], \"f4d4\", \"M292.4 328.8c-2.7-5.4-8.2-8.8-14.3-8.8H105.9c-6.1 0-11.6 3.4-14.3 8.8l-80 160C6.3 499.5 14 512 25.9 512h332.2c11.9 0 19.6-12.5 14.3-23.2l-80-160zM352 0H32C14.3 0 0 14.3 0 32v320c0 16.5 12.6 29.5 28.6 31.3L63 314.5c.3-.6.7-1 1-1.5V64h256v249c.3.5.8 1 1 1.5l34.4 68.8c16-1.8 28.6-14.9 28.6-31.3V32c0-17.7-14.3-32-32-32z\"]\n};\nvar faRandom = {\n prefix: 'fas',\n iconName: 'random',\n icon: [512, 512, [], \"f074\", \"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};\nvar faRaygun = {\n prefix: 'fas',\n iconName: 'raygun',\n icon: [576, 512, [], \"e025\", \"M554.9375,119.01044,480.002,143.98307H416.043V79.991a15.99661,15.99661,0,0,0-16-15.998H384.041a15.99828,15.99828,0,0,0-16.002,15.998V271.96731a15.99953,15.99953,0,0,0,16.002,15.998h16.002a15.99787,15.99787,0,0,0,16-15.998V207.97519h64.07617l74.8125,24.97068A16.00321,16.00321,0,0,0,576,217.76815v-83.58A16.00191,16.00191,0,0,0,554.9375,119.01044ZM320.0332,31.99687h-16.002a15.99787,15.99787,0,0,0-16,15.998V75.21557a110.96789,110.96789,0,0,0-48.06641-11.22264H192L87.166,1.70979A16.00223,16.00223,0,0,0,64.00586,16.01837v59.164C26.26758,93.196,0,131.38348,0,175.97913,0,231.25837,40.14844,276.9009,92.82812,286.03175L22.4082,407.95153A47.93786,47.93786,0,0,0,40.00391,473.5374L95.416,505.53346a47.96127,47.96127,0,0,0,65.60156-17.59178L281.10547,279.93019c2.38281-.94531,4.623-2.08789,6.92578-3.1875v27.22068a15.99912,15.99912,0,0,0,16,15.998h16.002a15.96,15.96,0,0,0,15.94141-15.69725v-256.57A15.95874,15.95874,0,0,0,320.0332,31.99687Zm-208.082,167.98028a23.998,23.998,0,1,1,24.002-23.998A24.00117,24.00117,0,0,1,111.95117,199.97715Zm96.00977,0a23.998,23.998,0,1,1,24.00195-23.998A24.00118,24.00118,0,0,1,207.96094,199.97715Z\"]\n};\nvar faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [], \"f543\", \"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};\nvar faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"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};\nvar faRectangleLandscape = {\n prefix: 'fas',\n iconName: 'rectangle-landscape',\n icon: [512, 512, [], \"f2fa\", \"M464 448H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h416c26.5 0 48 21.5 48 48v288c0 26.5-21.5 48-48 48z\"]\n};\nvar faRectanglePortrait = {\n prefix: 'fas',\n iconName: 'rectangle-portrait',\n icon: [384, 512, [], \"f2fb\", \"M0 464V48C0 21.5 21.5 0 48 0h288c26.5 0 48 21.5 48 48v416c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z\"]\n};\nvar faRectangleWide = {\n prefix: 'fas',\n iconName: 'rectangle-wide',\n icon: [640, 512, [], \"f2fc\", \"M592 416H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h544c26.5 0 48 21.5 48 48v224c0 26.5-21.5 48-48 48z\"]\n};\nvar faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [], \"f1b8\", \"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};\nvar faRedo = {\n prefix: 'fas',\n iconName: 'redo',\n icon: [512, 512, [], \"f01e\", \"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};\nvar faRedoAlt = {\n prefix: 'fas',\n iconName: 'redo-alt',\n icon: [512, 512, [], \"f2f9\", \"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};\nvar faRefrigerator = {\n prefix: 'fas',\n iconName: 'refrigerator',\n icon: [384, 512, [], \"e026\", \"M0,160V48A48,48,0,0,1,48,0H336a48,48,0,0,1,48,48V160H320V72a8,8,0,0,0-8-8H296a8,8,0,0,0-8,8v88Zm320,32V376a8,8,0,0,1-8,8H296a8,8,0,0,1-8-8V192H0V464a48,48,0,0,0,48,48H336a48,48,0,0,0,48-48V192Z\"]\n};\nvar faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"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};\nvar faRemoveFormat = {\n prefix: 'fas',\n iconName: 'remove-format',\n icon: [640, 512, [], \"f87d\", \"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};\nvar faRepeat = {\n prefix: 'fas',\n iconName: 'repeat',\n icon: [512, 512, [], \"f363\", \"M512 256c0 88.224-71.775 160-160 160H170.067l34.512 32.419c9.875 9.276 10.119 24.883.539 34.464l-10.775 10.775c-9.373 9.372-24.568 9.372-33.941 0l-92.686-92.686c-9.373-9.373-9.373-24.568 0-33.941l92.686-92.686c9.373-9.373 24.568-9.373 33.941 0l10.775 10.775c9.581 9.581 9.337 25.187-.539 34.464L170.067 352H352c52.935 0 96-43.065 96-96 0-13.958-2.996-27.228-8.376-39.204-4.061-9.039-2.284-19.626 4.723-26.633l12.183-12.183c11.499-11.499 30.965-8.526 38.312 5.982C505.814 205.624 512 230.103 512 256zM72.376 295.204C66.996 283.228 64 269.958 64 256c0-52.935 43.065-96 96-96h181.933l-34.512 32.419c-9.875 9.276-10.119 24.883-.539 34.464l10.775 10.775c9.373 9.372 24.568 9.372 33.941 0l92.686-92.686c9.373-9.373 9.373-24.568 0-33.941l-92.686-92.686c-9.373-9.373-24.568-9.373-33.941 0L306.882 29.12c-9.581 9.581-9.337 25.187.539 34.464L341.933 96H160C71.775 96 0 167.776 0 256c0 25.897 6.186 50.376 17.157 72.039 7.347 14.508 26.813 17.481 38.312 5.982l12.183-12.183c7.008-7.008 8.786-17.595 4.724-26.634z\"]\n};\nvar faRepeat1 = {\n prefix: 'fas',\n iconName: 'repeat-1',\n icon: [512, 512, [], \"f365\", \"M512 256c0 88.224-71.775 160-160 160H170.067l34.512 32.419c9.875 9.276 10.119 24.883.539 34.464l-10.775 10.775c-9.373 9.372-24.568 9.372-33.941 0l-92.686-92.686c-9.373-9.373-9.373-24.568 0-33.941l80.269-80.27c9.373-9.373 24.568-9.373 33.941 0l10.775 10.775c9.581 9.581 9.337 25.187-.539 34.464l-22.095 20H352c52.935 0 96-43.065 96-96 0-13.958-2.996-27.228-8.376-39.204-4.061-9.039-2.284-19.626 4.723-26.633l12.183-12.183c11.499-11.499 30.965-8.526 38.312 5.982C505.814 205.624 512 230.103 512 256zM72.376 295.204C66.996 283.228 64 269.958 64 256c0-52.935 43.065-96 96-96h181.933l-22.095 20.002c-9.875 9.276-10.119 24.883-.539 34.464l10.775 10.775c9.373 9.372 24.568 9.372 33.941 0l80.269-80.27c9.373-9.373 9.373-24.568 0-33.941l-92.686-92.686c-9.373-9.373-24.568-9.373-33.941 0l-10.775 10.775c-9.581 9.581-9.337 25.187.539 34.464L341.933 96H160C71.775 96 0 167.776 0 256c0 25.897 6.186 50.376 17.157 72.039 7.347 14.508 26.813 17.481 38.312 5.982l12.183-12.183c7.008-7.008 8.786-17.595 4.724-26.634zm154.887 4.323c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.9z\"]\n};\nvar faRepeat1Alt = {\n prefix: 'fas',\n iconName: 'repeat-1-alt',\n icon: [512, 512, [], \"f366\", \"M493.544 181.463c11.956 22.605 18.655 48.4 18.452 75.75C511.339 345.365 438.56 416 350.404 416H192v47.495c0 22.475-26.177 32.268-40.971 17.475l-80-80c-9.372-9.373-9.372-24.569 0-33.941l80-80C166.138 271.92 192 282.686 192 304v48h158.875c52.812 0 96.575-42.182 97.12-94.992.155-15.045-3.17-29.312-9.218-42.046-4.362-9.185-2.421-20.124 4.8-27.284 4.745-4.706 8.641-8.555 11.876-11.786 11.368-11.352 30.579-8.631 38.091 5.571zM64.005 254.992c.545-52.81 44.308-94.992 97.12-94.992H320v47.505c0 22.374 26.121 32.312 40.971 17.465l80-80c9.372-9.373 9.372-24.569 0-33.941l-80-80C346.014 16.077 320 26.256 320 48.545V96H161.596C73.44 96 .661 166.635.005 254.788c-.204 27.35 6.495 53.145 18.452 75.75 7.512 14.202 26.723 16.923 38.091 5.57 3.235-3.231 7.13-7.08 11.876-11.786 7.22-7.16 9.162-18.098 4.8-27.284-6.049-12.735-9.374-27.001-9.219-42.046zm163.258 44.535c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.9z\"]\n};\nvar faRepeatAlt = {\n prefix: 'fas',\n iconName: 'repeat-alt',\n icon: [512, 512, [], \"f364\", \"M493.544 181.463c11.956 22.605 18.655 48.4 18.452 75.75C511.339 345.365 438.56 416 350.404 416H192v47.495c0 22.475-26.177 32.268-40.971 17.475l-80-80c-9.372-9.373-9.372-24.569 0-33.941l80-80C166.138 271.92 192 282.686 192 304v48h158.875c52.812 0 96.575-42.182 97.12-94.992.155-15.045-3.17-29.312-9.218-42.046-4.362-9.185-2.421-20.124 4.8-27.284 4.745-4.706 8.641-8.555 11.876-11.786 11.368-11.352 30.579-8.631 38.091 5.571zM64.005 254.992c.545-52.81 44.308-94.992 97.12-94.992H320v47.505c0 22.374 26.121 32.312 40.971 17.465l80-80c9.372-9.373 9.372-24.569 0-33.941l-80-80C346.014 16.077 320 26.256 320 48.545V96H161.596C73.44 96 .661 166.635.005 254.788c-.204 27.35 6.495 53.145 18.452 75.75 7.512 14.202 26.723 16.923 38.091 5.57 3.235-3.231 7.13-7.08 11.876-11.786 7.22-7.16 9.162-18.098 4.8-27.284-6.049-12.735-9.374-27.001-9.219-42.046z\"]\n};\nvar faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [], \"f3e5\", \"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};\nvar faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [], \"f122\", \"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};\nvar faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"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};\nvar faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"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};\nvar faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [640, 512, [], \"f079\", \"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};\nvar faRetweetAlt = {\n prefix: 'fas',\n iconName: 'retweet-alt',\n icon: [640, 512, [], \"f361\", \"M392.402 383.598C404.359 395.555 395.891 416 378.981 416H120c-13.255 0-24-10.745-24-24V192H48c-21.361 0-32.045-25.895-16.971-40.971l80-80c9.373-9.372 24.568-9.372 33.941 0l80 80C240.074 166.134 229.319 192 208 192h-48v160h202.056c7.82 0 14.874 4.783 17.675 12.084a55.865 55.865 0 0 0 12.671 19.514zM592 320h-48V120c0-13.255-10.745-24-24-24H261.019c-16.91 0-25.378 20.445-13.421 32.402a55.865 55.865 0 0 1 12.671 19.514c2.801 7.302 9.855 12.084 17.675 12.084H480v160h-48c-21.313 0-32.08 25.861-16.971 40.971l80 80c9.374 9.372 24.568 9.372 33.941 0l80-80C624.041 345.9 613.368 320 592 320z\"]\n};\nvar faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [], \"f4d6\", \"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};\nvar faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"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};\nvar faRingsWedding = {\n prefix: 'fas',\n iconName: 'rings-wedding',\n icon: [512, 512, [], \"f81b\", \"M351.25 160.77A206.38 206.38 0 0 1 379.9 233 112 112 0 1 1 224 336c0-42.21 23.69-78.57 58.31-97.49 3.37 10.64 5.69 21.75 5.69 33.49a111.34 111.34 0 0 1-30.73 76.6A79.84 79.84 0 0 0 293 403.23 175.36 175.36 0 0 0 352 272c0-81.62-55.64-150.07-131-170l35-70-32-32h-96L96 32l35 70C55.64 121.93 0 190.38 0 272a176 176 0 0 0 176 176 171.77 171.77 0 0 0 22.94-1.71A175.93 175.93 0 0 0 512 336c0-92-70.7-167.49-160.75-175.23zM64 272a112.12 112.12 0 0 1 112-112c26.85 0 51.19 9.88 70.5 25.69C194.94 216.24 160 271.68 160 336a175.89 175.89 0 0 0 6.55 47C109.28 378.16 64 330.52 64 272z\"]\n};\nvar faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [], \"f018\", \"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};\nvar faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [], \"f544\", \"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};\nvar faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"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};\nvar faRocketLaunch = {\n prefix: 'fas',\n iconName: 'rocket-launch',\n icon: [512, 512, [], \"e027\", \"M505.16405,19.29688c-1.176-5.4629-6.98736-11.26563-12.45106-12.4336C460.61647,0,435.46433,0,410.41962,0,307.2013,0,245.30155,55.20312,199.09162,128H94.88878c-16.29733,0-35.599,11.92383-42.88913,26.49805L2.57831,253.29688A28.39645,28.39645,0,0,0,.06231,264a24.008,24.008,0,0,0,24.00353,24H128.01866a96.00682,96.00682,0,0,1,96.01414,96V488a24.008,24.008,0,0,0,24.00353,24,28.54751,28.54751,0,0,0,10.7047-2.51562l98.747-49.40626c14.56074-7.28515,26.4746-26.56445,26.4746-42.84374V312.79688c72.58882-46.3125,128.01886-108.40626,128.01886-211.09376C512.07522,76.55273,512.07522,51.40234,505.16405,19.29688ZM384.05637,168a40,40,0,1,1,40.00589-40A40.02,40.02,0,0,1,384.05637,168ZM35.68474,352.06641C9.82742,377.91992-2.94985,442.59375.57606,511.41016c69.11565,3.55859,133.61147-9.35157,159.36527-35.10547,40.28913-40.2793,42.8774-93.98633,6.31147-130.54883C129.68687,309.19727,75.97,311.78516,35.68474,352.06641Zm81.63312,84.03125c-8.58525,8.584-30.08256,12.88672-53.11915,11.69922-1.174-22.93555,3.08444-44.49219,11.70289-53.10938,13.42776-13.42578,31.33079-14.28906,43.51813-2.10352C131.60707,404.77148,130.74562,422.67188,117.31786,436.09766Z\"]\n};\nvar faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"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};\nvar faRouteHighway = {\n prefix: 'fas',\n iconName: 'route-highway',\n icon: [448, 512, [], \"f61a\", \"M428.4 269.21c-30.48-45.42-11.8-104.47 13-155.4 3.96-8.13 3.34-17.75-1.87-25.13l-41.18-58.36c-5.06-7.18-15.76-13.1-27.49-8.61-15.37 5.88-32.67 8.89-50.26 8.89-29.51 0-59.81-8.47-83.16-26.11C233.48 1.5 228.74 0 224 0s-9.48 1.5-13.44 4.49C187.21 22.13 156.9 30.6 127.39 30.6c-17.59 0-34.89-3.01-50.25-8.89-11.82-4.52-22.49 1.52-27.49 8.61L8.47 88.69c-5.21 7.38-5.83 16.99-1.87 25.13 24.8 50.92 43.47 109.97 13 155.4-37.94 56.52-18.55 139.43 38.81 166.03L223.97 512l165.62-76.76c57.36-26.6 76.75-109.51 38.81-166.03zm-65.72 107.96l-138.7 64.29-138.65-64.29c-19.78-9.17-29.7-46.8-12.59-72.3 24.73-36.86 29.2-76.74 25.22-112.87h252.07c-3.98 36.13.49 76.02 25.22 112.88 17.23 25.66 7.05 63.2-12.57 72.29z\"]\n};\nvar faRouteInterstate = {\n prefix: 'fas',\n iconName: 'route-interstate',\n icon: [480, 512, [], \"f61b\", \"M464.83 55.14c-3.6-11.66-14.92-19.1-26.18-15.95-18.23 5.12-37.74 7.96-58.1 7.96-49.12 0-93.61-16.07-126.17-42.11C250.18 1.68 245.09 0 240 0s-10.18 1.68-14.37 5.03c-32.56 26.04-77.05 42.11-126.17 42.11-20.36 0-39.87-2.84-58.1-7.96-11.23-3.15-22.57 4.26-26.18 15.95C-21.83 175.11-6.68 410.34 240 512 486.68 410.34 501.84 175.11 464.83 55.14zM240 441.87C115.27 380.93 72.01 279.56 64.76 192h350.49c-7.26 87.56-50.52 188.93-175.25 249.87z\"]\n};\nvar faRouter = {\n prefix: 'fas',\n iconName: 'router',\n icon: [576, 512, [], \"f8da\", \"M528 320H376v-80a16 16 0 0 0-16-16h-16a16 16 0 0 0-16 16v80H48a48 48 0 0 0-48 48v96a48 48 0 0 0 48 48h480a48 48 0 0 0 48-48v-96a48 48 0 0 0-48-48zM96 448a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm-32.59-320.34a15.85 15.85 0 0 0 21.86.64c96.45-86.55 244.24-85.85 341.11.42a16 16 0 0 0 21.84-.63l22.71-22.7a16.11 16.11 0 0 0-.71-23.34C444.81-27.34 259.26-27.34 137.78 82a16.11 16.11 0 0 0-.71 23.34zm46.47 38a16.12 16.12 0 0 0-.86 23.61L227.73 212a15.94 15.94 0 0 0 21.7.78c58.77-49.84 145.8-49.36 205.14.21a16.07 16.07 0 0 0 21.63-.84l22.8-22.8a16.22 16.22 0 0 0-.84-23.63c-83.83-71.91-208.42-71.91-292.28-.06z\"]\n};\nvar faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [], \"f09e\", \"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};\nvar faRssSquare = {\n prefix: 'fas',\n iconName: 'rss-square',\n icon: [448, 512, [], \"f143\", \"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};\nvar faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [], \"f158\", \"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};\nvar faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [640, 512, [], \"f545\", \"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};\nvar faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"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};\nvar faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [576, 512, [], \"f547\", \"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};\nvar faRulerTriangle = {\n prefix: 'fas',\n iconName: 'ruler-triangle',\n icon: [512, 512, [], \"f61c\", \"M501.65 452.08l-51.16-51.16-38.57 38.57c-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.31l38.57-38.57-56.57-56.57-38.57 38.57c-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.31l38.57-38.57-56.57-56.57-38.57 38.57c-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.31l38.57-38.57-56.57-56.57-38.57 38.57c-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.31l38.57-38.57-56.6-56.59-38.57 38.57c-3.12 3.12-8.19 3.12-11.31 0L72.51 111.4c-3.12-3.12-3.12-8.19 0-11.31l38.57-38.57-51.17-51.17C52.76 3.2 43.97 0 35.35 0 17.31 0 0 14.01 0 35.17V476.9C0 496.29 15.71 512 35.1 512h441.73c31.27 0 46.93-37.8 24.82-59.92zM128 384V259.46L252.54 384H128z\"]\n};\nvar faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"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};\nvar faRunning = {\n prefix: 'fas',\n iconName: 'running',\n icon: [416, 512, [], \"f70c\", \"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};\nvar faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [320, 512, [], \"f156\", \"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};\nvar faRv = {\n prefix: 'fas',\n iconName: 'rv',\n icon: [640, 512, [], \"f7be\", \"M621.3 269.3L563 211c-12-12-28.4-18.8-45.4-18.8L416 192v240h.2c.1 34.1 22.1 66.3 54.9 76.2 54.8 16.6 105-23.9 105-76.2v-16h32c17.6 0 32-14.4 32-32v-69.5c-.1-17-6.8-33.2-18.8-45.2zM496 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm-16-176v-48h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480zm128-160.8c-.4-52.6-43.2-95.2-96-95.2H384V16c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v16H64C28.7 32 0 60.7 0 96v197.5c0 17 6.7 33.3 18.7 45.3L96 416v11.4c0 41.8 30.1 80 71.8 84.1 47.9 4.8 88.2-32.7 88.2-79.6v-16h128V160h192c17.9 0 32.1-14.8 32-32.8zM176 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm80-256c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16v-64c0-8.8 7.2-16 16-16h128c8.8 0 16 7.2 16 16v64z\"]\n};\nvar faSack = {\n prefix: 'fas',\n iconName: 'sack',\n icon: [512, 512, [], \"f81c\", \"M192 96h128l47.4-71.12A16 16 0 0 0 354.09 0H157.94a16 16 0 0 0-13.31 24.88zm128 32H192C-10.38 243.4.09 396.64.09 416c0 53 49.11 96 109.68 96h292.48c60.58 0 109.68-43 109.68-96 0-19 9.35-173.24-191.93-288z\"]\n};\nvar faSackDollar = {\n prefix: 'fas',\n iconName: 'sack-dollar',\n icon: [512, 512, [], \"f81d\", \"M192 96h128l47.4-71.12A16 16 0 0 0 354.09 0H157.94a16 16 0 0 0-13.31 24.88zm128 32H192C-10.38 243.4.09 396.64.09 416c0 53 49.11 96 109.68 96h292.48c60.58 0 109.68-43 109.68-96 0-19 9.35-173.24-191.93-288zm-46.58 278v17.34a8.69 8.69 0 0 1-8.7 8.62h-17.41a8.69 8.69 0 0 1-8.71-8.62v-17.51a63.19 63.19 0 0 1-34.16-12.17 8.55 8.55 0 0 1-.66-13l12.84-12.06a8.92 8.92 0 0 1 11-.76 26.72 26.72 0 0 0 13.93 4h30.58c7.07 0 12.84-6.35 12.84-14.22 0-6.46-3.92-12.06-9.58-13.67l-49-14.54c-20.24-6-34.39-25.2-34.39-46.74 0-26.38 20.68-47.82 46.46-48.57v-17.48a8.69 8.69 0 0 1 8.74-8.62h17.41a8.68 8.68 0 0 1 8.7 8.62v17.55a63.12 63.12 0 0 1 34.17 12.17 8.55 8.55 0 0 1 .65 13l-12.73 12.2a8.92 8.92 0 0 1-11 .75 26.78 26.78 0 0 0-13.93-4h-30.56c-7.07 0-12.84 6.35-12.84 14.21 0 6.46 3.92 12.06 9.57 13.68l49 14.54c20.24 6 34.38 25.2 34.38 46.74-.14 26.4-20.92 47.94-46.6 48.54z\"]\n};\nvar faSadCry = {\n prefix: 'fas',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"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};\nvar faSadTear = {\n prefix: 'fas',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"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};\nvar faSalad = {\n prefix: 'fas',\n iconName: 'salad',\n icon: [512, 512, [], \"f81e\", \"M96 256h73.37l-87-87a8 8 0 0 1 0-11.31l11.32-11.32a8 8 0 0 1 11.31 0l103 103V104a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v152h52.54a126.72 126.72 0 0 1-4.54-32A128.14 128.14 0 0 1 416 96c2.65 0 5.12.62 7.73.78C406.14 76.84 380.69 64 352 64a95 95 0 0 0-25.15 3.75 111.94 111.94 0 0 0-205.7 0A95 95 0 0 0 96 64a96 96 0 0 0 0 192zm224-32a95 95 0 0 0 5.88 32h169.29a47.88 47.88 0 0 1 10.57 1.24A95.87 95.87 0 1 0 320 224zm175.17 64h-479C7 288-.74 295.72.06 304.84 6.69 381.21 58.27 444.23 128 468.69V480a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32v-11.51c69.4-24.62 120.66-87.49 127.27-163.65.79-9.12-6.95-16.84-16.1-16.84z\"]\n};\nvar faSandwich = {\n prefix: 'fas',\n iconName: 'sandwich',\n icon: [512, 512, [], \"f81f\", \"M480 32H32A32 32 0 0 0 0 64v96a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm17.9 223.29c-15.08-1.68-24-6.17-35.51-11.9-17.27-8.64-38.73-19.39-78.27-19.39s-61 10.75-78.26 19.38C291.22 250.7 280.64 256 256.22 256s-35.08-5.3-49.75-12.62c-17.28-8.63-38.78-19.38-78.36-19.38S67 234.73 49.77 243.38c-11.51 5.74-20.51 10.24-35.67 11.91A15.93 15.93 0 0 0 0 271.08v32.14a16.26 16.26 0 0 0 17.85 16c28.58-2.63 46-11.36 60.51-18.59C93 293.3 103.64 288 128.11 288s35.09 5.3 49.77 12.62c17.26 8.65 38.78 19.38 78.34 19.38s61-10.75 78.26-19.38C349.12 293.3 359.7 288 384.12 288s35 5.3 49.61 12.61c14.47 7.24 31.89 16 60.41 18.6a16.27 16.27 0 0 0 17.86-16v-32.14a15.94 15.94 0 0 0-14.1-15.78zM480 352h-64l-96 48-96-48H32a32 32 0 0 0-32 32v64a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32z\"]\n};\nvar faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [], \"f7bf\", \"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};\nvar faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [], \"f7c0\", \"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};\nvar faSausage = {\n prefix: 'fas',\n iconName: 'sausage',\n icon: [512, 512, [], \"f820\", \"M447.83 69.83L463 24.18A18.36 18.36 0 0 0 445.62 0h-59.24A18.36 18.36 0 0 0 369 24.18l15.21 45.65C346.88 83 320 118.2 320 160c0 88.22-71.78 160-160 160-41.8 0-77 26.88-90.17 64.17L24.18 369A18.36 18.36 0 0 0 0 386.38v59.24A18.37 18.37 0 0 0 24.18 463l45.65-15.21C83 485.12 118.2 512 160 512c194.09 0 352-157.91 352-352 0-41.8-26.88-77-64.17-90.17zM160 400a16 16 0 0 1 0-32c114.69 0 208-93.31 208-208a16 16 0 0 1 32 0c0 132.34-107.66 240-240 240z\"]\n};\nvar faSave = {\n prefix: 'fas',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"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};\nvar faSaxHot = {\n prefix: 'fas',\n iconName: 'sax-hot',\n icon: [640, 512, [], \"f8db\", \"M83.23 176A60.88 60.88 0 0 1 72 140.8c0-7.62 8.66-30.3 28.46-57.54q2 2.61 3.89 5.22L147 147.26l27.06-33.08c6.07 12.1 9.54 22.24 9.92 26.62a60.88 60.88 0 0 1-11.21 35.2h61.34a117 117 0 0 0 5.89-35.2c0-26.63-26-81.57-62.23-115.2a301.94 301.94 0 0 0-28.1 30A387.31 387.31 0 0 0 100 0C50.88 45.58 16 105 16 140.8a117 117 0 0 0 5.89 35.2zm552.05-75.31L608 73.37A32 32 0 0 0 585.34 64h-46.83a64 64 0 0 0-45.26 18.74L449 127l-10.34-10.34a16 16 0 0 0-22.63 0L404.69 128a16 16 0 0 0 0 22.63L415 161l-14 14-10.34-10.34a16 16 0 0 0-22.63 0L356.69 176a16 16 0 0 0 0 22.63L367 209l-14 14-10.34-10.34a16 16 0 0 0-22.63 0L308.69 224a16 16 0 0 0 0 22.63L319 257 210 366a25.41 25.41 0 0 1-39.76-31l47.39-79H240a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v16a15.91 15.91 0 0 0 15.21 15.84C7.48 288.56 0 326.72 0 352c0 61.4 35 114.09 85.73 140.92A150 150 0 0 0 160 512c77.1 0 116.46-51.33 128-64l246.39-308a32 32 0 0 1 25-12H624c14.22 0 21.36-17.23 11.28-27.31zM88 392a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm32-88a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"]\n};\nvar faSaxophone = {\n prefix: 'fas',\n iconName: 'saxophone',\n icon: [640, 512, [], \"f8dc\", \"M635.28 68.69L608 41.37A32 32 0 0 0 585.34 32h-46.83a64 64 0 0 0-45.26 18.74L449 95l-10.37-10.31a16 16 0 0 0-22.63 0L404.69 96a16 16 0 0 0 0 22.63L415 129l-14 14-10.34-10.34a16 16 0 0 0-22.63 0L356.69 144a16 16 0 0 0 0 22.63L367 177l-14 14-10.34-10.34a16 16 0 0 0-22.63 0L308.69 192a16 16 0 0 0 0 22.63L319 225 210 334a25.41 25.41 0 0 1-39.76-31l76.16-127H272a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h11.46C18.65 207.92 0 280.13 0 320c0 61.4 35 114.09 85.73 140.92A150 150 0 0 0 160 480c77.1 0 116.46-51.33 128-64l246.39-308a32 32 0 0 1 25-12H624c14.22 0 21.36-17.23 11.28-27.31zM96 344a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm32-96a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"]\n};\nvar faScalpel = {\n prefix: 'fas',\n iconName: 'scalpel',\n icon: [512, 512, [], \"f61d\", \"M482.7 11.85c-29.2-20.83-70.18-13.03-93.49 14.22l-201.5 235.46c-8.9 10.41-1.51 26.47 12.19 26.47h131.94c9.37 0 18.28-4.1 24.37-11.22l139.02-162.44c26.37-30.8 21.23-78.41-12.53-102.49zM0 512c87 .07 170.28-29.18 234.29-81.16.2-.16.39-.32.59-.48 31.37-25.71 46.72-63.93 46.72-102.32V320H176L0 512z\"]\n};\nvar faScalpelPath = {\n prefix: 'fas',\n iconName: 'scalpel-path',\n icon: [640, 512, [], \"f61e\", \"M312 480h-80c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h80c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm160 0h-80c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h80c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm160 0h-80c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h80c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm-397.12-49.64c31.37-25.71 46.72-63.93 46.72-102.32V320H176L0 512c87 .07 170.28-29.18 234.29-81.16.2-.16.39-.32.59-.48zM482.71 11.85c-29.2-20.83-70.18-13.03-93.49 14.22l-201.5 235.46c-8.9 10.41-1.51 26.46 12.19 26.46h131.94c9.37 0 18.28-4.1 24.37-11.22l139.02-162.44c26.36-30.79 21.22-78.4-12.53-102.48z\"]\n};\nvar faScanner = {\n prefix: 'fas',\n iconName: 'scanner',\n icon: [640, 512, [], \"f488\", \"M368 64H96c-53 0-96 43-96 96 0 52.4 42.1 94.9 94.3 95.8L6.4 408C-6.9 431 1 460.3 24 473.6l55.4 32c23 13.3 52.3 5.4 65.6-17.6l133.9-232H368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM256 448c17.7 0 32-14.3 32-32V304.3L205 448h51zm376 0H456c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-96H456c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8zm0-288H456c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8zm0-64H456c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8zm0 288H456c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8zm0-128H456c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"]\n};\nvar faScannerImage = {\n prefix: 'fas',\n iconName: 'scanner-image',\n icon: [640, 512, [], \"f8f3\", \"M10.93 108.71L467.65 256h167.59l3.93-11.75a16 16 0 0 0-10.1-20.25L36.3 32.83a16 16 0 0 0-20.24 10.1L.83 88.46a16 16 0 0 0 10.1 20.25zM32 288a32 32 0 0 0-32 32v128a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V288zm88 112a8 8 0 0 1-8 8H80a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8zm96 0a8 8 0 0 1-8 8h-32a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8z\"]\n};\nvar faScannerKeyboard = {\n prefix: 'fas',\n iconName: 'scanner-keyboard',\n icon: [576, 512, [], \"f489\", \"M400 96H16c-8.8 0-16 7.2-16 16v137.4c0 4.2 1.7 8.3 4.7 11.3L32 288v176c0 26.5 21.5 48 48 48h256c26.5 0 48-21.5 48-48V288l27.3-27.3c3-3 4.7-7.1 4.7-11.3V112c0-8.8-7.2-16-16-16zM192 440c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v48zm0-96c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v48zm128 96c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v48zm0-96c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v48zm32-128c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h272c4.4 0 8 3.6 8 8v48zM256 8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56h64V8zm152-8h-48c-4.4 0-8 3.6-8 8v56h64V8c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8zM320 8c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v56h32V8zm152-8h-16c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8z\"]\n};\nvar faScannerTouchscreen = {\n prefix: 'fas',\n iconName: 'scanner-touchscreen',\n icon: [576, 512, [], \"f48a\", \"M400 96H16c-8.8 0-16 7.2-16 16v137.4c0 4.2 1.7 8.3 4.7 11.3L32 288v176c0 26.5 21.5 48 48 48h256c26.5 0 48-21.5 48-48V288l27.3-27.3c3-3 4.7-7.1 4.7-11.3V112c0-8.8-7.2-16-16-16zm-80 336c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16v256zM256 8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56h64V8zm64 0c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v56h32V8zm88-8h-48c-4.4 0-8 3.6-8 8v56h64V8c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8zm-96 0h-16c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8z\"]\n};\nvar faScarecrow = {\n prefix: 'fas',\n iconName: 'scarecrow',\n icon: [448, 512, [], \"f70d\", \"M224 448.1c-7.7 0-15.4-1.9-22.2-5.5l-9.8-5.2V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-58.7l-9.8 5.2c-6.8 3.7-14.5 5.6-22.2 5.6zm221.7-261.8L419.3 160l18.3-18.3c5-5 1.5-13.7-5.7-13.7H314.1c3.6-10 5.9-20.7 5.9-32 0-53-43-96-96-96s-96 43-96 96c0 11.3 2.3 22 5.9 32H16c-7.1 0-10.7 8.6-5.7 13.7L28.7 160 2.3 186.3c-3.1 3.1-3.1 8.2 0 11.3L28.7 224l-18.3 18.3c-5 5-1.5 13.7 5.7 13.7h106.1l-26 141.3c-2.1 12.9 11.2 22.8 22.9 16.9l32.7-24.2c5-3.7 11.6-4.2 17.1-1.3l47.9 25.5c4.5 2.4 9.8 2.4 14.3 0l47.9-25.5c5.5-2.9 12.1-2.4 17.1 1.3l32.7 24.2c11.7 5.9 25.1-4 22.9-16.9L325.9 256H432c7.1 0 10.7-8.6 5.7-13.7L419.3 224l26.3-26.3c3.2-3.2 3.2-8.2.1-11.4zM192 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 16c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faScarf = {\n prefix: 'fas',\n iconName: 'scarf',\n icon: [512, 512, [], \"f7c1\", \"M214.2 100.9c36.9-8.6 68.1-3.7 84.4.2l-19.5 19.4 109.8 109.6c46.6-51.7 20.4-105.3 13.2-117.3l-43.7-73.4c-4.3-7.2-9.9-13.3-16.8-18-40.6-27.5-127.3-29.6-171.3.1-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.1c-1.5 2.5-37.1 62.1 11.5 115.8l135.1 140.7L369.6 256 214.2 100.9zM166 323.7L47.6 441.9c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l118.4-118.2-22.6-22.6zm-45.3-45.1L2.3 396.7c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l118.4-118.2-22.6-22.5zM92.9 487.1c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l118.4-118.2-22.6-22.6L92.9 487.1zm208.9-118.2l-22.6 22.6 117.4 117.2c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.1 3.1-8.2 0-11.3L301.8 368.9zm207.9 26.8L392.3 278.6l-22.6 22.6L487 418.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.2-3.1 3.2-8.1.1-11.3zm-162.7-72l-22.6 22.6 117.4 117.2c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.1 3.1-8.2 0-11.3L347 323.7z\"]\n};\nvar faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [], \"f549\", \"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};\nvar faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [], \"f54a\", \"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};\nvar faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [640, 512, [], \"f70e\", \"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};\nvar faScrollOld = {\n prefix: 'fas',\n iconName: 'scroll-old',\n icon: [640, 512, [], \"f70f\", \"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288v-57.37c0-4.24-1.69-8.31-4.69-11.31L512 256l27.31-27.31c3-3 4.69-7.07 4.69-11.31v-50.75c0-4.24-1.69-8.31-4.69-11.31L512 128l26.86-26.86c3.27-3.27 5.21-7.84 4.86-12.45C539.98 39.15 498.48 0 448 0H111.59C121.74 13.41 128 29.92 128 48v137.37c0 4.24 1.69 8.31 4.69 11.31L160 224l-27.31 27.31c-3 3-4.69 7.07-4.69 11.31V416c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zm187.31-23.88L416 416l-27.31-27.31c-3-3-7.07-4.69-11.31-4.69H288v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H454.63c-4.25 0-8.32 1.69-11.32 4.69z\"]\n};\nvar faScrubber = {\n prefix: 'fas',\n iconName: 'scrubber',\n icon: [496, 512, [], \"f2f8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 312c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"]\n};\nvar faScythe = {\n prefix: 'fas',\n iconName: 'scythe',\n icon: [640, 512, [], \"f710\", \"M608 0h-25.45l-59.74 288H400a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h109.54l-29.26 141.05A16 16 0 0 0 496 512h31.45a16 16 0 0 0 15.72-13l96.27-461A32 32 0 0 0 608 0zm-58.13 0h-211C192 0 64 64 0 192h510z\"]\n};\nvar faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"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};\nvar faSearch = {\n prefix: 'fas',\n iconName: 'search',\n icon: [512, 512, [], \"f002\", \"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};\nvar faSearchDollar = {\n prefix: 'fas',\n iconName: 'search-dollar',\n icon: [512, 512, [], \"f688\", \"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};\nvar faSearchLocation = {\n prefix: 'fas',\n iconName: 'search-location',\n icon: [512, 512, [], \"f689\", \"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};\nvar faSearchMinus = {\n prefix: 'fas',\n iconName: 'search-minus',\n icon: [512, 512, [], \"f010\", \"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};\nvar faSearchPlus = {\n prefix: 'fas',\n iconName: 'search-plus',\n icon: [512, 512, [], \"f00e\", \"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};\nvar faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [], \"f4d8\", \"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};\nvar faSendBack = {\n prefix: 'fas',\n iconName: 'send-back',\n icon: [640, 512, [], \"f87e\", \"M256 224V32a32 32 0 0 0-32-32H32A32 32 0 0 0 0 32v192a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32zm-64-32H64V64h128zm416 64H416a32 32 0 0 0-32 32v192a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32V288a32 32 0 0 0-32-32zm-32 192H448V320h128zm-96-224v-80a48 48 0 0 0-48-48H288v128a64.07 64.07 0 0 1-64 64h-64v80a48 48 0 0 0 48 48h144V288a64.07 64.07 0 0 1 64-64z\"]\n};\nvar faSendBackward = {\n prefix: 'fas',\n iconName: 'send-backward',\n icon: [512, 512, [], \"f87f\", \"M464,160H208a48,48,0,0,0-48,48V464a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48h0V208A48,48,0,0,0,464,160ZM448,448H224V224H448ZM352,128V48A48,48,0,0,0,304,0H48A48,48,0,0,0,0,48V304a48,48,0,0,0,48,48h80V208a80.09,80.09,0,0,1,80-80Z\"]\n};\nvar faSensor = {\n prefix: 'fas',\n iconName: 'sensor',\n icon: [448, 512, [], \"e028\", \"M384,32H64A64,64,0,0,0,0,96V416a64,64,0,0,0,64,64H384a64,64,0,0,0,64-64V96A64,64,0,0,0,384,32ZM96,272a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm64,0a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm64,0a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Z\"]\n};\nvar faSensorAlert = {\n prefix: 'fas',\n iconName: 'sensor-alert',\n icon: [640, 512, [], \"e029\", \"M235.19,387.38,376,143.23a82.24,82.24,0,0,1,72-41.58V96a64,64,0,0,0-64-64H64A64,64,0,0,0,0,96V416a64,64,0,0,0,64,64H242.51c-2.47-3.15-5.24-6-7.29-9.54A82.22,82.22,0,0,1,235.19,387.38ZM96,272a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm64,0a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm48,16a16,16,0,0,1-16-16V112a16,16,0,0,1,32,0V272A16,16,0,0,1,208,288ZM633.09,403.37,492.27,159.22c-19.66-34.09-68.87-34.09-88.53,0L262.91,403.36C243.26,437.43,267.85,480,307.18,480H588.82C628.15,480,652.74,437.43,633.09,403.37ZM448,432a24,24,0,1,1,24-24A24,24,0,0,1,448,432Zm19.08-82.8A12,12,0,0,1,455.14,360H440.87a12,12,0,0,1-11.95-10.8l-9.59-96A12,12,0,0,1,431.27,240h33.47a12,12,0,0,1,11.94,13.2Z\"]\n};\nvar faSensorFire = {\n prefix: 'fas',\n iconName: 'sensor-fire',\n icon: [640, 512, [], \"e02a\", \"M288.89,315.43c0-61.11,53.71-153.47,130.6-224.61a32.08,32.08,0,0,1,21.83-8.53c2.27,0,4.45.75,6.68,1.23A64.11,64.11,0,0,0,385.08,32H64.18A64.08,64.08,0,0,0,0,96V416a64.08,64.08,0,0,0,64.18,64H376.46A197.48,197.48,0,0,1,288.89,315.43ZM96.27,272a16,16,0,0,1-32.09,0V112a16,16,0,0,1,32.09,0Zm64.18,0a16,16,0,0,1-32.09,0V112a16,16,0,0,1,32.09,0Zm64.18,0a16,16,0,0,1-32.09,0V112a16,16,0,0,1,32.09,0ZM551.12,150.86A426.14,426.14,0,0,0,511,193.7,553.25,553.25,0,0,0,440,114.29c-70.19,65.11-120,150-120,201.14C320,406.33,391.63,480,480,480s160-73.67,160-164.57C640,277.38,602.87,198.89,551.12,150.86Zm-11.06,247A100.9,100.9,0,0,1,482.14,416C428,416,384,380.19,384,322.07c0-29,18.23-54.48,54.6-98.07,5.19,6,74.11,94,74.11,94l44-50.14c3.11,5.12,5.93,10.15,8.44,15C585.65,322,577,372.05,540.06,397.9Z\"]\n};\nvar faSensorOn = {\n prefix: 'fas',\n iconName: 'sensor-on',\n icon: [640, 512, [], \"e02b\", \"M384,32H64A64,64,0,0,0,0,96V416a64,64,0,0,0,64,64H384a64,64,0,0,0,64-64V96A64,64,0,0,0,384,32ZM96,272a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm64,0a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm64,0a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm392-40H552a24,24,0,0,0,0,48h64a24,24,0,0,0,0-48Zm-80-88a23.87,23.87,0,0,0,13.29-4l48-32a24,24,0,1,0-26.62-39.92l-48,32A24,24,0,0,0,536,144Zm13.29,228A24,24,0,1,0,522.69,412l48,32A24,24,0,1,0,597.31,404Z\"]\n};\nvar faSensorSmoke = {\n prefix: 'fas',\n iconName: 'sensor-smoke',\n icon: [640, 512, [], \"e02c\", \"M572.67,321.28a47.81,47.81,0,0,0-82.4-46.63,79.94,79.94,0,0,0-152.63,45.52c-.56,0-1.08-.17-1.64-.17a80,80,0,0,0,0,160H560a79.85,79.85,0,0,0,12.67-158.72Zm-268.08-28.8A112.15,112.15,0,0,1,416,192c11.14,0,21.74,2.15,32,5.22V96a64,64,0,0,0-64-64H64A64,64,0,0,0,0,96V416a64,64,0,0,0,64,64H257.86a111.81,111.81,0,0,1,46.73-187.52ZM96,272a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm64,0a16,16,0,0,1-32,0V112a16,16,0,0,1,32,0Zm48,16a16,16,0,0,1-16-16V112a16,16,0,0,1,32,0V272A16,16,0,0,1,208,288Z\"]\n};\nvar faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"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};\nvar faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [], \"f61f\", \"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};\nvar faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [], \"f064\", \"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};\nvar faShareAll = {\n prefix: 'fas',\n iconName: 'share-all',\n icon: [576, 512, [], \"f367\", \"M439.691 226.164L263.687 378.15C248.3 391.439 224 380.687 224 359.986v-84.175c-108.668 12.533-151.102 58.854-112.59 182.015 5.034 16.098-14.424 28.562-28.077 18.631C39.582 444.635 0 383.766 0 322.326 0 190.99 94.818 149.009 224 138.777V56.015c0-20.667 24.28-31.469 39.687-18.164l176.004 151.985c11.086 9.575 11.071 26.767 0 36.328zm128-36.328L391.687 37.851C376.28 24.546 352 35.348 352 56.015v15.818l108.607 93.786A55.949 55.949 0 0 1 480 207.998a55.96 55.96 0 0 1-19.394 42.385L352 344.168v15.818c0 20.701 24.3 31.453 39.687 18.164l176.004-151.986c11.071-9.561 11.086-26.753 0-36.328z\"]\n};\nvar faShareAlt = {\n prefix: 'fas',\n iconName: 'share-alt',\n icon: [448, 512, [], \"f1e0\", \"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};\nvar faShareAltSquare = {\n prefix: 'fas',\n iconName: 'share-alt-square',\n icon: [448, 512, [], \"f1e1\", \"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};\nvar faShareSquare = {\n prefix: 'fas',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"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};\nvar faSheep = {\n prefix: 'fas',\n iconName: 'sheep',\n icon: [640, 512, [], \"f711\", \"M622.25 105.96L576 83.22V64c0-17.67-14.33-32-32-32h-64c0-17.67-14.33-32-32-32s-32 14.33-32 32v76.82c-17.53-15.92-47.07-15.86-64.62.42-8.6-8.16-20.16-13.24-32.99-13.24-12.47 0-24 4.8-32.64 12.8-8.64-8-19.83-12.8-32.64-12.8-12.47 0-24 4.8-32.31 12.8-8.64-8-20.16-12.8-32.64-12.8-13.12 0-24.97 5.44-33.61 13.75-11.19-9.28-26.23-13.75-41.59-10.23-17.59 3.84-31.03 16.95-35.84 33.28-16.64-2.88-34.23 3.2-45.44 17.28-11.52 14.08-13.44 32.64-7.03 48.31C9.92 206.72 0 222.39 0 240.31c0 18.23 10.23 33.92 24.95 41.92-6.41 15.69-4.16 34.23 7.05 48.31 11.52 14.09 29.11 20.17 45.75 17.28 4.08 13.61 14.64 24.76 28.47 30.27l-6.14 16.38a63.973 63.973 0 0 0-2.16 38l16.85 67.41A16.002 16.002 0 0 0 130.29 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-18.31-73.26 14.76-39.36c4.73-2.15 9.22-4.78 12.9-8.31 8.64 8 20.17 12.81 32.64 12.81 12.48 0 24-4.81 32.64-12.81 8.64 8 19.84 12.81 32.64 12.81 12.52 0 23.87-4.98 32.39-12.97.17.16.4.21.57.37V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V330.67L483.5 307a64.009 64.009 0 0 0 28.5-53.25V192h87.66c9.26 0 17.76-4.9 22.37-12.94 7.59-13.26 17.98-33.45 17.98-44.59a31.798 31.798 0 0 0-17.76-28.51zM512 112c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [], \"f20b\", \"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};\nvar faShield = {\n prefix: 'fas',\n iconName: 'shield',\n icon: [512, 512, [], \"f132\", \"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.3z\"]\n};\nvar faShieldAlt = {\n prefix: 'fas',\n iconName: 'shield-alt',\n icon: [512, 512, [], \"f3ed\", \"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};\nvar faShieldCheck = {\n prefix: 'fas',\n iconName: 'shield-check',\n icon: [512, 512, [], \"f2f7\", \"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.3zm-47.2 114.2l-184 184c-6.2 6.2-16.4 6.2-22.6 0l-104-104c-6.2-6.2-6.2-16.4 0-22.6l22.6-22.6c6.2-6.2 16.4-6.2 22.6 0l70.1 70.1 150.1-150.1c6.2-6.2 16.4-6.2 22.6 0l22.6 22.6c6.3 6.3 6.3 16.4 0 22.6z\"]\n};\nvar faShieldCross = {\n prefix: 'fas',\n iconName: 'shield-cross',\n icon: [448, 512, [], \"f712\", \"M420.43 83.69l-179.2-80c-11.03-4.92-23.43-4.92-34.46 0l-179.2 80C10.88 91.14 0 108.62 0 128c0 198.49 106.86 335.71 206.77 380.31 11.03 4.92 23.43 4.92 34.46 0C321.13 472.64 448 349.28 448 128c0-19.38-10.88-36.86-27.57-44.31zM374.09 224H256v200.27c-11.34 8.92-22.26 16.12-32.07 21.3-10.68-5.51-21.36-12.66-31.93-20.81V224H74.8c-4.39-20.25-7.37-41.58-8.9-64H192V80.37l32-14.29 32 14.29V160h126.74c-1.47 22.72-4.4 44.07-8.65 64z\"]\n};\nvar faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"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};\nvar faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [640, 512, [], \"f21a\", \"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};\nvar faShippingFast = {\n prefix: 'fas',\n iconName: 'shipping-fast',\n icon: [640, 512, [], \"f48b\", \"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};\nvar faShippingTimed = {\n prefix: 'fas',\n iconName: 'shipping-timed',\n icon: [640, 512, [], \"f48c\", \"M248 160h-24v-56c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8zm376 192h-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 48zm48-176c-61.9 0-112-50.1-112-112S146.1 64 208 64s112 50.1 112 112-50.1 112-112 112zm272 176c-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};\nvar faShishKebab = {\n prefix: 'fas',\n iconName: 'shish-kebab',\n icon: [512, 512, [], \"f821\", \"M126.55 255.59a30.61 30.61 0 0 0-43.28 0L41 297.89a30.6 30.6 0 0 0 0 43.29L170.82 471a30.6 30.6 0 0 0 43.29 0l42.3-42.3a30.61 30.61 0 0 0 0-43.28zm108.22-108.21a30.62 30.62 0 0 0-43.29 0l-42.3 42.3a30.61 30.61 0 0 0 0 43.28L279 362.82a30.61 30.61 0 0 0 43.28 0l42.3-42.3a30.6 30.6 0 0 0 0-43.29zM4.55 473.52a15.49 15.49 0 0 0 0 21.94l12 12a15.49 15.49 0 0 0 21.94 0l61.78-61.73-33.95-33.94zM511.21 84.07c-3.78-29.71-21.06-55.68-47.42-71.21a95.17 95.17 0 0 0-97.93 1.43C323.2 41 307.71 94 330 138.88c1.44 2.93 2.28 7.16 0 9.49l-24.47 24.45 33.93 33.93 24.48-24.46c16.72-16.73 20.28-42.14 9.09-64.72-9.62-19.43-6-48.25 19.61-63.36a45.55 45.55 0 0 1 45.92-.53c14.22 8 23.15 21 25.13 36.45a47.88 47.88 0 0 1-6 30.09c-3.71 6.39-3.31 14.32 1.91 19.55l12.29 12.29c6.72 6.72 18.17 6.09 23.54-1.75a95.31 95.31 0 0 0 15.78-66.24z\"]\n};\nvar faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"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};\nvar faShoppingBag = {\n prefix: 'fas',\n iconName: 'shopping-bag',\n icon: [448, 512, [], \"f290\", \"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};\nvar faShoppingBasket = {\n prefix: 'fas',\n iconName: 'shopping-basket',\n icon: [576, 512, [], \"f291\", \"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};\nvar faShoppingCart = {\n prefix: 'fas',\n iconName: 'shopping-cart',\n icon: [576, 512, [], \"f07a\", \"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};\nvar faShovel = {\n prefix: 'fas',\n iconName: 'shovel',\n icon: [512, 512, [], \"f713\", \"M500.3 96.38L415.62 11.7c-15.59-15.59-40.97-15.59-56.56 0l-32.67 32.67c-18.94 18.94-29.25 44.31-29.25 70.55 0 6.53.64 13.13 1.95 19.69 1.74 8.69 4.75 16.84 8.53 24.53L197.36 269.39l-45.26-45.26c-12.5-12.5-32.76-12.5-45.25 0l-67.88 67.88C-11.02 342-6.29 473.03 16.34 495.66c22.63 22.63 153.66 27.36 203.65-22.63l67.88-67.88c12.5-12.5 12.5-32.76 0-45.25l-45.26-45.26 110.26-110.26c7.7 3.79 15.87 6.8 24.57 8.54 32.81 6.56 66.53-3.64 90.19-27.3l32.67-32.67c15.6-15.6 15.6-40.97 0-56.57zm-77.92 43.99a35.87 35.87 0 0 1-32.42 9.8c-14.23-2.86-25.27-13.91-28.13-28.17-2.33-11.83 1.31-23.91 9.8-32.38l15.7-15.7 50.75 50.75-15.7 15.7z\"]\n};\nvar faShovelSnow = {\n prefix: 'fas',\n iconName: 'shovel-snow',\n icon: [512, 512, [], \"f7c3\", \"M503.2 72.3L439.7 8.8C428-2.9 409-2.9 397.3 8.8l-24.5 24.5c-14.2 14.2-21.9 33.2-21.9 52.9 0 4.9.5 9.8 1.5 14.8 1.3 6.5 3.6 12.6 6.4 18.4l-99.3 99.3-49.3-49.3c-11.3-11.3-29.3-12.5-41.9-2.7L12.4 287c-15.2 11.7-16.6 34.1-3 47.6l168 168c13.6 13.6 35.9 12.1 47.6-3l120.4-155.8c9.8-12.7 8.6-30.6-2.7-41.9l-49.3-49.3 99.3-99.3c5.8 2.8 11.9 5.1 18.4 6.4 24.6 4.9 49.9-2.7 67.6-20.5l24.5-24.5c11.7-11.7 11.7-30.7 0-42.4zM112 352c-4.1 0-8.2-1.6-11.3-4.7-6.2-6.2-6.2-16.4 0-22.6l80-80c6.2-6.3 16.4-6.3 22.6 0 6.2 6.2 6.2 16.4 0 22.6l-80 80c-3.1 3.1-7.2 4.7-11.3 4.7zm155.3-20.7l-80 80c-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7c-6.2-6.2-6.2-16.4 0-22.6l80-80c6.2-6.2 16.4-6.2 22.6 0s6.3 16.4 0 22.6zm177.5-226c-6.4 6.4-15.5 9.1-24.3 7.3-10.7-2.1-19-10.4-21.1-21.1-1.7-8.9 1-17.9 7.3-24.3l11.8-11.8 38.1 38.1-11.8 11.8z\"]\n};\nvar faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [], \"f2cc\", \"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};\nvar faShredder = {\n prefix: 'fas',\n iconName: 'shredder',\n icon: [512, 512, [], \"f68a\", \"M232 496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-80h-48v80zm-96 0c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-80h-48v80zm-96 0c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-80H40v80zm288 0c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-80h-48v80zm120-304V77.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 16h480c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 32H128V64h192v48c0 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 24zm-8 200c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-80h-48v80z\"]\n};\nvar faShuttleVan = {\n prefix: 'fas',\n iconName: 'shuttle-van',\n icon: [640, 512, [], \"f5b6\", \"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};\nvar faShuttlecock = {\n prefix: 'fas',\n iconName: 'shuttlecock',\n icon: [512, 512, [], \"f45b\", \"M484 192h-20c0 6 4.3 55.7-44.7 71.2L328.1 292l-26.4 45.4-78 36.3-25.7-25.8 70.8-70.8 140.8-44.5c13.3-4.2 22.4-16.6 22.4-30.5V108c0-15.5-12.5-28-28-28h-94.1c-14 0-26.3 9.1-30.5 22.4l-44.5 140.8-70.8 70.8-25.7-25.7 36.3-78 45.4-26.4 28.8-91.2C263.4 46.7 307.7 48 320 48V28c0-15.4-12.6-28-28-28h-54.6c-10.8 0-20.8 6.3-25.4 16.2L95.5 266.5l-39.2 39.2 150 150 39.2-39.2L495.8 300c9.8-4.6 16.2-14.5 16.2-25.4V220c0-15.4-12.6-28-28-28zM31.1 331c-41.4 41.4-41.4 108.6 0 150 41.4 41.4 108.6 41.4 150 0l2.6-2.6-150-150-2.6 2.6z\"]\n};\nvar faSickle = {\n prefix: 'fas',\n iconName: 'sickle',\n icon: [512, 512, [], \"f822\", \"M129.94 308.69a16 16 0 0 0-22.63 0l-22.62 22.62a16 16 0 0 0 0 22.63l2.74 2.75-82.74 82.74a16 16 0 0 0 0 22.63L50 507.31a16 16 0 0 0 22.63 0l82.75-82.75 2.74 2.74a16 16 0 0 0 22.63 0l22.62-22.62a16 16 0 0 0 0-22.63zM320 0c-96 0-166.25 69.31-184.12 151.44-13.74 63.14 10.71 128.65 56.41 174.34L224 355.87l35.42-35.42c-38.53-64.2-23.88-151.27 46.88-196 43.09-27.24 99.58-28.9 144.05-4a148.11 148.11 0 0 1 47.33 41.42c5.08 6.9 15.79 1.93 14.14-6.48C501.17 100.72 448 0 320 0z\"]\n};\nvar faSigma = {\n prefix: 'fas',\n iconName: 'sigma',\n icon: [384, 512, [], \"f68b\", \"M352 32H52.03C32.37 32 14.59 42.89 5.68 60.44c-8.91 17.53-7.25 38.31 4.31 54.16L132.66 256 10.03 397.36c-11.59 15.89-13.25 36.67-4.34 54.2C14.59 469.11 32.37 480 52.03 480H352c17.67 0 32-14.33 32-32v-72c0-13.25-10.75-24-24-24h-48c-13.25 0-24 10.75-24 24v8H142.25l109.09-128-109.09-128H288v8c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24V64c0-17.67-14.33-32-32-32z\"]\n};\nvar faSign = {\n prefix: 'fas',\n iconName: 'sign',\n icon: [512, 512, [], \"f4d9\", \"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};\nvar faSignIn = {\n prefix: 'fas',\n iconName: 'sign-in',\n icon: [512, 512, [], \"f090\", \"M137.2 110.3l21.9-21.9c9.3-9.3 24.5-9.4 33.9-.1L344.9 239c9.5 9.4 9.5 24.7 0 34.1L193 423.7c-9.4 9.3-24.5 9.3-33.9-.1l-21.9-21.9c-9.7-9.7-9.3-25.4.8-34.7l77.6-71.1H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h191.5l-77.6-71.1c-10-9.1-10.4-24.9-.7-34.5zM512 352V160c0-53-43-96-96-96h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84c17.7 0 32 14.3 32 32v192c0 17.7-14.3 32-32 32h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84c53 0 96-43 96-96z\"]\n};\nvar faSignInAlt = {\n prefix: 'fas',\n iconName: 'sign-in-alt',\n icon: [512, 512, [], \"f2f6\", \"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};\nvar faSignLanguage = {\n prefix: 'fas',\n iconName: 'sign-language',\n icon: [448, 512, [], \"f2a7\", \"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};\nvar faSignOut = {\n prefix: 'fas',\n iconName: 'sign-out',\n icon: [512, 512, [], \"f08b\", \"M180 448H96c-53 0-96-43-96-96V160c0-53 43-96 96-96h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H96c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm117.9-303.1l77.6 71.1H184c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h191.5l-77.6 71.1c-10.1 9.2-10.4 25-.8 34.7l21.9 21.9c9.3 9.3 24.5 9.4 33.9.1l152-150.8c9.5-9.4 9.5-24.7 0-34.1L353 88.3c-9.4-9.3-24.5-9.3-33.9.1l-21.9 21.9c-9.7 9.6-9.3 25.4.7 34.6z\"]\n};\nvar faSignOutAlt = {\n prefix: 'fas',\n iconName: 'sign-out-alt',\n icon: [512, 512, [], \"f2f5\", \"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};\nvar faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [], \"f012\", \"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};\nvar faSignal1 = {\n prefix: 'fas',\n iconName: 'signal-1',\n icon: [640, 512, [], \"f68c\", \"M88 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-16z\"]\n};\nvar faSignal2 = {\n prefix: 'fas',\n iconName: 'signal-2',\n icon: [640, 512, [], \"f68d\", \"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-16z\"]\n};\nvar faSignal3 = {\n prefix: 'fas',\n iconName: 'signal-3',\n icon: [640, 512, [], \"f68e\", \"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-16z\"]\n};\nvar faSignal4 = {\n prefix: 'fas',\n iconName: 'signal-4',\n icon: [640, 512, [], \"f68f\", \"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-16z\"]\n};\nvar faSignalAlt = {\n prefix: 'fas',\n iconName: 'signal-alt',\n icon: [640, 512, [], \"f690\", \"M96 384H64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160-128h-32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V288c0-17.67-14.33-32-32-32zm160-128h-32c-17.67 0-32 14.33-32 32v320c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM576 0h-32c-17.67 0-32 14.33-32 32v448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"]\n};\nvar faSignalAlt1 = {\n prefix: 'fas',\n iconName: 'signal-alt-1',\n icon: [640, 512, [], \"f691\", \"M96 384H64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faSignalAlt2 = {\n prefix: 'fas',\n iconName: 'signal-alt-2',\n icon: [640, 512, [], \"f692\", \"M96 384H64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160-128h-32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V288c0-17.67-14.33-32-32-32z\"]\n};\nvar faSignalAlt3 = {\n prefix: 'fas',\n iconName: 'signal-alt-3',\n icon: [640, 512, [], \"f693\", \"M96 384H64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160-128h-32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V288c0-17.67-14.33-32-32-32zm160-128h-32c-17.67 0-32 14.33-32 32v320c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z\"]\n};\nvar faSignalAltSlash = {\n prefix: 'fas',\n iconName: 'signal-alt-slash',\n icon: [640, 512, [], \"f694\", \"M633.82 458.1L608 438.14V32c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v331.95l-64-49.46V160c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v80.29L45.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.45zM96 384H64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm96-96v192c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V352.6l-94.33-72.9c-.74 2.71-1.67 5.36-1.67 8.3zm160 192c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-3.73l-96-74.2V480z\"]\n};\nvar faSignalSlash = {\n prefix: 'fas',\n iconName: 'signal-slash',\n icon: [640, 512, [], \"f695\", \"M633.82 458.1L616 444.33V16c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v366.5l-48-37.1V112c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v171.57l-48-37.1V208c0-8.84-7.16-16-16-16h-48c-1.82 0-3.5.48-5.13 1.04L45.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.73c1.22.95 2.04 2.18 2.9 3.37H600c.73 0 1.35-.32 2.06-.42 5.51.8 11.27-1.05 14.93-5.77l19.64-25.27c5.43-6.96 4.17-17.01-2.81-22.44zM88 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-16zm80-96c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V309.32L204.41 288H168zm112 208c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-87.75l-80-61.83V496zm128 0c0 8.84 7.16 16 16 16h48c5.49 0 10.1-2.94 12.98-7.15L408 445.35V496z\"]\n};\nvar faSignalStream = {\n prefix: 'fas',\n iconName: 'signal-stream',\n icon: [576, 512, [], \"f8dd\", \"M288 200a56 56 0 1 0 56 56 56 56 0 0 0-56-56zM64 256a214.3 214.3 0 0 1 55.42-144.06c5.59-6.22 4.91-15.74-1.08-21.59L96 68.53a16.41 16.41 0 0 0-23.56 1C25.59 121 0 186.56 0 256s25.59 135 72.44 186.52a16.41 16.41 0 0 0 23.56 1l22.34-21.82c6-5.85 6.67-15.37 1.08-21.59A214.3 214.3 0 0 1 64 256zm134.27-87.63l-22.76-22.23a16.44 16.44 0 0 0-24 1.31 168.77 168.77 0 0 0 0 217.1 16.44 16.44 0 0 0 24 1.31l22.76-22.22a15.12 15.12 0 0 0 1.45-20.32 107.39 107.39 0 0 1 0-134.64 15.11 15.11 0 0 0-1.45-20.31zm305.29-98.89a16.41 16.41 0 0 0-23.56-1l-22.34 21.87c-6 5.85-6.67 15.37-1.08 21.59a214.95 214.95 0 0 1 0 288.12c-5.59 6.22-4.91 15.74 1.08 21.59L480 443.47a16.41 16.41 0 0 0 23.56-1C550.41 391 576 325.44 576 256s-25.59-135-72.44-186.52zm-79.1 78a16.44 16.44 0 0 0-24-1.31L377.7 168.4a15.11 15.11 0 0 0-1.45 20.31 107.39 107.39 0 0 1 0 134.64 15.12 15.12 0 0 0 1.45 20.32l22.76 22.22a16.44 16.44 0 0 0 24-1.31 168.77 168.77 0 0 0 0-217.1z\"]\n};\nvar faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"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};\nvar faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"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};\nvar faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"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};\nvar faSiren = {\n prefix: 'fas',\n iconName: 'siren',\n icon: [448, 512, [], \"e02d\", \"M128.21,134.94a8,8,0,0,1,9-6.87l15.86,2.13a8,8,0,0,1,6.87,9L135.82,320H400L375,120.06A64,64,0,0,0,311.5,64h-175A64,64,0,0,0,73,120.06L48,320h55.54ZM432,352H16A16,16,0,0,0,0,368v64a16,16,0,0,0,16,16H432a16,16,0,0,0,16-16V368A16,16,0,0,0,432,352Z\"]\n};\nvar faSirenOn = {\n prefix: 'fas',\n iconName: 'siren-on',\n icon: [640, 512, [], \"e02e\", \"M224.21,134.94a8,8,0,0,1,9-6.87l15.86,2.13a8,8,0,0,1,6.87,9L231.82,320H496L471,120.06A64,64,0,0,0,407.5,64h-175A64,64,0,0,0,169,120.06L144,320h55.54ZM528,352H112a16,16,0,0,0-16,16v64a16,16,0,0,0,16,16H528a16,16,0,0,0,16-16V368A16,16,0,0,0,528,352ZM112,192a24,24,0,0,0-24-24H24a24,24,0,0,0,0,48H88A24,24,0,0,0,112,192Zm504-24H552a24,24,0,0,0,0,48h64a24,24,0,0,0,0-48ZM90.69,76a24,24,0,1,0,26.62-39.92l-48-32A24,24,0,1,0,42.69,44ZM536,80a23.87,23.87,0,0,0,13.29-4l48-32A24,24,0,1,0,570.69,4.06l-48,32A24,24,0,0,0,536,80Z\"]\n};\nvar faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [640, 512, [], \"f0e8\", \"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};\nvar faSkating = {\n prefix: 'fas',\n iconName: 'skating',\n icon: [448, 512, [], \"f7c5\", \"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};\nvar faSkeleton = {\n prefix: 'fas',\n iconName: 'skeleton',\n icon: [512, 512, [], \"f620\", \"M496 160H288v-32h144c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48H80c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h144v32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h208v32H80c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h144v32H112c-44.18 0-80 35.82-80 80s35.82 80 80 80 80-35.82 80-80c0-5.48-.56-10.83-1.61-16h131.23a80.321 80.321 0 0 0-1.61 16c0 44.18 35.82 80 80 80s80-35.82 80-80-35.82-80-80-80H288v-32h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H288v-32h208c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM112 464c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm288-64c17.64 0 32 14.36 32 32s-14.36 32-32 32-32-14.36-32-32 14.36-32 32-32z\"]\n};\nvar faSkiJump = {\n prefix: 'fas',\n iconName: 'ski-jump',\n icon: [512, 512, [], \"f7c7\", \"M510.7 190.2c-2.2-13.1-14.8-21.9-27.7-19.7-13.1 2.2-21.9 14.6-19.7 27.7 3.3 19.3-6 38.9-22.1 48.1L174 383.8l44.9-109 121.4-110.5c11.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 32h97.5l-58.9 76.5c-3.4 4.4.2-3.6-60.2 143.3-5.1 12.4-1.8 26.2 7.3 35L13 466.7c-11.8 6-16.4 20.5-10.3 32.3 4.3 8.3 12.7 13 21.4 13 3.7 0 7.5-.9 11-2.7l429.2-220.9c34.3-19.7 53-59.2 46.4-98.2zM400 96c26.5 0 48-21.5 48-48S426.5 0 400 0s-48 21.5-48 48 21.5 48 48 48z\"]\n};\nvar faSkiLift = {\n prefix: 'fas',\n iconName: 'ski-lift',\n icon: [512, 512, [], \"f7c8\", \"M112 128c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zM256 0h-32v184l32-8V0zm232 288c-13.2 0-24 10.8-24 24 0 13.9-8.8 26.5-21.8 31.3L320 388.5V248c0-9.9-4.5-19.2-12.3-25.2-7.8-6.1-17.9-8.3-27.5-5.8l-68.3 17-24.1-53.7c-10.9-24.2-39.3-35-63.5-24.1-24.2 10.9-35 39.3-24.1 63.5 0 0 26.9 65.9 27.8 68.1 7.9 19.1 22.7 27.6 39.8 23.3L256 289v123.2l-144.3 53.3c-12.4 4.6-18.8 18.4-14.2 30.8 3.6 9.7 12.8 15.7 22.5 15.7 2.8 0 5.6-.5 8.3-1.5l330.5-122.1c31.8-11.8 53.2-42.5 53.2-76.4 0-13.2-10.7-24-24-24zm-296.4 93.4c12.6-4.2 19.4-17.8 15.2-30.4-4.2-12.6-17.7-19.5-30.4-15.2L158 342c-19 6.4-40-2.5-48.7-20.7l-63.6-133c-5.7-11.9-20-17-32-11.3-12 5.7-17 20-11.3 32L66 342c15 31.2 46.4 50 79.5 50 12.6 0 17-.9 46.1-10.6z\"]\n};\nvar faSkiing = {\n prefix: 'fas',\n iconName: 'skiing',\n icon: [512, 512, [], \"f7c9\", \"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};\nvar faSkiingNordic = {\n prefix: 'fas',\n iconName: 'skiing-nordic',\n icon: [576, 512, [], \"f7ca\", \"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};\nvar faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [], \"f54c\", \"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};\nvar faSkullCow = {\n prefix: 'fas',\n iconName: 'skull-cow',\n icon: [640, 512, [], \"f8de\", \"M416,96H224a64,64,0,0,0-64,64V288a64,64,0,0,0,64,64l26.82,134.27A32,32,0,0,0,282.2,512h75.53a32,32,0,0,0,31.38-25.72L416,352a64,64,0,0,0,64-64V160A64,64,0,0,0,416,96ZM256,288a32,32,0,1,1,32-32A32,32,0,0,1,256,288Zm128,0a32,32,0,1,1,32-32A32,32,0,0,1,384,288ZM60.11,113.55C43.35,89.42,56.5,39,63,21.62a16,16,0,0,0-26.19-17C13.05,27.87,0,60.31,0,95.91,0,166.53,57.42,224,128,224V128.09H96C78.64,128.09,66.91,123.34,60.11,113.55Zm543.12-109A16,16,0,0,0,577,21.64c6.06,16.15,19.6,67.73,2.88,91.89-6.8,9.79-18.54,14.56-35.9,14.56H512V224c70.57,0,128-57.47,128-128.09C640,60.31,627,27.87,603.23,4.57Z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [], \"f714\", \"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};\nvar faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"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};\nvar faSledding = {\n prefix: 'fas',\n iconName: 'sledding',\n icon: [512, 512, [], \"f7cb\", \"M505 420.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-49.1-25.4c4.2-5.4 7.2-11.9 7.2-19.4v-96c0-17.7-14.3-32-32-32h-50.8l46.1-46.1c13.8-13.8 17.9-34.3 10.4-52.3-7.5-18-24.9-29.6-44.3-29.6H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.8l-73.4 73.4c-3 2.9-5.3 6.5-6.9 10.4-2.1 5.1-2.4 10.5-1.8 15.9L35 226.6c-11.7-6-26.3-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.4l391.9 202.6c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.4 9.3-24.6 0-33.9zM320 374l-104.4-54H320v54zm80-246c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48z\"]\n};\nvar faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"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};\nvar faSlidersH = {\n prefix: 'fas',\n iconName: 'sliders-h',\n icon: [512, 512, [], \"f1de\", \"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};\nvar faSlidersHSquare = {\n prefix: 'fas',\n iconName: 'sliders-h-square',\n icon: [448, 512, [], \"f3f0\", \"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 324c0 6.6-5.4 12-12 12h-52v24c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24v-24H76c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h180v-24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v24h52c6.6 0 12 5.4 12 12v40zm0-160c0 6.6-5.4 12-12 12H192v24c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24v-24H76c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h52v-24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v24h180c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faSlidersV = {\n prefix: 'fas',\n iconName: 'sliders-v',\n icon: [448, 512, [], \"f3f1\", \"M112 96H96V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v80H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h16v336c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V160h16c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm320 128h-16V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v208h-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h16v208c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288h16c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM272 352h-16V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v336h-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h16v80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-80h16c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faSlidersVSquare = {\n prefix: 'fas',\n iconName: 'sliders-v-square',\n icon: [448, 512, [], \"f3f2\", \"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-48zM200 224h-24v180c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V224H88c-13.3 0-24-10.7-24-24v-16c0-13.3 10.7-24 24-24h24v-52c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h24c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24zm184 104c0 13.3-10.7 24-24 24h-24v52c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-52h-24c-13.3 0-24-10.7-24-24v-16c0-13.3 10.7-24 24-24h24V108c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v180h24c13.3 0 24 10.7 24 24v16z\"]\n};\nvar faSmile = {\n prefix: 'fas',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"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};\nvar faSmileBeam = {\n prefix: 'fas',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"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};\nvar faSmilePlus = {\n prefix: 'fas',\n iconName: 'smile-plus',\n icon: [640, 512, [], \"f5b9\", \"M208 96C93.1 96 0 189.1 0 304s93.1 208 208 208 208-93.1 208-208S322.9 96 208 96zm64 133.2c14.8 0 26.8 12 26.8 26.8s-12 26.8-26.8 26.8-26.8-12-26.8-26.8 12-26.8 26.8-26.8zm-128 0c14.8 0 26.8 12 26.8 26.8s-12 26.8-26.8 26.8-26.8-12-26.8-26.8 12-26.8 26.8-26.8zm164.2 140.9C283.3 399.3 246.8 416 208 416c-38.8 0-75.3-16.7-100.2-45.9-5.8-6.7-5-16.8 1.8-22.5s16.8-5 22.5 1.8c18.8 22 46.5 34.6 75.8 34.6 29.4 0 57-12.6 75.8-34.7 5.8-6.8 15.9-7.5 22.6-1.8 6.8 5.8 7.6 15.9 1.9 22.6zM624 80h-64V16c0-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-16V96c0-8.8-7.2-16-16-16z\"]\n};\nvar faSmileWink = {\n prefix: 'fas',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"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};\nvar faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"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};\nvar faSmoke = {\n prefix: 'fas',\n iconName: 'smoke',\n icon: [640, 512, [], \"f760\", \"M528 288c-18 0-34.7 4.6-49.7 12.1C454 255 406.8 224 352 224c-41 0-77.8 17.3-104 44.8-26.2-27.5-63-44.8-104-44.8C64.5 224 0 288.5 0 368s64.5 144 144 144h384c61.9 0 112-50.1 112-112s-50.1-112-112-112zM402.4 158.8C380.1 139.9 351.6 128 320 128c-51.7 0-95.9 30.8-116.1 74.8 15.6 5.7 30.6 13.4 44.1 23.4C278 204 314 192 352 192c54.9 0 106 25.9 139 69.1 12.1-3.4 24.5-5.1 37-5.1 35.5 0 67.6 13.4 92.7 34.8 12-19.5 19.3-42.2 19.3-66.8 0-70.7-57.3-128-128-128-46.8 0-87.3 25.3-109.6 62.8zM144 192c9.9 0 19.5.9 29.1 2.5C197.2 136.8 253.7 96 320 96c26.2 0 52 6.7 75.1 19.2 9.3-10.2 20.2-18.4 31.6-25.8C403.8 54.9 364.6 32 320 32c-31.6 0-60.1 11.9-82.4 30.8C215.3 25.3 174.8 0 128 0 57.3 0 0 57.3 0 128c0 38.2 17.1 72.1 43.7 95.6 28.5-19.9 63-31.6 100.3-31.6z\"]\n};\nvar faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [], \"f48d\", \"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};\nvar faSmokingBan = {\n prefix: 'fas',\n iconName: 'smoking-ban',\n icon: [512, 512, [], \"f54d\", \"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};\nvar faSms = {\n prefix: 'fas',\n iconName: 'sms',\n icon: [512, 512, [], \"f7cd\", \"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};\nvar faSnake = {\n prefix: 'fas',\n iconName: 'snake',\n icon: [640, 512, [], \"f716\", \"M617.4 180.09l-86.59-26.63c-33.39-10.27-66.71 8.26-78.25 38.54H448c-70.69 0-128 57.31-128 128v64c0 17.64-14.36 32-32 32s-32-14.36-32-32V133.7C256 66.89 207.29 7.11 140.79.63 64.49-6.82 0 53.2 0 128v191.53c0 62.18 11.18 123.86 33.02 182.09 5.19 13.84 24.77 13.84 29.96 0A518.514 518.514 0 0 0 96 319.53V128c0-17.64 14.36-32 32-32s32 14.36 32 32v250.3c0 66.81 48.71 126.59 115.21 133.08C351.51 518.82 416 458.8 416 384v-64c0-17.67 14.33-32 32-32h4.2c11.1 30.62 44.38 49.63 77.96 39.69l86.92-25.72c13.59-4.02 22.92-16.51 22.92-30.68v-60.61c0-14.05-9.17-26.46-22.6-30.59zM528 288c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm0-64c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faSnooze = {\n prefix: 'fas',\n iconName: 'snooze',\n icon: [448, 512, [], \"f880\", \"M192 224H40a24 24 0 0 0-24 24v48a24 24 0 0 0 24 24h50.44L8.08 412.66A32 32 0 0 0 0 433.92V480a32 32 0 0 0 32 32h152a24 24 0 0 0 24-24v-48a24 24 0 0 0-24-24h-50.44l82.36-92.66a32 32 0 0 0 8.08-21.26V256a32 32 0 0 0-32-32zm0-32h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-34.75l57.38-57.38A32 32 0 0 0 320 48V32a32 32 0 0 0-32-32H184a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h42.75l-57.38 57.38A32 32 0 0 0 160 144v16a32 32 0 0 0 32 32zm256 80v-16a32 32 0 0 0-32-32h-96a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h34.75l-57.38 57.38A32 32 0 0 0 288 368v16a32 32 0 0 0 32 32h104a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-42.75l57.38-57.38A32 32 0 0 0 448 272z\"]\n};\nvar faSnowBlowing = {\n prefix: 'fas',\n iconName: 'snow-blowing',\n icon: [640, 512, [], \"f761\", \"M540.2 320H361.7c-6.3 0-12.5 1.9-17.8 5.4l-44 29.3c-13.2 8.8-7 29.3 8.9 29.3h233.3c15.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.1h-32.8c-10 0-17.7 9.3-15.7 19.1 8.9 43.8 47.7 76.9 94.1 76.9 59.2 0 106-53.8 94.1-115.1-8.7-45.6-51.4-76.9-97.8-76.9zM400 288h144c59.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.1 4.2-12.7 16.3-21.9 30.4-21.9 19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H400c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm-99.5 21.2l-5.5-20.4 26.6 15.3c5.8 3.4 13.2 1.4 16.6-4.4l12.1-21c3.4-5.8 1.4-13.2-4.4-16.6l-26.6-15.3 20.4-5.5c6.5-1.7 10.3-8.4 8.6-14.9l-3.1-11.7c-1.7-6.5-8.4-10.3-14.9-8.6L274.7 221l-50.2-29 50.2-29 55.6 14.9c6.5 1.7 13.1-2.1 14.9-8.6l3.1-11.7c1.7-6.5-2.1-13.1-8.6-14.9l-20.4-5.5 26.6-15.3c5.8-3.4 7.8-10.8 4.4-16.6l-12.1-21c-3.4-5.8-10.8-7.8-16.6-4.4L295 95.2l5.5-20.4c1.7-6.5-2.1-13.1-8.6-14.9l-11.7-3.1c-6.5-1.7-13.1 2.1-14.9 8.6L250.4 121 200 150.1V93.2L240.2 53c4.7-4.7 4.7-12.3 0-17l-8.5-8.5c-4.7-4.7-12.3-4.7-17 0L200 42.3V12c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v30.3l-14.8-14.8c-4.7-4.7-12.3-4.7-17 0l-8.5 8.5c-4.7 4.7-4.7 12.3 0 17L152 93.2v56.9L101.6 121l-15-55.7c-1.7-6.5-8.4-10.3-14.9-8.6L60 59.9c-6.5 1.7-10.3 8.4-8.6 14.9l5.5 20.4-26.5-15.3c-5.8-3.4-13.2-1.4-16.6 4.4l-12.1 21c-3.4 5.8-1.4 13.2 4.4 16.6l26.6 15.3-20.4 5.5c-6.5 1.7-10.3 8.4-8.6 14.9l3.1 11.7c1.7 6.5 8.4 10.3 14.9 8.6L77.3 163l50.2 29-50.2 29-55.7-15c-6.5-1.7-13.1 2.1-14.9 8.6l-3.1 11.7c-1.7 6.5 2.1 13.1 8.6 14.9l20.4 5.5-26.5 15.4c-5.8 3.4-7.8 10.8-4.4 16.6l12.1 21c3.4 5.8 10.8 7.8 16.6 4.4L57 288.8l-5.5 20.4c-1.7 6.5 2.1 13.1 8.6 14.9l11.7 3.1c6.5 1.7 13.1-2.1 14.9-8.6l14.9-55.6 50.4-29.1v56.9L111.8 331c-4.7 4.7-4.7 12.3 0 17l8.5 8.5c4.7 4.7 12.3 4.7 17 0l14.8-14.8V372c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-30.3l14.8 14.8c4.7 4.7 12.3 4.7 17 0l8.5-8.5c4.7-4.7 4.7-12.3 0-17L200 290.8v-56.9l50.4 29.1 14.9 55.6c1.7 6.5 8.4 10.3 14.9 8.6l11.7-3.1c6.5-1.7 10.4-8.4 8.6-14.9z\"]\n};\nvar faSnowboarding = {\n prefix: 'fas',\n iconName: 'snowboarding',\n icon: [512, 512, [], \"f7ce\", \"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};\nvar faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"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};\nvar faSnowflakes = {\n prefix: 'fas',\n iconName: 'snowflakes',\n icon: [640, 512, [], \"f7cf\", \"M608.1 256l27.9-16c3.8-2.2 5.1-7.1 2.9-10.9l-8-13.9c-2.2-3.8-7.1-5.1-10.9-2.9l-28 16.1V200c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v28.4l-28-16.1c-3.8-2.2-8.7-.9-10.9 2.9l-8 13.9c-2.2 3.8-.9 8.7 2.9 10.9l27.9 16-27.9 16c-3.8 2.2-5.1 7.1-2.9 10.9l8 13.9c2.2 3.8 7.1 5.1 10.9 2.9l28-16.1V312c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-28.4l28 16.1c3.8 2.2 8.7.9 10.9-2.9l8-13.9c2.2-3.8.9-8.7-2.9-10.9l-27.9-16zM445.9 145.7l-15.5-26.8c-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.3v-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.2 6.2-6.2 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.2 6.2-6.2 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.4 1.7-16.8-5.7-21.1l-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.8-36.9 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.5-4.3 10-13.8 5.7-21.2zm82-25.7c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V91.6l28 16.1c3.8 2.2 8.7.9 10.9-2.9l8-13.9c2.2-3.8.9-8.7-2.9-10.9L576 64l27.9-16c3.8-2.2 5.1-7.1 2.9-10.9l-8-13.9c-2.2-3.8-7.1-5.1-10.9-2.9l-28 16.1V8c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v28.4l-28-16.1c-3.8-2.2-8.7-.9-10.9 2.9l-8 13.9c-2.2 3.8-.9 8.7 2.9 10.9l27.9 16-27.9 16c-3.8 2.2-5.1 7.1-2.9 10.9l8 13.9c2.2 3.8 7.1 5.1 10.9 2.9l28-16.1V120z\"]\n};\nvar faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [], \"f7d0\", \"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};\nvar faSnowmobile = {\n prefix: 'fas',\n iconName: 'snowmobile',\n icon: [640, 512, [], \"f7d1\", \"M636.8 446.4l-9.6-12.8c-5.3-7.1-15.3-8.5-22.4-3.2L570.7 456c-6.9 5.2-15.3 8-24 8h-.7l-46-61.3 68.9-45.9c4.5-3 7.1-8 7.1-13.3V266c0-6.1-3.4-11.6-8.8-14.3L407.9 172l-41.5-83.1c-4-7.9-13.5-11.1-21.5-7.2-7.9 4-11.1 13.6-7.2 21.5l35.6 71.2L360 192h-58.7L246 136.8c-14.5-14.5-35.2-21.2-55.5-17.9-20.2 3.3-37.8 16.2-47 34.5l-29.8 59.7c-7.6 15.3-8.9 32.6-3.5 48.9 3.4 10.2 9.4 18.9 16.9 26.1H96c-12.1 0-23.2 6.8-28.6 17.7l-32 64C24.7 391 40.2 416 64 416h386l36 48h-54c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h114.7c19 0 37.6-6.2 52.8-17.6l34.1-25.6c7.1-5.3 8.5-15.3 3.2-22.4zM288 288h-24.4l-67-33.5 25.6-51.1 33.9 33.9c12.1 12.1 28.2 18.8 45.2 18.8H312L288 288zM240 96c26.5 0 48-21.5 48-48S266.5 0 240 0s-48 21.5-48 48 21.5 48 48 48zm48 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h256c17.7 0 32-14.3 32-32s-14.3-32-32-32z\"]\n};\nvar faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"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};\nvar faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [], \"e06e\", \"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};\nvar faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [], \"f696\", \"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};\nvar faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"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};\nvar faSolarSystem = {\n prefix: 'fas',\n iconName: 'solar-system',\n icon: [512, 512, [], \"e02f\", \"M391.77844,120.23438c-16.64439-16.64258-42.06121-17.63868-60.76247-4.73047C307.55639,102.98633,281.92079,96,256,96A160,160,0,1,0,369.149,369.13672c51.02312-51.01758,59.65883-127.62891,27.36235-188.14453C409.421,162.291,408.42283,136.877,391.77844,120.23438ZM335.20393,335.19531a112.44148,112.44148,0,1,1-24.47337-176.39062c1.047,10.668,4.98687,21.14062,13.15964,29.3125,8.163,8.16211,18.62312,12.0957,29.27857,13.15039C377.15966,243.93945,371.48131,298.92383,335.20393,335.19531ZM256,192a64,64,0,1,0,64.007,64A64.00289,64.00289,0,0,0,256,192Zm80.90528,255.67773a208.24661,208.24661,0,0,1-227.9994-44.59961C39.328,333.50781,29.62381,226.59766,79.41829,146.38672a56.05613,56.05613,0,1,0-37.799-30.34375c-64.97,99.2832-53.88672,233.75781,33.34152,320.97656A255.17414,255.17414,0,0,0,364.422,487.65039c-2.19165-1.80273-4.5376-3.32812-6.58665-5.377A86.91321,86.91321,0,0,1,336.90528,447.67773ZM437.03922,74.98047A255.17108,255.17108,0,0,0,147.58,24.34961c2.19165,1.80273,4.53761,3.32812,6.5847,5.375a86.87534,86.87534,0,0,1,20.93,34.59766,208.24661,208.24661,0,0,1,227.9994,44.59961c69.57593,69.56835,79.28011,176.47851,29.48759,256.68945a56.05819,56.05819,0,1,0,37.799,30.3457C535.3507,296.67383,524.26746,162.19922,437.03922,74.98047Z\"]\n};\nvar faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [], \"f0dc\", \"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};\nvar faSortAlphaDown = {\n prefix: 'fas',\n iconName: 'sort-alpha-down',\n icon: [448, 512, [], \"f15d\", \"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};\nvar faSortAlphaDownAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-down-alt',\n icon: [448, 512, [], \"f881\", \"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};\nvar faSortAlphaUp = {\n prefix: 'fas',\n iconName: 'sort-alpha-up',\n icon: [448, 512, [], \"f15e\", \"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};\nvar faSortAlphaUpAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-up-alt',\n icon: [448, 512, [], \"f882\", \"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};\nvar faSortAlt = {\n prefix: 'fas',\n iconName: 'sort-alt',\n icon: [384, 512, [], \"f883\", \"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 352zm203.29-219.31l-80-96a16 16 0 0 0-22.62 0l-80 96C186.65 142.74 193.78 160 208 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.19 0 21.36-17.24 11.29-27.31z\"]\n};\nvar faSortAmountDown = {\n prefix: 'fas',\n iconName: 'sort-amount-down',\n icon: [512, 512, [], \"f160\", \"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};\nvar faSortAmountDownAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-down-alt',\n icon: [512, 512, [], \"f884\", \"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};\nvar faSortAmountUp = {\n prefix: 'fas',\n iconName: 'sort-amount-up',\n icon: [512, 512, [], \"f161\", \"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};\nvar faSortAmountUpAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-up-alt',\n icon: [512, 512, [], \"f885\", \"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};\nvar faSortCircle = {\n prefix: 'fas',\n iconName: 'sort-circle',\n icon: [512, 512, [], \"e030\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM360.57,319.41l-91.5,91.18a18.41,18.41,0,0,1-26.07,0l-91.57-91.18C139.83,307.85,148,288,164.5,288h183C364,288,372.17,307.85,360.57,319.41ZM347.5,224h-183c-16.46,0-24.67-19.85-13.07-31.42L243,101.41a18.41,18.41,0,0,1,26.07,0l91.5,91.17C372.17,204.15,364,224,347.5,224Z\"]\n};\nvar faSortCircleDown = {\n prefix: 'fas',\n iconName: 'sort-circle-down',\n icon: [512, 512, [], \"e031\", \"M197.7,192H314.41L256,133.67ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM360.57,319.42,269,410.59a18.41,18.41,0,0,1-26.07,0l-91.5-91.17C139.83,307.85,148,288,164.5,288h183C364,288,372.17,307.85,360.57,319.42ZM347.5,224h-183c-16.46,0-24.67-19.85-13.07-31.42l91.5-91.17a18.41,18.41,0,0,1,26.07,0l91.57,91.17C372.17,204.15,364,224,347.5,224Z\"]\n};\nvar faSortCircleUp = {\n prefix: 'fas',\n iconName: 'sort-circle-up',\n icon: [512, 512, [], \"e032\", \"M256,378.33,314.3,320H197.59ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM151.43,192.58,243,101.41a18.41,18.41,0,0,1,26.07,0l91.5,91.17C372.17,204.15,364,224,347.5,224h-183C148,224,139.83,204.15,151.43,192.58ZM360.57,319.42l-91.5,91.17a18.41,18.41,0,0,1-26.07,0l-91.57-91.17C139.83,307.85,148,288,164.5,288h183C364,288,372.17,307.85,360.57,319.42Z\"]\n};\nvar faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [], \"f0dd\", \"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};\nvar faSortNumericDown = {\n prefix: 'fas',\n iconName: 'sort-numeric-down',\n icon: [448, 512, [], \"f162\", \"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};\nvar faSortNumericDownAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-down-alt',\n icon: [448, 512, [], \"f886\", \"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};\nvar faSortNumericUp = {\n prefix: 'fas',\n iconName: 'sort-numeric-up',\n icon: [448, 512, [], \"f163\", \"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};\nvar faSortNumericUpAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-up-alt',\n icon: [448, 512, [], \"f887\", \"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};\nvar faSortShapesDown = {\n prefix: 'fas',\n iconName: 'sort-shapes-down',\n icon: [448, 512, [], \"f888\", \"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 352zm268.1-169.14L361 45.71c-11.09-18.28-38.81-18.28-49.9 0l-83.2 137.15c-11.08 18.28 2.77 41.14 24.95 41.14h166.3c22.18 0 36.03-22.86 24.95-41.14zM408 288H264a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h144a24 24 0 0 0 24-24V312a24 24 0 0 0-24-24z\"]\n};\nvar faSortShapesDownAlt = {\n prefix: 'fas',\n iconName: 'sort-shapes-down-alt',\n icon: [448, 512, [], \"f889\", \"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 352zm268.1 86.86L361 301.71c-11.09-18.28-38.81-18.28-49.9 0l-83.2 137.15c-11.08 18.28 2.77 41.14 24.95 41.14h166.3c22.18 0 36.03-22.86 24.95-41.14zM264 224h144a24 24 0 0 0 24-24V56a24 24 0 0 0-24-24H264a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24z\"]\n};\nvar faSortShapesUp = {\n prefix: 'fas',\n iconName: 'sort-shapes-up',\n icon: [448, 512, [], \"f88a\", \"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.39-17.24 11.31-27.31zM444.1 182.86L361 45.71c-11.09-18.28-38.81-18.28-49.9 0l-83.2 137.15c-11.08 18.28 2.77 41.14 24.95 41.14h166.3c22.18 0 36.03-22.86 24.95-41.14zM408 288H264a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h144a24 24 0 0 0 24-24V312a24 24 0 0 0-24-24z\"]\n};\nvar faSortShapesUpAlt = {\n prefix: 'fas',\n iconName: 'sort-shapes-up-alt',\n icon: [448, 512, [], \"f88b\", \"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.39-17.24 11.31-27.31zM444.1 438.86L361 301.71c-11.09-18.28-38.81-18.28-49.9 0l-83.2 137.15c-11.08 18.28 2.77 41.14 24.95 41.14h166.3c22.18 0 36.03-22.86 24.95-41.14zM264 224h144a24 24 0 0 0 24-24V56a24 24 0 0 0-24-24H264a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24z\"]\n};\nvar faSortSizeDown = {\n prefix: 'fas',\n iconName: 'sort-size-down',\n icon: [512, 512, [], \"f88c\", \"M428 320H276a20 20 0 0 0-20 20v120a20 20 0 0 0 20 20h152a20 20 0 0 0 20-20V340a20 20 0 0 0-20-20zm-252 32h-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 352zM484 32H284a28 28 0 0 0-28 28v168a28 28 0 0 0 28 28h200a28 28 0 0 0 28-28V60a28 28 0 0 0-28-28z\"]\n};\nvar faSortSizeDownAlt = {\n prefix: 'fas',\n iconName: 'sort-size-down-alt',\n icon: [512, 512, [], \"f88d\", \"M275.9 192h152.2a20 20 0 0 0 19.9-20V52a20 20 0 0 0-19.9-20H275.9A20 20 0 0 0 256 52v120a20 20 0 0 0 19.9 20zM484 256H284a28 28 0 0 0-28 28v168a28 28 0 0 0 28 28h200a28 28 0 0 0 28-28V284a28 28 0 0 0-28-28zm-308 96h-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};\nvar faSortSizeUp = {\n prefix: 'fas',\n iconName: 'sort-size-up',\n icon: [512, 512, [], \"f88e\", \"M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM484 32H284a28 28 0 0 0-28 28v168a28 28 0 0 0 28 28h200a28 28 0 0 0 28-28V60a28 28 0 0 0-28-28zm-56 288H276a20 20 0 0 0-20 20v120a20 20 0 0 0 20 20h152a20 20 0 0 0 20-20V340a20 20 0 0 0-20-20z\"]\n};\nvar faSortSizeUpAlt = {\n prefix: 'fas',\n iconName: 'sort-size-up-alt',\n icon: [512, 512, [], \"f88f\", \"M276 192h152a20 20 0 0 0 20-20V52a20 20 0 0 0-20-20H276a20 20 0 0 0-20 20v120a20 20 0 0 0 20 20zm208 64H284a28 28 0 0 0-28 28v168a28 28 0 0 0 28 28h200a28 28 0 0 0 28-28V284a28 28 0 0 0-28-28zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 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};\nvar faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [], \"f0de\", \"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};\nvar faSoup = {\n prefix: 'fas',\n iconName: 'soup',\n icon: [512, 512, [], \"f823\", \"M191.11 146.5a16.23 16.23 0 0 0 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18a130.72 130.72 0 0 0-36.6-74.7 94.83 94.83 0 0 1-26.4-53.5A16.11 16.11 0 0 0 160.81 0h-16.4a16.31 16.31 0 0 0-16.3 18 145.36 145.36 0 0 0 40.6 84.4 81.22 81.22 0 0 1 22.4 44.1zm112 0a16.23 16.23 0 0 0 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18a130.72 130.72 0 0 0-36.6-74.7 94.83 94.83 0 0 1-26.4-53.5A16.11 16.11 0 0 0 272.76 0h-16.4c-9.8 0-17.5 8.5-16.3 18a145.36 145.36 0 0 0 40.6 84.4 81.22 81.22 0 0 1 22.4 44.1zM480 192H32a32 32 0 0 0-32 32c0 94.7 51.56 177.16 128 221.45V480a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32v-34.55C460.44 401.16 512 318.7 512 224a32 32 0 0 0-32-32z\"]\n};\nvar faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"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};\nvar faSpaceShuttle = {\n prefix: 'fas',\n iconName: 'space-shuttle',\n icon: [640, 512, [], \"f197\", \"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};\nvar faSpaceStationMoon = {\n prefix: 'fas',\n iconName: 'space-station-moon',\n icon: [512, 512, [], \"e033\", \"M256,8C119.0332,8,8,119.0332,8,256a250.01609,250.01609,0,0,0,1.72461,28.26562C81.19727,306.76953,165.47852,320,256,320s174.80273-13.23047,246.27539-35.73438A250.01609,250.01609,0,0,0,504,256C504,119.0332,392.9668,8,256,8ZM192,240a80,80,0,1,1,80-80A80.00021,80.00021,0,0,1,192,240ZM16.71094,320.26367C45.05859,426.01953,141.29883,504,256,504s210.94141-77.98047,239.28906-183.73633C424.71289,340.53906,343.3418,352,256,352S87.28711,340.53906,16.71094,320.26367ZM192,136a24,24,0,1,0,24,24A23.99993,23.99993,0,0,0,192,136Z\"]\n};\nvar faSpaceStationMoonAlt = {\n prefix: 'fas',\n iconName: 'space-station-moon-alt',\n icon: [512, 512, [], \"e034\", \"M192,136a24,24,0,1,0,24,24A23.99993,23.99993,0,0,0,192,136ZM384,343.13867A940.38216,940.38216,0,0,1,256,352c-87.3418,0-168.71289-11.46094-239.28906-31.73633C45.05859,426.01953,141.29883,504,256,504a247.46107,247.46107,0,0,0,192-91.0918V384H384ZM501.70508,224H448V160H368V96h48V66.67383A246.86934,246.86934,0,0,0,256,8C119.0332,8,8,119.0332,8,256a250.01609,250.01609,0,0,0,1.72461,28.26562C81.19727,306.76953,165.47852,320,256,320s174.80273-13.23047,246.27539-35.73438A250.01609,250.01609,0,0,0,504,256,249.15161,249.15161,0,0,0,501.70508,224ZM192,240a80,80,0,1,1,80-80A80.00021,80.00021,0,0,1,192,240Z\"]\n};\nvar faSpade = {\n prefix: 'fas',\n iconName: 'spade',\n icon: [512, 512, [], \"f2f4\", \"M272.5 6.6c-9.3-8.8-23.8-8.8-33.1 0C191.4 52.4 53.6 185 32 208.9c-19.3 21.3-32 49.4-32 80.6C0 360 54.9 415.7 123.5 416c36.7.1 69.7-15.7 92.5-40.9-.1 36.6-.8 52.3-52.4 75.4-14.1 6.3-22.2 21.6-18.7 36.6 3.3 14.5 16.3 24.8 31.2 24.8h159.4c15.5 0 29.2-10.8 32.1-26 2.8-14.6-4.8-29.2-18.4-35.2-51.6-23-52.8-38.1-53-75.6 23.4 25.8 57.5 41.8 95.3 40.8 67.5-1.7 120.7-56.5 120.7-124 0-32.2-12.2-61.2-32-83.1C458.4 185 320.6 52.4 272.5 6.6z\"]\n};\nvar faSparkles = {\n prefix: 'fas',\n iconName: 'sparkles',\n icon: [512, 512, [], \"f890\", \"M324.42 103.15L384 128l24.84 59.58a8 8 0 0 0 14.32 0L448 128l59.58-24.85a8 8 0 0 0 0-14.31L448 64 423.16 4.42a8 8 0 0 0-14.32 0L384 64l-59.58 24.84a8 8 0 0 0 0 14.31zm183.16 305.69L448 384l-24.84-59.58a8 8 0 0 0-14.32 0L384 384l-59.58 24.84a8 8 0 0 0 0 14.32L384 448l24.84 59.58a8 8 0 0 0 14.32 0L448 448l59.58-24.84a8 8 0 0 0 0-14.32zM384 255.64a16.06 16.06 0 0 0-8.84-14.33l-112.57-56.39-56.28-112.77c-5.44-10.87-23.19-10.87-28.62 0l-56.28 112.77L8.84 241.31a16 16 0 0 0 0 28.67l112.57 56.39 56.28 112.77a16 16 0 0 0 28.62 0l56.28-112.77L375.16 270a16.07 16.07 0 0 0 8.84-14.36z\"]\n};\nvar faSpeaker = {\n prefix: 'fas',\n iconName: 'speaker',\n icon: [384, 512, [], \"f8df\", \"M192 272a64 64 0 1 0 64 64 64 64 0 0 0-64-64zM336 0H48A48 48 0 0 0 0 48v416a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zM192 64a48 48 0 1 1-48 48 48 48 0 0 1 48-48zm0 384a112 112 0 1 1 112-112 112 112 0 0 1-112 112z\"]\n};\nvar faSpeakers = {\n prefix: 'fas',\n iconName: 'speakers',\n icon: [640, 512, [], \"f8e0\", \"M591 0H335a48 48 0 0 0-48 48v416a48 48 0 0 0 48 48h256a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zM463 64a48 48 0 1 1-48 48 48 48 0 0 1 48-48zm0 384a112 112 0 1 1 112-112 112 112 0 0 1-112 112zm0-176a64 64 0 1 0 64 64 64 64 0 0 0-64-64zM255 48a79.24 79.24 0 0 1 16.41-48H47A48 48 0 0 0-1 48v416a48 48 0 0 0 48 48h224.41A79.24 79.24 0 0 1 255 464v-49.78a112 112 0 1 1 0-156.44zm-80 112a48 48 0 1 1 48-48 48 48 0 0 1-48 48zm-64 176a64 64 0 1 0 64-64 64 64 0 0 0-64 64z\"]\n};\nvar faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"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};\nvar faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [576, 512, [], \"f717\", \"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};\nvar faSpiderBlackWidow = {\n prefix: 'fas',\n iconName: 'spider-black-widow',\n icon: [576, 512, [], \"f718\", \"M382.29 26.13c-2.79-8.38 1.73-17.44 10.12-20.24L407.58.83c8.38-2.8 17.45 1.73 20.24 10.12l25.89 77.68a32.04 32.04 0 0 1-1.73 24.43l-27.15 54.3L398.9 176h-4.67l-5.22-26.12c-.71-3.58-1.8-7.58-3.21-11.79l20.29-40.58-23.8-71.38zM151.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.3zm417.7 204.21l-13.31 8.88c-7.35 4.9-17.29 2.91-22.19-4.44l-48-72h-47.06l60.83 97.33a31.988 31.988 0 0 1 4.86 16.96V496c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-73.11l-74.08-118.53c1.01 14.05 2.08 28.11 2.08 42.21C384 399.64 343.24 448 288 448s-96-48.36-96-101.43c0-14.1 1.08-28.16 2.08-42.21L120 422.89V496c0 8.84-7.16 16-16 16H88c-8.84 0-16-7.16-16-16v-77.71c0-6 1.69-11.88 4.86-16.96L137.69 304H90.63l-48 72c-4.9 7.35-14.84 9.34-22.19 4.44l-13.31-8.88c-7.35-4.9-9.34-14.84-4.44-22.19l52.75-79.12A32.007 32.007 0 0 1 82.07 256H160l-68.99-24.36a32.03 32.03 0 0 1-16.51-12.61l-53.6-80.41c-4.9-7.35-2.91-17.29 4.44-22.19l13.31-8.88c7.35-4.9 17.29-2.91 22.19 4.44l50.56 75.83L171.9 208H208l10.37-51.85C220.56 145.18 235.74 96 288 96c52.26 0 67.44 49.18 69.63 60.15L368 208h36.1l60.49-20.17L515.16 112c4.9-7.35 14.83-9.34 22.19-4.44l13.31 8.88c7.35 4.9 9.34 14.83 4.44 22.19l-53.6 80.41a32.03 32.03 0 0 1-16.51 12.61L416 256h77.94c10.7 0 20.69 5.35 26.62 14.25l52.75 79.12c4.9 7.36 2.92 17.29-4.44 22.19zM300 320l26.4-35.2c3.96-5.27.19-12.8-6.4-12.8h-64c-6.59 0-10.36 7.53-6.4 12.8L276 320l-26.4 35.2c-3.96 5.27-.19 12.8 6.4 12.8h64c6.59 0 10.36-7.53 6.4-12.8L300 320z\"]\n};\nvar faSpiderWeb = {\n prefix: 'fas',\n iconName: 'spider-web',\n icon: [576, 512, [], \"f719\", \"M567.16 233.86c-56.54-59.32-97.92-131.64-120.56-210.71l-.02-.06c-4.72-16.48-21.5-26.26-38-22.14l-.07.02a497.663 497.663 0 0 1-241.03 0l-.07-.02c-16.5-4.12-33.28 5.66-38 22.14l-.02.06C106.76 102.22 65.38 174.54 8.84 233.86c-11.79 12.37-11.79 31.92 0 44.29 56.54 59.32 97.92 131.64 120.56 210.71l.02.06c4.72 16.48 21.5 26.26 38 22.14l.07-.02a497.663 497.663 0 0 1 241.03 0l.07.02c16.5 4.12 33.28-5.66 38-22.14l.03-.12c22.63-79.04 63.99-151.32 120.5-210.62l.04-.04c11.79-12.36 11.79-31.92 0-44.28zM365.54 73.71l-23.52 40.74a264.971 264.971 0 0 1-108.04 0l-23.52-40.74a563.283 563.283 0 0 0 155.08 0zM288 208.01l-23.43-40.58a313.24 313.24 0 0 0 46.86 0L288 208.01zM302.43 232h-.58l-.29-.5.87.5zM288 303.99l23.44 40.59c-7.8-.58-15.62-.99-23.44-.99s-15.63.41-23.44.99L288 303.99zm-65-112.58L246.43 232h-46.87c8.81-12.93 16.65-26.5 23.44-40.59zm-53.39 221.65A574.3 574.3 0 0 0 93.29 280h45.11c24.22 27.11 42.66 59.04 54.01 93.56l-22.8 39.5zM138.4 232H93.29a574.3 574.3 0 0 0 76.32-133.06l22.81 39.5A264.912 264.912 0 0 1 138.4 232zm108.03 48L223 320.59A314.825 314.825 0 0 0 199.56 280h46.87zM288 432.28c-25.95 0-51.82 2.43-77.54 6.01l23.52-40.73c35.58-7.42 72.45-7.42 108.04 0l23.52 40.73c-25.72-3.58-51.59-6.01-77.54-6.01zm65-111.69L329.57 280h46.87A314.825 314.825 0 0 0 353 320.59zM329.56 232L353 191.41A314.825 314.825 0 0 0 376.44 232h-46.88zm76.83 181.06l-22.81-39.5c11.35-34.52 29.8-66.45 54.02-93.56h45.11a574.3 574.3 0 0 0-76.32 133.06zM437.6 232a264.912 264.912 0 0 1-54.02-93.56l22.81-39.5A574.3 574.3 0 0 0 482.71 232H437.6z\"]\n};\nvar faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"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};\nvar faSpinnerThird = {\n prefix: 'fas',\n iconName: 'spinner-third',\n icon: [512, 512, [], \"f3f4\", \"M456.433 371.72l-27.79-16.045c-7.192-4.152-10.052-13.136-6.487-20.636 25.82-54.328 23.566-118.602-6.768-171.03-30.265-52.529-84.802-86.621-144.76-91.424C262.35 71.922 256 64.953 256 56.649V24.56c0-9.31 7.916-16.609 17.204-15.96 81.795 5.717 156.412 51.902 197.611 123.408 41.301 71.385 43.99 159.096 8.042 232.792-4.082 8.369-14.361 11.575-22.424 6.92z\"]\n};\nvar faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"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};\nvar faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"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};\nvar faSprinkler = {\n prefix: 'fas',\n iconName: 'sprinkler',\n icon: [512, 512, [], \"e035\", \"M398.19,256H288V80a16,16,0,0,0-16-16H240a16,16,0,0,0-16,16V256H113.81a17.77,17.77,0,0,0-14.22,28.44l67.52,78.23L192,387.56V512H320V387.56l24.89-24.89,67.52-78.23A17.77,17.77,0,0,0,398.19,256ZM152,152a24,24,0,1,0-24-24A24,24,0,0,0,152,152ZM88,96A24,24,0,1,0,64,72,24,24,0,0,0,88,96Zm24,72a24,24,0,1,0-24,24A24,24,0,0,0,112,168ZM24,104a24,24,0,1,0,24,24A24,24,0,0,0,24,104ZM24,0A24,24,0,1,0,48,24,24,24,0,0,0,24,0Zm0,208a24,24,0,1,0,24,24A24,24,0,0,0,24,208Zm336-56a24,24,0,1,0-24-24A24,24,0,0,0,360,152Zm64,8a24,24,0,1,0,24,24A24,24,0,0,0,424,160Zm0-96a24,24,0,1,0,24,24A24,24,0,0,0,424,64Zm64,40a24,24,0,1,0,24,24A24,24,0,0,0,488,104Zm0,104a24,24,0,1,0,24,24A24,24,0,0,0,488,208Zm0-160a24,24,0,1,0-24-24A24,24,0,0,0,488,48Z\"]\n};\nvar faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"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};\nvar faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [], \"f45c\", \"M512 512H0V0h512v512z\"]\n};\nvar faSquareRoot = {\n prefix: 'fas',\n iconName: 'square-root',\n icon: [576, 512, [], \"f697\", \"M552 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};\nvar faSquareRootAlt = {\n prefix: 'fas',\n iconName: 'square-root-alt',\n icon: [576, 512, [], \"f698\", \"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};\nvar faSquirrel = {\n prefix: 'fas',\n iconName: 'squirrel',\n icon: [512, 512, [], \"f71a\", \"M479.85 448h-30.93c18.19-18.4 30.93-42.12 30.93-64 0-26.55-22.08-52.81-47.85-61.09V224h47.85c20.4 0 35.7-18.91 31.43-38.87C500.84 136.42 466.72 96 415.87 96V64c-48.01 0-74.22 62.73-89.4 108.29l-65.34 196.52c-1.39 4.19-5.92 6.46-10.11 5.07l-15.19-5.05c-4.19-1.39-6.46-5.92-5.07-10.12l34.53-103.85C312.5 112.89 214.16 0 127.96 0 57.29 0 0 57.31 0 128s57.29 128 127.96 128c.27 0 .52-.08.79-.08-20.93 27.67-33.56 61.96-32.74 99.54C97.94 443.88 175.85 512 264.27 512h231.58c8.83 0 15.99-7.16 15.99-16v-16c0-17.67-14.32-32-31.99-32zm-47.98-304c8.83 0 15.99 7.16 15.99 16s-7.16 16-15.99 16-16-7.16-16-16 7.17-16 16-16z\"]\n};\nvar faStaff = {\n prefix: 'fas',\n iconName: 'staff',\n icon: [512, 512, [], \"f71b\", \"M432 0h-76.23c-30.3 0-58 17.12-71.55 44.22l-16 32c-3.95 7.9-.75 17.51 7.15 21.46l57.25 28.63c7.9 3.95 17.51.75 21.47-7.16L365.67 96H416v75.8l-157.29 44.94a176.122 176.122 0 0 0-76.11 44.78L156.12 288H112c-8.84 0-16 7.16-16 16v44.12L7.03 437.1c-9.37 9.37-9.37 24.57 0 33.94l33.93 33.93c9.37 9.37 24.57 9.37 33.94 0l175.55-175.55a80.111 80.111 0 0 1 34.62-20.37l84.82-24.24 32.25 18.62c7.65 4.42 17.44 1.79 21.86-5.86l19.51-33.8 10.46-2.99c34.34-9.81 58.02-41.21 58.02-76.92V80C512 35.82 476.18 0 432 0z\"]\n};\nvar faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"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};\nvar faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"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};\nvar faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [], \"f699\", \"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};\nvar faStarChristmas = {\n prefix: 'fas',\n iconName: 'star-christmas',\n icon: [512, 512, [], \"f7d4\", \"M505.3 247.4l-192.5-48.1L264.6 6.7c-2.2-9-15-9-17.2 0l-48.1 192.6L6.7 247.4c-9 2.2-9 15 0 17.2l192.5 48.1 48.1 192.5c2.2 9 15 9 17.2 0l48.1-192.5 192.6-48.1c9-2.2 9-15 .1-17.2zm-352.4-69.5l19.9-5 5-19.9L109 97.9c-7.5-6-17.2 3.7-11.2 11.2l55.1 68.8zm206.2 156.2l-19.9 5-5 19.9 68.8 55.1c7.5 6 17.2-3.7 11.2-11.2l-55.1-68.8zm0-156.2l55.1-68.8c6-7.5-3.7-17.2-11.2-11.2l-68.8 55 5 19.9 19.9 5.1zM152.9 334.1l-55 68.8c-6 7.5 3.7 17.2 11.2 11.2l68.8-55.1-5-19.9-20-5z\"]\n};\nvar faStarExclamation = {\n prefix: 'fas',\n iconName: 'star-exclamation',\n icon: [576, 512, [], \"f2f3\", \"M259.3 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.6l130.7 68.7c23.3 12.3 50.9-7.5 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.8C305-5.9 271.1-6 259.3 17.8zM256.1 160h64c4.7 0 8.4 4.1 8 8.6l-8 112c-.3 4.2-3.8 7.4-8 7.4h-48c-4.2 0-7.7-3.2-8-7.4l-8-112c-.5-4.7 3.5-8.6 8-8.6zM288 392c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z\"]\n};\nvar faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"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};\nvar faStarHalfAlt = {\n prefix: 'fas',\n iconName: 'star-half-alt',\n icon: [536, 512, [], \"f5c0\", \"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};\nvar faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [464, 512, [], \"f69a\", \"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};\nvar faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [480, 512, [], \"f621\", \"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};\nvar faStarShooting = {\n prefix: 'fas',\n iconName: 'star-shooting',\n icon: [512, 512, [], \"e036\", \"M308.68131,191.99637l11.31076,11.30812a15.9975,15.9975,0,0,0,22.62737,0L507.31388,38.62192a15.99872,15.99872,0,0,0,0-22.626L496.00312,4.68584a16.001,16.001,0,0,0-22.62737,0L308.68131,169.36841A16.00107,16.00107,0,0,0,308.68131,191.99637ZM239.99059,91.30917a15.9975,15.9975,0,0,0,22.62737,0l52.69238-52.68725a15.99872,15.99872,0,0,0,0-22.626L303.99958,4.68584a16.001,16.001,0,0,0-22.62737,0L228.67984,57.37309a16.00105,16.00105,0,0,0,0,22.628ZM496.00312,196.67782a16.001,16.001,0,0,0-22.62737,0l-52.69237,52.68725a16.00105,16.00105,0,0,0,0,22.628l11.31075,11.30812a15.9975,15.9975,0,0,0,22.62737,0l52.69238-52.68725a15.99872,15.99872,0,0,0,0-22.626ZM364.29366,267.28619,259.49486,251.99l-46.90712-95.19915c-8.39078-16.99929-32.6881-17.20241-41.18826,0L124.49237,251.99,19.69356,267.28619C.89634,269.98921-6.71318,293.19136,6.9902,306.48768l75.90765,73.99691L64.89752,485.074c-3.20319,18.90546,16.68781,33.108,33.29749,24.20211l93.7986-49.38856,93.79861,49.38856A22.95373,22.95373,0,0,0,319.08971,485.074l-17.891-104.58938,75.892-73.99691C390.7004,293.19136,383.09089,269.98921,364.29366,267.28619Z\"]\n};\nvar faStarfighter = {\n prefix: 'fas',\n iconName: 'starfighter',\n icon: [640, 512, [], \"e037\", \"M208,288H144a15.99985,15.99985,0,0,0-16,16v48H48V160h8a8.00008,8.00008,0,0,0,8-8V136a7.99977,7.99977,0,0,0-8-8H48V112.85547c0-7.96924-5.44531-15.356-13.311-16.63623A16.01034,16.01034,0,0,0,16,112v16H8a7.99977,7.99977,0,0,0-8,8v16a8.00008,8.00008,0,0,0,8,8h8V431.14209c0,7.97021,5.44531,15.3584,13.312,16.63867A16.01152,16.01152,0,0,0,48,432v-3.20117L176,480v16a16.00016,16.00016,0,0,0,16,16h16a16.00016,16.00016,0,0,0,16-16V304A15.99985,15.99985,0,0,0,208,288ZM632,128h-8V112.85547c0-7.96924-5.44531-15.356-13.311-16.63623A16.01034,16.01034,0,0,0,592,112v16h-8a7.99977,7.99977,0,0,0-8,8v16a8.00008,8.00008,0,0,0,8,8h8V352H512V304a15.99985,15.99985,0,0,0-16-16H432a15.99985,15.99985,0,0,0-16,16V496a16.00016,16.00016,0,0,0,16,16h16a16.00016,16.00016,0,0,0,16-16V480l128-51.20117v2.34326c0,7.97021,5.44531,15.3584,13.312,16.63867A16.01152,16.01152,0,0,0,624,432V160h8a8.00008,8.00008,0,0,0,8-8V136A7.99977,7.99977,0,0,0,632,128ZM337.875,0h-35.75a15.99837,15.99837,0,0,0-15.877,14.01562L256,256V464a16.00079,16.00079,0,0,0,16,16h96a16.00079,16.00079,0,0,0,16-16V256L353.752,14.01562A15.99837,15.99837,0,0,0,337.875,0ZM352,304a16.00079,16.00079,0,0,1-16,16H304a16.00079,16.00079,0,0,1-16-16V256a32,32,0,0,1,64,0Z\"]\n};\nvar faStarfighterAlt = {\n prefix: 'fas',\n iconName: 'starfighter-alt',\n icon: [576, 512, [], \"e038\", \"M560,32H528a15.99954,15.99954,0,0,0-16,16V216l-75.51953-18.87891C412.99414,137.96289,355.52344,96,288,96S163.00586,137.96289,139.51953,197.12109L64,216V48A15.99954,15.99954,0,0,0,48,32H16A15.99954,15.99954,0,0,0,0,48V464a16.00079,16.00079,0,0,0,16,16H48a16.00079,16.00079,0,0,0,16-16V296l75.51953,18.87891C163.00586,374.03711,220.47656,416,288,416s124.99414-41.96289,148.48047-101.12109L512,296V464a16.00079,16.00079,0,0,0,16,16h32a16.00079,16.00079,0,0,0,16-16V48A15.99954,15.99954,0,0,0,560,32ZM300,161.21094a94.90406,94.90406,0,0,1,46.584,19.23633l-22.627,22.62695A63.5822,63.5822,0,0,0,300,193.21094Zm-24,0v32a63.5822,63.5822,0,0,0-23.957,9.86328L229.416,180.44727A94.90406,94.90406,0,0,1,276,161.21094ZM212.44727,197.416,235.07422,220.043A63.5822,63.5822,0,0,0,225.21094,244h-32A94.90406,94.90406,0,0,1,212.44727,197.416ZM193.21094,268h32a63.5822,63.5822,0,0,0,9.86328,23.957l-22.62695,22.627A94.90406,94.90406,0,0,1,193.21094,268ZM276,350.78906a94.90406,94.90406,0,0,1-46.584-19.23633l22.62695-22.627A63.5822,63.5822,0,0,0,276,318.78906ZM256,256a32,32,0,1,1,32,32A31.99908,31.99908,0,0,1,256,256Zm44,94.78906v-32a63.5822,63.5822,0,0,0,23.957-9.86328l22.627,22.627A94.90406,94.90406,0,0,1,300,350.78906ZM363.55273,314.584l-22.627-22.627A63.5822,63.5822,0,0,0,350.78906,268h32A94.90406,94.90406,0,0,1,363.55273,314.584ZM350.78906,244a63.5822,63.5822,0,0,0-9.86328-23.957l22.627-22.62695A94.90406,94.90406,0,0,1,382.78906,244Z\"]\n};\nvar faStars = {\n prefix: 'fas',\n iconName: 'stars',\n icon: [512, 512, [], \"f762\", \"M259.69042,85.96457l49.64549,20.69969,20.70353,49.643a6.65746,6.65746,0,0,0,11.926,0L362.667,106.66426l49.64549-20.69969a6.66574,6.66574,0,0,0,0-11.92493L362.667,53.338,341.96545,3.697a6.65746,6.65746,0,0,0-11.926,0L309.33591,53.338,259.69042,74.03964a6.66574,6.66574,0,0,0,0,11.92493ZM364.294,267.29343,259.4951,251.99764l-46.90716-95.19633c-8.39078-16.99879-32.68813-17.2019-41.18829,0l-46.90716,95.19633L19.69358,267.29343C.89634,269.99636-6.71318,293.19783,6.99021,306.49376l75.90772,73.99472L64.89758,485.07476c-3.20319,18.9049,16.68782,33.107,33.29752,24.2014l93.7987-49.3871,93.79869,49.3871A22.95361,22.95361,0,0,0,319.09,485.07476L301.199,380.48848l75.89209-73.99472C390.70077,293.19783,383.09125,269.99636,364.294,267.29343ZM509.05268,219.2285,469.339,202.67109,452.7801,162.961a5.32691,5.32691,0,0,0-9.5412,0L426.678,202.67109l-39.7117,16.55741a5.33385,5.33385,0,0,0,0,9.54033L426.678,245.3282l16.56087,39.7081a5.32534,5.32534,0,0,0,9.5412,0L469.339,245.3282l39.71366-16.55937a5.33386,5.33386,0,0,0,0-9.54033Z\"]\n};\nvar faStarship = {\n prefix: 'fas',\n iconName: 'starship',\n icon: [640, 512, [], \"e039\", \"M448,224a32,32,0,1,0,32,32A32.03667,32.03667,0,0,0,448,224ZM240,128a31.99908,31.99908,0,0,0-32-32H24A23.99993,23.99993,0,0,0,0,120v16a24.00118,24.00118,0,0,0,24,24H86.23828l55.32227,56.94922-10.79493.98047a38.22631,38.22631,0,0,0,0,76.13867l10.79688.98242L64,352H24A23.99993,23.99993,0,0,0,0,376v16a24.00118,24.00118,0,0,0,24,24H208a32,32,0,0,0,0-64H137.76172L208.25,301.11328l20.7793,1.88867a222.14594,222.14594,0,0,1,0-94.0039l-20.78125,1.88867L160,160h48A32.00033,32.00033,0,0,0,240,128ZM448,64c-106.03906,0-192,85.96094-192,192s85.96094,192,192,192,192-85.96094,192-192S554.03906,64,448,64Zm0,256a64,64,0,1,1,64-64A64.07333,64.07333,0,0,1,448,320Z\"]\n};\nvar faStarshipFreighter = {\n prefix: 'fas',\n iconName: 'starship-freighter',\n icon: [576, 512, [], \"e03a\", \"M224.00871,208.00014a48,48,0,1,0,47.99881,48A47.99927,47.99927,0,0,0,224.00871,208.00014ZM560.0004,223.65443a16.00059,16.00059,0,0,0,15.9996-16v-52.455a16.0008,16.0008,0,0,0-10.52318-15.0332l-254.15-92.60347C255.57629,27.50609,193.613,25.59008,139.21979,49.15061-4.095,111.22285.01425,256.00012.01425,256.00012s-4.35536,144.66594,139.20554,206.8495c54.39319,23.55858,116.3565,21.64452,172.10707,1.58593l16.32772-5.94921,3.19524,3.90429A48.04351,48.04351,0,0,0,368.00515,480h63.99841a47.91689,47.91689,0,0,0,40.167-74.16988L565.47682,371.834A16.0008,16.0008,0,0,0,576,356.80084v-52.455a16.00059,16.00059,0,0,0-15.9996-16H416.004V223.65443ZM80.01227,272.00011a16,16,0,1,1,15.99961-16A16.00059,16.00059,0,0,1,80.01227,272.00011Zm31.99921,96a16,16,0,1,1,15.99961-16A16.00059,16.00059,0,0,1,112.01148,368.00006Zm0-191.9999a16,16,0,1,1,15.99961-16A16.00059,16.00059,0,0,1,112.01148,176.00016ZM224.00871,336.00007a80,80,0,1,1,79.998-80A80.09064,80.09064,0,0,1,224.00871,336.00007Z\"]\n};\nvar faSteak = {\n prefix: 'fas',\n iconName: 'steak',\n icon: [576, 512, [], \"f824\", \"M368.85 96c-27.31 0-51.89 23.7-62.62 60.36-6.24 21.36-26.75 106.21-173.16 170-138.8 60.35 163.93 169.45 321.26-9.82 38.21-43.53 32.8-126-11.57-176.59C417.86 111.58 391.61 96 368.85 96zM384 255.9a32 32 0 1 1 32-32 32 32 0 0 1-32 32zM514.92 76.65C467.92 23.11 416.28 0 368.85 0 298.27 0 237 51.17 214.1 129.38 165 269.31 1.37 212.32 0 351.63c-1.19 121.61 139.27 164.61 256 160 87.78-3.4 187.32-37.09 270.49-131.84C596.78 299.75 591.6 164 514.92 76.65zm-36.53 261c-76.15 86.75-164.32 107.76-224.82 110.1-37.65 1.38-131.52-6.52-171.24-46.62-2.49-2.51-59.44-61.76 38-104.17 71.64-31.19 132.3-71.24 155.23-149.6C290.34 96.7 327 64 368.85 64c32.58 0 66.45 19 98 54.88 55.15 62.84 60.45 163.03 11.54 218.76z\"]\n};\nvar faSteeringWheel = {\n prefix: 'fas',\n iconName: 'steering-wheel',\n icon: [496, 512, [], \"f622\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 64c90.53 0 165.82 65.77 181.03 152h-93.9c-11.09-19.05-31.49-32-55.12-32h-64c-23.63 0-44.04 12.95-55.12 32h-93.9C82.18 137.77 157.47 72 248 72zM66.97 288H168l48 64v85.03C140.19 423.65 80.35 363.81 66.97 288zM280 437.03V352l48-64h101.03C415.65 363.81 355.81 423.65 280 437.03z\"]\n};\nvar faStepBackward = {\n prefix: 'fas',\n iconName: 'step-backward',\n icon: [448, 512, [], \"f048\", \"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};\nvar faStepForward = {\n prefix: 'fas',\n iconName: 'step-forward',\n icon: [448, 512, [], \"f051\", \"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};\nvar faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [512, 512, [], \"f0f1\", \"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};\nvar faStickyNote = {\n prefix: 'fas',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"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};\nvar faStocking = {\n prefix: 'fas',\n iconName: 'stocking',\n icon: [384, 512, [], \"f7d5\", \"M368 0H80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM96 251.5l-39 26C-1.8 316.7-17.7 396.2 21.5 455c24.7 37 65.2 57 106.6 57 24.4 0 49.1-7 70.9-21.5l81.7-54.5c44.6-29.7 71.2-79.5 71.2-133.1V128H96v123.5z\"]\n};\nvar faStomach = {\n prefix: 'fas',\n iconName: 'stomach',\n icon: [512, 512, [], \"f623\", \"M384 96c-54.29 0-90.86 32.57-109.17 64H256c-35.34 0-64-28.65-64-64V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v80c0 70.69 57.3 128 128 128h.49c-.07 1.85-.49 3.63-.49 5.5V288c0 35.35-28.66 64-64 64h-64C57.3 352 0 409.31 0 480v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-37.63 33.96-51.21 53.92-51.21 17.11 0 29.59 6.71 41.07 18.2C226.21 514.21 297.63 512 308.36 512c112.48 0 203.65-91.17 203.65-203.65V224C512 153.31 454.7 96 384 96zm64 212.35c0 9.23-1.01 18.21-2.73 26.95-21.56 6.08-45.01.97-61.27-15.3-17.37-17.37-42.91-22.14-65.6-13.93.84-5.93 1.6-11.9 1.6-18.07v-58.5c0-36.15 26.38-69.5 64-69.5 35.29 0 64 28.71 64 64v84.35z\"]\n};\nvar faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [448, 512, [], \"f04d\", \"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};\nvar faStopCircle = {\n prefix: 'fas',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"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};\nvar faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [], \"f2f2\", \"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};\nvar faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"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};\nvar faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [616, 512, [], \"f54e\", \"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};\nvar faStoreAlt = {\n prefix: 'fas',\n iconName: 'store-alt',\n icon: [640, 512, [], \"f54f\", \"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};\nvar faStoreAltSlash = {\n prefix: 'fas',\n iconName: 'store-alt-slash',\n icon: [640, 512, [], \"e070\", \"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};\nvar faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"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};\nvar faStream = {\n prefix: 'fas',\n iconName: 'stream',\n icon: [512, 512, [], \"f550\", \"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};\nvar faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"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};\nvar faStretcher = {\n prefix: 'fas',\n iconName: 'stretcher',\n icon: [640, 512, [], \"f825\", \"M608 128H192L79.84 10.74a32 32 0 0 0-45.18-2.66L10.74 29.35a32 32 0 0 0-2.66 45.17l121.7 128A64 64 0 0 0 177.62 224H608a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32zm-92.22 266.93a62.23 62.23 0 0 0-56.18-7.3l-43-37.63L524 256h-97.2L368 307.48 309.17 256H212l107.4 94-43 37.63a62.23 62.23 0 0 0-56.18 7.3 64.35 64.35 0 0 0-17.29 17.29 64.07 64.07 0 1 0 115.82 23.4l49.25-43.1 49.25 43.1a64 64 0 1 0 98.53-40.69zM256 464a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm224 0a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"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};\nvar faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"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};\nvar faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"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};\nvar faSubway = {\n prefix: 'fas',\n iconName: 'subway',\n icon: [448, 512, [], \"f239\", \"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};\nvar faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [], \"f0f2\", \"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};\nvar faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"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};\nvar faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"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};\nvar faSunCloud = {\n prefix: 'fas',\n iconName: 'sun-cloud',\n icon: [640, 512, [], \"f763\", \"M576 224c-12 0-23.1 3.5-32.7 9.2-3.5-41-37.4-73.2-79.3-73.2-38.8 0-71.1 27.6-78.4 64.2-.5 0-1-.2-1.6-.2-35.3 0-64 28.7-64 64s28.7 64 64 64h192c35.3 0 64-28.7 64-64s-28.7-64-64-64zM429.4 384H384c-22.2 0-42.4-7.9-58.6-20.5-49.6 32-116.5 26.4-159.9-16.9-49.9-49.9-49.9-131.1 0-181s131.1-49.9 181 0c7.2 7.2 13 15.1 18.1 23.4 13.2-25.5 35.6-45 62.6-54.5l13.9-41.7c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.3-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.9L429.4 384zm-92.5-179.3C319.8 177.9 290 160 256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96c17.2 0 33.1-4.9 47.1-12.8-9.4-14.8-15.1-32.3-15.1-51.2 0-35.8 19.8-66.8 48.9-83.3z\"]\n};\nvar faSunDust = {\n prefix: 'fas',\n iconName: 'sun-dust',\n icon: [512, 512, [], \"f764\", \"M256 160c-52.9 0-96 43.1-96 96 0 26.5 10.8 50.5 28.1 67.8l135.7-135.7C306.5 170.8 282.5 160 256 160zm163.3-89.2l-100.4 33.5-47.4-94.7c-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-2.3 6.8-.2 13.4 4.2 17.7l90.5-90.5c-49.9-49.9-49.9-131.1 0-181s131.1-49.9 181 0L437 75c-4.3-4.4-10.9-6.5-17.7-4.2zM160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm320-256c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-96 96c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm-144 64c-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-32zm80 96c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm0-192c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM320 448c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faSunHaze = {\n prefix: 'fas',\n iconName: 'sun-haze',\n icon: [640, 512, [], \"f765\", \"M193.6 240c3.4-27.2 15-53.6 35.9-74.5 49.9-49.9 131.1-49.9 181 0 20.9 20.9 32.5 47.3 35.9 74.5h119l-93.7-46.9 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.7c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7-100.5-33.5c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4L74.6 240h119zM320 160c-47.5 0-86.7 34.7-94.4 80h188.8c-7.7-45.3-46.9-80-94.4-80zM80 336h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16zm544-48H496c-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-16zM208 464H80c-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 0H288c-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-16zm-48-56v-16c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16z\"]\n};\nvar faSunglasses = {\n prefix: 'fas',\n iconName: 'sunglasses',\n icon: [576, 512, [], \"f892\", \"M574.09 280.38L528.75 98.66a87.94 87.94 0 0 0-113.19-62.14l-15.25 5.08a16 16 0 0 0-10.12 20.25L395.25 77a16 16 0 0 0 20.22 10.13l13.19-4.39c10.87-3.63 23-3.57 33.15 1.73a39.59 39.59 0 0 1 20.38 25.81l38.47 153.83a276.7 276.7 0 0 0-81.22-12.47c-34.75 0-74 7-114.85 26.75h-73.18c-40.85-19.75-80.07-26.75-114.85-26.75a276.75 276.75 0 0 0-81.22 12.45l38.47-153.8a39.61 39.61 0 0 1 20.38-25.82c10.15-5.29 22.28-5.34 33.15-1.73l13.16 4.39A16 16 0 0 0 180.75 77l5.06-15.19a16 16 0 0 0-10.12-20.21l-15.25-5.08A87.95 87.95 0 0 0 47.25 98.65L1.91 280.38A75.35 75.35 0 0 0 0 295.86v70.25C0 429 51.59 480 115.19 480h37.12c60.28 0 110.38-45.94 114.88-105.37l2.93-38.63h35.76l2.93 38.63c4.5 59.43 54.6 105.37 114.88 105.37h37.12C524.41 480 576 429 576 366.13v-70.25a62.67 62.67 0 0 0-1.91-15.5zm-509.9 87.53c0-.61-.19-1.18-.19-1.8v-37.55a217.35 217.35 0 0 1 72.59-12.9c9.14 0 18.14 1.21 27.14 2.48zm308.13-2.07l-2.82-37.28a196.55 196.55 0 0 1 69.94-12.9 202.07 202.07 0 0 1 28.72 2.26z\"]\n};\nvar faSunrise = {\n prefix: 'fas',\n iconName: 'sunrise',\n icon: [576, 512, [], \"f766\", \"M250.9 374.5c-20.6 8.5-36.3 23.5-46.6 41.5h167.2c-23.8-41.6-75.1-60.3-120.6-41.5zM80.7 416h87.6c.2-.5.2-1 .4-1.4 27.3-65.8 102.9-97.2 168.7-69.9 33.4 13.8 57.8 40.2 70.3 71.3h87.6l28.4-32.7c9.4-10.9 2.4-27.9-12-28.9l-106.5-7.6-7.6-106.5c-1-14.4-18-21.4-28.9-12l-80.7 70-80.7-70c-10.9-9.4-27.9-2.4-28.9 12l-7.6 106.5-106.5 7.6c-14.4 1-21.4 18-12 28.9L80.7 416zM560 464H16c-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-16zM190.8 128H256v80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-80h65.2c14.3 0 21.4-17.3 11.2-27.4L300 5c-6.6-6.6-17.4-6.6-24 0l-96.4 95.7c-10.2 10-3 27.3 11.2 27.3z\"]\n};\nvar faSunset = {\n prefix: 'fas',\n iconName: 'sunset',\n icon: [576, 512, [], \"f767\", \"M250.9 374.5c-20.6 8.5-36.3 23.5-46.6 41.5h167.2c-23.8-41.6-75.1-60.3-120.6-41.5zM80.7 416h87.6c.2-.5.2-1 .4-1.4 27.3-65.8 102.9-97.2 168.7-69.9 33.4 13.8 57.8 40.2 70.3 71.3h87.6l28.4-32.7c9.4-10.9 2.4-27.9-12-28.9l-106.5-7.6-7.6-106.5c-1-14.4-18-21.4-28.9-12l-80.7 70-80.7-70c-10.9-9.4-27.9-2.4-28.9 12l-7.6 106.5-106.5 7.6c-14.4 1-21.4 18-12 28.9L80.7 416zM560 464H16c-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-16zM276 219c6.6 6.6 17.4 6.6 24 0l96.4-95.7c10.1-10.1 3-27.4-11.3-27.4H320V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v80h-65.2c-14.3 0-21.4 17.3-11.2 27.4L276 219z\"]\n};\nvar faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"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};\nvar faSurprise = {\n prefix: 'fas',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"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};\nvar faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"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};\nvar faSwimmer = {\n prefix: 'fas',\n iconName: 'swimmer',\n icon: [640, 512, [], \"f5c4\", \"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};\nvar faSwimmingPool = {\n prefix: 'fas',\n iconName: 'swimming-pool',\n icon: [640, 512, [], \"f5c5\", \"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};\nvar faSword = {\n prefix: 'fas',\n iconName: 'sword',\n icon: [512, 512, [], \"f71c\", \"M110.11 227.59c-6.25-6.25-16.38-6.25-22.63 0l-18.79 18.8a16.005 16.005 0 0 0-2 20.19l53.39 80.09-53.43 53.43-29.26-14.63a13.902 13.902 0 0 0-16.04 2.6L4.07 405.36c-5.42 5.43-5.42 14.22 0 19.64L87 507.93c5.42 5.42 14.22 5.42 19.64 0l17.29-17.29a13.873 13.873 0 0 0 2.6-16.03l-14.63-29.26 53.43-53.43 80.09 53.39c6.35 4.23 14.8 3.39 20.19-2l18.8-18.79c6.25-6.25 6.25-16.38 0-22.63l-174.3-174.3zM493.73.16L400 16 171.89 244.11l96 96L496 112l15.83-93.73c1.51-10.56-7.54-19.61-18.1-18.11z\"]\n};\nvar faSwordLaser = {\n prefix: 'fas',\n iconName: 'sword-laser',\n icon: [512, 512, [], \"e03b\", \"M105.4989,327.28721l79.19794,79.19384,22.628-22.62688L128.1269,304.66032ZM9.37147,412.13472a32.00179,32.00179,0,0,0-.01935,45.23473L54.586,502.64519a32.07776,32.07776,0,0,0,45.26149.022L179.05363,423.465,88.54035,332.956Zm186.63937-175.355a8.00079,8.00079,0,0,0-11.314,0l-11.314,11.31319a8.00026,8.00026,0,0,0,0,11.31369l79.19793,79.19385a8.00081,8.00081,0,0,0,11.314,0l11.31394-11.3132a8.00015,8.00015,0,0,0,0-11.31369Zm-56.56994,56.567L218.63878,372.541l22.628-22.62688-79.19793-79.19433ZM504.97121,7.02851a24.00693,24.00693,0,0,0-33.279-.64061L225.58713,232.41406l53.98729,53.98451L505.612,40.306A24.0046,24.0046,0,0,0,504.97121,7.02851Z\"]\n};\nvar faSwordLaserAlt = {\n prefix: 'fas',\n iconName: 'sword-laser-alt',\n icon: [512, 512, [], \"e03c\", \"M54.60974,502.65158l.002.00195a32.08551,32.08551,0,0,0,45.26143.01173l84.88276-84.88155-22.63853-22.6382ZM94.22325,327.25434,9.3698,412.12416A31.99505,31.99505,0,0,0,9.36,457.35955l.00586.0039L116.85006,349.87887ZM128.16737,361.196,20.67539,468.68451l22.6229,22.64406L150.8,383.82836Zm180.866-105.13441H172.03587a15.99913,15.99913,0,0,0-11.31731,4.68861l-55.178,55.187,90.53068,90.52938L320.294,283.43531C330.45087,273.37628,323.328,256.06161,309.03335,256.06161ZM504.96954,7.02964a24.01262,24.01262,0,0,0-33.28575-.64077l-245.70461,225.667H329.50336l176.107-191.739A24.01232,24.01232,0,0,0,504.96954,7.02964Z\"]\n};\nvar faSwords = {\n prefix: 'fas',\n iconName: 'swords',\n icon: [512, 512, [], \"f71d\", \"M309.37 389.38l80-80L93.33 13.33 15.22.14C6.42-1.12-1.12 6.42.14 15.22l13.2 78.11 296.03 296.05zm197.94 72.68L448 402.75l31.64-59.03c3.33-6.22 2.2-13.88-2.79-18.87l-17.54-17.53c-6.25-6.25-16.38-6.25-22.63 0L307.31 436.69c-6.25 6.25-6.25 16.38 0 22.62l17.53 17.54a16 16 0 0 0 18.87 2.79L402.75 448l59.31 59.31c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63zm-8.64-368.73l13.2-78.11c1.26-8.8-6.29-16.34-15.08-15.08l-78.11 13.2-140.05 140.03 80 80L498.67 93.33zm-345.3 185.3L100 332l-24.69-24.69c-6.25-6.25-16.38-6.25-22.62 0l-17.54 17.53a15.998 15.998 0 0 0-2.79 18.87L64 402.75 4.69 462.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L109.25 448l59.03 31.64c6.22 3.33 13.88 2.2 18.87-2.79l17.53-17.54c6.25-6.25 6.25-16.38 0-22.62L180 412l53.37-53.37-80-80z\"]\n};\nvar faSwordsLaser = {\n prefix: 'fas',\n iconName: 'swords-laser',\n icon: [640, 512, [], \"e03d\", \"M135.03144,7.03013a24.01269,24.01269,0,0,0-.64257,33.287l225.66788,245.7026V182.49655L168.31854,6.38951A24.01275,24.01275,0,0,0,135.03144,7.03013ZM411.43563,191.70552c-10.05859-10.15623-27.373-3.0332-27.373,11.26169V339.963a16.00393,16.00393,0,0,0,4.6875,11.31834L443.93757,406.459l90.52927-90.53106Zm77.75974,192.12654L596.68361,491.324l22.64452-22.623-107.5-107.50172ZM630.666,412.12692l-84.88278-84.88263-22.63671,22.63862L630.65235,457.3905l.002-.002A32.08761,32.08761,0,0,0,630.666,412.12692Zm-175.412,5.64843L540.125,502.62868a31.99249,31.99249,0,0,0,45.23436.00977l.0039-.00586L477.879,395.1504ZM256.00015,313.1994l42.69725-46.67959-42.69725-46.48818ZM400.71689,154.98489,505.61138,40.3074a24.00207,24.00207,0,0,0-33.918-33.91984L343.65636,123.985,381.4669,158.7134a47.95342,47.95342,0,0,1,18.71483-3.78124C400.36337,154.93216,400.53525,154.98294,400.71689,154.98489ZM196.59978,224.62928l-28.76366,29.11321a32.0069,32.0069,0,0,0-45.27733,45.25186L9.33618,412.15427a32.06806,32.06806,0,0,0,.01172,45.2499l45.30857,45.23818a32.01845,32.01845,0,0,0,45.25-.00976L219.26774,384.25784a15.99284,15.99284,0,0,0,4.73242-11.3574v-137.029C224.00016,221.56678,206.65642,214.45156,196.59978,224.62928ZM168.5412,360.44734a16,16,0,1,1,16.0078-16A16.00535,16.00535,0,0,1,168.5412,360.44734Z\"]\n};\nvar faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [], \"f69b\", \"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};\nvar faSync = {\n prefix: 'fas',\n iconName: 'sync',\n icon: [512, 512, [], \"f021\", \"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};\nvar faSyncAlt = {\n prefix: 'fas',\n iconName: 'sync-alt',\n icon: [512, 512, [], \"f2f1\", \"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};\nvar faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [], \"f48e\", \"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};\nvar faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"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};\nvar faTableTennis = {\n prefix: 'fas',\n iconName: 'table-tennis',\n icon: [512, 512, [], \"f45d\", \"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};\nvar faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [], \"f10a\", \"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};\nvar faTabletAlt = {\n prefix: 'fas',\n iconName: 'tablet-alt',\n icon: [448, 512, [], \"f3fa\", \"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};\nvar faTabletAndroid = {\n prefix: 'fas',\n iconName: 'tablet-android',\n icon: [448, 512, [], \"f3fb\", \"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-48zM288 452c0 6.6-5.4 12-12 12H172c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8z\"]\n};\nvar faTabletAndroidAlt = {\n prefix: 'fas',\n iconName: 'tablet-android-alt',\n icon: [448, 512, [], \"f3fc\", \"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-48zM288 452c0 6.6-5.4 12-12 12H172c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8zm112-80c0 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};\nvar faTabletRugged = {\n prefix: 'fas',\n iconName: 'tablet-rugged',\n icon: [448, 512, [], \"f48f\", \"M439.2 164.4c5.4-2.7 8.8-8.2 8.8-14.3V73.9c0-6.1-3.4-11.6-8.8-14.3L416 48c0-26.5-21.5-48-48-48H80C53.5 0 32 21.5 32 48L8.8 59.6C3.4 62.3 0 67.8 0 73.9v76.2c0 6.1 3.4 11.6 8.8 14.3L32 176v16L8.8 203.6c-5.4 2.7-8.8 8.2-8.8 14.3v76.2c0 6.1 3.4 11.6 8.8 14.3L32 320v16L8.8 347.6c-5.4 2.7-8.8 8.2-8.8 14.3v76.2c0 6.1 3.4 11.6 8.8 14.3L32 464c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48l23.2-11.6c5.4-2.7 8.8-8.2 8.8-14.3v-76.2c0-6.1-3.4-11.6-8.8-14.3L416 336v-16l23.2-11.6c5.4-2.7 8.8-8.2 8.8-14.3v-76.2c0-6.1-3.4-11.6-8.8-14.3L416 192v-16l23.2-11.6zM352 432c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h224c8.8 0 16 7.2 16 16v352z\"]\n};\nvar faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"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};\nvar faTachometer = {\n prefix: 'fas',\n iconName: 'tachometer',\n icon: [576, 512, [], \"f0e4\", \"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-288zm102.77 119.59l-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.36z\"]\n};\nvar faTachometerAlt = {\n prefix: 'fas',\n iconName: 'tachometer-alt',\n icon: [576, 512, [], \"f3fd\", \"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};\nvar faTachometerAltAverage = {\n prefix: 'fas',\n iconName: 'tachometer-alt-average',\n icon: [576, 512, [], \"f624\", \"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-288zM96 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 32zm199.12 192H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-26.85 16.56-49.75 40-59.25V128c0-13.25 10.75-24 24-24s24 10.75 24 24v196.75c23.44 9.5 40 32.41 40 59.25 0 11.72-3.38 22.55-8.88 32zM400 192c0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32-32-14.33-32-32zm80 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTachometerAltFast = {\n prefix: 'fas',\n iconName: 'tachometer-alt-fast',\n icon: [576, 512, [], \"f625\", \"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 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32zM96 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 32zm199.12 192H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-35.35 28.65-64 64-64 5.65 0 11.02.96 16.24 2.34L412.8 177.59c7.98-10.56 23-12.72 33.61-4.8 10.59 7.95 12.75 23 4.8 33.61L342.65 351.14c5.81 9.63 9.35 20.79 9.35 32.86 0 11.72-3.38 22.55-8.88 32zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTachometerAltFastest = {\n prefix: 'fas',\n iconName: 'tachometer-alt-fastest',\n icon: [576, 512, [], \"f626\", \"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-288zm144 128c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32zM288 96c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32zM96 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 32zm339.95 151.67l-133.93 22.32c-1.51 6.37-3.69 12.48-6.9 18.01H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-35.35 28.65-64 64-64 23.06 0 43.1 12.31 54.37 30.61l133.68-22.28c13.09-2.17 25.45 6.64 27.62 19.72 2.19 13.07-6.65 25.45-19.72 27.62z\"]\n};\nvar faTachometerAltSlow = {\n prefix: 'fas',\n iconName: 'tachometer-alt-slow',\n icon: [576, 512, [], \"f627\", \"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 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm247.12 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-12.07 3.54-23.23 9.35-32.86L124.8 206.41c-7.95-10.61-5.8-25.66 4.8-33.61 10.64-7.92 25.66-5.77 33.61 4.8l108.56 144.74c5.21-1.37 10.59-2.34 16.24-2.34 35.35 0 64 28.65 64 64-.01 11.72-3.39 22.55-8.89 32zM400 192c0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32-32-14.33-32-32zm80 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTachometerAltSlowest = {\n prefix: 'fas',\n iconName: 'tachometer-alt-slowest',\n icon: [576, 512, [], \"f628\", \"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 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32zm-144 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32zm199.12 256H232.88c-3.21-5.52-5.39-11.63-6.9-18.01L92.05 375.67c-13.06-2.17-21.91-14.55-19.72-27.62 2.17-13.08 14.53-21.89 27.62-19.72l133.68 22.28C244.9 332.31 264.94 320 288 320c35.35 0 64 28.65 64 64 0 11.72-3.38 22.55-8.88 32zM400 192c0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32-32-14.33-32-32zm80 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTachometerAverage = {\n prefix: 'fas',\n iconName: 'tachometer-average',\n icon: [576, 512, [], \"f629\", \"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-288zm55.12 384H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-26.85 16.56-49.75 40-59.25V128c0-13.25 10.75-24 24-24s24 10.75 24 24v196.75c23.44 9.5 40 32.41 40 59.25 0 11.72-3.38 22.55-8.88 32z\"]\n};\nvar faTachometerFast = {\n prefix: 'fas',\n iconName: 'tachometer-fast',\n icon: [576, 512, [], \"f62a\", \"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-288zm163.2 174.41L342.65 351.14c5.81 9.63 9.35 20.79 9.35 32.86 0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-35.35 28.65-64 64-64 5.65 0 11.02.96 16.24 2.34L412.8 177.59c7.98-10.56 23-12.72 33.61-4.8 10.59 7.96 12.75 23.01 4.79 33.62z\"]\n};\nvar faTachometerFastest = {\n prefix: 'fas',\n iconName: 'tachometer-fastest',\n icon: [576, 512, [], \"f62b\", \"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-288zm195.95 343.67l-133.93 22.32c-1.51 6.37-3.69 12.48-6.9 18.01H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-35.35 28.65-64 64-64 23.06 0 43.1 12.31 54.37 30.61l133.68-22.28c13.09-2.17 25.45 6.64 27.62 19.72 2.19 13.07-6.65 25.45-19.72 27.62z\"]\n};\nvar faTachometerSlow = {\n prefix: 'fas',\n iconName: 'tachometer-slow',\n icon: [576, 512, [], \"f62c\", \"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-288zm55.12 384H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-12.07 3.54-23.23 9.35-32.86L124.8 206.41c-7.95-10.61-5.8-25.66 4.8-33.61 10.64-7.92 25.66-5.77 33.61 4.8l108.56 144.74c5.21-1.37 10.59-2.34 16.24-2.34 35.35 0 64 28.65 64 64-.01 11.72-3.39 22.55-8.89 32z\"]\n};\nvar faTachometerSlowest = {\n prefix: 'fas',\n iconName: 'tachometer-slowest',\n icon: [576, 512, [], \"f62d\", \"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-288zm55.12 384H232.88c-3.21-5.52-5.39-11.63-6.9-18.01L92.05 375.67c-13.06-2.17-21.91-14.55-19.72-27.62 2.17-13.08 14.53-21.89 27.62-19.72l133.68 22.28C244.9 332.31 264.94 320 288 320c35.35 0 64 28.65 64 64 0 11.72-3.38 22.55-8.88 32z\"]\n};\nvar faTaco = {\n prefix: 'fas',\n iconName: 'taco',\n icon: [512, 512, [], \"f826\", \"M256 192C125.82 192 18.14 299.4.32 439.08-2.43 460.66 13 480 32.56 480h446.88c19.56 0 35-19.34 32.24-40.92C493.86 299.4 386.18 192 256 192zM112 416a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm64-64a16 16 0 1 1 16-16 16 16 0 0 1-16 16zM7.33 279.48a129 129 0 0 1 4.53 28.14C64 218.51 154.91 160 256 160s192 58.52 244.14 147.64a128.36 128.36 0 0 1 4.53-28.09c0-.09.05-.18.08-.26 5.14-17.32 11-36.94 4.16-55-7.15-19.06-24.76-29.36-40.31-38.46-9.49-5.54-19.32-11.29-23.71-17.53-4.74-6.69-7.33-18.51-9.83-30-3.95-18.08-8.44-38.58-23.64-50.64-15.69-12.45-36-11-54-9.81-10.79.76-22 1.5-29.18-1.1-6.93-2.51-15.12-10.14-23-17.51-29.05-27.07-50.66-44.51-98.38-.05-7.92 7.37-16.11 15-23 17.51-7.22 2.6-18.39 1.86-29.18 1.1-18-1.24-38.32-2.64-54 9.81-15.2 12.06-19.69 32.56-23.64 50.64-2.5 11.46-5.09 23.28-9.83 30-4.39 6.24-14.22 12-23.71 17.53-15.55 9.1-33.16 19.39-40.31 38.46-6.81 18.08-1 37.7 4.16 55-.07.07-.05.16-.02.24z\"]\n};\nvar faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [512, 512, [], \"f02b\", \"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};\nvar faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [640, 512, [], \"f02c\", \"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};\nvar faTally = {\n prefix: 'fas',\n iconName: 'tally',\n icon: [640, 512, [], \"f69c\", \"M639.21 169.49l-9.89-30.43c-2.73-8.4-11.75-13-20.16-10.27L544 149.88V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v122.59l-64 20.71V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v164.01l-64 20.71V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v205.43l-64 20.71V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v246.86l-84.94 27.49C2.65 325.08-1.95 334.11.79 342.51l9.89 30.43c2.73 8.4 11.76 13 20.16 10.27L96 362.13V464c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V341.41l64-20.71V464c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V299.99l64-20.71V464c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V258.57l64-20.71V464c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V217.14l84.94-27.49c8.4-2.73 13.01-11.75 10.27-20.16z\"]\n};\nvar faTanakh = {\n prefix: 'fas',\n iconName: 'tanakh',\n icon: [448, 512, [], \"f827\", \"M318 139.44h-34.9l17.48 29.19zm-34.86 105.12h34.91l-17.47-29.17zm-59.09 52.07l16.78-28.07h-33.58zM130 244.56h34.9l-17.48-29.19zm34.89-105.12H130l17.47 29.17zM352 0H25.6C9.6 0 0 9.6 0 25.6v332.8q0 14.4 9.6 19.2c3.2 12.8 3.2 57.6 0 73.6Q0 460.8 0 470.4v16c0 16 12.8 25.6 25.6 25.6H352c54.4 0 96-41.6 96-96V96c0-54.4-41.6-96-96-96zM105.41 125.59a20.11 20.11 0 0 1 17.5-10.15h56.3L206.8 69.3a20 20 0 0 1 17.25-9.82 19.66 19.66 0 0 1 17 9.68l27.7 46.28h56.36a20 20 0 0 1 17.14 30.29L314.57 192l27.79 46.43a19.6 19.6 0 0 1 .23 20 20.11 20.11 0 0 1-17.5 10.15h-56.3L241.2 314.7a20 20 0 0 1-17.2 9.82 19.66 19.66 0 0 1-17-9.68l-27.7-46.28h-56.39a20 20 0 0 1-17.14-30.29L133.43 192l-27.79-46.43a19.6 19.6 0 0 1-.23-19.98zM352 448H67.2v-64H352c16 0 32 12.8 32 32s-12.8 32-32 32zM224 87.38l-16.78 28.06h33.58zm-31.12 157.18h62.3L286.59 192l-31.47-52.58h-62.3L161.41 192z\"]\n};\nvar faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [640, 512, [], \"f4db\", \"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};\nvar faTasks = {\n prefix: 'fas',\n iconName: 'tasks',\n icon: [512, 512, [], \"f0ae\", \"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};\nvar faTasksAlt = {\n prefix: 'fas',\n iconName: 'tasks-alt',\n icon: [512, 512, [], \"f828\", \"M488 351H24c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h464c13.3 0 24-10.7 24-24v-80c0-13.3-10.7-24-24-24zm-24 80H289v-32h175v32zm24-240H24c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h464c13.3 0 24-10.7 24-24v-80c0-13.3-10.7-24-24-24zm-24 80H161v-32h303v32zm24-240H24C10.7 31 0 41.7 0 55v80c0 13.3 10.7 24 24 24h464c13.3 0 24-10.7 24-24V55c0-13.3-10.7-24-24-24zm-24 80H353V79h111v32z\"]\n};\nvar faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [], \"f1ba\", \"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};\nvar faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [640, 512, [], \"f62e\", \"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};\nvar faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [640, 512, [], \"f62f\", \"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};\nvar faTelescope = {\n prefix: 'fas',\n iconName: 'telescope',\n icon: [640, 512, [], \"e03e\", \"M380.41991,92.1336,74.29894,241.7427c-8.31835,4.06444-12.27733,13.25583-9.05663,21.02925l8.74413,21.10934L9.881,310.43593a16.00146,16.00146,0,0,0-8.66015,20.90425L21.27748,379.762a16.00055,16.00055,0,0,0,20.90429,8.66014l64.10544-26.55464,8.74219,21.10738c3.21874,7.77343,12.51757,11.47459,21.27147,8.46678l127.0019-43.623c.1875.24219.39258.46875.584.709L216.42,490.93949A16.00034,16.00034,0,0,0,231.5977,512H248.459a15.99985,15.99985,0,0,0,15.17772-10.94139l42.16209-126.49585a71.088,71.088,0,0,0,28.44726,0l42.164,126.49585A15.99986,15.99986,0,0,0,391.58787,512h16.85937a16.00062,16.00062,0,0,0,15.17968-21.06051L376.16014,348.52765a71.2877,71.2877,0,0,0,15.85742-44.52726c0-.13086-.03906-.25-.03906-.38086l66.56637-22.86519ZM320,328.00035a24,24,0,1,1,24-24A24.02622,24.02622,0,0,1,320,328.00035ZM638.77722,216.83064,553.06241,9.88181a15.99768,15.99768,0,0,0-20.90233-8.66014L414.84372,49.81923a15.99966,15.99966,0,0,0-8.65625,20.90426l85.71286,206.94883a16.00055,16.00055,0,0,0,20.90429,8.66014L630.119,237.73489A15.99729,15.99729,0,0,0,638.77722,216.83064Z\"]\n};\nvar faTemperatureDown = {\n prefix: 'fas',\n iconName: 'temperature-down',\n icon: [512, 512, [], \"e03f\", \"M160,322.91V304a16,16,0,0,0-32,0v18.91a48,48,0,1,0,32,0ZM256,112a112,112,0,0,0-224,0V278.5C12.3,303.19,0,334,0,368a144,144,0,0,0,288,0c0-34-12.3-64.91-32-89.5ZM144,448A79.87,79.87,0,0,1,96,304.19V112a48,48,0,0,1,96,0V304.19A79.87,79.87,0,0,1,144,448Zm352-96H448V48a16,16,0,0,0-16-16H400a16,16,0,0,0-16,16V352H336c-14.21,0-21.39,17.25-11.31,27.31l80,96a16,16,0,0,0,22.62,0l80-96C517.34,369.25,510.22,352,496,352Z\"]\n};\nvar faTemperatureFrigid = {\n prefix: 'fas',\n iconName: 'temperature-frigid',\n icon: [576, 512, [], \"f768\", \"M544 278.5V112C544 50.1 493.9 0 432 0S320 50.1 320 112v166.5c-19.7 24.6-32 55.5-32 89.5 0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5zM432 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 80zM268.3 305.4c5.1-13 11.4-25.7 19.7-37.5v-7.2L224.6 224l63.4-36.6v-56.1l-88 50.8v-56.9L240.2 85c4.7-4.7 4.7-12.3 0-17l-8.5-8.5c-4.7-4.7-12.3-4.7-17 0L200 74.3V44c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v30.3l-14.8-14.8c-4.7-4.7-12.3-4.7-17 0l-8.5 8.5c-4.7 4.7-4.7 12.3 0 17l40.2 40.2v56.9L101.6 153l-15-55.7c-1.7-6.5-8.4-10.3-14.9-8.6L60 91.9c-6.5 1.7-10.3 8.4-8.6 14.9l5.5 20.4-26.6-15.3c-5.8-3.4-13.2-1.4-16.6 4.4l-12.1 21c-3.4 5.8-1.4 13.2 4.4 16.6l26.6 15.3-20.4 5.5c-6.5 1.7-10.3 8.4-8.6 14.9l3.1 11.7c1.7 6.5 8.4 10.3 14.9 8.6L77.3 195l50.2 29-50.2 29-55.7-15c-6.5-1.7-13.1 2.1-14.9 8.6l-3.1 11.7c-1.7 6.5 2.1 13.1 8.6 14.9l20.4 5.5-26.5 15.4c-5.8 3.4-7.8 10.8-4.4 16.6l12.1 21c3.4 5.8 10.8 7.8 16.6 4.4L57 320.8l-5.5 20.4c-1.7 6.5 2.1 13.1 8.6 14.9l11.7 3.1c6.5 1.7 13.1-2.1 14.9-8.6l14.9-55.6 50.4-29.1v56.9L111.8 363c-4.7 4.7-4.7 12.3 0 17l8.5 8.5c4.7 4.7 12.3 4.7 17 0l14.8-14.8V404c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-30.3l14.8 14.8c4.7 4.7 12.3 4.7 17 0l8.5-8.5c4.7-4.7 4.7-12.3 0-17L200 322.8v-56.9l68.3 39.5zM448 322.9V304c0-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};\nvar faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"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};\nvar faTemperatureHot = {\n prefix: 'fas',\n iconName: 'temperature-hot',\n icon: [640, 512, [], \"f76a\", \"M352 267.9V112c0-16.9 3.5-33 8.9-48.1L279 91.2 237.6 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.1L91.2 169 8.4 210.4c-11.2 5.6-11.2 21.5 0 27.1L91.2 279l-29.3 87.9c-4 11.9 7.3 23.1 19.2 19.2l87.9-29.3 41.4 82.8c5.6 11.2 21.6 11.2 27.1 0l41.4-82.9 41.1 13.7c0-.8-.1-1.6-.1-2.5.1-35.8 11.1-70.2 32.1-100zm-60.1 24c-37.4 37.4-98.3 37.4-135.8 0s-37.4-98.4 0-135.8c37.4-37.4 98.3-37.4 135.8 0 37.4 37.4 37.4 98.4 0 135.8zM224 160c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm384 118.5V112C608 50.1 557.9 0 496 0S384 50.1 384 112v166.5c-19.7 24.6-32 55.5-32 89.5 0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5zM496 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};\nvar faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"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};\nvar faTemperatureUp = {\n prefix: 'fas',\n iconName: 'temperature-up',\n icon: [512, 512, [], \"e040\", \"M160,322.91V112a16,16,0,0,0-32,0V322.91a48,48,0,1,0,32,0ZM256,112a112,112,0,0,0-224,0V278.5C12.3,303.19,0,334,0,368a144,144,0,0,0,288,0c0-34-12.3-64.91-32-89.5ZM144,448A79.87,79.87,0,0,1,96,304.19V112a48,48,0,0,1,96,0V304.19A79.87,79.87,0,0,1,144,448ZM507.3,132.69l-80-96a16,16,0,0,0-22.63,0l-80,96C314.66,142.75,321.78,160,336,160h48V464a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V160h48C510.19,160,517.36,142.75,507.3,132.69Z\"]\n};\nvar faTenge = {\n prefix: 'fas',\n iconName: 'tenge',\n icon: [384, 512, [], \"f7d7\", \"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};\nvar faTennisBall = {\n prefix: 'fas',\n iconName: 'tennis-ball',\n icon: [496, 512, [], \"f45e\", \"M219 79.1c-.9-27.9 5.6-52.4 18.4-71.1C113.8 13.2 5.8 110.6 0 245.3c18.7-12.9 43.1-19.6 71.1-18.4C150 228.8 221.2 150.3 219 79.1zm207.4 157.8c19.4.4 64.8-3.1 58.7-54.8-11.6-37.2-32-72.3-61.5-101.8S359 30.4 321.8 18.8c-51.7-6-55.4 39.2-54.8 58.7 1.5 47.1-21.6 101.6-58.7 138.7-37.1 37.3-91.3 60.6-138.7 58.8-19.6-.5-64.9 3.1-58.7 55 11.6 37.2 31.9 72.2 61.4 101.7s64.5 49.8 101.7 61.4c51.8 6 55.6-39.1 55-58.7-1.5-47.1 21.6-101.6 58.7-138.7 37.2-37.2 91.9-60.7 138.7-58.8zm-1.5 48.1c-71.5-2.6-150.3 70.4-147.9 147.9.9 27.9-5.6 52.4-18.5 71.1 121-5.1 231.6-100.1 237.4-237.4-18.6 12.8-43.1 19.3-71 18.4z\"]\n};\nvar faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [640, 512, [], \"f120\", \"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};\nvar faText = {\n prefix: 'fas',\n iconName: 'text',\n icon: [448, 512, [], \"f893\", \"M432 32a16 16 0 0 1 16 16v96a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32H264v304h40a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H144a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h40V112H64v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16z\"]\n};\nvar faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"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};\nvar faTextSize = {\n prefix: 'fas',\n iconName: 'text-size',\n icon: [640, 512, [], \"f894\", \"M624 32H272a16 16 0 0 0-16 16v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h88v304h-40a16 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-40V112h88v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM304 224H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h56v128H96a16 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-24V288h56v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16z\"]\n};\nvar faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"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};\nvar faTh = {\n prefix: 'fas',\n iconName: 'th',\n icon: [512, 512, [], \"f00a\", \"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};\nvar faThLarge = {\n prefix: 'fas',\n iconName: 'th-large',\n icon: [512, 512, [], \"f009\", \"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};\nvar faThList = {\n prefix: 'fas',\n iconName: 'th-list',\n icon: [512, 512, [], \"f00b\", \"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};\nvar faTheaterMasks = {\n prefix: 'fas',\n iconName: 'theater-masks',\n icon: [640, 512, [], \"f630\", \"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};\nvar faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"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};\nvar faThermometerEmpty = {\n prefix: 'fas',\n iconName: 'thermometer-empty',\n icon: [256, 512, [], \"f2cb\", \"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};\nvar faThermometerFull = {\n prefix: 'fas',\n iconName: 'thermometer-full',\n icon: [256, 512, [], \"f2c7\", \"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};\nvar faThermometerHalf = {\n prefix: 'fas',\n iconName: 'thermometer-half',\n icon: [256, 512, [], \"f2c9\", \"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};\nvar faThermometerQuarter = {\n prefix: 'fas',\n iconName: 'thermometer-quarter',\n icon: [256, 512, [], \"f2ca\", \"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};\nvar faThermometerThreeQuarters = {\n prefix: 'fas',\n iconName: 'thermometer-three-quarters',\n icon: [256, 512, [], \"f2c8\", \"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};\nvar faTheta = {\n prefix: 'fas',\n iconName: 'theta',\n icon: [384, 512, [], \"f69e\", \"M192 8C84.34 8 0 116.94 0 256s84.34 248 192 248 192-108.94 192-248S299.66 8 192 8zm0 96c41.44 0 77.35 44.41 90.43 104H101.57c13.08-59.59 48.99-104 90.43-104zm0 304c-41.44 0-77.35-44.41-90.43-104h180.86c-13.08 59.59-48.99 104-90.43 104z\"]\n};\nvar faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"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};\nvar faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"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};\nvar faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [], \"f08d\", \"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};\nvar faThunderstorm = {\n prefix: 'fas',\n iconName: 'thunderstorm',\n icon: [512, 512, [], \"f76c\", \"M337 288h-72.1l22.6-77.1c2.5-9.5-4.6-18.9-14.5-18.9h-82c-7.5 0-13.9 5.6-14.9 13l-16 130c-1.2 9 5.8 17 14.9 17h81l-31.6 141.5c-2.2 9.5 5 18.5 14.6 18.5 5.2 0 10.2-2.7 13-7.5l98-194c5.7-10-1.5-22.5-13-22.5zm79-160c-.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 96h32.5l15.9-119.2c3.1-23.3 23.1-40.8 46.6-40.8h85c14.7 0 28.3 6.7 37.3 18.4s11.9 26.5 8.1 40.7L310.5 260H341c16.7 0 32.3 9 40.7 23.5 6.4 11.2 7.8 24.4 4.3 36.5h30c53 0 96-43 96-96s-43-96-96-96z\"]\n};\nvar faThunderstormMoon = {\n prefix: 'fas',\n iconName: 'thunderstorm-moon',\n icon: [576, 512, [], \"f76d\", \"M567.9 223.8c-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.8zM276 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-18zm74.5-110.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 80h16.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.2 8.4 10.9 11.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.2 0 80-35.8 80-80 .1-39.2-28.1-71.7-65.4-78.5z\"]\n};\nvar faThunderstormSun = {\n prefix: 'fas',\n iconName: 'thunderstorm-sun',\n icon: [576, 512, [], \"f76e\", \"M124.1 259.9c-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.2zM436 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-18zm74.5-110.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 80h16.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.2 8.4 10.9 11.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.2 0 80-35.8 80-80 .1-39.2-28.1-71.7-65.4-78.5z\"]\n};\nvar faTicket = {\n prefix: 'fas',\n iconName: 'ticket',\n icon: [576, 512, [], \"f145\", \"M576 208v-96c0-26.51-21.49-48-48-48H48C21.49 64 0 85.49 0 112v96c26.51 0 48 21.49 48 48s-21.49 48-48 48v96c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48v-96c-26.51 0-48-21.49-48-48s21.49-48 48-48z\"]\n};\nvar faTicketAlt = {\n prefix: 'fas',\n iconName: 'ticket-alt',\n icon: [576, 512, [], \"f3ff\", \"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};\nvar faTilde = {\n prefix: 'fas',\n iconName: 'tilde',\n icon: [512, 512, [], \"f69f\", \"M339.54 381.51c-35.52-6.48-66.75-27.68-89.31-55.87l-66.52-83.15C174.33 230.73 160.3 224 145.25 224 118.09 224 96 246.09 96 273.25V321c0 17.67-14.33 32-32 32H32c-17.67 0-32-14.33-32-32v-40.92c0-78.1 58.67-147.33 136.64-151.83 47.6-2.75 92.54 17.39 122.05 54.27l69.59 87c9.39 11.75 23.42 18.48 38.47 18.48 27.16 0 49.25-22.09 49.25-49.25V192c0-17.67 14.33-32 32-32h32c17.67 0 32 14.33 32 32v46.75c0 89-80.45 159.56-172.46 142.76z\"]\n};\nvar faTimes = {\n prefix: 'fas',\n iconName: 'times',\n icon: [352, 512, [], \"f00d\", \"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};\nvar faTimesCircle = {\n prefix: 'fas',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"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};\nvar faTimesHexagon = {\n prefix: 'fas',\n iconName: 'times-hexagon',\n icon: [576, 512, [], \"f2ee\", \"M553.5 231.8c8.7 14.9 8.7 33.4 0 48.4l-112 192c-8.6 14.7-24.4 23.8-41.5 23.8H176c-17.1 0-32.9-9.1-41.5-23.8l-112-192c-8.7-14.9-8.7-33.4 0-48.4l112-192C143.1 25.1 158.9 16 176 16h224c17.1 0 32.9 9.1 41.5 23.8l112 192zM409.6 338c4.7-4.7 4.7-12.3 0-17l-65-65 65.1-65.1c4.7-4.7 4.7-12.3 0-17L370 134.4c-4.7-4.7-12.3-4.7-17 0l-65 65-65.1-65.1c-4.7-4.7-12.3-4.7-17 0L166.4 174c-4.7 4.7-4.7 12.3 0 17l65.1 65.1-65.1 65.1c-4.7 4.7-4.7 12.3 0 17l39.6 39.6c4.7 4.7 12.3 4.7 17 0l65.1-65.1 65.1 65.1c4.7 4.7 12.3 4.7 17 0l39.4-39.8z\"]\n};\nvar faTimesOctagon = {\n prefix: 'fas',\n iconName: 'times-octagon',\n icon: [512, 512, [], \"f2f0\", \"M497.9 150.5c9 9 14.1 21.2 14.1 33.9v143.1c0 12.7-5.1 24.9-14.1 33.9L361.5 497.9c-9 9-21.2 14.1-33.9 14.1H184.5c-12.7 0-24.9-5.1-33.9-14.1L14.1 361.5c-9-9-14.1-21.2-14.1-33.9V184.5c0-12.7 5.1-24.9 14.1-33.9L150.5 14.1c9-9 21.2-14.1 33.9-14.1h143.1c12.7 0 24.9 5.1 33.9 14.1l136.5 136.4zM377.6 338c4.7-4.7 4.7-12.3 0-17l-65-65 65.1-65.1c4.7-4.7 4.7-12.3 0-17L338 134.4c-4.7-4.7-12.3-4.7-17 0l-65 65-65.1-65.1c-4.7-4.7-12.3-4.7-17 0L134.4 174c-4.7 4.7-4.7 12.3 0 17l65.1 65.1-65.1 65.1c-4.7 4.7-4.7 12.3 0 17l39.6 39.6c4.7 4.7 12.3 4.7 17 0l65.1-65.1 65.1 65.1c4.7 4.7 12.3 4.7 17 0l39.4-39.8z\"]\n};\nvar faTimesSquare = {\n prefix: 'fas',\n iconName: 'times-square',\n icon: [448, 512, [], \"f2d3\", \"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-54.4 289.1c4.7 4.7 4.7 12.3 0 17L306 377.6c-4.7 4.7-12.3 4.7-17 0L224 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L102.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 17L280 256l65.6 65.1z\"]\n};\nvar faTint = {\n prefix: 'fas',\n iconName: 'tint',\n icon: [352, 512, [], \"f043\", \"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};\nvar faTintSlash = {\n prefix: 'fas',\n iconName: 'tint-slash',\n icon: [640, 512, [], \"f5c7\", \"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};\nvar faTire = {\n prefix: 'fas',\n iconName: 'tire',\n icon: [512, 512, [], \"f631\", \"M256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm0 448c-105.87 0-192-86.13-192-192S150.13 64 256 64s192 86.13 192 192-86.13 192-192 192zm-80-192c0-17.82 6.03-34.12 15.88-47.41l-48.23-66.38C114.27 171.22 96 211.45 96 256c0 8.87 1.22 17.42 2.61 25.89l77.46-25.17c0-.24-.07-.47-.07-.72zm15 46.36l-77.42 25.15c22.86 45.4 66.32 78.17 118.42 86.07v-81.65c-16.69-5.28-31.04-15.64-41-29.57zM256 176c8.87 0 17.25 1.79 25.22 4.45l47.93-65.97C307.14 103.06 282.51 96 256 96s-51.14 7.06-73.15 18.48l47.93 65.97c7.97-2.66 16.35-4.45 25.22-4.45zm112.35-33.79l-48.23 66.38C329.97 221.88 336 238.18 336 256c0 .25-.07.48-.07.73l77.46 25.17c1.39-8.48 2.61-17.02 2.61-25.89 0-44.56-18.27-84.79-47.65-113.8zM280 331.93v81.65c52.1-7.9 95.55-40.67 118.42-86.07L321 302.36c-9.96 13.93-24.31 24.29-41 29.57zM256 224c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faTireFlat = {\n prefix: 'fas',\n iconName: 'tire-flat',\n icon: [512, 512, [], \"f632\", \"M256 160c-26.51 0-51.14 7.06-73.15 18.48l47.93 65.97c7.97-2.66 16.35-4.45 25.22-4.45s17.25 1.79 25.22 4.45l47.93-65.97C307.14 167.06 282.51 160 256 160zM96 320c0 8.87 1.22 17.42 2.61 25.89l77.46-25.17c0-.25-.07-.48-.07-.73 0-17.82 6.03-34.12 15.88-47.41l-48.23-66.38C114.27 235.22 96 275.45 96 320zm224.12-47.41C329.97 285.88 336 302.18 336 320c0 .25-.07.48-.07.73l77.46 25.17c1.39-8.48 2.61-17.02 2.61-25.89 0-44.55-18.27-84.78-47.65-113.79l-48.23 66.37zM256 288c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm224 160h-2.61C499.3 410.36 512 366.71 512 320c0-141.38-114.62-256-256-256S0 178.62 0 320c0 46.71 12.7 90.36 34.61 128H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h448c17.67 0 32-14.33 32-32s-14.33-32-32-32zm-81.3 0h-47.79a160.175 160.175 0 0 0 47.51-56.49L321 366.36c-9.96 13.94-24.31 24.29-41 29.57V448h-48v-52.07c-16.69-5.28-31.04-15.64-41-29.57l-77.42 25.15A160.175 160.175 0 0 0 161.09 448H113.3C82.76 413.99 64 369.2 64 320c0-105.87 86.13-192 192-192s192 86.13 192 192c0 49.2-18.76 93.99-49.3 128z\"]\n};\nvar faTirePressureWarning = {\n prefix: 'fas',\n iconName: 'tire-pressure-warning',\n icon: [512, 512, [], \"f633\", \"M474.5 141.54C458.33 113.26 448 80.61 448 46.09V17.14C448 7.67 440.84 0 432 0h-32c-8.84 0-16 7.16-16 16v48c0 32 15.23 74.85 34.94 109.31C437.95 206.56 448 244.86 448 284.08c0 41.13-12.75 82.49-35.8 118.12-5.72 8.85-15.95 13.79-26.48 13.79H126.29c-10.53 0-20.76-4.95-26.48-13.79-23.05-35.63-35.8-77-35.8-118.12 0-39.22 10.05-77.53 29.06-110.77C112.77 138.85 128 96 128 64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.67-16 17.14v28.95c0 34.53-10.33 67.17-26.5 95.46C13.76 183.06 0 231.81 0 284.08 0 360.89 32.54 430.22 80 480v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c47.46-49.78 80-119.11 80-195.92 0-52.27-13.76-101.02-37.5-142.54zM246.48 256h19.04c8.22 0 15.1-6.23 15.92-14.41l12.8-128c.94-9.42-6.45-17.59-15.92-17.59h-44.64c-9.47 0-16.86 8.17-15.92 17.59l12.8 128c.82 8.18 7.7 14.41 15.92 14.41zm9.52 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faTireRugged = {\n prefix: 'fas',\n iconName: 'tire-rugged',\n icon: [512, 512, [], \"f634\", \"M480 192h-9.4c-4.43-14.88-10.27-29.15-17.53-42.56l6.58-6.58c12.5-12.5 12.5-32.76 0-45.26L414.4 52.35c-12.5-12.5-32.76-12.5-45.26 0l-6.58 6.58c-13.41-7.27-27.68-13.1-42.56-17.53V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v9.4c-14.88 4.43-29.15 10.27-42.56 17.53l-6.58-6.58c-12.5-12.5-32.76-12.5-45.26 0L52.35 97.61c-12.5 12.5-12.5 32.76 0 45.26l6.58 6.58c-7.27 13.41-13.1 27.68-17.53 42.56H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h9.4c4.43 14.88 10.27 29.15 17.53 42.56l-6.58 6.58c-12.5 12.5-12.5 32.76 0 45.25l45.25 45.26c12.5 12.5 32.76 12.5 45.26 0l6.58-6.58c13.41 7.27 27.68 13.1 42.56 17.53v9.4c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-9.4c14.88-4.43 29.15-10.27 42.56-17.53l6.58 6.58c12.5 12.5 32.76 12.5 45.26 0l45.25-45.26c12.5-12.5 12.5-32.76 0-45.25l-6.58-6.58c7.27-13.41 13.1-27.68 17.53-42.56h9.4c17.67 0 32-14.33 32-32v-64c0-17.68-14.33-32.01-32-32.01zM256 383.98c-70.69 0-128-57.31-128-128s57.31-128 128-128 128 57.31 128 128c0 70.7-57.31 128-128 128zM256 160c-13.25 0-24 10.74-24 24 0 13.25 10.75 24 24 24s24-10.75 24-24c0-13.26-10.75-24-24-24zm0 144c-13.25 0-24 10.74-24 24 0 13.25 10.75 24 24 24s24-10.75 24-24c0-13.26-10.75-24-24-24zm72-72c-13.25 0-24 10.74-24 24 0 13.25 10.75 24 24 24s24-10.75 24-24c0-13.26-10.75-24-24-24zm-144 0c-13.25 0-24 10.74-24 24 0 13.25 10.75 24 24 24s24-10.75 24-24c0-13.26-10.75-24-24-24z\"]\n};\nvar faTired = {\n prefix: 'fas',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"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};\nvar faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"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};\nvar faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"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};\nvar faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [384, 512, [], \"f7d8\", \"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};\nvar faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [576, 512, [], \"f71e\", \"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};\nvar faToiletPaperAlt = {\n prefix: 'fas',\n iconName: 'toilet-paper-alt',\n icon: [576, 512, [], \"f71f\", \"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-192H128zm352 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};\nvar faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"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};\nvar faTombstone = {\n prefix: 'fas',\n iconName: 'tombstone',\n icon: [512, 512, [], \"f720\", \"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-48-256C448 85.96 362.04 0 256 0S64 85.96 64 192v224h384V192zm-96-8c0 8.84-7.16 16-16 16h-56v128c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16V200h-56c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h56v-48c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v48h56c8.84 0 16 7.16 16 16v16z\"]\n};\nvar faTombstoneAlt = {\n prefix: 'fas',\n iconName: 'tombstone-alt',\n icon: [512, 512, [], \"f721\", \"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-48-256C448 85.96 362.04 0 256 0S64 85.96 64 192v224h384V192z\"]\n};\nvar faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [], \"f552\", \"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};\nvar faTools = {\n prefix: 'fas',\n iconName: 'tools',\n icon: [512, 512, [], \"f7d9\", \"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};\nvar faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [], \"f5c9\", \"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};\nvar faToothbrush = {\n prefix: 'fas',\n iconName: 'toothbrush',\n icon: [640, 512, [], \"f635\", \"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-16zM64 416V232c0-4.42-3.58-8-8-8H40c-4.42 0-8 3.58-8 8v184h32zm64 0V232c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v184h32zm64 0V232c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v184h32zm64 0V232c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v184h32zm64 0V232c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v184h32zm64 0V232c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v184h32zm32 0h32V232c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v184zM64 192h352c35.35 0 64-28.65 64-64C480 57.31 422.69 0 352 0c23.62 23.62 6.89 64-26.51 64H64C28.65 64 0 92.65 0 128s28.65 64 64 64z\"]\n};\nvar faTorah = {\n prefix: 'fas',\n iconName: 'torah',\n icon: [640, 512, [], \"f6a0\", \"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};\nvar faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [], \"f6a1\", \"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};\nvar faTornado = {\n prefix: 'fas',\n iconName: 'tornado',\n icon: [512, 512, [], \"f76f\", \"M393.8 96H12.2c9.7 34.2 24.5 62.1 42.7 85.3h349.8c-14.1-23.1-20.6-50.2-10.9-85.3zm35.4-70.8c7.4-10.6 0-25.2-12.9-25.2H16.1C7.1 0-.3 7.6 0 16.5c.6 17 2.5 32.6 5.1 47.5h401.1c5.9-12.1 13.3-24.9 23-38.8zM299 330.7c33 20.5 54.4 45.8 53.3 85.3h125.5c25.1-34.4 34.7-62 34.1-85.3H299zm130.9-117.4h-345c45.1 40.4 101 63.6 150.1 85.3h269.4c-14.5-32.1-47.4-56.9-74.5-85.3zm-98.1 275.8c-5 10.6 2.7 22.9 14.4 22.9h27.4c7.9 0 15.8-3 21.7-8.3 22.7-20.3 41-38.6 56.4-55.7H347.4c-3.4 12.5-8.4 26.1-15.6 41.1z\"]\n};\nvar faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [], \"f722\", \"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};\nvar faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [], \"f25c\", \"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};\nvar faTrafficCone = {\n prefix: 'fas',\n iconName: 'traffic-cone',\n icon: [512, 512, [], \"f636\", \"M362.12 192H149.88l-38.21 96h288.65l-38.2-96zM289.73 10.08A16.01 16.01 0 0 0 274.86 0h-37.72a16.01 16.01 0 0 0-14.87 10.08L175.35 128h161.3L289.73 10.08zM496 448h-32l-38.21-96H86.21L48 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-16z\"]\n};\nvar faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [384, 512, [], \"f637\", \"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};\nvar faTrafficLightGo = {\n prefix: 'fas',\n iconName: 'traffic-light-go',\n icon: [384, 512, [], \"f638\", \"M192 208c-17.64 0-32 14.36-32 32s14.36 32 32 32 32-14.36 32-32-14.36-32-32-32zm0-128c-17.64 0-32 14.36-32 32s14.36 32 32 32 32-14.36 32-32-14.36-32-32-32zm192 112h-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};\nvar faTrafficLightSlow = {\n prefix: 'fas',\n iconName: 'traffic-light-slow',\n icon: [384, 512, [], \"f639\", \"M192 336c-17.64 0-32 14.36-32 32s14.36 32 32 32 32-14.36 32-32-14.36-32-32-32zm192-144h-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 48zm0-80c-17.64 0-32 14.36-32 32s14.36 32 32 32 32-14.36 32-32-14.36-32-32-32z\"]\n};\nvar faTrafficLightStop = {\n prefix: 'fas',\n iconName: 'traffic-light-stop',\n icon: [384, 512, [], \"f63a\", \"M192 336c-17.64 0-32 14.36-32 32s14.36 32 32 32 32-14.36 32-32-14.36-32-32-32zm0-128c-17.64 0-32 14.36-32 32s14.36 32 32 32 32-14.36 32-32-14.36-32-32-32zm192-16h-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};\nvar faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"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};\nvar faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [], \"f238\", \"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};\nvar faTram = {\n prefix: 'fas',\n iconName: 'tram',\n icon: [512, 512, [], \"f7da\", \"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};\nvar faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [384, 512, [], \"f224\", \"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};\nvar faTransgenderAlt = {\n prefix: 'fas',\n iconName: 'transgender-alt',\n icon: [480, 512, [], \"f225\", \"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};\nvar faTransporter = {\n prefix: 'fas',\n iconName: 'transporter',\n icon: [512, 512, [], \"e042\", \"M384.00049,448H327.999V238.7793l31.42272,37.70508a31.99572,31.99572,0,0,0,49.15756-40.96876l-70.39251-84.48437A63.843,63.843,0,0,0,289.01358,128h-66.033A63.7877,63.7877,0,0,0,173.823,151.03125l-70.40813,84.48437a31.99572,31.99572,0,0,0,49.15756,40.96876l31.42272-37.70508V448h-56.0015A31.99951,31.99951,0,0,0,95.9928,480v32H416.00134V480A31.99951,31.99951,0,0,0,384.00049,448Zm-120.00321,0H247.99686V320h16.00042ZM255.958,96l.01953-.00195L255.99707,96a48,48,0,1,0,0-96l-.01953.002L255.958,0a48,48,0,1,0,0,96ZM509.789,44.43164,480.005,32.01172,467.58475,2.22656a3.99471,3.99471,0,0,0-7.15644,0L448.00806,32.01172l-29.784,12.41992a3.99921,3.99921,0,0,0,0,7.1543l29.784,12.41992L460.42831,93.791a3.99628,3.99628,0,0,0,7.15644,0L480.005,64.00586l29.784-12.41992a3.99921,3.99921,0,0,0,0-7.1543ZM63.99194,96,51.57169,66.21484a3.99313,3.99313,0,0,0-7.15449,0L31.997,96,2.211,108.41992a3.99921,3.99921,0,0,0,0,7.1543l29.786,12.41992L44.4172,157.7793a3.9947,3.9947,0,0,0,7.15449,0l12.42025-29.78516,29.786-12.41992a4.00079,4.00079,0,0,0,0-7.1543Z\"]\n};\nvar faTransporter1 = {\n prefix: 'fas',\n iconName: 'transporter-1',\n icon: [512, 512, [], \"e043\", \"M263.99728,416H327.999V384H263.99728ZM152.57243,276.48438l31.42272-37.70508V352h64.00171V320h16.00042v32H327.999V238.7793l31.42272,37.70508a31.99572,31.99572,0,0,0,49.15756-40.96876l-70.39251-84.48437A63.843,63.843,0,0,0,289.01358,128h-66.033A63.7877,63.7877,0,0,0,173.823,151.03125l-70.40813,84.48437a31.99572,31.99572,0,0,0,49.15756,40.96876ZM255.958,96l.01953-.00195L255.99707,96a48,48,0,1,0,0-96l-.01953.002L255.958,0a48,48,0,1,0,0,96ZM183.99515,416h64.00171V384H183.99515ZM509.789,364.41992,480.005,352l-12.42026-29.78516a3.99471,3.99471,0,0,0-7.15644,0L448.00806,352l-29.784,12.41992a3.99921,3.99921,0,0,0,0,7.1543l29.784,12.41992,12.42025,29.78516a3.99628,3.99628,0,0,0,7.15644,0L480.005,383.99414l29.784-12.41992a3.99921,3.99921,0,0,0,0-7.1543ZM63.99194,128.002,51.57169,98.21875a3.99313,3.99313,0,0,0-7.15449,0L31.997,128.002,2.211,140.42188a4.00078,4.00078,0,0,0,0,7.15624l29.786,12.41993,12.42025,29.7832a3.99313,3.99313,0,0,0,7.15449,0l12.42025-29.7832,29.786-12.41993a4.00236,4.00236,0,0,0,0-7.15624ZM384.00049,448H127.99365A31.99951,31.99951,0,0,0,95.9928,480v32H416.00134V480A31.99951,31.99951,0,0,0,384.00049,448Z\"]\n};\nvar faTransporter2 = {\n prefix: 'fas',\n iconName: 'transporter-2',\n icon: [512, 512, [], \"e044\", \"M328.00024,320h-64.002v32h64.002Zm-64.002,96h64.002V384h-64.002ZM255.959,96l.01953-.00195L255.99805,96a48,48,0,1,0,0-96l-.01954.002L255.959,0a48,48,0,1,0,0,96Zm72.04126,160H183.99585v32H328.00024Zm31.42284,20.48438a31.98515,31.98515,0,0,0,45.06387,4.09374A31.45531,31.45531,0,0,0,415.57323,256h-73.221Zm-21.235-125.45313A63.84341,63.84341,0,0,0,289.01468,128H222.98141a63.78806,63.78806,0,0,0-49.15775,23.03125L113.01321,224H398.98679ZM384.002,448H127.99414a31.99957,31.99957,0,0,0-32.001,32v32H416.00293V480A31.99957,31.99957,0,0,0,384.002,448ZM247.9978,320h-64.002v32h64.002ZM152.573,276.48438,169.64385,256h-73.221a31.45534,31.45534,0,0,0,11.08628,24.57812A32.00632,32.00632,0,0,0,152.573,276.48438ZM183.99585,416h64.002V384h-64.002ZM509.791,140.416l-29.78607-12.41993-12.4203-29.7832a3.99315,3.99315,0,0,0-7.15451,0l-12.4203,29.7832L418.2237,140.416a4.00079,4.00079,0,0,0,0,7.15625l29.78607,12.41992,12.4203,29.7832a3.99315,3.99315,0,0,0,7.15451,0l12.4203-29.7832L509.791,147.57227a4.00237,4.00237,0,0,0,0-7.15625ZM63.99023,32.002,51.56993,2.21875a3.99315,3.99315,0,0,0-7.15451,0L31.99512,32.002,2.20905,44.42188a4.00078,4.00078,0,0,0,0,7.15429L31.99512,63.99609l12.4203,29.78516a3.99315,3.99315,0,0,0,7.15451,0l12.4203-29.78516L93.7763,51.57617a3.99921,3.99921,0,0,0,0-7.15429Z\"]\n};\nvar faTransporter3 = {\n prefix: 'fas',\n iconName: 'transporter-3',\n icon: [512, 512, [], \"e045\", \"M372.32386,192H139.68l-26.66683,32H398.98679ZM263.99829,416h64.002V384h-64.002Zm64.002-96h-64.002v32h64.002Zm31.42284-43.51562a31.98515,31.98515,0,0,0,45.06387,4.09374A31.45531,31.45531,0,0,0,415.57323,256h-73.221ZM255.99805,0l-.01954.002L255.959,0a47.95186,47.95186,0,0,0-45.0502,32h90.13947A47.95186,47.95186,0,0,0,255.99805,0ZM255.959,96l.01953-.00195L255.99805,96a47.87741,47.87741,0,0,0,45.06-32H210.899A47.87741,47.87741,0,0,0,255.959,96Zm82.22908,55.03125A63.84341,63.84341,0,0,0,289.01468,128H222.98141a63.78806,63.78806,0,0,0-49.15775,23.03125L166.34883,160H345.66094ZM247.9978,320h-64.002v32h64.002ZM152.573,276.48438,169.64385,256h-73.221a31.45534,31.45534,0,0,0,11.08628,24.57812A32.00632,32.00632,0,0,0,152.573,276.48438ZM384.002,448H127.99414a31.99957,31.99957,0,0,0-32.001,32v32H416.00293V480A31.99957,31.99957,0,0,0,384.002,448ZM328.00024,256H183.99585v32H328.00024ZM183.99585,416h64.002V384h-64.002ZM509.791,44.43164,480.00488,32.01172,467.58458,2.22656a3.99315,3.99315,0,0,0-7.15451,0l-12.4203,29.78516L418.2237,44.43164a3.99921,3.99921,0,0,0,0,7.1543l29.78607,12.41992L460.43007,93.791a3.99472,3.99472,0,0,0,7.15451,0l12.4203-29.78516L509.791,51.58594a4.00079,4.00079,0,0,0,0-7.1543ZM63.99023,352.00391,51.56993,322.2207a3.99315,3.99315,0,0,0-7.15451,0l-12.4203,29.78321L2.20905,364.42383a4.00237,4.00237,0,0,0,0,7.15625L31.99512,384l12.4203,29.7832a3.99315,3.99315,0,0,0,7.15451,0L63.99023,384,93.7763,371.58008a4.00079,4.00079,0,0,0,0-7.15625Z\"]\n};\nvar faTransporterEmpty = {\n prefix: 'fas',\n iconName: 'transporter-empty',\n icon: [512, 512, [], \"e046\", \"M384.002,447.99976H127.99414a31.99963,31.99963,0,0,0-32.001,32.00012V512H416.00293V479.99988A31.99963,31.99963,0,0,0,384.002,447.99976ZM509.791,268.419l-29.78607-12.42-12.4203-29.78527a3.99315,3.99315,0,0,0-7.15451,0L448.00977,255.999l-29.78607,12.42a3.99924,3.99924,0,0,0,0,7.15433l29.78607,12.42,12.4203,29.78527a3.99471,3.99471,0,0,0,7.15451,0l12.4203-29.78527,29.78607-12.42a4.00082,4.00082,0,0,0,0-7.15433ZM63.99023,32.00208,51.56993,2.21876a3.99314,3.99314,0,0,0-7.15451,0L31.99512,32.00208,2.20905,44.422a4.0024,4.0024,0,0,0,0,7.15628l29.78607,12.42,12.4203,29.78332a3.99314,3.99314,0,0,0,7.15451,0l12.4203-29.78332,29.78607-12.42a4.00082,4.00082,0,0,0,0-7.15628Z\"]\n};\nvar faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"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};\nvar faTrashAlt = {\n prefix: 'fas',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"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};\nvar faTrashRestore = {\n prefix: 'fas',\n iconName: 'trash-restore',\n icon: [448, 512, [], \"f829\", \"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};\nvar faTrashRestoreAlt = {\n prefix: 'fas',\n iconName: 'trash-restore-alt',\n icon: [448, 512, [], \"f82a\", \"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};\nvar faTrashUndo = {\n prefix: 'fas',\n iconName: 'trash-undo',\n icon: [448, 512, [], \"f895\", \"M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm47.18-189.47l84-81.59c8.84-8.59 23.61-2.24 23.61 10.47v41.67c82.47.8 144 18.36 144 103.92 0 34.29-20.14 68.26-42.41 86-6.95 5.54-16.85-1.41-14.29-10.4 23.08-80.93-6.55-101.74-87.3-102.72v44.69c0 12.69-14.76 19.07-23.61 10.47l-84-81.59a14.7 14.7 0 0 1 0-20.92zM432 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};\nvar faTrashUndoAlt = {\n prefix: 'fas',\n iconName: 'trash-undo-alt',\n icon: [448, 512, [], \"f896\", \"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-16zM32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm68.38-186.47l84-81.59c8.84-8.59 23.61-2.24 23.61 10.47v41.67c82.47.8 144 18.36 144 103.92 0 34.29-20.14 68.26-42.41 86-6.95 5.54-16.85-1.41-14.29-10.4 23.08-80.93-6.55-101.74-87.3-102.72v44.69c0 12.69-14.76 19.07-23.61 10.47l-84-81.59a14.7 14.7 0 0 1 0-20.92z\"]\n};\nvar faTreasureChest = {\n prefix: 'fas',\n iconName: 'treasure-chest',\n icon: [576, 512, [], \"f723\", \"M0 448c0 17.67 14.33 32 32 32h64V288H0v160zm0-320v128h96V32C42.98 32 0 74.98 0 128zm352 208c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48h-96v192h320V288h-96v48zm128 144h64c17.67 0 32-14.33 32-32V288h-96v192zM128 256h96v-48c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v48h96V32H128v224zM480 32v224h96V128c0-53.02-42.98-96-96-96zM304 304v-64c0-8.84-7.16-16-16-16s-16 7.16-16 16v64c0 8.84 7.16 16 16 16s16-7.16 16-16z\"]\n};\nvar faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [384, 512, [], \"f1bb\", \"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};\nvar faTreeAlt = {\n prefix: 'fas',\n iconName: 'tree-alt',\n icon: [512, 512, [], \"f400\", \"M496 235c-10.67-16-25-27.67-43-35h1c8.67-16 11.83-32.5 9.5-49.5s-9.17-31.67-20.5-44S417.83 86 401.5 82s-32.83-2.33-49.5 5c-2.67-24.67-13.17-45.33-31.5-62S280.67 0 256 0s-46.17 8.33-64.5 25-28.83 37.33-31.5 62c-16.67-7.33-33.17-9-49.5-5S80.33 94.17 69 106.5s-18.17 27-20.5 44S49.67 184 59 200c-18 7.33-32.33 19-43 35S0 268.67 0 288c0 26.67 9.33 49.33 28 68s41.33 28 68 28h128v56.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.16L288 440.45V384h128c26.67 0 49.33-9.33 68-28s28-41.33 28-68c0-19.33-5.33-37-16-53z\"]\n};\nvar faTreeChristmas = {\n prefix: 'fas',\n iconName: 'tree-christmas',\n icon: [448, 512, [], \"f7db\", \"M224 160l26.7-53.3L304 80l-53.3-26.7L224 0l-26.7 53.3L144 80l53.3 26.7L224 160zm215.6 295.6L349.8 352h36c25.6 0 39.5-26.3 23.2-43.5L262.8 154 224 208l-38.8-54L39 308.5C22.7 325.7 36.6 352 62.2 352h36L8.4 455.6c-19 21.9-3.8 56.4 24.7 56.4h381.7c28.6 0 43.7-34.6 24.8-56.4zM160 312c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm128 128c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"]\n};\nvar faTreeDecorated = {\n prefix: 'fas',\n iconName: 'tree-decorated',\n icon: [448, 512, [], \"f7dc\", \"M439.6 455.6L349.8 352h36c25.6 0 39.5-29.2 23.2-48.5L314.1 192h44.8c21.3 0 32.9-22.5 19.3-37.3L243.3 8.2c-10-10.9-28.6-10.9-38.6 0L69.9 154.7c-13.6 14.8-2 37.3 19.3 37.3H134L39 303.5C22.7 322.8 36.6 352 62.2 352h36L8.4 455.6c-19 21.9-3.8 56.4 24.7 56.4h381.7c28.6 0 43.7-34.6 24.8-56.4zM160 312c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm72-152c0-13.3 10.7-24 24-24s24 10.7 24 24-10.7 24-24 24-24-10.7-24-24zm56 280c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"]\n};\nvar faTreeLarge = {\n prefix: 'fas',\n iconName: 'tree-large',\n icon: [448, 512, [], \"f7dd\", \"M439.6 455.6L349.8 352h36c25.6 0 39.5-29.2 23.2-48.5L314.1 192h44.8c21.3 0 32.9-22.5 19.3-37.3L243.3 8.2c-10-10.9-28.6-10.9-38.6 0L69.9 154.7c-13.6 14.8-2 37.3 19.3 37.3H134L39 303.5C22.7 322.8 36.6 352 62.2 352h36L8.4 455.6c-19 21.9-3.8 56.4 24.7 56.4h381.7c28.6 0 43.7-34.6 24.8-56.4z\"]\n};\nvar faTreePalm = {\n prefix: 'fas',\n iconName: 'tree-palm',\n icon: [640, 512, [], \"f82b\", \"M448.76 64c-39.43 0-75.06 11.74-103 30.5C327.14 40.17 265.37 0 191.24 0c-80.62 0-147.37 47.24-159 108.86C30.39 118.79 38.75 128 50 128h54l24-48 33.46 66.92c-3.53 3.07-7.28 5.69-10.66 9.07C93.8 213 80 293.6 115.37 345.38c5.7 8.34 18.12 8.94 26.07 1l146.13-146.14c10.72 104.75-11.42 215-25.85 272.15C256.64 492.52 272 512 292.8 512h55.13c15.75 0 29.67-11.37 31.71-27 14.79-113.47-11.57-236.34-26.41-293H488l24-48 24 48h54c11.25 0 19.61-9.21 17.74-19.14C596.13 111.24 529.38 64 448.76 64z\"]\n};\nvar faTrees = {\n prefix: 'fas',\n iconName: 'trees',\n icon: [640, 512, [], \"f724\", \"M298.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.39 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.87c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26L298.42 288zm335.89 90.49L554.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L524.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L459.66 4.83c-6.03-6.45-17.28-6.45-23.32 0l-95.06 101.26c11.09 15.37 13.97 35.3 6.34 52.96-4 9.27-10.38 17.03-18.26 22.68l41.54 48.32c13.93 16.25 17.04 39.23 7.94 58.52-4.19 8.89-10.46 16.24-18.11 21.58l41.62 47.15c8.65 9.8 13.34 14.15 13.65 26.69v56.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.16L480 440.45V416h136.87c9.01 0 17.26-5.2 21.01-13.25 3.79-8.17 2.43-17.47-3.57-24.26z\"]\n};\nvar faTriangle = {\n prefix: 'fas',\n iconName: 'triangle',\n icon: [576, 512, [], \"f2ec\", \"M329.6 24c-18.4-32-64.7-32-83.2 0L6.5 440c-18.4 31.9 4.6 72 41.6 72H528c36.9 0 60-40 41.6-72l-240-416z\"]\n};\nvar faTriangleMusic = {\n prefix: 'fas',\n iconName: 'triangle-music',\n icon: [512, 512, [], \"f8e2\", \"M497.81 368.09l-80.48-130.24-46.49 46.5 72.55 117.4a29 29 0 0 1 .69 30A31.73 31.73 0 0 1 415.87 448H96.13a31.73 31.73 0 0 1-28.21-16.23 29 29 0 0 1 .69-30l159.87-258.7c8.4-13.6 22.05-15.07 27.52-15.07s19.12 1.47 27.52 15.05l44.11 71.37-53 53a56.85 56.85 0 1 0 33.92 33.94l198.7-198.74a16 16 0 0 0 0-22.62l-11.31-11.31a16 16 0 0 0-22.62 0l-99.21 99.23L338 109.39c-11.72-19-29.55-32.22-50-39.34V16a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v54.05c-20.41 7.12-38.24 20.37-50 39.34L14.19 368.09A92.48 92.48 0 0 0 12 462.92 96.17 96.17 0 0 0 96.13 512h319.74A96.17 96.17 0 0 0 500 462.92a92.48 92.48 0 0 0-2.19-94.83z\"]\n};\nvar faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [], \"f091\", \"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};\nvar faTrophyAlt = {\n prefix: 'fas',\n iconName: 'trophy-alt',\n icon: [576, 512, [], \"f2eb\", \"M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 66.5 77.9 131.7 171.9 142.4C203.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.6C498.4 275.6 576 210.3 576 144V88c0-13.3-10.7-24-24-24zM64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-47.5-16.4-77-49.9-77-70.2zm448 0c0 20.2-29.4 53.8-77 70.2 7-25 11.8-53.6 12.8-86.2H512v16zm-127.3 4.7l-39.6 38.6 9.4 54.6c1.7 9.8-8.7 17.2-17.4 12.6l-49-25.8-49 25.8c-8.8 4.6-19.1-2.9-17.4-12.6l9.4-54.6-39.6-38.6c-7.1-6.9-3.2-19 6.7-20.5l54.8-8 24.5-49.6c4.4-8.9 17.1-8.9 21.5 0l24.5 49.6 54.8 8c9.6 1.5 13.5 13.6 6.4 20.5z\"]\n};\nvar faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [], \"f0d1\", \"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};\nvar faTruckContainer = {\n prefix: 'fas',\n iconName: 'truck-container',\n icon: [640, 512, [], \"f4dc\", \"M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H464c-17.7 0-32 14.3-32 32v144H32c-17.7 0-32 14.3-32 32v27.8c0 40.8 28.7 78.1 69.1 83.5 30.7 4.1 58.3-9.5 74.9-31.7 18.4 24.7 50.4 38.7 85.3 29.7 25.2-6.5 46.1-26.2 54.4-50.8 4.9-14.8 5.4-29.2 2.8-42.4h163.2c-2.7 13.2-2.2 27.6 2.8 42.4 8.4 25.1 29.9 44.9 55.6 51.1 52.8 12.8 100-26.9 100-77.6 0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17.1-6.7-33.3-18.7-45.3zM80 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 32zm320 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm-48-176v-48h37.5c4.2 0 8.3 1.7 11.3 4.7l43.3 43.3H480zM32 304h336c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v208c0 17.7 14.3 32 32 32zM304 80h32v176h-32V80zm-80 0h32v176h-32V80zm-80 0h32v176h-32V80zm-80 0h32v176H64V80z\"]\n};\nvar faTruckCouch = {\n prefix: 'fas',\n iconName: 'truck-couch',\n icon: [640, 512, [], \"f4dd\", \"M24.1 400L320 320.7v-122c-8.3-4-18-5.6-27.6-3.1-21.3 5.7-34 27.7-28.3 49l6.2 23.2-185.4 49.7-6.2-23.2C73 273 51 260.3 29.7 266c-21.3 5.7-34 27.7-28.3 49l22.7 85zm-2.7-164.9c39.6-10.6 73.7 13.4 85.5 43.4L232 245c-5.4-35.7 16.5-70.7 52.2-80.2 2.6-.7 5.3-.7 8-1.1-9.9-36.9-45.9-55.1-78.7-46.3L58.9 158.8c-32.8 8.8-54.8 42.6-45.1 79.1 2.5-1 5-2.1 7.6-2.8zM384 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};\nvar faTruckLoading = {\n prefix: 'fas',\n iconName: 'truck-loading',\n icon: [640, 512, [], \"f4de\", \"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};\nvar faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"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};\nvar faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"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};\nvar faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [], \"f63c\", \"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};\nvar faTruckPlow = {\n prefix: 'fas',\n iconName: 'truck-plow',\n icon: [640, 512, [], \"f7de\", \"M598.6 393.4c-14.5-14.5-22.6-34.1-22.6-54.6V237.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-32v-64c0-17.7-14.3-32-32-32h-45.9l-82-136.7C311.5 40.9 295.7 32 278.9 32H168c-22.1 0-40 17.9-40 40v120H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h5.9c-3.6 10.1-5.9 20.7-5.9 32 0 53 43 96 96 96s96-43 96-96c0-11.3-2.3-21.9-5.9-32h75.8c-3.6 10.1-5.9 20.7-5.9 32 0 53 43 96 96 96s96-43 96-96c0-11.3-2.3-21.9-5.9-32h39.2c3.1 32.6 16.7 63.3 40.1 86.6l36.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 96h77.9l57.6 96H192V96zm-32 288c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32zm224 32c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"]\n};\nvar faTruckRamp = {\n prefix: 'fas',\n iconName: 'truck-ramp',\n icon: [640, 512, [], \"f4e0\", \"M384 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};\nvar faTrumpet = {\n prefix: 'fas',\n iconName: 'trumpet',\n icon: [640, 512, [], \"f8e3\", \"M624 64a16.27 16.27 0 0 0-13 6.67 555.44 555.44 0 0 1-66.19 71.68c-15.38 13-32.93 25.66-52.54 36-5.55 2.94-25.75 13.6-60 13.63H400V160a16 16 0 0 0-16-16h-16a16 16 0 0 0-16 16v32h-40v-32a16 16 0 0 0-16-16h-16a16 16 0 0 0-16 16v32h-40v-32a16 16 0 0 0-16-16h-16a16 16 0 0 0-16 16v32H48a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h16a16 16 0 0 0 16-16h33.81C70.78 274.9 64 296.58 64 320a128.14 128.14 0 0 0 128 128h224a96.1 96.1 0 0 0 96-96v-31.43a251.78 251.78 0 0 0-34.67-22.65c-8.63-4.55-18.76-7-29.33-8.41V352a32 32 0 0 1-32 32h-16V256h32c34.48 0 54.66 10.66 60.27 13.62a294.39 294.39 0 0 1 49.17 33.28c39.49 34.65 69.09 73.78 69.25 74A16 16 0 0 0 624 384c12.09 0 16-10.94 16-16V80c0-12-10.81-16-16-16zM176 381.73a63.69 63.69 0 0 1 0-123.46zm88 2.27h-40V256h40zm88 0h-40V256h40z\"]\n};\nvar faTshirt = {\n prefix: 'fas',\n iconName: 'tshirt',\n icon: [640, 512, [], \"f553\", \"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};\nvar faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [], \"f1e4\", \"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};\nvar faTurkey = {\n prefix: 'fas',\n iconName: 'turkey',\n icon: [640, 512, [], \"f725\", \"M596.39 83.63A52.25 52.25 0 0 0 572.46 85a51.78 51.78 0 0 0 10.25-36.3c-2-20.79-16.24-39.48-36.09-46a53.11 53.11 0 0 0-69 41.13 52.26 52.26 0 0 0 .43 20.88c3.53 15.67-1.36 32-14.57 41.19-15.48 10.73-24.23 17.61-48.07 28C377 110.67 333.83 96 288 96 128.94 96 0 269.13 0 384s128.94 128 288 128 288-13.12 288-128c0-50-24.54-110.94-65.24-163.91a193.68 193.68 0 0 0-61 90.2c-19.05 58.14-68.12 99.33-125 104.93q-8 .78-15.7.78c-49.36 0-93.81-23-121.94-63a148 148 0 0 1-23.87-55.58 8 8 0 0 1 7.94-9.42h16.43a8 8 0 0 1 7.71 6.28C207.22 344.46 251.64 384 309.05 384q6.19 0 12.56-.62c45.84-4.51 83.33-39.06 97.74-83.05 20.72-63.26 63.07-101.22 90.64-120.41 14.76-10.27 33.47-8.35 48.61 1.35a52.93 52.93 0 0 0 30.26 8.26c20.9-.57 40.12-14.38 47.52-33.94 12.22-32.3-7.86-66.09-39.99-71.96z\"]\n};\nvar faTurntable = {\n prefix: 'fas',\n iconName: 'turntable',\n icon: [576, 512, [], \"f8e4\", \"M224 224a32 32 0 1 0 32 32 32 32 0 0 0-32-32zM512 32H64A64 64 0 0 0 0 96v320a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V96a64 64 0 0 0-64-64zM224 416a160 160 0 1 1 160-160 160 160 0 0 1-160 160zm288-148.18a64 64 0 0 1-6.76 28.63l-18.93 37.86a16 16 0 0 1 7.16 21.46l-25.69 51.38a16 16 0 0 1-21.47 7.16L417.69 400a16 16 0 0 1-7.16-21.46l25.69-51.38a16 16 0 0 1 21.47-7.16l18.93-37.87a32 32 0 0 0 3.38-14.32V104a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8z\"]\n};\nvar faTurtle = {\n prefix: 'fas',\n iconName: 'turtle',\n icon: [576, 512, [], \"f726\", \"M68.25 256h279.51c23.54 0 40.97-19.8 35.1-40.04C362.84 146.97 292.33 64 208.41 64h-.82c-83.91 0-154.43 82.97-174.44 151.96C27.27 236.2 44.71 256 68.25 256zm484.03-118.75l-48.65-34.75c-35.17-17.42-80.49 1.57-86.81 40.31-.54 3.32-.82 6.72-.82 10.19v71.22c-.03 13.88-4.6 27.18-13.27 38.44-12.42 16.11-31.25 25.34-51.68 25.34H18.6C8.33 288 0 296.33 0 306.6c0 8 5.12 15.11 12.71 17.64l98.29 22.1L66.17 424c-6.16 10.67 1.54 24 13.86 24h36.95c5.71 0 11-3.05 13.86-8l40.3-69.8c25.99 8.52 45.55 13.8 84.87 13.8s58.89-5.28 84.87-13.8l40.3 69.8c2.86 4.95 8.14 8 13.86 8h36.95c12.32 0 20.01-13.33 13.86-24l-47.21-81.76c21.25-8.42 40.36-21.78 54.81-40.53 14.08-18.28 22.47-39.4 25.29-61.7h40.62c31.29 0 56.65-25.36 56.65-56.65a56.7 56.7 0 0 0-23.73-46.11zM480 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [], \"f26c\", \"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};\nvar faTvAlt = {\n prefix: 'fas',\n iconName: 'tv-alt',\n icon: [640, 512, [], \"f8e5\", \"M520 448H120a24 24 0 0 0-24 24v16a24 24 0 0 0 24 24h400a24 24 0 0 0 24-24v-16a24 24 0 0 0-24-24zM592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h544a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"]\n};\nvar faTvMusic = {\n prefix: 'fas',\n iconName: 'tv-music',\n icon: [640, 512, [], \"f8e6\", \"M512 448H128a32 32 0 0 0 0 64h384a32 32 0 0 0 0-64zM240 320c26.5 0 48-14.33 48-32v-84.84l96-37.52V226a69.89 69.89 0 0 0-16-2c-26.5 0-48 14.33-48 32s21.5 32 48 32 48-14.33 48-32V112a16 16 0 0 0-20.81-15.25l-128 47.25A16 16 0 0 0 256 159.25V258a69.89 69.89 0 0 0-16-2c-26.5 0-48 14.33-48 32s21.5 32 48 32zM592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h544a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"]\n};\nvar faTvRetro = {\n prefix: 'fas',\n iconName: 'tv-retro',\n icon: [512, 512, [], \"f401\", \"M464 96H338.8l35.7-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 94.2 182.8 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L173.2 96H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h16v32h48l21.3-32h245.3l21.3 32h48v-32h16c26.5 0 48-21.5 48-48V144c.1-26.5-21.4-48-47.9-48zm-72 312s0 8-168 8c-152 0-152-8-152-8s-8 0-8-120 8-120 8-120 0-8 152-8c168 0 168 8 168 8s8 0 8 120-8 120-8 120zm72-100c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v8z\"]\n};\nvar faTypewriter = {\n prefix: 'fas',\n iconName: 'typewriter',\n icon: [512, 512, [], \"f8e7\", \"M480 192h-32V77.26a32 32 0 0 0-9.38-22.64L393.38 9.38A32 32 0 0 0 370.73 0H96a32 32 0 0 0-32 32v160H32a32 32 0 0 0-32 32v32a32 32 0 0 0 32 32v160a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V288a32 32 0 0 0 32-32v-32a32 32 0 0 0-32-32zM128 64h192v48a16 16 0 0 0 16 16h48v64h-18.75a32 32 0 0 0-22.62 9.37l-13.26 13.26a32 32 0 0 1-22.62 9.37h-101.5a32 32 0 0 1-22.62-9.37l-13.26-13.26a32 32 0 0 0-22.62-9.37H128zm240 232v16a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8zm-64 64a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8zm-8-40h-16a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8zm-56 40a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8zm-8-40h-16a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8zm-56 40a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8zm-8-40h-16a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8zm-64 0H88a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8zm32 64h-16a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8zm232 56a8 8 0 0 1-8 8H152a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h208a8 8 0 0 1 8 8zm32-64a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8zm32-64a8 8 0 0 1-8 8h-16a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8z\"]\n};\nvar faUfo = {\n prefix: 'fas',\n iconName: 'ufo',\n icon: [640, 512, [], \"e047\", \"M494.73633,212.84375C481.5332,128.67773,408.32031,64,320,64S158.4668,128.67773,145.26367,212.84375C57.86328,235.69336,0,275.11719,0,320c0,70.69141,143.26953,128,320,128s320-57.30859,320-128C640,275.11719,582.13672,235.69336,494.73633,212.84375ZM128,360a24,24,0,1,1,24-24A24.00118,24.00118,0,0,1,128,360Zm192,32a24,24,0,1,1,24-24A24.00118,24.00118,0,0,1,320,392ZM447.36133,256.78125a275.4037,275.4037,0,0,1-254.72266,0c-.74023-5.54687-1.70508-11.0332-1.70508-16.78125,0-70.69336,57.78321-128,129.06641-128s129.06641,57.30664,129.06641,128C449.06641,245.74805,448.10156,251.23438,447.36133,256.78125ZM512,360a24,24,0,1,1,24-24A24.00118,24.00118,0,0,1,512,360Z\"]\n};\nvar faUfoBeam = {\n prefix: 'fas',\n iconName: 'ufo-beam',\n icon: [640, 512, [], \"e048\", \"M33.69355,481.68452A15.99666,15.99666,0,0,0,40.8477,503.1494l14.31611,7.15822a16.00213,16.00213,0,0,0,21.46635-7.15431L158.316,339.77409a15.87807,15.87807,0,0,0,1.57028-5.79493,454.17592,454.17592,0,0,1-45.60452-13.47659Zm492.02691-161.178A454.88192,454.88192,0,0,1,480.114,333.98111a15.86859,15.86859,0,0,0,1.57028,5.793l81.68581,163.37922a16.00157,16.00157,0,0,0,21.46635,7.15431l14.31611-7.15822a15.99835,15.99835,0,0,0,7.15415-21.46488ZM608,208.0004c0-40.89266-56.534-76.56069-140.68263-96.11151C449.22009,47.57626,390.38147,0,320.006,0S190.79185,47.57626,172.69457,111.88889C88.54593,131.43971,32.01194,167.10774,32.01194,208.0004c0,61.85559,128.93874,112.00022,287.994,112.00022S608,269.856,608,208.0004Zm-479.99,24a24.00005,24.00005,0,1,1,23.9995-24A24.001,24.001,0,0,1,128.01,232.00045Zm191.996,48.00009a24,24,0,1,1,23.9995-24A24.001,24.001,0,0,1,320.006,280.00054ZM424.20889,166.45735a224.72853,224.72853,0,0,1-104.20292,25.543,224.72856,224.72856,0,0,1-104.20292-25.543,102.694,102.694,0,0,1-1.3945-13.73049c0-57.84,47.27636-104.72677,105.59742-104.72677S425.60339,94.8869,425.60339,152.72686A102.694,102.694,0,0,1,424.20889,166.45735Zm87.7931,65.5431a24.00005,24.00005,0,1,1,23.9995-24A24.001,24.001,0,0,1,512.002,232.00045Z\"]\n};\nvar faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"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};\nvar faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [640, 512, [], \"f5ca\", \"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};\nvar faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"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};\nvar faUndo = {\n prefix: 'fas',\n iconName: 'undo',\n icon: [512, 512, [], \"f0e2\", \"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};\nvar faUndoAlt = {\n prefix: 'fas',\n iconName: 'undo-alt',\n icon: [512, 512, [], \"f2ea\", \"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};\nvar faUnicorn = {\n prefix: 'fas',\n iconName: 'unicorn',\n icon: [640, 512, [], \"f727\", \"M631.98 32H531.73c5.93-6.14 10.4-13.63 12.18-22.36 1.01-4.96-2.88-9.64-7.94-9.64H416c-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.59 102.04 22.33V496c0 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.74L544 83.3l92.42-36.65c6.59-4.38 3.48-14.65-4.44-14.65zM480 96c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faUnion = {\n prefix: 'fas',\n iconName: 'union',\n icon: [384, 512, [], \"f6a2\", \"M384 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v240c0 59.2-53.85 106.04-115.13 94.14-45.58-8.85-76.87-51.5-76.87-97.93V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v240c0 114.18 100.17 205.4 217.26 190.38C314.04 465.96 384 378.89 384 281.32V48z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"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};\nvar faUniversity = {\n prefix: 'fas',\n iconName: 'university',\n icon: [512, 512, [], \"f19c\", \"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};\nvar faUnlink = {\n prefix: 'fas',\n iconName: 'unlink',\n icon: [512, 512, [], \"f127\", \"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};\nvar faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [], \"f09c\", \"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};\nvar faUnlockAlt = {\n prefix: 'fas',\n iconName: 'unlock-alt',\n icon: [448, 512, [], \"f13e\", \"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};\nvar faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"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};\nvar faUsbDrive = {\n prefix: 'fas',\n iconName: 'usb-drive',\n icon: [640, 512, [], \"f8e9\", \"M624 128H480v256h144a16 16 0 0 0 16-16V144a16 16 0 0 0-16-16zm-40 184a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16zm0-96a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16zM432 96H64a64 64 0 0 0-64 64v192a64 64 0 0 0 64 64h368a16 16 0 0 0 16-16V112a16 16 0 0 0-16-16z\"]\n};\nvar faUsdCircle = {\n prefix: 'fas',\n iconName: 'usd-circle',\n icon: [496, 512, [], \"f2e8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 376v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16.2c-16.5-.6-32.6-5.8-46.4-15.1-8.7-5.9-10-18.1-2.3-25.2l12-11.3c5.4-5.1 13.3-5.4 19.7-1.6 6.1 3.6 12.9 5.4 19.9 5.4h45c11.3 0 20.5-10.5 20.5-23.4 0-10.6-6.3-19.9-15.2-22.7L205 268c-29-8.8-49.2-37-49.2-68.6 0-39.3 30.6-71.3 68.2-71.4v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16.2c16.5.6 32.6 5.8 46.4 15.1 8.7 5.9 10 18.1 2.3 25.2l-12 11.3c-5.4 5.1-13.3 5.4-19.7 1.6-6.1-3.6-12.9-5.4-19.9-5.4h-45c-11.3 0-20.5 10.5-20.5 23.4 0 10.6 6.3 19.9 15.2 22.7l72 21.9c29 8.8 49.2 37 49.2 68.6.2 39.3-30.4 71.2-68 71.4z\"]\n};\nvar faUsdSquare = {\n prefix: 'fas',\n iconName: 'usd-square',\n icon: [448, 512, [], \"f2e9\", \"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-48zM248 384v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16.2c-16.5-.6-32.6-5.8-46.4-15.1-8.7-5.9-10-18.1-2.3-25.2l12-11.3c5.4-5.1 13.3-5.4 19.7-1.6 6.1 3.6 12.9 5.4 19.9 5.4h45c11.3 0 20.5-10.5 20.5-23.4 0-10.6-6.3-19.9-15.2-22.7L181 268c-29-8.8-49.2-37-49.2-68.6 0-39.3 30.6-71.3 68.2-71.4v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16.2c16.5.6 32.6 5.8 46.4 15.1 8.7 5.9 10 18.1 2.3 25.2l-12 11.3c-5.4 5.1-13.3 5.4-19.7 1.6-6.1-3.6-12.9-5.4-19.9-5.4h-45c-11.3 0-20.5 10.5-20.5 23.4 0 10.6 6.3 19.9 15.2 22.7l72 21.9c29 8.8 49.2 37 49.2 68.6.2 39.3-30.4 71.2-68 71.4z\"]\n};\nvar faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"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};\nvar faUserAlien = {\n prefix: 'fas',\n iconName: 'user-alien',\n icon: [448, 512, [], \"e04a\", \"M352,384H317.61523c-19.65039,17.98828-39.01953,33.541-55.49023,45.84766a63.66049,63.66049,0,0,1-76.25.00195C169.4043,417.543,150.03516,401.98828,130.38477,384H96A95.99975,95.99975,0,0,0,0,480a32.00033,32.00033,0,0,0,32,32H416a32.00033,32.00033,0,0,0,32-32A95.99975,95.99975,0,0,0,352,384ZM205.0293,404.21484a31.66414,31.66414,0,0,0,37.9414,0C288.459,370.22266,400,277.51172,400,185.68359,400,70.31836,321.18164,0,224,0,126.791,0,48,70.31836,48,185.68359,48,277.51172,159.541,370.22266,205.0293,404.21484ZM240,252a60.00047,60.00047,0,0,1,60-60h24a12.0006,12.0006,0,0,1,12,12v8a60.00047,60.00047,0,0,1-60,60H252a12.0006,12.0006,0,0,1-12-12ZM112,212v-8a12.0006,12.0006,0,0,1,12-12h24a60.00047,60.00047,0,0,1,60,60v8a12.0006,12.0006,0,0,1-12,12H172A60.00047,60.00047,0,0,1,112,212Z\"]\n};\nvar faUserAlt = {\n prefix: 'fas',\n iconName: 'user-alt',\n icon: [512, 512, [], \"f406\", \"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};\nvar faUserAltSlash = {\n prefix: 'fas',\n iconName: 'user-alt-slash',\n icon: [640, 512, [], \"f4fa\", \"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};\nvar faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"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};\nvar faUserChart = {\n prefix: 'fas',\n iconName: 'user-chart',\n icon: [640, 512, [], \"f6a3\", \"M208 352h-3.81c-13.93 4.83-28.64 8-44.19 8s-30.26-3.17-44.19-8H112C50.14 352 0 402.14 0 464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48 0-61.86-50.14-112-112-112zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288H307.76c19.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 0zM160 320c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zm168.97-152.97c-9.37-9.37-24.57-9.37-33.94 0l-14.75 14.75c4.68 13.29 7.72 27.35 7.72 42.21 0 6.83-.98 13.41-2.02 19.95l26.02-26 55.03 55.03c9.37 9.37 24.57 9.37 33.94 0l72-72 24.3 24.3c11.34 11.34 30.73 3.31 30.73-12.73V124c0-6.63-5.37-12-12-12h-88.54c-16.04 0-24.07 19.39-12.73 30.73l24.3 24.3L384 222.06l-55.03-55.03z\"]\n};\nvar faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"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};\nvar faUserCircle = {\n prefix: 'fas',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"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};\nvar faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"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};\nvar faUserCog = {\n prefix: 'fas',\n iconName: 'user-cog',\n icon: [640, 512, [], \"f4fe\", \"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};\nvar faUserCowboy = {\n prefix: 'fas',\n iconName: 'user-cowboy',\n icon: [448, 512, [], \"f8ea\", \"M438.47 97.8a18.2 18.2 0 0 0-21.92 5.2c-.43.57-44.81 61.59-192.55 61.59C77.12 164.57 32.4 104.21 31.46 103a18 18 0 0 0-21.79-5.37c-7.76 3.53-11.51 11.84-8.79 19.44.35 1 24.66 66 95.14 106.7v.23a128 128 0 0 0 256 0v-.22C422.47 183 446.77 118 447.13 117.07c2.69-7.54-1.03-15.69-8.66-19.27zM313.59 384H296.9a174.1 174.1 0 0 1-145.81 0H134.4A133.82 133.82 0 0 0 9.54 469.8c-7.88 20.39 8.53 42.2 30.4 42.2h368.11c21.87 0 38.28-21.81 30.4-42.2A133.82 133.82 0 0 0 313.59 384zm28.9-270.43C331.44 64.05 310.86 0 278.1 0c-10.33 0-19.55 4.45-27.3 10.47a42.42 42.42 0 0 1-52.08 0C191 4.45 181.75 0 171.42 0c-32.87 0-53.48 64.49-64.51 114.08C133 124 170.75 132.57 224 132.57c54.17 0 92.36-8.84 118.49-19z\"]\n};\nvar faUserCrown = {\n prefix: 'fas',\n iconName: 'user-crown',\n icon: [448, 512, [], \"f6a4\", \"M352 0l-64 32-64-32-64 32L96 0v96h256V0zm-38.4 304h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16H134.4C60.17 304 0 364.17 0 438.4V464c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-25.6c0-74.23-60.17-134.4-134.4-134.4zM224 272c70.69 0 128-57.31 128-128v-16H96v16c0 70.69 57.31 128 128 128z\"]\n};\nvar faUserEdit = {\n prefix: 'fas',\n iconName: 'user-edit',\n icon: [640, 512, [], \"f4ff\", \"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};\nvar faUserFriends = {\n prefix: 'fas',\n iconName: 'user-friends',\n icon: [640, 512, [], \"f500\", \"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};\nvar faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"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};\nvar faUserHardHat = {\n prefix: 'fas',\n iconName: 'user-hard-hat',\n icon: [448, 512, [], \"f82c\", \"M88 176h272a8 8 0 0 0 8-8v-32a8 8 0 0 0-8-8h-8a112 112 0 0 0-68.4-103.2L256 80V16a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v64l-27.6-55.2A112 112 0 0 0 96 128h-8a8 8 0 0 0-8 8v32a8 8 0 0 0 8 8zm225.6 176h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.4 134.4 0 0 0 0 486.4 25.6 25.6 0 0 0 25.6 512h396.8a25.6 25.6 0 0 0 25.6-25.6A134.4 134.4 0 0 0 313.6 352zM224 320c65.22 0 118.44-48.94 126.39-112H97.61c7.95 63.06 61.17 112 126.39 112z\"]\n};\nvar faUserHeadset = {\n prefix: 'fas',\n iconName: 'user-headset',\n icon: [448, 512, [], \"f82d\", \"M320 352h-23.1a174.08 174.08 0 0 1-145.8 0H128A128 128 0 0 0 0 480a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32 128 128 0 0 0-128-128zM48 224a16 16 0 0 0 16-16v-16c0-88.22 71.78-160 160-160s160 71.78 160 160v16a80.09 80.09 0 0 1-80 80h-32a32 32 0 0 0-32-32h-32a32 32 0 0 0 0 64h96a112.14 112.14 0 0 0 112-112v-16C416 86.13 329.87 0 224 0S32 86.13 32 192v16a16 16 0 0 0 16 16zm160 0h32a64 64 0 0 1 55.41 32H304a48.05 48.05 0 0 0 48-48v-16a128 128 0 0 0-256 0c0 40.42 19.1 76 48.35 99.47-.06-1.17-.35-2.28-.35-3.47a64.07 64.07 0 0 1 64-64z\"]\n};\nvar faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"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};\nvar faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"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};\nvar faUserMd = {\n prefix: 'fas',\n iconName: 'user-md',\n icon: [448, 512, [], \"f0f0\", \"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};\nvar faUserMdChat = {\n prefix: 'fas',\n iconName: 'user-md-chat',\n icon: [640, 512, [], \"f82e\", \"M104 424a24 24 0 1 0 24-24 24 24 0 0 0-24 24zm120-168A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 32.65v49A80.13 80.13 0 0 1 384 416v40a16 16 0 0 1-12.86 15.69L339 478.14a8 8 0 0 1-9.41-6.27l-3.14-15.69a8 8 0 0 1 6.28-9.41l19.27-3.86V416a48.08 48.08 0 0 0-57.57-47c-22.79 4.42-38.43 25.75-38.43 49v25l19.29 3.86a8 8 0 0 1 6.28 9.41l-3.14 15.69a8 8 0 0 1-9.41 6.27l-31.17-4.24A16 16 0 0 1 224 458.05V416a80.13 80.13 0 0 1 64-78.38v-46.1a172 172 0 0 1-121.42 2.69A111.51 111.51 0 0 0 144 289v81.6a56 56 0 1 1-32 0v-80.34C48.49 301 0 355.84 0 422.4V464a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48v-41.6c0-72.03-56.82-130.33-128-133.75zM512 0c-70.69 0-128 50.15-128 112 0 28.76 12.75 54.72 33.11 74.55a312.08 312.08 0 0 1-31.29 55.37 9.86 9.86 0 0 0-1.25 9.07c1.09 3.13 3.43 5 6.11 5 39.84 0 72.35-17.13 95.22-34.36A146 146 0 0 0 512 224c70.69 0 128-50.15 128-112S582.69 0 512 0z\"]\n};\nvar faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"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};\nvar faUserMusic = {\n prefix: 'fas',\n iconName: 'user-music',\n icon: [640, 512, [], \"f8eb\", \"M224 257A128 128 0 1 0 96 129a128 128 0 0 0 128 128zm64 176c0-54.9 48.34-99.39 114.45-109.72C378.72 302.2 347.82 289 313.59 289h-16.68a174.12 174.12 0 0 1-145.82 0h-16.68A134.43 134.43 0 0 0 0 423.41V465a48 48 0 0 0 48 48h282.42C304.13 492.81 288 464.66 288 433zM598.94 98.33l-96.53 28.51a32 32 0 0 0-22.41 30.5V361a148.76 148.76 0 0 0-48-8c-61.86 0-112 35.82-112 80s50.14 80 112 80 112-35.82 112-80V245.15l73-21.39a32 32 0 0 0 23-30.71V129a32 32 0 0 0-41.06-30.67z\"]\n};\nvar faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [], \"f504\", \"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};\nvar faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"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};\nvar faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"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};\nvar faUserRobot = {\n prefix: 'fas',\n iconName: 'user-robot',\n icon: [448, 512, [], \"e04b\", \"M17.99986,256H48V128H17.99986A17.9784,17.9784,0,0,0,0,146v92A17.97965,17.97965,0,0,0,17.99986,256Zm412-128H400V256h29.99985A17.97847,17.97847,0,0,0,448,238V146A17.97722,17.97722,0,0,0,429.99985,128ZM116,320H332a36.0356,36.0356,0,0,0,36-36V109a44.98411,44.98411,0,0,0-45-45H241.99985V18a18,18,0,1,0-36,0V64H125a44.98536,44.98536,0,0,0-45,45V284A36.03685,36.03685,0,0,0,116,320Zm188-48H272V240h32ZM288,128a32,32,0,1,1-32,32A31.99658,31.99658,0,0,1,288,128ZM208,240h32v32H208Zm-32,32H144V240h32ZM160,128a32,32,0,1,1-32,32A31.99658,31.99658,0,0,1,160,128ZM352,352H96A95.99975,95.99975,0,0,0,0,448v32a32.00033,32.00033,0,0,0,32,32h96V448a31.99908,31.99908,0,0,1,32-32H288a31.99908,31.99908,0,0,1,32,32v64h96a32.00033,32.00033,0,0,0,32-32V448A95.99975,95.99975,0,0,0,352,352ZM176,448a15.99954,15.99954,0,0,0-16,16v48h32V464A15.99954,15.99954,0,0,0,176,448Zm96,0a16,16,0,1,0,16,16A15.99954,15.99954,0,0,0,272,448Z\"]\n};\nvar faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [], \"f21b\", \"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};\nvar faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"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};\nvar faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"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};\nvar faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"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};\nvar faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"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};\nvar faUserTimes = {\n prefix: 'fas',\n iconName: 'user-times',\n icon: [640, 512, [], \"f235\", \"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};\nvar faUserUnlock = {\n prefix: 'fas',\n iconName: 'user-unlock',\n icon: [640, 512, [], \"e058\", \"M224,256A128,128,0,1,0,96,128,128,128,0,0,0,224,256Zm96,64a63.07,63.07,0,0,1,8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5H296.9a174.1,174.1,0,0,1-145.8,0H134.4A134.43,134.43,0,0,0,0,422.4V464a48,48,0,0,0,48,48H328.9a63.58,63.58,0,0,1-8.9-32Zm288-32H464V208.67c0-17.44,13.67-32.18,31.1-32.66A32,32,0,0,1,528,208a16,16,0,0,0,16,16h17a15,15,0,0,0,15-15h0c0-43.28-34-79.51-77.26-80.95A80,80,0,0,0,416,208v80H384a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H608a32,32,0,0,0,32-32V320A32,32,0,0,0,608,288ZM496,432a32,32,0,1,1,32-32A32,32,0,0,1,496,432Z\"]\n};\nvar faUserVisor = {\n prefix: 'fas',\n iconName: 'user-visor',\n icon: [448, 512, [], \"e04c\", \"M105.05859,174.653C123.72266,222.237,169.79492,256.05336,224,256.05336S324.27734,222.237,342.94141,174.653C357.168,171.401,368,159.2643,368,144.05336v-64a31.99909,31.99909,0,0,0-32-32H323.18164C299.7168,19.00649,264.25.05336,224,.05336s-75.7168,18.95313-99.18164,48H112a31.99909,31.99909,0,0,0-32,32v64C80,159.2643,90.832,171.401,105.05859,174.653ZM128,96.05336H320v32H128Zm185.59375,192h-16.6875a174.10379,174.10379,0,0,1-145.8125,0h-16.6875A134.44134,134.44134,0,0,0,0,422.45961v41.59375a48.01238,48.01238,0,0,0,48,48H400a48.01238,48.01238,0,0,0,48-48V422.45961A134.44134,134.44134,0,0,0,313.59375,288.05336Zm39.6875,159.79688A4.06431,4.06431,0,0,1,352,448.05336a4.01558,4.01558,0,0,1-3.26562-1.6875c-12.1875-17.1875-17.625-23.04687-19.85938-25.03125a5.72835,5.72835,0,0,0-1.375.375c-3.29688,1-12.1875,5.48438-37.04688,24.8125a4.1133,4.1133,0,0,1-4.39062.34375,4.03445,4.03445,0,0,1-2.04688-3.92187c3.875-36.39063,15.875-66.5,35.70313-89.5a4.30685,4.30685,0,0,1,3.14063-1.39063,3.97907,3.97907,0,0,1,3.0625,1.5625c18.8125,24.59375,28.92187,54.96875,30.07812,90.3125A3.992,3.992,0,0,1,353.28125,447.85024Z\"]\n};\nvar faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"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};\nvar faUsersClass = {\n prefix: 'fas',\n iconName: 'users-class',\n icon: [640, 512, [], \"f63d\", \"M256 288c0 35.35 28.66 64 64 64 35.35 0 64-28.65 64-64s-28.65-64-64-64c-35.34 0-64 28.65-64 64zm224 0c0 35.35 28.66 64 64 64 35.35 0 64-28.65 64-64s-28.65-64-64-64c-35.34 0-64 28.65-64 64zM96 352c35.35 0 64-28.65 64-64s-28.65-64-64-64c-35.34 0-64 28.65-64 64s28.66 64 64 64zm480 32h-64c-35.34 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32v-32c0-35.35-28.66-64-64-64zm-224 0h-64c-35.34 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32v-32c0-35.35-28.66-64-64-64zm-224 0H64c-35.34 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32v-32c0-35.35-28.66-64-64-64zM96 64h448v128c24.68 0 46.98 9.62 64 24.97V49.59C608 22.25 586.47 0 560 0H80C53.53 0 32 22.25 32 49.59v167.38C49.02 201.62 71.33 192 96 192V64z\"]\n};\nvar faUsersCog = {\n prefix: 'fas',\n iconName: 'users-cog',\n icon: [640, 512, [], \"f509\", \"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};\nvar faUsersCrown = {\n prefix: 'fas',\n iconName: 'users-crown',\n icon: [640, 512, [], \"f6a5\", \"M96 224c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm224 32c53.02 0 96-42.98 96-96v-16H224v16c0 53.02 42.98 96 96 96zm256 0h-64c-17.59 0-33.5 7.11-45.07 18.59 40.27 22.06 68.86 62.03 75.13 109.41H608c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-402.93 18.59C161.5 263.11 145.59 256 128 256H64c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h65.94c6.27-47.38 34.85-87.34 75.13-109.41zM544 224c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm-147.2 64h-8.31c-20.84 9.96-43.89 16-68.49 16s-47.64-6.04-68.49-16h-8.31C179.58 288 128 339.58 128 403.2V432c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-28.8c0-63.62-51.58-115.2-115.2-115.2zM416 32l-48 24-48-24-48 24-48-24v80h192V32z\"]\n};\nvar faUsersMedical = {\n prefix: 'fas',\n iconName: 'users-medical',\n icon: [640, 512, [], \"f830\", \"M96 224a64 64 0 1 0-64-64 64.06 64.06 0 0 0 64 64zm224 32a112 112 0 1 0-112-112 111.94 111.94 0 0 0 112 112zm32 96c0-19.1 3.92-37.17 10.09-54.17A152.75 152.75 0 0 1 320 304c-24.6 0-47.6-6-68.5-16h-8.3A115.23 115.23 0 0 0 128 403.2V432a48 48 0 0 0 48 48h241c-39.22-29.19-65-75.47-65-128zm-178.9-77.4A63.81 63.81 0 0 0 128 256H64a64.06 64.06 0 0 0-64 64v32a32 32 0 0 0 32 32h65.9a146.64 146.64 0 0 1 75.2-109.4zM512 224a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm64 144a5.33 5.33 0 0 1-5.33 5.33h-37.34v37.34A5.33 5.33 0 0 1 528 416h-32a5.33 5.33 0 0 1-5.33-5.33v-37.34h-37.34A5.33 5.33 0 0 1 448 368v-32a5.33 5.33 0 0 1 5.33-5.33h37.34v-37.34A5.33 5.33 0 0 1 496 288h32a5.33 5.33 0 0 1 5.33 5.33v37.34h37.34A5.33 5.33 0 0 1 576 336z\"]\n};\nvar faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"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};\nvar faUtensilFork = {\n prefix: 'fas',\n iconName: 'utensil-fork',\n icon: [512, 512, [], \"f2e3\", \"M469.5 119.4L356.3 232.6c-3.8 1.7-14.7-9.5-12.9-12.9 19.2-21.5 105.3-117.9 107.3-120.1 14.1-19.3-19.1-52.5-38.4-38.4-2.3 2-98.7 88.1-120.1 107.3-3.4 1.8-14.6-9.1-12.9-12.9L392.5 42.4c15.4-19.4-18.7-53-37.5-39.3-4.4 3.1-88.6 62.8-116.2 90.3-41.8 41.8-49.6 94.1-28.7 139.1L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l180.5-201.2c45 20.9 97.2 13.3 139.1-28.7 27.6-27.6 87.3-111.8 90.4-116.2 13.7-18.7-19.9-52.7-39.3-37.4z\"]\n};\nvar faUtensilKnife = {\n prefix: 'fas',\n iconName: 'utensil-knife',\n icon: [512, 512, [], \"f2e4\", \"M424.9 8.7L20.8 412.8c-11.5 11.5-11.5 30.3 0 41.8l48.8 48.8c12.2 12.2 32.2 11.4 43.4-1.8l148.2-174.3C504.1 357 538.5 80.5 466.7 8.7c-11.6-11.6-30.3-11.6-41.8 0z\"]\n};\nvar faUtensilSpoon = {\n prefix: 'fas',\n iconName: 'utensil-spoon',\n icon: [512, 512, [], \"f2e5\", \"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};\nvar faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [416, 512, [], \"f2e7\", \"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};\nvar faUtensilsAlt = {\n prefix: 'fas',\n iconName: 'utensils-alt',\n icon: [576, 512, [], \"f2e6\", \"M53.8 8.6L293 230.7c28.8-25.5 18-16 48.4-42.9-21.4-36.3-17.2-75.1 16.1-108.4C379.3 57.7 452.3 6 456.2 3.2c16.1-11.8 37.6 11.5 24.8 26.2l-81.2 93.8c-1.3 1.5 3 6 4.7 4.6L501.4 49c15.1-12.3 37.9 10.2 25.5 25.5l-78.8 96.9c-1.3 1.6 3.1 6 4.6 4.6l93.8-81.2c14.7-12.7 38 8.7 26.2 24.9-2.8 4-54.5 76.9-76.2 98.6-34.2 34.3-73.5 36.9-108.5 16.2-26.6 30.1-14.5 16.3-41 46.3l154.7 143.6c13.3 12.3 13.7 33.3.8 46.1l-32 32c-12.8 12.8-33.6 12.4-46-.7C405.4 479.2 223.9 265.3 216 256 56 256 0 165.9 0 32.1 0 4.2 33.3-10.4 53.8 8.6zm19.6 462l32 32c13 13 34.4 12.4 46.6-1.4l117.5-132.7-56.6-66.8L74.8 424c-13.8 12.3-14.5 33.6-1.4 46.6z\"]\n};\nvar faVacuum = {\n prefix: 'fas',\n iconName: 'vacuum',\n icon: [640, 512, [], \"e04d\", \"M143.27,256,102.12,448H48A48,48,0,0,0,0,496a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V464a16,16,0,0,0-16-16h-8.41l41.14-192ZM640,128A128.14,128.14,0,0,0,512,0H301.61C241.64,0,189,42.56,176.44,101.19L150.12,224h65.47L239,114.59A64.33,64.33,0,0,1,301.61,64H512a64,64,0,0,1,13.47,126.51A191.27,191.27,0,0,0,384,128a32,32,0,0,0-32,32V321.62A109.65,109.65,0,0,1,368,320a111.83,111.83,0,0,1,78.14,192H512a64,64,0,0,0,64-64V320a191.27,191.27,0,0,0-15.06-74.65C607.17,226.11,640,181.13,640,128ZM368,352a80,80,0,1,0,80,80A80,80,0,0,0,368,352Zm0,96a16,16,0,1,1,16-16A16,16,0,0,1,368,448Z\"]\n};\nvar faVacuumRobot = {\n prefix: 'fas',\n iconName: 'vacuum-robot',\n icon: [512, 512, [], \"e04e\", \"M431.36,80.64c-96.85-96.85-253.87-96.85-350.72,0s-96.85,253.87,0,350.72,253.87,96.85,350.72,0S528.21,177.49,431.36,80.64ZM199.43,403.08a16,16,0,0,1-22.63,0L108.92,335.2a16,16,0,0,1,22.63-22.63l67.88,67.88A16,16,0,0,1,199.43,403.08Zm67.88-22.63a16,16,0,0,1-22.62,0L131.55,267.31a16,16,0,0,1,22.63-22.62L267.31,357.82A16,16,0,0,1,267.31,380.45Zm22.63-67.88a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,22.63-22.63l67.88,67.88A16,16,0,0,1,289.94,312.57Zm90.51,67.88a16,16,0,0,1-22.62-22.62c56.14-56.16,56.14-147.5,0-203.66s-147.5-56.15-203.66,0a16,16,0,0,1-22.62-22.62c68.62-68.63,180.28-68.63,248.9,0S449.08,311.83,380.45,380.45Z\"]\n};\nvar faValueAbsolute = {\n prefix: 'fas',\n iconName: 'value-absolute',\n icon: [512, 512, [], \"f6a6\", \"M48 32H16C7.16 32 0 39.16 0 48v416c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16zm448 0h-32c-8.84 0-16 7.16-16 16v416c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16zM377.3 150.87l-16.17-16.17c-8.93-8.93-23.41-8.93-32.35 0L256 207.48l-72.78-72.78c-8.93-8.93-23.41-8.93-32.35 0l-16.17 16.17c-8.93 8.93-8.93 23.41 0 32.35L207.48 256l-72.78 72.78c-8.93 8.93-8.93 23.41 0 32.35l16.17 16.17c8.93 8.93 23.41 8.93 32.35 0L256 304.52l72.78 72.78c8.93 8.93 23.41 8.93 32.35 0l16.17-16.17c8.93-8.93 8.93-23.41 0-32.35L304.52 256l72.78-72.78c8.93-8.93 8.93-23.42 0-32.35z\"]\n};\nvar faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [512, 512, [], \"f5cb\", \"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};\nvar faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [288, 512, [], \"f221\", \"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};\nvar faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [512, 512, [], \"f226\", \"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};\nvar faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [576, 512, [], \"f228\", \"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};\nvar faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"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};\nvar faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"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};\nvar faVhs = {\n prefix: 'fas',\n iconName: 'vhs',\n icon: [512, 512, [], \"f8ec\", \"M496 64H16A16 16 0 0 0 0 80v48h512V80a16 16 0 0 0-16-16zM0 400a48 48 0 0 0 48 48h416a48 48 0 0 0 48-48V160H0zm384-50.94a47.73 47.73 0 0 0 0-90.12V224h48.86C452 245.26 464 273.12 464 304s-12 58.73-31.14 80H384zM192 224h128v160H192zm-112.86 0H128v34.94a47.73 47.73 0 0 0 0 90.12V384H79.14C60 362.73 48 334.87 48 304s12-58.74 31.14-80z\"]\n};\nvar faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [480, 512, [], \"f492\", \"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};\nvar faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [640, 512, [], \"f493\", \"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};\nvar faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [], \"f03d\", \"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};\nvar faVideoPlus = {\n prefix: 'fas',\n iconName: 'video-plus',\n icon: [576, 512, [], \"f4e1\", \"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.8zM304 264c0 8.8-7.2 16-16 16h-72v72c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-72H96c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h72v-72c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v72h72c8.8 0 16 7.2 16 16v16zm272-136.5v256.9c0 25.5-29.1 40.4-50.4 25.8L416 334.7V177.3l109.6-75.5c21.3-14.7 50.4.3 50.4 25.7z\"]\n};\nvar faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"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};\nvar faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"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};\nvar faViolin = {\n prefix: 'fas',\n iconName: 'violin',\n icon: [640, 512, [], \"f8ed\", \"M347.31 16L336 4.69a16 16 0 0 0-22.62 0L4.69 313.38a16 16 0 0 0 0 22.62L16 347.31a16 16 0 0 0 22.62 0L347.31 38.62a16 16 0 0 0 0-22.62zM520 48a24 24 0 1 0-24-24 24 24 0 0 0 24 24zM237.61 415.84l-13.45-13.45a16 16 0 0 0-20.19-2l-68.84 45.9a16 16 0 0 0-2.44 24.62l36.4 36.4a16 16 0 0 0 24.62-2.44l45.9-68.87a16 16 0 0 0-2-20.16zM472 96a24 24 0 1 0-24-24 24 24 0 0 0 24 24zm-14.23 131.48L635.31 49.94a16 16 0 0 0 0-22.63L612.69 4.69a16 16 0 0 0-22.63 0L412.52 182.23c-12.17-8.77-25.53-15.76-40.15-19.16-32.87-7.65-65.69-.93-88.56 21.05A79.09 79.09 0 0 1 288 208.4a79.78 79.78 0 0 1-123.28 67.08 89.85 89.85 0 0 0-7.16 6c-31.25 31.16-36.67 79.33-19.54 124.47l48.23-32.16a48 48 0 0 1 60.57 6l13.45 13.45a48.15 48.15 0 0 1 6 60.57L234.11 502c45.12 17.09 93.26 11.63 124.41-19.53a89.77 89.77 0 0 0 6.23-7.48A79.27 79.27 0 0 1 455.87 356c21.92-22.84 28.6-55.6 21-88.4-3.36-14.6-10.34-27.95-19.1-40.12zM616 96a24 24 0 1 0 24 24 24 24 0 0 0-24-24zm-48 48a24 24 0 1 0 24 24 24 24 0 0 0-24-24z\"]\n};\nvar faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"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};\nvar faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"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};\nvar faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"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};\nvar faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"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};\nvar faVolcano = {\n prefix: 'fas',\n iconName: 'volcano',\n icon: [512, 512, [], \"f770\", \"M160 144c12.9 0 24.8-3.9 34.8-10.4L224 192h64l29.2-58.4c10 6.5 21.9 10.4 34.8 10.4 35.3 0 64-28.7 64-64s-28.7-64-64-64c-15.8 0-30 5.9-41.2 15.4C299.6 12.7 279.4 0 256 0s-43.6 12.7-54.8 31.4C190 21.9 175.8 16 160 16c-35.3 0-64 28.7-64 64s28.7 64 64 64zm144.4 80h-96.8c-9.8 0-19.1 4.5-25.2 12.3l-55.6 71 13.2 16.5c9.8 12.2 30.3 12.2 40.1 0 10.8-13.5 26.8-21.3 44.1-21.6 17.2-1.5 33.6 7 44.8 20.1l31.6 36.8c9.8 11.4 29.2 11.4 39 0l45.1-52.6-55-70.2c-6.2-7.8-15.4-12.3-25.3-12.3zm201.1 236.8L404.7 332.1l-40.9 47.7c-11 12.8-27 20.2-43.8 20.2s-32.8-7.3-43.8-20.2L244.6 343c-4.9-5.7-12-9-19.5-9h-.4c-7.7.2-14.8 3.7-19.6 9.7-22.1 27.5-68.1 27.5-90.1 0l-8.4-10.6L6.5 460.8C-9.4 481.9 5.7 512 32.1 512H480c26.3 0 41.4-30.1 25.5-51.2z\"]\n};\nvar faVolleyballBall = {\n prefix: 'fas',\n iconName: 'volleyball-ball',\n icon: [512, 512, [], \"f45f\", \"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};\nvar faVolume = {\n prefix: 'fas',\n iconName: 'volume',\n icon: [480, 512, [], \"f6a8\", \"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.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.53 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};\nvar faVolumeDown = {\n prefix: 'fas',\n iconName: 'volume-down',\n icon: [384, 512, [], \"f027\", \"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};\nvar faVolumeMute = {\n prefix: 'fas',\n iconName: 'volume-mute',\n icon: [512, 512, [], \"f6a9\", \"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};\nvar faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [256, 512, [], \"f026\", \"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};\nvar faVolumeSlash = {\n prefix: 'fas',\n iconName: 'volume-slash',\n icon: [640, 512, [], \"f2e2\", \"M633.82 458.1l-69-53.33C592.42 360.8 608 309.68 608 256c0-95.33-47.73-183.58-127.65-236.03-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 42.78-11.96 83.59-33.22 119.06l-38.12-29.46C503.49 318.68 512 288.06 512 256c0-63.09-32.06-122.09-85.77-156.16-11.19-7.09-26.03-3.8-33.12 7.41-7.09 11.2-3.78 26.03 7.41 33.13C440.27 165.59 464 209.44 464 256c0 21.21-5.03 41.57-14.2 59.88l-39.56-30.58c3.38-9.35 5.76-19.07 5.76-29.3 0-31.88-17.53-61.33-45.77-76.88-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61 11.76 6.46 19.12 18.18 20.4 31.06L288 190.82V88.02c0-21.46-25.96-31.98-40.97-16.97l-49.71 49.7L45.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.45zM32 184v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V352.6L43.76 163.84C36.86 168.05 32 175.32 32 184z\"]\n};\nvar faVolumeUp = {\n prefix: 'fas',\n iconName: 'volume-up',\n icon: [576, 512, [], \"f028\", \"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};\nvar faVoteNay = {\n prefix: 'fas',\n iconName: 'vote-nay',\n icon: [640, 512, [], \"f771\", \"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.3V384h384zM235.1 157.1c-6.2-6.2-6.2-16.4 0-22.6l11.3-11.3c6.2-6.2 16.4-6.2 22.6 0l50.9 50.9 50.9-50.9c6.2-6.2 16.4-6.2 22.6 0l11.3 11.3c6.2 6.2 6.2 16.4 0 22.6L353.9 208l50.9 50.9c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-6.2 6.2-16.4 6.2-22.6 0L320 241.9l-50.9 50.9c-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.6l50.9-50.9-51-50.9z\"]\n};\nvar faVoteYea = {\n prefix: 'fas',\n iconName: 'vote-yea',\n icon: [640, 512, [], \"f772\", \"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};\nvar faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"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};\nvar faWagonCovered = {\n prefix: 'fas',\n iconName: 'wagon-covered',\n icon: [640, 512, [], \"f8ee\", \"M224,224V92.88c0-36.88-25.33-68.15-59.43-73.37L39.55.39c-26-4-46.53,23.34-37.3,49.69L70.78,224ZM600.45.39l-125,19.12C441.33,24.73,416,56,416,92.88V224H569.22L637.75,50.08C647,23.73,626.48-3.59,600.45.39ZM384,56a40,40,0,0,0-40-40H296a40,40,0,0,0-40,40V224H384ZM560,256H80a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16H97.79c-.31.3-.68.5-1,.8A112,112,0,1,0,286.47,416h67.06A111.85,111.85,0,1,0,543.2,320.8c-.31-.3-.68-.5-1-.8H560a16,16,0,0,0,16-16V272A16,16,0,0,0,560,256ZM160,461.74A62.48,62.48,0,0,1,114.26,416H160ZM160,384H114.26A62.44,62.44,0,0,1,160,338.26Zm61.25,61.25A63.43,63.43,0,0,1,192,461.74V416h45.74A63.43,63.43,0,0,1,221.25,445.25ZM192,384V338.26A62.44,62.44,0,0,1,237.74,384Zm256,77.74A62.48,62.48,0,0,1,402.26,416H448ZM448,384H402.26A62.44,62.44,0,0,1,448,338.26Zm61.25,61.25A63.43,63.43,0,0,1,480,461.74V416h45.74A63.34,63.34,0,0,1,509.25,445.25ZM480,384V338.26A62.44,62.44,0,0,1,525.74,384Z\"]\n};\nvar faWalker = {\n prefix: 'fas',\n iconName: 'walker',\n icon: [448, 512, [], \"f831\", \"M416 392.88V96a96 96 0 0 0-96-96H190.66A95.62 95.62 0 0 0 96 80L.24 487.77a16 16 0 0 0 13 18.51l31.54 5.48a16 16 0 0 0 18.5-13L127.81 224H352v168.88a64 64 0 1 0 64 0zM352 160H142.83l16.26-69.25A31.91 31.91 0 0 1 190.66 64H320a32 32 0 0 1 32 32zm32 304a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faWalkieTalkie = {\n prefix: 'fas',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", \"M352 96h-32V80a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v16h-32V80a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v16h-48V16A16 16 0 0 0 96 0H80a16 16 0 0 0-16 16v80H32a32.09 32.09 0 0 0-32 32v178.74a32 32 0 0 0 9.37 22.63L32 352v112a48 48 0 0 0 48 48h224a48 48 0 0 0 48-48V352l22.63-22.63a32 32 0 0 0 9.37-22.63V128a32.09 32.09 0 0 0-32-32zm-64 216a8 8 0 0 1-8 8H104a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h176a8 8 0 0 1 8 8zm0-64a8 8 0 0 1-8 8H104a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h176a8 8 0 0 1 8 8zm0-64a8 8 0 0 1-8 8H104a8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8h176a8 8 0 0 1 8 8z\"]\n};\nvar faWalking = {\n prefix: 'fas',\n iconName: 'walking',\n icon: [320, 512, [], \"f554\", \"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};\nvar faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"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};\nvar faWand = {\n prefix: 'fas',\n iconName: 'wand',\n icon: [512, 512, [], \"f72a\", \"M400 192c8.84 0 16-7.16 16-16v-27.96l91.87-101.83c5.72-6.32 5.48-16.02-.55-22.05L487.84 4.69c-6.03-6.03-15.73-6.27-22.05-.55L186.6 256H144c-8.84 0-16 7.16-16 16v36.87L10.53 414.84c-13.57 12.28-14.1 33.42-1.16 46.36l41.43 41.43c12.94 12.94 34.08 12.41 46.36-1.16L376.34 192H400z\"]\n};\nvar faWandMagic = {\n prefix: 'fas',\n iconName: 'wand-magic',\n icon: [512, 512, [], \"f72b\", \"M80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.34 0 80l53.34 26.67L80 160zm144-64l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zm234.66 245.33L432 288l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67zM400 192c8.84 0 16-7.16 16-16v-27.96l91.87-101.83c5.72-6.32 5.48-16.02-.55-22.05L487.84 4.69c-6.03-6.03-15.73-6.27-22.05-.55L186.6 256H144c-8.84 0-16 7.16-16 16v36.87L10.53 414.84c-13.57 12.28-14.1 33.42-1.16 46.36l41.43 41.43c12.94 12.94 34.08 12.41 46.36-1.16L376.34 192H400z\"]\n};\nvar faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"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};\nvar faWarehouseAlt = {\n prefix: 'fas',\n iconName: 'warehouse-alt',\n icon: [640, 512, [], \"f495\", \"M610.5 117L338.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 8h48c4.4 0 8-3.6 8-8V208c0-8.8 7.2-16 16-16h480c8.8 0 16 7.2 16 16v296c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3zM304 416H144c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h160c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm192 0H368c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zM304 288H144c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h160c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16z\"]\n};\nvar faWasher = {\n prefix: 'fas',\n iconName: 'washer',\n icon: [446, 512, [], \"f898\", \"M384 0H64A64 64 0 0 0 0 64v416a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a64 64 0 0 0-64-64zM184 64a24 24 0 1 1-24 24 24 24 0 0 1 24-24zM64 88a24 24 0 1 1 24 24 24 24 0 0 1-24-24zm160 360a144 144 0 1 1 144-144 144 144 0 0 1-144 144zm36.87-163.66a51.23 51.23 0 0 1-73.74 0 51.79 51.79 0 0 1-73.24 1A110.76 110.76 0 0 0 112 304a112 112 0 0 0 224 0 110.76 110.76 0 0 0-1.89-18.69 51.79 51.79 0 0 1-73.24-1z\"]\n};\nvar faWatch = {\n prefix: 'fas',\n iconName: 'watch',\n icon: [384, 512, [], \"f2e1\", \"M192 80c97.2 0 176 78.8 176 176s-78.8 176-176 176S16 353.2 16 256 94.8 80 192 80m0-24c47.4 0 92.4 16.6 128 46.3V24c0-13.3-10.7-24-24-24H88C74.7 0 64 10.7 64 24v78.3C99.6 72.6 144.5 56 192 56zm0 400c-47.5 0-92.4-16.7-128-46.3V488c0 13.3 10.7 24 24 24h208c13.3 0 24-10.7 24-24v-78.3c-35.6 29.7-80.6 46.3-128 46.3zm53-130.3l18.8-25.9c3.9-5.4 2.7-12.9-2.6-16.8L220 253v-93c0-6.6-5.4-12-12-12h-32c-6.6 0-12 5.4-12 12v115.4c0 3.8 1.8 7.4 4.9 9.7l59.3 43.2c5.4 4 12.9 2.8 16.8-2.6z\"]\n};\nvar faWatchCalculator = {\n prefix: 'fas',\n iconName: 'watch-calculator',\n icon: [384, 512, [], \"f8f0\", \"M320 80H64a64 64 0 0 0-64 64v224a64 64 0 0 0 64 64h256a64 64 0 0 0 64-64V144a64 64 0 0 0-64-64zM120 368a8 8 0 0 1-8 8H80a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8zm0-96a8 8 0 0 1-8 8H80a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8zm96 96a8 8 0 0 1-8 8h-32a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8zm0-96a8 8 0 0 1-8 8h-32a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8zm96 96a8 8 0 0 1-8 8h-32a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8zm0-96a8 8 0 0 1-8 8h-32a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8zm0-96a8 8 0 0 1-8 8H80a8 8 0 0 1-8-8v-32a8 8 0 0 1 8-8h224a8 8 0 0 1 8 8zm8-144a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v16h256zM64 480a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32v-16H64z\"]\n};\nvar faWatchFitness = {\n prefix: 'fas',\n iconName: 'watch-fitness',\n icon: [384, 512, [], \"f63e\", \"M64 480c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-16H64v16zM320 32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v16h256V32zm0 48H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h256c35.35 0 64-28.65 64-64V144c0-35.35-28.65-64-64-64zm-33.43 182.21l-84.67 85.64a13.89 13.89 0 0 1-19.8 0l-84.67-85.64c-24.6-24.88-23.16-66.13 4.33-89.08 23.96-20.02 59.65-16.42 81.62 5.81l8.62 8.72 8.62-8.72c21.97-22.23 57.66-25.82 81.62-5.81 27.49 22.96 28.93 64.21 4.33 89.08z\"]\n};\nvar faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"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};\nvar faWaterLower = {\n prefix: 'fas',\n iconName: 'water-lower',\n icon: [576, 512, [], \"f774\", \"M562.1 447.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.3zM276 219c6.6 6.6 17.4 6.6 24 0l96.4-95.7c10.1-10.1 3-27.4-11.3-27.4H320V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v80h-65.2c-14.3 0-21.4 17.3-11.2 27.4L276 219z\"]\n};\nvar faWaterRise = {\n prefix: 'fas',\n iconName: 'water-rise',\n icon: [576, 512, [], \"f775\", \"M562.1 447.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.3zM190.8 128H256v80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-80h65.2c14.3 0 21.4-17.3 11.2-27.4L300 5c-6.6-6.6-17.4-6.6-24 0l-96.4 95.7c-10.2 10-3 27.3 11.2 27.3z\"]\n};\nvar faWaveSine = {\n prefix: 'fas',\n iconName: 'wave-sine',\n icon: [640, 512, [], \"f899\", \"M464 480c-90.52 0-132.84-107.94-173.8-212.31C258.64 187.2 222.88 96 176 96c-39.7 0-91.38 81.89-114.12 149a16 16 0 0 1-19.74 10.33l-30.72-9.21A16 16 0 0 1 .84 225.68C19.55 169.79 82.16 32 176 32c90.52 0 132.84 107.94 173.8 212.31C381.36 324.8 417.12 416 464 416c39.7 0 91.38-81.89 114.12-149a16 16 0 0 1 19.74-10.33l30.72 9.21a16 16 0 0 1 10.58 20.43C620.45 342.21 557.84 480 464 480z\"]\n};\nvar faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"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};\nvar faWaveTriangle = {\n prefix: 'fas',\n iconName: 'wave-triangle',\n icon: [640, 512, [], \"f89a\", \"M464 480h-.34a32 32 0 0 1-25.25-12.8l-263-350.65L53.73 281.88a16 16 0 0 1-22.46 2.7L6.12 264.82a16 16 0 0 1-2.7-22.47L150.84 44.23A32 32 0 0 1 176 32h.34a32 32 0 0 1 25.25 12.8l263 350.65 121.68-165.33a16 16 0 0 1 22.46-2.7l25.15 19.76a16 16 0 0 1 2.7 22.47L489.16 467.77A32 32 0 0 1 464 480z\"]\n};\nvar faWaveform = {\n prefix: 'fas',\n iconName: 'waveform',\n icon: [640, 512, [], \"f8f1\", \"M140 192h-24a16 16 0 0 0-16 16v96a16 16 0 0 0 16 16h24a16 16 0 0 0 16-16v-96a16 16 0 0 0-16-16zm-96 32H20a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h24a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM236 96h-24a16 16 0 0 0-16 16v288a16 16 0 0 0 16 16h24a16 16 0 0 0 16-16V112a16 16 0 0 0-16-16zm384 128h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h24a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM524 64h-24a16 16 0 0 0-16 16v352a16 16 0 0 0 16 16h24a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm-96 64h-24a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16h24a16 16 0 0 0 16-16V144a16 16 0 0 0-16-16zM332 0h-24a16 16 0 0 0-16 16v480a16 16 0 0 0 16 16h24a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16z\"]\n};\nvar faWaveformPath = {\n prefix: 'fas',\n iconName: 'waveform-path',\n icon: [640, 512, [], \"f8f2\", \"M624 263h-43.69l-12.65-84a24 24 0 0 0-23.1-20h-.12c-9.5 0-21.38 7.22-23.91 18.95L500.16 281 471.75 83.44a24 24 0 0 0-47.41-.39l-38.5 239-42.06-302.46a24 24 0 0 0-47.56 0l-42.06 302.47-38.5-239a24 24 0 0 0-47.41.39L139.84 281l-20.37-103a23.54 23.54 0 0 0-23.59-19h-.5a24 24 0 0 0-23 20l-12.69 84H16a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h81.19l23.34 117c2.56 11.89 11.94 19.42 24.13 19a24.08 24.08 0 0 0 23.09-20.45l25.5-178.08L232.34 491c1.82 11.13 12.63 19.8 23.85 20.05a24 24 0 0 0 23.59-20.61L320 200.7l40.22 289.71a24 24 0 0 0 47.44.54l39.09-242.5 25.5 178.13a24 24 0 0 0 23 20.42c12 0 21.84-8 24.19-18.95l23.34-117H624a16 16 0 0 0 16-16V279a16 16 0 0 0-16-16z\"]\n};\nvar faWebcam = {\n prefix: 'fas',\n iconName: 'webcam',\n icon: [448, 512, [], \"f832\", \"M402.29 438.6l-49.19-30.75c58.11-40.46 96.23-107.66 96.23-183.85 0-123.71-100.29-224-224-224s-224 100.29-224 224c0 76.19 38.12 143.39 96.23 183.85L48.37 438.6a32 32 0 0 0-15 27.14V480a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32v-14.26a32 32 0 0 0-15.08-27.14zm-177-54.6a160 160 0 1 1 160-160 160 160 0 0 1-159.96 160zm0-288a128 128 0 1 0 128 128A128 128 0 0 0 225.33 96zm0 80a48.05 48.05 0 0 0-48 48 16 16 0 0 1-32 0 80.09 80.09 0 0 1 80-80 16 16 0 1 1 0 32z\"]\n};\nvar faWebcamSlash = {\n prefix: 'fas',\n iconName: 'webcam-slash',\n icon: [640, 512, [], \"f833\", \"M163.46 256.92l-66.53-51.41c-.5 6.11-.93 12.25-.93 18.49 0 76.19 38.12 143.39 96.23 183.85L143 438.6a32 32 0 0 0-15 27.14V480a32 32 0 0 0 32 32h320a31.58 31.58 0 0 0 10.7-2.16L327 383.3c-83.42 3.7-148.41-54.1-163.54-126.38zM633.82 458.1L500.7 355.21c27-36.85 43.3-82 43.3-131.21C544 100.29 443.71 0 320 0a223.48 223.48 0 0 0-173 81.8L45.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.45zM320 176a47.78 47.78 0 0 0-33.46 13.69l-25.3-19.55A79.57 79.57 0 0 1 320 144a16 16 0 0 1 0 32zm130.12 140.12l-25.23-19.5A126 126 0 0 0 448 224a127.86 127.86 0 0 0-224.93-83.36l-24.65-19C227.56 86.62 270.85 64 320 64a160 160 0 0 1 160 160 157.21 157.21 0 0 1-29.88 92.12z\"]\n};\nvar faWeight = {\n prefix: 'fas',\n iconName: 'weight',\n icon: [512, 512, [], \"f496\", \"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};\nvar faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"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};\nvar faWhale = {\n prefix: 'fas',\n iconName: 'whale',\n icon: [640, 512, [], \"f72c\", \"M544 160c-243.05 0-315.29 224-380.12 224-19.78 0-35.88-16.09-35.88-35.87v-97.99l49.75-30.51A32.007 32.007 0 0 0 192 193v-80.98c0-12.78-14.24-20.4-24.88-13.31L96 146.13 24.88 98.71C14.24 91.63 0 99.25 0 112.03V193c0 10.7 5.35 20.69 14.25 26.62L64 250.14v97.99C64 403.2 108.8 448 163.88 448H576c35.35 0 64-28.65 64-64V256c0-52.94-43.06-96-96-96zM432 288c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16z\"]\n};\nvar faWheat = {\n prefix: 'fas',\n iconName: 'wheat',\n icon: [512, 512, [], \"f72d\", \"M481.7 113.55c25.4-27.43 32.47-72.08 29.75-113C482.47-1.39 431.2.29 398.9 30.43c-37.2 37.35-30.99 104.3-29.76 113 41.58 2.78 85-4.15 112.56-29.88zm-43.51 56c-16.1 3.87-33.24 6.45-52.18 6.45-6.34 0-12.69-.22-19-.64l-25.9-1.73-3.65-25.7c-.32-2.29-4.98-37.33 4.65-75.88-12.86-31.93-40.99-55.43-45.79-59.03-27.88 24.38-50.81 56.03-51.97 89.52 1.09 28.48 18.66 56.4 40.93 78.93l-41.48 41.48c1.59-5.97 2.8-12.06 3.02-18.39-.09-46.86-46.08-85.04-52.32-89.73-27.88 24.38-50.81 56.03-51.97 89.52 1.1 28.48 18.66 56.4 40.93 78.93l-41.48 41.48c1.59-5.97 2.8-12.06 3.02-18.39-.09-46.86-46.08-85.04-52.32-89.73-27.88 24.38-50.81 56.03-51.96 89.52 1.09 28.48 18.66 56.4 40.93 78.93L9.38 457.38c-12.5 12.5-12.5 32.75 0 45.25C15.63 508.88 23.81 512 32 512s16.38-3.12 22.63-9.38l72.24-72.24c22.73 22.77 50.36 40.17 79.4 41.17 33.21-1.28 65.71-24.89 89.73-52.32-17-19.44-50.28-50.61-89.52-51.97-6.62.01-12.99 1.11-19.2 2.71l41.41-41.41c22.73 22.77 50.36 40.17 79.4 41.17 33.21-1.28 65.71-24.89 89.73-52.32-17-19.44-50.28-50.61-89.52-51.97-6.62.01-12.99 1.11-19.2 2.71l41.41-41.41c22.73 22.77 50.36 40.17 79.4 41.17 33.21-1.28 65.71-24.89 89.73-52.32-12.76-14.6-34.7-35.8-61.45-46.04z\"]\n};\nvar faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"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};\nvar faWhistle = {\n prefix: 'fas',\n iconName: 'whistle',\n icon: [640, 512, [], \"f460\", \"M232 256c0 13.2-10.8 24-24 24s-24-10.8-24-24 10.8-24 24-24 24 10.8 24 24zm252-49.7l150 120c6.7 5.4 8 15.2 2.8 22.1l-78.2 104.3c-4.8 6.5-13.7 8.3-20.7 4.3l-150.4-86C312.1 484.4 150.8 492.8 61 403c-65.5-65.5-78.1-163.8-38-242-14.4-11.8-23-29.7-23-49 0-35.3 28.7-64 64-64 19.2 0 36.9 8.9 49 23.5 65.3-33.6 144.4-30.8 207 9.3l86.6 63.6c5.3 4.2 7.3 11.3 5.1 17.7l-10.2 29.5c-1.1 3.2-.1 6.7 2.6 8.9l25.2 20.2c2.6 2.1 6.2 2.3 9.1.6l27.4-16.2c5.8-3.4 13-2.9 18.2 1.2zM85.5 88.3C79.7 83 72 80 64 80c-17.7 0-32 14.3-32 32 0 8.1 3.3 15.4 8.4 21.2 15.2-20.6 27.3-31.9 45.1-44.9zM280 256c0-39.7-32.3-72-72-72s-72 32.3-72 72 32.3 72 72 72 72-32.3 72-72z\"]\n};\nvar faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [], \"f1eb\", \"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};\nvar faWifi1 = {\n prefix: 'fas',\n iconName: 'wifi-1',\n icon: [640, 512, [], \"f6aa\", \"M384 416c0 35.35-28.65 64-64 64s-64-28.65-64-64 28.65-64 64-64 64 28.65 64 64z\"]\n};\nvar faWifi2 = {\n prefix: 'fas',\n iconName: 'wifi-2',\n icon: [640, 512, [], \"f6ab\", \"M384 416c0 35.35-28.65 64-64 64s-64-28.65-64-64 28.65-64 64-64 64 28.65 64 64zm139.24-124.44c6.55-6.46 6.33-17.06-.57-23.15-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.45-33.99z\"]\n};\nvar faWifiSlash = {\n prefix: 'fas',\n iconName: 'wifi-slash',\n icon: [640, 512, [], \"f6ac\", \"M5.09 154.87c-6.66 6.16-6.79 16.59-.35 22.97l34.24 33.96c6.14 6.09 16.02 6.23 22.4.38 6.99-6.4 14.31-12.22 21.65-18.01l-64.96-50.21c-4.3 3.71-8.79 7.04-12.98 10.91zm471.75 181.9l45.42-45.21c6.52-6.46 6.29-17.06-.57-23.17-64.94-57.74-148.91-82.66-230.34-74.98l-83.16-64.27c125.94-38.36 267.75-11.01 370.43 83.05 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.96c6.44-6.39 6.3-16.82-.35-22.97C496.46 26.82 298.08-.76 133.42 71.35L45.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.42-6.97 4.17-17.03-2.81-22.45L476.84 336.77zm-358.53-68.38c-6.86 6.1-7.08 16.7-.57 23.17l34.28 34.01c5.97 5.93 15.59 6.32 21.94.8 13.35-11.6 28.01-20.66 43.15-28.55l-68.36-52.83c-10.48 7.15-20.74 14.78-30.44 23.4zM256 416c0 35.35 28.65 64 64 64 31.91 0 58.15-23.42 62.99-53.98l-88.7-68.56C271.77 367.37 256 389.82 256 416z\"]\n};\nvar faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"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};\nvar faWindTurbine = {\n prefix: 'fas',\n iconName: 'wind-turbine',\n icon: [514, 512, [], \"f89b\", \"M350.1 480h-48.32l-5-76.66L221 314l-10.78 166H161.9a36.94 36.94 0 0 0-33 20.42A8 8 0 0 0 136 512h240a8 8 0 0 0 7.15-11.58A36.93 36.93 0 0 0 350.1 480zm48.59-54.21l-88.35-182.32a55.73 55.73 0 0 1-.73-42.79l73.28-179.07a15.8 15.8 0 0 0-27.5-15.07L241.27 163.21a55.74 55.74 0 0 1-36.47 22.4L13.32 215.94A15.81 15.81 0 0 0 0 231.89v.23a15.8 15.8 0 0 0 14.1 15.35L203.83 268a55.78 55.78 0 0 1 37.54 20.58l130.31 153.5a15.81 15.81 0 0 0 20.53 3.63l.19-.12a15.79 15.79 0 0 0 6.29-19.8zM256 248a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"]\n};\nvar faWindWarning = {\n prefix: 'fas',\n iconName: 'wind-warning',\n icon: [640, 512, [], \"f776\", \"M635.3 161.5c-8.9-28.6-32.2-51.9-60.7-60.8-59.1-18.4-114 19.1-124.7 72.4-2 9.8 5.8 18.9 15.7 18.9h32.8c6.7 0 13.1-3.8 15.2-10.1 4.2-12.7 16.3-21.9 30.4-21.9 19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H413.4c-3.3 22.6-9.9 44.1-19.4 64h150c62.8 0 111.8-60.7 91.3-126.5zm2.8 235.4c-8.9-45.6-51.5-76.9-97.9-76.9H375.6c-18 25.8-41.4 47.4-68.3 63.7.6.1 1 .3 1.6.3h233.3c15.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.1h-32.8c-10 0-17.7 9.3-15.7 19.1 8.9 43.8 47.7 76.9 94.1 76.9 59.2 0 106-53.8 94.1-115.1zM384 192C384 86 298 0 192 0S0 86 0 192s86 192 192 192 192-86 192-192zM192 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm25.4-110.4c-.8 8.2-7.7 14.4-15.9 14.4h-19c-8.2 0-15.1-6.2-15.9-14.4l-12.8-128c-.9-9.4 6.4-17.6 15.9-17.6h44.6c9.5 0 16.9 8.2 15.9 17.6l-12.8 128z\"]\n};\nvar faWindow = {\n prefix: 'fas',\n iconName: 'window',\n icon: [512, 512, [], \"f40e\", \"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-336 96c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm96 0c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm96 0c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32z\"]\n};\nvar faWindowAlt = {\n prefix: 'fas',\n iconName: 'window-alt',\n icon: [512, 512, [], \"f40f\", \"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-48zM256 96c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm96 0c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm96 0c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32z\"]\n};\nvar faWindowClose = {\n prefix: 'fas',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"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};\nvar faWindowFrame = {\n prefix: 'fas',\n iconName: 'window-frame',\n icon: [512, 512, [], \"e04f\", \"M496,448H480V32A32,32,0,0,0,448,0H64A32,32,0,0,0,32,32V448H16A16,16,0,0,0,0,464v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V464A16,16,0,0,0,496,448ZM416,224H272V64H416ZM96,64H240V224H96Zm0,224H240V448H96ZM272,448V288H416V448Z\"]\n};\nvar faWindowFrameOpen = {\n prefix: 'fas',\n iconName: 'window-frame-open',\n icon: [512, 512, [], \"e050\", \"M480,32A32,32,0,0,0,448,0H64A32,32,0,0,0,32,32V288H480ZM240,224H96V64H240Zm176,0H272V64H416Zm80,224H480V320H416V448H96V320H32V448H16A16,16,0,0,0,0,464v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V464A16,16,0,0,0,496,448Z\"]\n};\nvar faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"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};\nvar faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"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};\nvar faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"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};\nvar faWindsock = {\n prefix: 'fas',\n iconName: 'windsock',\n icon: [512, 512, [], \"f777\", \"M256 380.6l96-13.7V161.1l-96-13.7v233.2zm-144 20.5l80-11.4V138.3l-80-11.4v274.2zM498.3 182L416 170.3v187.4l82.3-11.8c7.9-1.1 13.7-7.9 13.7-15.8V197.9c0-8-5.9-14.7-13.7-15.9zM56 0C25.1 0 0 25.1 0 56c0 22.3 13.1 41.4 32 50.4V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V106.4c18.9-9 32-28.1 32-50.4 0-30.9-25.1-56-56-56z\"]\n};\nvar faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"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};\nvar faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [288, 512, [], \"f4e3\", \"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};\nvar faWineGlassAlt = {\n prefix: 'fas',\n iconName: 'wine-glass-alt',\n icon: [288, 512, [], \"f5ce\", \"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};\nvar faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [576, 512, [], \"f159\", \"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};\nvar faWreath = {\n prefix: 'fas',\n iconName: 'wreath',\n icon: [448, 512, [], \"f7e2\", \"M298.9 384.8L224 416l-74.9-31.2c-10.4-3.5-21.1 4.3-21.1 15.2v96c0 10.9 10.7 18.6 21.1 15.2L224 480l74.9 31.2c10.4 3.5 21.1-4.3 21.1-15.2v-96c0-10.9-10.7-18.6-21.1-15.2zM448 224c0-16.9-8.7-31.6-21.9-40.2 8.9-12.9 11.3-29.9 4.8-45.5-6.6-15.9-20.7-26.2-36.4-28.9 3.3-15.4-.2-31.9-12.1-43.8-11.9-11.9-28.5-15.4-43.8-12.1-2.7-15.8-13-29.9-28.8-36.4-15.6-6.5-32.6-4-45.5 4.8C255.6 8.7 240.9 0 224 0s-31.6 8.7-40.2 21.9c-13-8.9-30-11.3-45.5-4.8-15.8 6.6-26.2 20.7-28.8 36.4-15.4-3.3-31.9.2-43.8 12.1C53.8 77.5 50.3 94 53.6 109.4c-15.8 2.7-29.8 13-36.4 28.8-6.5 15.6-4 32.6 4.8 45.5C8.7 192.4 0 207.1 0 224s8.7 31.6 21.9 40.2c-8.9 12.9-11.3 29.9-4.8 45.5 6.6 15.8 20.7 25.8 36.5 28.5-3.4 15.5 0 32.2 12.1 44.2 8.6 8.6 19.6 12.7 30.8 13.5 1-11.4 5.7-22 14-30.2 9-8.8 21-13.7 33.5-13.7 5.2 0 10.3.8 15.2 2.5l1.1.4 1.1.4 62.7 26.1 62.7-26.1 1.1-.4 1.1-.4c4.9-1.6 10-2.5 15.2-2.5 25 0 45.4 19.3 47.6 43.8 11.2-.7 22.2-4.9 30.8-13.5 12-12 15.5-28.7 12.1-44.2 15.8-2.7 29.9-12.6 36.5-28.5 6.5-15.6 4-32.6-4.8-45.5 12.9-8.5 21.6-23.2 21.6-40.1zm-146.5 26.2c-2.8 8.9-1.1 20.2-6.3 27.6-5.2 7.5-16.1 9.3-23.3 14.8-7.1 5.4-12.1 15.6-20.7 18.5-8.2 2.8-18.1-2.3-27.2-2.3s-19 5.1-27.2 2.3c-8.5-2.9-13.6-13.1-20.7-18.5-7.2-5.4-18.1-7.3-23.3-14.8-5.2-7.4-3.5-18.7-6.3-27.6-2.7-8.6-10.5-16.7-10.5-26.2s7.8-17.6 10.5-26.2c2.8-8.9 1.1-20.2 6.3-27.6 5.2-7.5 16.1-9.3 23.3-14.8 7.1-5.4 12.1-15.6 20.7-18.5 8.2-2.8 18.1 2.3 27.2 2.3s19-5.1 27.2-2.3c8.5 2.9 13.6 13.1 20.7 18.5 7.2 5.4 18.1 7.3 23.3 14.8 5.2 7.4 3.5 18.7 6.3 27.6 2.7 8.6 10.5 16.7 10.5 26.2s-7.8 17.6-10.5 26.2z\"]\n};\nvar faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [], \"f0ad\", \"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};\nvar faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [640, 512, [], \"f497\", \"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};\nvar faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [384, 512, [], \"f157\", \"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};\nvar faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [496, 512, [], \"f6ad\", \"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};\nvar _iconsCache = {\n faAbacus: faAbacus,\n faAcorn: faAcorn,\n faAd: faAd,\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAdjust: faAdjust,\n faAirConditioner: faAirConditioner,\n faAirFreshener: faAirFreshener,\n faAlarmClock: faAlarmClock,\n faAlarmExclamation: faAlarmExclamation,\n faAlarmPlus: faAlarmPlus,\n faAlarmSnooze: faAlarmSnooze,\n faAlbum: faAlbum,\n faAlbumCollection: faAlbumCollection,\n faAlicorn: faAlicorn,\n faAlien: faAlien,\n faAlienMonster: faAlienMonster,\n faAlignCenter: faAlignCenter,\n faAlignJustify: faAlignJustify,\n faAlignLeft: faAlignLeft,\n faAlignRight: faAlignRight,\n faAlignSlash: faAlignSlash,\n faAllergies: faAllergies,\n faAmbulance: faAmbulance,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAmpGuitar: faAmpGuitar,\n faAnalytics: faAnalytics,\n faAnchor: faAnchor,\n faAngel: faAngel,\n faAngleDoubleDown: faAngleDoubleDown,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faAngleDoubleRight: faAngleDoubleRight,\n faAngleDoubleUp: faAngleDoubleUp,\n faAngleDown: faAngleDown,\n faAngleLeft: faAngleLeft,\n faAngleRight: faAngleRight,\n faAngleUp: faAngleUp,\n faAngry: faAngry,\n faAnkh: faAnkh,\n faAppleAlt: faAppleAlt,\n faAppleCrate: faAppleCrate,\n faArchive: faArchive,\n faArchway: faArchway,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faArrowAltDown: faArrowAltDown,\n faArrowAltFromBottom: faArrowAltFromBottom,\n faArrowAltFromLeft: faArrowAltFromLeft,\n faArrowAltFromRight: faArrowAltFromRight,\n faArrowAltFromTop: faArrowAltFromTop,\n faArrowAltLeft: faArrowAltLeft,\n faArrowAltRight: faArrowAltRight,\n faArrowAltSquareDown: faArrowAltSquareDown,\n faArrowAltSquareLeft: faArrowAltSquareLeft,\n faArrowAltSquareRight: faArrowAltSquareRight,\n faArrowAltSquareUp: faArrowAltSquareUp,\n faArrowAltToBottom: faArrowAltToBottom,\n faArrowAltToLeft: faArrowAltToLeft,\n faArrowAltToRight: faArrowAltToRight,\n faArrowAltToTop: faArrowAltToTop,\n faArrowAltUp: faArrowAltUp,\n faArrowCircleDown: faArrowCircleDown,\n faArrowCircleLeft: faArrowCircleLeft,\n faArrowCircleRight: faArrowCircleRight,\n faArrowCircleUp: faArrowCircleUp,\n faArrowDown: faArrowDown,\n faArrowFromBottom: faArrowFromBottom,\n faArrowFromLeft: faArrowFromLeft,\n faArrowFromRight: faArrowFromRight,\n faArrowFromTop: faArrowFromTop,\n faArrowLeft: faArrowLeft,\n faArrowRight: faArrowRight,\n faArrowSquareDown: faArrowSquareDown,\n faArrowSquareLeft: faArrowSquareLeft,\n faArrowSquareRight: faArrowSquareRight,\n faArrowSquareUp: faArrowSquareUp,\n faArrowToBottom: faArrowToBottom,\n faArrowToLeft: faArrowToLeft,\n faArrowToRight: faArrowToRight,\n faArrowToTop: faArrowToTop,\n faArrowUp: faArrowUp,\n faArrows: faArrows,\n faArrowsAlt: faArrowsAlt,\n faArrowsAltH: faArrowsAltH,\n faArrowsAltV: faArrowsAltV,\n faArrowsH: faArrowsH,\n faArrowsV: faArrowsV,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faAsterisk: faAsterisk,\n faAt: faAt,\n faAtlas: faAtlas,\n faAtom: faAtom,\n faAtomAlt: faAtomAlt,\n faAudioDescription: faAudioDescription,\n faAward: faAward,\n faAxe: faAxe,\n faAxeBattle: faAxeBattle,\n faBaby: faBaby,\n faBabyCarriage: faBabyCarriage,\n faBackpack: faBackpack,\n faBackspace: faBackspace,\n faBackward: faBackward,\n faBacon: faBacon,\n faBacteria: faBacteria,\n faBacterium: faBacterium,\n faBadge: faBadge,\n faBadgeCheck: faBadgeCheck,\n faBadgeDollar: faBadgeDollar,\n faBadgePercent: faBadgePercent,\n faBadgeSheriff: faBadgeSheriff,\n faBadgerHoney: faBadgerHoney,\n faBagsShopping: faBagsShopping,\n faBahai: faBahai,\n faBalanceScale: faBalanceScale,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faBalanceScaleRight: faBalanceScaleRight,\n faBallPile: faBallPile,\n faBallot: faBallot,\n faBallotCheck: faBallotCheck,\n faBan: faBan,\n faBandAid: faBandAid,\n faBanjo: faBanjo,\n faBarcode: faBarcode,\n faBarcodeAlt: faBarcodeAlt,\n faBarcodeRead: faBarcodeRead,\n faBarcodeScan: faBarcodeScan,\n faBars: faBars,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faBasketballBall: faBasketballBall,\n faBasketballHoop: faBasketballHoop,\n faBat: faBat,\n faBath: faBath,\n faBatteryBolt: faBatteryBolt,\n faBatteryEmpty: faBatteryEmpty,\n faBatteryFull: faBatteryFull,\n faBatteryHalf: faBatteryHalf,\n faBatteryQuarter: faBatteryQuarter,\n faBatterySlash: faBatterySlash,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBed: faBed,\n faBedAlt: faBedAlt,\n faBedBunk: faBedBunk,\n faBedEmpty: faBedEmpty,\n faBeer: faBeer,\n faBell: faBell,\n faBellExclamation: faBellExclamation,\n faBellOn: faBellOn,\n faBellPlus: faBellPlus,\n faBellSchool: faBellSchool,\n faBellSchoolSlash: faBellSchoolSlash,\n faBellSlash: faBellSlash,\n faBells: faBells,\n faBetamax: faBetamax,\n faBezierCurve: faBezierCurve,\n faBible: faBible,\n faBicycle: faBicycle,\n faBiking: faBiking,\n faBikingMountain: faBikingMountain,\n faBinoculars: faBinoculars,\n faBiohazard: faBiohazard,\n faBirthdayCake: faBirthdayCake,\n faBlanket: faBlanket,\n faBlender: faBlender,\n faBlenderPhone: faBlenderPhone,\n faBlind: faBlind,\n faBlinds: faBlinds,\n faBlindsOpen: faBlindsOpen,\n faBlindsRaised: faBlindsRaised,\n faBlog: faBlog,\n faBold: faBold,\n faBolt: faBolt,\n faBomb: faBomb,\n faBone: faBone,\n faBoneBreak: faBoneBreak,\n faBong: faBong,\n faBook: faBook,\n faBookAlt: faBookAlt,\n faBookDead: faBookDead,\n faBookHeart: faBookHeart,\n faBookMedical: faBookMedical,\n faBookOpen: faBookOpen,\n faBookReader: faBookReader,\n faBookSpells: faBookSpells,\n faBookUser: faBookUser,\n faBookmark: faBookmark,\n faBooks: faBooks,\n faBooksMedical: faBooksMedical,\n faBoombox: faBoombox,\n faBoot: faBoot,\n faBoothCurtain: faBoothCurtain,\n faBorderAll: faBorderAll,\n faBorderBottom: faBorderBottom,\n faBorderCenterH: faBorderCenterH,\n faBorderCenterV: faBorderCenterV,\n faBorderInner: faBorderInner,\n faBorderLeft: faBorderLeft,\n faBorderNone: faBorderNone,\n faBorderOuter: faBorderOuter,\n faBorderRight: faBorderRight,\n faBorderStyle: faBorderStyle,\n faBorderStyleAlt: faBorderStyleAlt,\n faBorderTop: faBorderTop,\n faBowArrow: faBowArrow,\n faBowlingBall: faBowlingBall,\n faBowlingPins: faBowlingPins,\n faBox: faBox,\n faBoxAlt: faBoxAlt,\n faBoxBallot: faBoxBallot,\n faBoxCheck: faBoxCheck,\n faBoxFragile: faBoxFragile,\n faBoxFull: faBoxFull,\n faBoxHeart: faBoxHeart,\n faBoxOpen: faBoxOpen,\n faBoxTissue: faBoxTissue,\n faBoxUp: faBoxUp,\n faBoxUsd: faBoxUsd,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faBoxingGlove: faBoxingGlove,\n faBrackets: faBrackets,\n faBracketsCurly: faBracketsCurly,\n faBraille: faBraille,\n faBrain: faBrain,\n faBreadLoaf: faBreadLoaf,\n faBreadSlice: faBreadSlice,\n faBriefcase: faBriefcase,\n faBriefcaseMedical: faBriefcaseMedical,\n faBringForward: faBringForward,\n faBringFront: faBringFront,\n faBroadcastTower: faBroadcastTower,\n faBroom: faBroom,\n faBrowser: faBrowser,\n faBrush: faBrush,\n faBug: faBug,\n faBuilding: faBuilding,\n faBullhorn: faBullhorn,\n faBullseye: faBullseye,\n faBullseyeArrow: faBullseyeArrow,\n faBullseyePointer: faBullseyePointer,\n faBurgerSoda: faBurgerSoda,\n faBurn: faBurn,\n faBurrito: faBurrito,\n faBus: faBus,\n faBusAlt: faBusAlt,\n faBusSchool: faBusSchool,\n faBusinessTime: faBusinessTime,\n faCabinetFiling: faCabinetFiling,\n faCactus: faCactus,\n faCalculator: faCalculator,\n faCalculatorAlt: faCalculatorAlt,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarDay: faCalendarDay,\n faCalendarEdit: faCalendarEdit,\n faCalendarExclamation: faCalendarExclamation,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarStar: faCalendarStar,\n faCalendarTimes: faCalendarTimes,\n faCalendarWeek: faCalendarWeek,\n faCamcorder: faCamcorder,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faCameraHome: faCameraHome,\n faCameraMovie: faCameraMovie,\n faCameraPolaroid: faCameraPolaroid,\n faCameraRetro: faCameraRetro,\n faCampfire: faCampfire,\n faCampground: faCampground,\n faCandleHolder: faCandleHolder,\n faCandyCane: faCandyCane,\n faCandyCorn: faCandyCorn,\n faCannabis: faCannabis,\n faCapsules: faCapsules,\n faCar: faCar,\n faCarAlt: faCarAlt,\n faCarBattery: faCarBattery,\n faCarBuilding: faCarBuilding,\n faCarBump: faCarBump,\n faCarBus: faCarBus,\n faCarCrash: faCarCrash,\n faCarGarage: faCarGarage,\n faCarMechanic: faCarMechanic,\n faCarSide: faCarSide,\n faCarTilt: faCarTilt,\n faCarWash: faCarWash,\n faCaravan: faCaravan,\n faCaravanAlt: faCaravanAlt,\n faCaretCircleDown: faCaretCircleDown,\n faCaretCircleLeft: faCaretCircleLeft,\n faCaretCircleRight: faCaretCircleRight,\n faCaretCircleUp: faCaretCircleUp,\n faCaretDown: faCaretDown,\n faCaretLeft: faCaretLeft,\n faCaretRight: faCaretRight,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faCaretUp: faCaretUp,\n faCarrot: faCarrot,\n faCars: faCars,\n faCartArrowDown: faCartArrowDown,\n faCartPlus: faCartPlus,\n faCashRegister: faCashRegister,\n faCassetteTape: faCassetteTape,\n faCat: faCat,\n faCatSpace: faCatSpace,\n faCauldron: faCauldron,\n faCctv: faCctv,\n faCertificate: faCertificate,\n faChair: faChair,\n faChairOffice: faChairOffice,\n faChalkboard: faChalkboard,\n faChalkboardTeacher: faChalkboardTeacher,\n faChargingStation: faChargingStation,\n faChartArea: faChartArea,\n faChartBar: faChartBar,\n faChartLine: faChartLine,\n faChartLineDown: faChartLineDown,\n faChartNetwork: faChartNetwork,\n faChartPie: faChartPie,\n faChartPieAlt: faChartPieAlt,\n faChartScatter: faChartScatter,\n faCheck: faCheck,\n faCheckCircle: faCheckCircle,\n faCheckDouble: faCheckDouble,\n faCheckSquare: faCheckSquare,\n faCheese: faCheese,\n faCheeseSwiss: faCheeseSwiss,\n faCheeseburger: faCheeseburger,\n faChess: faChess,\n faChessBishop: faChessBishop,\n faChessBishopAlt: faChessBishopAlt,\n faChessBoard: faChessBoard,\n faChessClock: faChessClock,\n faChessClockAlt: faChessClockAlt,\n faChessKing: faChessKing,\n faChessKingAlt: faChessKingAlt,\n faChessKnight: faChessKnight,\n faChessKnightAlt: faChessKnightAlt,\n faChessPawn: faChessPawn,\n faChessPawnAlt: faChessPawnAlt,\n faChessQueen: faChessQueen,\n faChessQueenAlt: faChessQueenAlt,\n faChessRook: faChessRook,\n faChessRookAlt: faChessRookAlt,\n faChevronCircleDown: faChevronCircleDown,\n faChevronCircleLeft: faChevronCircleLeft,\n faChevronCircleRight: faChevronCircleRight,\n faChevronCircleUp: faChevronCircleUp,\n faChevronDoubleDown: faChevronDoubleDown,\n faChevronDoubleLeft: faChevronDoubleLeft,\n faChevronDoubleRight: faChevronDoubleRight,\n faChevronDoubleUp: faChevronDoubleUp,\n faChevronDown: faChevronDown,\n faChevronLeft: faChevronLeft,\n faChevronRight: faChevronRight,\n faChevronSquareDown: faChevronSquareDown,\n faChevronSquareLeft: faChevronSquareLeft,\n faChevronSquareRight: faChevronSquareRight,\n faChevronSquareUp: faChevronSquareUp,\n faChevronUp: faChevronUp,\n faChild: faChild,\n faChimney: faChimney,\n faChurch: faChurch,\n faCircle: faCircle,\n faCircleNotch: faCircleNotch,\n faCity: faCity,\n faClarinet: faClarinet,\n faClawMarks: faClawMarks,\n faClinicMedical: faClinicMedical,\n faClipboard: faClipboard,\n faClipboardCheck: faClipboardCheck,\n faClipboardList: faClipboardList,\n faClipboardListCheck: faClipboardListCheck,\n faClipboardPrescription: faClipboardPrescription,\n faClipboardUser: faClipboardUser,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faCloud: faCloud,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faCloudDrizzle: faCloudDrizzle,\n faCloudHail: faCloudHail,\n faCloudHailMixed: faCloudHailMixed,\n faCloudMeatball: faCloudMeatball,\n faCloudMoon: faCloudMoon,\n faCloudMoonRain: faCloudMoonRain,\n faCloudMusic: faCloudMusic,\n faCloudRain: faCloudRain,\n faCloudRainbow: faCloudRainbow,\n faCloudShowers: faCloudShowers,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faCloudSleet: faCloudSleet,\n faCloudSnow: faCloudSnow,\n faCloudSun: faCloudSun,\n faCloudSunRain: faCloudSunRain,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faClouds: faClouds,\n faCloudsMoon: faCloudsMoon,\n faCloudsSun: faCloudsSun,\n faClub: faClub,\n faCocktail: faCocktail,\n faCode: faCode,\n faCodeBranch: faCodeBranch,\n faCodeCommit: faCodeCommit,\n faCodeMerge: faCodeMerge,\n faCoffee: faCoffee,\n faCoffeePot: faCoffeePot,\n faCoffeeTogo: faCoffeeTogo,\n faCoffin: faCoffin,\n faCoffinCross: faCoffinCross,\n faCog: faCog,\n faCogs: faCogs,\n faCoin: faCoin,\n faCoins: faCoins,\n faColumns: faColumns,\n faComet: faComet,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentAltCheck: faCommentAltCheck,\n faCommentAltDollar: faCommentAltDollar,\n faCommentAltDots: faCommentAltDots,\n faCommentAltEdit: faCommentAltEdit,\n faCommentAltExclamation: faCommentAltExclamation,\n faCommentAltLines: faCommentAltLines,\n faCommentAltMedical: faCommentAltMedical,\n faCommentAltMinus: faCommentAltMinus,\n faCommentAltMusic: faCommentAltMusic,\n faCommentAltPlus: faCommentAltPlus,\n faCommentAltSlash: faCommentAltSlash,\n faCommentAltSmile: faCommentAltSmile,\n faCommentAltTimes: faCommentAltTimes,\n faCommentCheck: faCommentCheck,\n faCommentDollar: faCommentDollar,\n faCommentDots: faCommentDots,\n faCommentEdit: faCommentEdit,\n faCommentExclamation: faCommentExclamation,\n faCommentLines: faCommentLines,\n faCommentMedical: faCommentMedical,\n faCommentMinus: faCommentMinus,\n faCommentMusic: faCommentMusic,\n faCommentPlus: faCommentPlus,\n faCommentSlash: faCommentSlash,\n faCommentSmile: faCommentSmile,\n faCommentTimes: faCommentTimes,\n faComments: faComments,\n faCommentsAlt: faCommentsAlt,\n faCommentsAltDollar: faCommentsAltDollar,\n faCommentsDollar: faCommentsDollar,\n faCompactDisc: faCompactDisc,\n faCompass: faCompass,\n faCompassSlash: faCompassSlash,\n faCompress: faCompress,\n faCompressAlt: faCompressAlt,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faCompressWide: faCompressWide,\n faComputerClassic: faComputerClassic,\n faComputerSpeaker: faComputerSpeaker,\n faConciergeBell: faConciergeBell,\n faConstruction: faConstruction,\n faContainerStorage: faContainerStorage,\n faConveyorBelt: faConveyorBelt,\n faConveyorBeltAlt: faConveyorBeltAlt,\n faCookie: faCookie,\n faCookieBite: faCookieBite,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCorn: faCorn,\n faCouch: faCouch,\n faCow: faCow,\n faCowbell: faCowbell,\n faCowbellMore: faCowbellMore,\n faCreditCard: faCreditCard,\n faCreditCardBlank: faCreditCardBlank,\n faCreditCardFront: faCreditCardFront,\n faCricket: faCricket,\n faCroissant: faCroissant,\n faCrop: faCrop,\n faCropAlt: faCropAlt,\n faCross: faCross,\n faCrosshairs: faCrosshairs,\n faCrow: faCrow,\n faCrown: faCrown,\n faCrutch: faCrutch,\n faCrutches: faCrutches,\n faCube: faCube,\n faCubes: faCubes,\n faCurling: faCurling,\n faCut: faCut,\n faDagger: faDagger,\n faDatabase: faDatabase,\n faDeaf: faDeaf,\n faDebug: faDebug,\n faDeer: faDeer,\n faDeerRudolph: faDeerRudolph,\n faDemocrat: faDemocrat,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faDewpoint: faDewpoint,\n faDharmachakra: faDharmachakra,\n faDiagnoses: faDiagnoses,\n faDiamond: faDiamond,\n faDice: faDice,\n faDiceD10: faDiceD10,\n faDiceD12: faDiceD12,\n faDiceD20: faDiceD20,\n faDiceD4: faDiceD4,\n faDiceD6: faDiceD6,\n faDiceD8: faDiceD8,\n faDiceFive: faDiceFive,\n faDiceFour: faDiceFour,\n faDiceOne: faDiceOne,\n faDiceSix: faDiceSix,\n faDiceThree: faDiceThree,\n faDiceTwo: faDiceTwo,\n faDigging: faDigging,\n faDigitalTachograph: faDigitalTachograph,\n faDiploma: faDiploma,\n faDirections: faDirections,\n faDiscDrive: faDiscDrive,\n faDisease: faDisease,\n faDivide: faDivide,\n faDizzy: faDizzy,\n faDna: faDna,\n faDoNotEnter: faDoNotEnter,\n faDog: faDog,\n faDogLeashed: faDogLeashed,\n faDollarSign: faDollarSign,\n faDolly: faDolly,\n faDollyEmpty: faDollyEmpty,\n faDollyFlatbed: faDollyFlatbed,\n faDollyFlatbedAlt: faDollyFlatbedAlt,\n faDollyFlatbedEmpty: faDollyFlatbedEmpty,\n faDonate: faDonate,\n faDoorClosed: faDoorClosed,\n faDoorOpen: faDoorOpen,\n faDotCircle: faDotCircle,\n faDove: faDove,\n faDownload: faDownload,\n faDraftingCompass: faDraftingCompass,\n faDragon: faDragon,\n faDrawCircle: faDrawCircle,\n faDrawPolygon: faDrawPolygon,\n faDrawSquare: faDrawSquare,\n faDreidel: faDreidel,\n faDrone: faDrone,\n faDroneAlt: faDroneAlt,\n faDrum: faDrum,\n faDrumSteelpan: faDrumSteelpan,\n faDrumstick: faDrumstick,\n faDrumstickBite: faDrumstickBite,\n faDryer: faDryer,\n faDryerAlt: faDryerAlt,\n faDuck: faDuck,\n faDumbbell: faDumbbell,\n faDumpster: faDumpster,\n faDumpsterFire: faDumpsterFire,\n faDungeon: faDungeon,\n faEar: faEar,\n faEarMuffs: faEarMuffs,\n faEclipse: faEclipse,\n faEclipseAlt: faEclipseAlt,\n faEdit: faEdit,\n faEgg: faEgg,\n faEggFried: faEggFried,\n faEject: faEject,\n faElephant: faElephant,\n faEllipsisH: faEllipsisH,\n faEllipsisHAlt: faEllipsisHAlt,\n faEllipsisV: faEllipsisV,\n faEllipsisVAlt: faEllipsisVAlt,\n faEmptySet: faEmptySet,\n faEngineWarning: faEngineWarning,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEnvelopeOpenDollar: faEnvelopeOpenDollar,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faEnvelopeSquare: faEnvelopeSquare,\n faEquals: faEquals,\n faEraser: faEraser,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faExchange: faExchange,\n faExchangeAlt: faExchangeAlt,\n faExclamation: faExclamation,\n faExclamationCircle: faExclamationCircle,\n faExclamationSquare: faExclamationSquare,\n faExclamationTriangle: faExclamationTriangle,\n faExpand: faExpand,\n faExpandAlt: faExpandAlt,\n faExpandArrows: faExpandArrows,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faExpandWide: faExpandWide,\n faExternalLink: faExternalLink,\n faExternalLinkAlt: faExternalLinkAlt,\n faExternalLinkSquare: faExternalLinkSquare,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faEye: faEye,\n faEyeDropper: faEyeDropper,\n faEyeEvil: faEyeEvil,\n faEyeSlash: faEyeSlash,\n faFan: faFan,\n faFanTable: faFanTable,\n faFarm: faFarm,\n faFastBackward: faFastBackward,\n faFastForward: faFastForward,\n faFaucet: faFaucet,\n faFaucetDrip: faFaucetDrip,\n faFax: faFax,\n faFeather: faFeather,\n faFeatherAlt: faFeatherAlt,\n faFemale: faFemale,\n faFieldHockey: faFieldHockey,\n faFighterJet: faFighterJet,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCertificate: faFileCertificate,\n faFileChartLine: faFileChartLine,\n faFileChartPie: faFileChartPie,\n faFileCheck: faFileCheck,\n faFileCode: faFileCode,\n faFileContract: faFileContract,\n faFileCsv: faFileCsv,\n faFileDownload: faFileDownload,\n faFileEdit: faFileEdit,\n faFileExcel: faFileExcel,\n faFileExclamation: faFileExclamation,\n faFileExport: faFileExport,\n faFileImage: faFileImage,\n faFileImport: faFileImport,\n faFileInvoice: faFileInvoice,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faFileMedical: faFileMedical,\n faFileMedicalAlt: faFileMedicalAlt,\n faFileMinus: faFileMinus,\n faFileMusic: faFileMusic,\n faFilePdf: faFilePdf,\n faFilePlus: faFilePlus,\n faFilePowerpoint: faFilePowerpoint,\n faFilePrescription: faFilePrescription,\n faFileSearch: faFileSearch,\n faFileSignature: faFileSignature,\n faFileSpreadsheet: faFileSpreadsheet,\n faFileTimes: faFileTimes,\n faFileUpload: faFileUpload,\n faFileUser: faFileUser,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFilesMedical: faFilesMedical,\n faFill: faFill,\n faFillDrip: faFillDrip,\n faFilm: faFilm,\n faFilmAlt: faFilmAlt,\n faFilmCanister: faFilmCanister,\n faFilter: faFilter,\n faFingerprint: faFingerprint,\n faFire: faFire,\n faFireAlt: faFireAlt,\n faFireExtinguisher: faFireExtinguisher,\n faFireSmoke: faFireSmoke,\n faFireplace: faFireplace,\n faFirstAid: faFirstAid,\n faFish: faFish,\n faFishCooked: faFishCooked,\n faFistRaised: faFistRaised,\n faFlag: faFlag,\n faFlagAlt: faFlagAlt,\n faFlagCheckered: faFlagCheckered,\n faFlagUsa: faFlagUsa,\n faFlame: faFlame,\n faFlashlight: faFlashlight,\n faFlask: faFlask,\n faFlaskPoison: faFlaskPoison,\n faFlaskPotion: faFlaskPotion,\n faFlower: faFlower,\n faFlowerDaffodil: faFlowerDaffodil,\n faFlowerTulip: faFlowerTulip,\n faFlushed: faFlushed,\n faFlute: faFlute,\n faFluxCapacitor: faFluxCapacitor,\n faFog: faFog,\n faFolder: faFolder,\n faFolderDownload: faFolderDownload,\n faFolderMinus: faFolderMinus,\n faFolderOpen: faFolderOpen,\n faFolderPlus: faFolderPlus,\n faFolderTimes: faFolderTimes,\n faFolderTree: faFolderTree,\n faFolderUpload: faFolderUpload,\n faFolders: faFolders,\n faFont: faFont,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFontCase: faFontCase,\n faFootballBall: faFootballBall,\n faFootballHelmet: faFootballHelmet,\n faForklift: faForklift,\n faForward: faForward,\n faFragile: faFragile,\n faFrenchFries: faFrenchFries,\n faFrog: faFrog,\n faFrostyHead: faFrostyHead,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFunction: faFunction,\n faFunnelDollar: faFunnelDollar,\n faFutbol: faFutbol,\n faGalaxy: faGalaxy,\n faGameBoard: faGameBoard,\n faGameBoardAlt: faGameBoardAlt,\n faGameConsoleHandheld: faGameConsoleHandheld,\n faGamepad: faGamepad,\n faGamepadAlt: faGamepadAlt,\n faGarage: faGarage,\n faGarageCar: faGarageCar,\n faGarageOpen: faGarageOpen,\n faGasPump: faGasPump,\n faGasPumpSlash: faGasPumpSlash,\n faGavel: faGavel,\n faGem: faGem,\n faGenderless: faGenderless,\n faGhost: faGhost,\n faGift: faGift,\n faGiftCard: faGiftCard,\n faGifts: faGifts,\n faGingerbreadMan: faGingerbreadMan,\n faGlass: faGlass,\n faGlassChampagne: faGlassChampagne,\n faGlassCheers: faGlassCheers,\n faGlassCitrus: faGlassCitrus,\n faGlassMartini: faGlassMartini,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faGlassWhiskey: faGlassWhiskey,\n faGlassWhiskeyRocks: faGlassWhiskeyRocks,\n faGlasses: faGlasses,\n faGlassesAlt: faGlassesAlt,\n faGlobe: faGlobe,\n faGlobeAfrica: faGlobeAfrica,\n faGlobeAmericas: faGlobeAmericas,\n faGlobeAsia: faGlobeAsia,\n faGlobeEurope: faGlobeEurope,\n faGlobeSnow: faGlobeSnow,\n faGlobeStand: faGlobeStand,\n faGolfBall: faGolfBall,\n faGolfClub: faGolfClub,\n faGopuram: faGopuram,\n faGraduationCap: faGraduationCap,\n faGramophone: faGramophone,\n faGreaterThan: faGreaterThan,\n faGreaterThanEqual: faGreaterThanEqual,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faGripHorizontal: faGripHorizontal,\n faGripLines: faGripLines,\n faGripLinesVertical: faGripLinesVertical,\n faGripVertical: faGripVertical,\n faGuitar: faGuitar,\n faGuitarElectric: faGuitarElectric,\n faGuitars: faGuitars,\n faHSquare: faHSquare,\n faH1: faH1,\n faH2: faH2,\n faH3: faH3,\n faH4: faH4,\n faHamburger: faHamburger,\n faHammer: faHammer,\n faHammerWar: faHammerWar,\n faHamsa: faHamsa,\n faHandHeart: faHandHeart,\n faHandHolding: faHandHolding,\n faHandHoldingBox: faHandHoldingBox,\n faHandHoldingHeart: faHandHoldingHeart,\n faHandHoldingMagic: faHandHoldingMagic,\n faHandHoldingMedical: faHandHoldingMedical,\n faHandHoldingSeedling: faHandHoldingSeedling,\n faHandHoldingUsd: faHandHoldingUsd,\n faHandHoldingWater: faHandHoldingWater,\n faHandLizard: faHandLizard,\n faHandMiddleFinger: faHandMiddleFinger,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandReceiving: faHandReceiving,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSparkles: faHandSparkles,\n faHandSpock: faHandSpock,\n faHands: faHands,\n faHandsHeart: faHandsHeart,\n faHandsHelping: faHandsHelping,\n faHandsUsd: faHandsUsd,\n faHandsWash: faHandsWash,\n faHandshake: faHandshake,\n faHandshakeAlt: faHandshakeAlt,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faHandshakeSlash: faHandshakeSlash,\n faHanukiah: faHanukiah,\n faHardHat: faHardHat,\n faHashtag: faHashtag,\n faHatChef: faHatChef,\n faHatCowboy: faHatCowboy,\n faHatCowboySide: faHatCowboySide,\n faHatSanta: faHatSanta,\n faHatWinter: faHatWinter,\n faHatWitch: faHatWitch,\n faHatWizard: faHatWizard,\n faHdd: faHdd,\n faHeadSide: faHeadSide,\n faHeadSideBrain: faHeadSideBrain,\n faHeadSideCough: faHeadSideCough,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faHeadSideHeadphones: faHeadSideHeadphones,\n faHeadSideMask: faHeadSideMask,\n faHeadSideMedical: faHeadSideMedical,\n faHeadSideVirus: faHeadSideVirus,\n faHeadVr: faHeadVr,\n faHeading: faHeading,\n faHeadphones: faHeadphones,\n faHeadphonesAlt: faHeadphonesAlt,\n faHeadset: faHeadset,\n faHeart: faHeart,\n faHeartBroken: faHeartBroken,\n faHeartCircle: faHeartCircle,\n faHeartRate: faHeartRate,\n faHeartSquare: faHeartSquare,\n faHeartbeat: faHeartbeat,\n faHeat: faHeat,\n faHelicopter: faHelicopter,\n faHelmetBattle: faHelmetBattle,\n faHexagon: faHexagon,\n faHighlighter: faHighlighter,\n faHiking: faHiking,\n faHippo: faHippo,\n faHistory: faHistory,\n faHockeyMask: faHockeyMask,\n faHockeyPuck: faHockeyPuck,\n faHockeySticks: faHockeySticks,\n faHollyBerry: faHollyBerry,\n faHome: faHome,\n faHomeAlt: faHomeAlt,\n faHomeHeart: faHomeHeart,\n faHomeLg: faHomeLg,\n faHomeLgAlt: faHomeLgAlt,\n faHoodCloak: faHoodCloak,\n faHorizontalRule: faHorizontalRule,\n faHorse: faHorse,\n faHorseHead: faHorseHead,\n faHorseSaddle: faHorseSaddle,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalSymbol: faHospitalSymbol,\n faHospitalUser: faHospitalUser,\n faHospitals: faHospitals,\n faHotTub: faHotTub,\n faHotdog: faHotdog,\n faHotel: faHotel,\n faHourglass: faHourglass,\n faHourglassEnd: faHourglassEnd,\n faHourglassHalf: faHourglassHalf,\n faHourglassStart: faHourglassStart,\n faHouse: faHouse,\n faHouseDamage: faHouseDamage,\n faHouseDay: faHouseDay,\n faHouseFlood: faHouseFlood,\n faHouseLeave: faHouseLeave,\n faHouseNight: faHouseNight,\n faHouseReturn: faHouseReturn,\n faHouseSignal: faHouseSignal,\n faHouseUser: faHouseUser,\n faHryvnia: faHryvnia,\n faHumidity: faHumidity,\n faHurricane: faHurricane,\n faICursor: faICursor,\n faIceCream: faIceCream,\n faIceSkate: faIceSkate,\n faIcicles: faIcicles,\n faIcons: faIcons,\n faIconsAlt: faIconsAlt,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faIdCardAlt: faIdCardAlt,\n faIgloo: faIgloo,\n faImage: faImage,\n faImagePolaroid: faImagePolaroid,\n faImages: faImages,\n faInbox: faInbox,\n faInboxIn: faInboxIn,\n faInboxOut: faInboxOut,\n faIndent: faIndent,\n faIndustry: faIndustry,\n faIndustryAlt: faIndustryAlt,\n faInfinity: faInfinity,\n faInfo: faInfo,\n faInfoCircle: faInfoCircle,\n faInfoSquare: faInfoSquare,\n faInhaler: faInhaler,\n faIntegral: faIntegral,\n faIntersection: faIntersection,\n faInventory: faInventory,\n faIslandTropical: faIslandTropical,\n faItalic: faItalic,\n faJackOLantern: faJackOLantern,\n faJedi: faJedi,\n faJoint: faJoint,\n faJournalWhills: faJournalWhills,\n faJoystick: faJoystick,\n faJug: faJug,\n faKaaba: faKaaba,\n faKazoo: faKazoo,\n faKerning: faKerning,\n faKey: faKey,\n faKeySkeleton: faKeySkeleton,\n faKeyboard: faKeyboard,\n faKeynote: faKeynote,\n faKhanda: faKhanda,\n faKidneys: faKidneys,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faKite: faKite,\n faKiwiBird: faKiwiBird,\n faKnifeKitchen: faKnifeKitchen,\n faLambda: faLambda,\n faLamp: faLamp,\n faLampDesk: faLampDesk,\n faLampFloor: faLampFloor,\n faLandmark: faLandmark,\n faLandmarkAlt: faLandmarkAlt,\n faLanguage: faLanguage,\n faLaptop: faLaptop,\n faLaptopCode: faLaptopCode,\n faLaptopHouse: faLaptopHouse,\n faLaptopMedical: faLaptopMedical,\n faLasso: faLasso,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLayerGroup: faLayerGroup,\n faLayerMinus: faLayerMinus,\n faLayerPlus: faLayerPlus,\n faLeaf: faLeaf,\n faLeafHeart: faLeafHeart,\n faLeafMaple: faLeafMaple,\n faLeafOak: faLeafOak,\n faLemon: faLemon,\n faLessThan: faLessThan,\n faLessThanEqual: faLessThanEqual,\n faLevelDown: faLevelDown,\n faLevelDownAlt: faLevelDownAlt,\n faLevelUp: faLevelUp,\n faLevelUpAlt: faLevelUpAlt,\n faLifeRing: faLifeRing,\n faLightCeiling: faLightCeiling,\n faLightSwitch: faLightSwitch,\n faLightSwitchOff: faLightSwitchOff,\n faLightSwitchOn: faLightSwitchOn,\n faLightbulb: faLightbulb,\n faLightbulbDollar: faLightbulbDollar,\n faLightbulbExclamation: faLightbulbExclamation,\n faLightbulbOn: faLightbulbOn,\n faLightbulbSlash: faLightbulbSlash,\n faLightsHoliday: faLightsHoliday,\n faLineColumns: faLineColumns,\n faLineHeight: faLineHeight,\n faLink: faLink,\n faLips: faLips,\n faLiraSign: faLiraSign,\n faList: faList,\n faListAlt: faListAlt,\n faListMusic: faListMusic,\n faListOl: faListOl,\n faListUl: faListUl,\n faLocation: faLocation,\n faLocationArrow: faLocationArrow,\n faLocationCircle: faLocationCircle,\n faLocationSlash: faLocationSlash,\n faLock: faLock,\n faLockAlt: faLockAlt,\n faLockOpen: faLockOpen,\n faLockOpenAlt: faLockOpenAlt,\n faLongArrowAltDown: faLongArrowAltDown,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faLongArrowAltRight: faLongArrowAltRight,\n faLongArrowAltUp: faLongArrowAltUp,\n faLongArrowDown: faLongArrowDown,\n faLongArrowLeft: faLongArrowLeft,\n faLongArrowRight: faLongArrowRight,\n faLongArrowUp: faLongArrowUp,\n faLoveseat: faLoveseat,\n faLowVision: faLowVision,\n faLuchador: faLuchador,\n faLuggageCart: faLuggageCart,\n faLungs: faLungs,\n faLungsVirus: faLungsVirus,\n faMace: faMace,\n faMagic: faMagic,\n faMagnet: faMagnet,\n faMailBulk: faMailBulk,\n faMailbox: faMailbox,\n faMale: faMale,\n faMandolin: faMandolin,\n faMap: faMap,\n faMapMarked: faMapMarked,\n faMapMarkedAlt: faMapMarkedAlt,\n faMapMarker: faMapMarker,\n faMapMarkerAlt: faMapMarkerAlt,\n faMapMarkerAltSlash: faMapMarkerAltSlash,\n faMapMarkerCheck: faMapMarkerCheck,\n faMapMarkerEdit: faMapMarkerEdit,\n faMapMarkerExclamation: faMapMarkerExclamation,\n faMapMarkerMinus: faMapMarkerMinus,\n faMapMarkerPlus: faMapMarkerPlus,\n faMapMarkerQuestion: faMapMarkerQuestion,\n faMapMarkerSlash: faMapMarkerSlash,\n faMapMarkerSmile: faMapMarkerSmile,\n faMapMarkerTimes: faMapMarkerTimes,\n faMapPin: faMapPin,\n faMapSigns: faMapSigns,\n faMarker: faMarker,\n faMars: faMars,\n faMarsDouble: faMarsDouble,\n faMarsStroke: faMarsStroke,\n faMarsStrokeH: faMarsStrokeH,\n faMarsStrokeV: faMarsStrokeV,\n faMask: faMask,\n faMeat: faMeat,\n faMedal: faMedal,\n faMedkit: faMedkit,\n faMegaphone: faMegaphone,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMemory: faMemory,\n faMenorah: faMenorah,\n faMercury: faMercury,\n faMeteor: faMeteor,\n faMicrochip: faMicrochip,\n faMicrophone: faMicrophone,\n faMicrophoneAlt: faMicrophoneAlt,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faMicrophoneSlash: faMicrophoneSlash,\n faMicrophoneStand: faMicrophoneStand,\n faMicroscope: faMicroscope,\n faMicrowave: faMicrowave,\n faMindShare: faMindShare,\n faMinus: faMinus,\n faMinusCircle: faMinusCircle,\n faMinusHexagon: faMinusHexagon,\n faMinusOctagon: faMinusOctagon,\n faMinusSquare: faMinusSquare,\n faMistletoe: faMistletoe,\n faMitten: faMitten,\n faMobile: faMobile,\n faMobileAlt: faMobileAlt,\n faMobileAndroid: faMobileAndroid,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faMoneyBill: faMoneyBill,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoneyBillWave: faMoneyBillWave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faMoneyCheck: faMoneyCheck,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faMoneyCheckEdit: faMoneyCheckEdit,\n faMoneyCheckEditAlt: faMoneyCheckEditAlt,\n faMonitorHeartRate: faMonitorHeartRate,\n faMonkey: faMonkey,\n faMonument: faMonument,\n faMoon: faMoon,\n faMoonCloud: faMoonCloud,\n faMoonStars: faMoonStars,\n faMortarPestle: faMortarPestle,\n faMosque: faMosque,\n faMotorcycle: faMotorcycle,\n faMountain: faMountain,\n faMountains: faMountains,\n faMouse: faMouse,\n faMouseAlt: faMouseAlt,\n faMousePointer: faMousePointer,\n faMp3Player: faMp3Player,\n faMug: faMug,\n faMugHot: faMugHot,\n faMugMarshmallows: faMugMarshmallows,\n faMugTea: faMugTea,\n faMusic: faMusic,\n faMusicAlt: faMusicAlt,\n faMusicAltSlash: faMusicAltSlash,\n faMusicSlash: faMusicSlash,\n faNarwhal: faNarwhal,\n faNetworkWired: faNetworkWired,\n faNeuter: faNeuter,\n faNewspaper: faNewspaper,\n faNotEqual: faNotEqual,\n faNotesMedical: faNotesMedical,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faOctagon: faOctagon,\n faOilCan: faOilCan,\n faOilTemp: faOilTemp,\n faOm: faOm,\n faOmega: faOmega,\n faOrnament: faOrnament,\n faOtter: faOtter,\n faOutdent: faOutdent,\n faOutlet: faOutlet,\n faOven: faOven,\n faOverline: faOverline,\n faPageBreak: faPageBreak,\n faPager: faPager,\n faPaintBrush: faPaintBrush,\n faPaintBrushAlt: faPaintBrushAlt,\n faPaintRoller: faPaintRoller,\n faPalette: faPalette,\n faPallet: faPallet,\n faPalletAlt: faPalletAlt,\n faPaperPlane: faPaperPlane,\n faPaperclip: faPaperclip,\n faParachuteBox: faParachuteBox,\n faParagraph: faParagraph,\n faParagraphRtl: faParagraphRtl,\n faParking: faParking,\n faParkingCircle: faParkingCircle,\n faParkingCircleSlash: faParkingCircleSlash,\n faParkingSlash: faParkingSlash,\n faPassport: faPassport,\n faPastafarianism: faPastafarianism,\n faPaste: faPaste,\n faPause: faPause,\n faPauseCircle: faPauseCircle,\n faPaw: faPaw,\n faPawAlt: faPawAlt,\n faPawClaws: faPawClaws,\n faPeace: faPeace,\n faPegasus: faPegasus,\n faPen: faPen,\n faPenAlt: faPenAlt,\n faPenFancy: faPenFancy,\n faPenNib: faPenNib,\n faPenSquare: faPenSquare,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faPencilPaintbrush: faPencilPaintbrush,\n faPencilRuler: faPencilRuler,\n faPennant: faPennant,\n faPeopleArrows: faPeopleArrows,\n faPeopleCarry: faPeopleCarry,\n faPepperHot: faPepperHot,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faPersonBooth: faPersonBooth,\n faPersonCarry: faPersonCarry,\n faPersonDolly: faPersonDolly,\n faPersonDollyEmpty: faPersonDollyEmpty,\n faPersonSign: faPersonSign,\n faPhone: faPhone,\n faPhoneAlt: faPhoneAlt,\n faPhoneLaptop: faPhoneLaptop,\n faPhoneOffice: faPhoneOffice,\n faPhonePlus: faPhonePlus,\n faPhoneRotary: faPhoneRotary,\n faPhoneSlash: faPhoneSlash,\n faPhoneSquare: faPhoneSquare,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faPhoneVolume: faPhoneVolume,\n faPhotoVideo: faPhotoVideo,\n faPi: faPi,\n faPiano: faPiano,\n faPianoKeyboard: faPianoKeyboard,\n faPie: faPie,\n faPig: faPig,\n faPiggyBank: faPiggyBank,\n faPills: faPills,\n faPizza: faPizza,\n faPizzaSlice: faPizzaSlice,\n faPlaceOfWorship: faPlaceOfWorship,\n faPlane: faPlane,\n faPlaneAlt: faPlaneAlt,\n faPlaneArrival: faPlaneArrival,\n faPlaneDeparture: faPlaneDeparture,\n faPlaneSlash: faPlaneSlash,\n faPlanetMoon: faPlanetMoon,\n faPlanetRinged: faPlanetRinged,\n faPlay: faPlay,\n faPlayCircle: faPlayCircle,\n faPlug: faPlug,\n faPlus: faPlus,\n faPlusCircle: faPlusCircle,\n faPlusHexagon: faPlusHexagon,\n faPlusOctagon: faPlusOctagon,\n faPlusSquare: faPlusSquare,\n faPodcast: faPodcast,\n faPodium: faPodium,\n faPodiumStar: faPodiumStar,\n faPoliceBox: faPoliceBox,\n faPoll: faPoll,\n faPollH: faPollH,\n faPollPeople: faPollPeople,\n faPoo: faPoo,\n faPooStorm: faPooStorm,\n faPoop: faPoop,\n faPopcorn: faPopcorn,\n faPortalEnter: faPortalEnter,\n faPortalExit: faPortalExit,\n faPortrait: faPortrait,\n faPoundSign: faPoundSign,\n faPowerOff: faPowerOff,\n faPray: faPray,\n faPrayingHands: faPrayingHands,\n faPrescription: faPrescription,\n faPrescriptionBottle: faPrescriptionBottle,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPresentation: faPresentation,\n faPrint: faPrint,\n faPrintSearch: faPrintSearch,\n faPrintSlash: faPrintSlash,\n faProcedures: faProcedures,\n faProjectDiagram: faProjectDiagram,\n faProjector: faProjector,\n faPumpMedical: faPumpMedical,\n faPumpSoap: faPumpSoap,\n faPumpkin: faPumpkin,\n faPuzzlePiece: faPuzzlePiece,\n faQrcode: faQrcode,\n faQuestion: faQuestion,\n faQuestionCircle: faQuestionCircle,\n faQuestionSquare: faQuestionSquare,\n faQuidditch: faQuidditch,\n faQuoteLeft: faQuoteLeft,\n faQuoteRight: faQuoteRight,\n faQuran: faQuran,\n faRabbit: faRabbit,\n faRabbitFast: faRabbitFast,\n faRacquet: faRacquet,\n faRadar: faRadar,\n faRadiation: faRadiation,\n faRadiationAlt: faRadiationAlt,\n faRadio: faRadio,\n faRadioAlt: faRadioAlt,\n faRainbow: faRainbow,\n faRaindrops: faRaindrops,\n faRam: faRam,\n faRampLoading: faRampLoading,\n faRandom: faRandom,\n faRaygun: faRaygun,\n faReceipt: faReceipt,\n faRecordVinyl: faRecordVinyl,\n faRectangleLandscape: faRectangleLandscape,\n faRectanglePortrait: faRectanglePortrait,\n faRectangleWide: faRectangleWide,\n faRecycle: faRecycle,\n faRedo: faRedo,\n faRedoAlt: faRedoAlt,\n faRefrigerator: faRefrigerator,\n faRegistered: faRegistered,\n faRemoveFormat: faRemoveFormat,\n faRepeat: faRepeat,\n faRepeat1: faRepeat1,\n faRepeat1Alt: faRepeat1Alt,\n faRepeatAlt: faRepeatAlt,\n faReply: faReply,\n faReplyAll: faReplyAll,\n faRepublican: faRepublican,\n faRestroom: faRestroom,\n faRetweet: faRetweet,\n faRetweetAlt: faRetweetAlt,\n faRibbon: faRibbon,\n faRing: faRing,\n faRingsWedding: faRingsWedding,\n faRoad: faRoad,\n faRobot: faRobot,\n faRocket: faRocket,\n faRocketLaunch: faRocketLaunch,\n faRoute: faRoute,\n faRouteHighway: faRouteHighway,\n faRouteInterstate: faRouteInterstate,\n faRouter: faRouter,\n faRss: faRss,\n faRssSquare: faRssSquare,\n faRubleSign: faRubleSign,\n faRuler: faRuler,\n faRulerCombined: faRulerCombined,\n faRulerHorizontal: faRulerHorizontal,\n faRulerTriangle: faRulerTriangle,\n faRulerVertical: faRulerVertical,\n faRunning: faRunning,\n faRupeeSign: faRupeeSign,\n faRv: faRv,\n faSack: faSack,\n faSackDollar: faSackDollar,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSalad: faSalad,\n faSandwich: faSandwich,\n faSatellite: faSatellite,\n faSatelliteDish: faSatelliteDish,\n faSausage: faSausage,\n faSave: faSave,\n faSaxHot: faSaxHot,\n faSaxophone: faSaxophone,\n faScalpel: faScalpel,\n faScalpelPath: faScalpelPath,\n faScanner: faScanner,\n faScannerImage: faScannerImage,\n faScannerKeyboard: faScannerKeyboard,\n faScannerTouchscreen: faScannerTouchscreen,\n faScarecrow: faScarecrow,\n faScarf: faScarf,\n faSchool: faSchool,\n faScrewdriver: faScrewdriver,\n faScroll: faScroll,\n faScrollOld: faScrollOld,\n faScrubber: faScrubber,\n faScythe: faScythe,\n faSdCard: faSdCard,\n faSearch: faSearch,\n faSearchDollar: faSearchDollar,\n faSearchLocation: faSearchLocation,\n faSearchMinus: faSearchMinus,\n faSearchPlus: faSearchPlus,\n faSeedling: faSeedling,\n faSendBack: faSendBack,\n faSendBackward: faSendBackward,\n faSensor: faSensor,\n faSensorAlert: faSensorAlert,\n faSensorFire: faSensorFire,\n faSensorOn: faSensorOn,\n faSensorSmoke: faSensorSmoke,\n faServer: faServer,\n faShapes: faShapes,\n faShare: faShare,\n faShareAll: faShareAll,\n faShareAlt: faShareAlt,\n faShareAltSquare: faShareAltSquare,\n faShareSquare: faShareSquare,\n faSheep: faSheep,\n faShekelSign: faShekelSign,\n faShield: faShield,\n faShieldAlt: faShieldAlt,\n faShieldCheck: faShieldCheck,\n faShieldCross: faShieldCross,\n faShieldVirus: faShieldVirus,\n faShip: faShip,\n faShippingFast: faShippingFast,\n faShippingTimed: faShippingTimed,\n faShishKebab: faShishKebab,\n faShoePrints: faShoePrints,\n faShoppingBag: faShoppingBag,\n faShoppingBasket: faShoppingBasket,\n faShoppingCart: faShoppingCart,\n faShovel: faShovel,\n faShovelSnow: faShovelSnow,\n faShower: faShower,\n faShredder: faShredder,\n faShuttleVan: faShuttleVan,\n faShuttlecock: faShuttlecock,\n faSickle: faSickle,\n faSigma: faSigma,\n faSign: faSign,\n faSignIn: faSignIn,\n faSignInAlt: faSignInAlt,\n faSignLanguage: faSignLanguage,\n faSignOut: faSignOut,\n faSignOutAlt: faSignOutAlt,\n faSignal: faSignal,\n faSignal1: faSignal1,\n faSignal2: faSignal2,\n faSignal3: faSignal3,\n faSignal4: faSignal4,\n faSignalAlt: faSignalAlt,\n faSignalAlt1: faSignalAlt1,\n faSignalAlt2: faSignalAlt2,\n faSignalAlt3: faSignalAlt3,\n faSignalAltSlash: faSignalAltSlash,\n faSignalSlash: faSignalSlash,\n faSignalStream: faSignalStream,\n faSignature: faSignature,\n faSimCard: faSimCard,\n faSink: faSink,\n faSiren: faSiren,\n faSirenOn: faSirenOn,\n faSitemap: faSitemap,\n faSkating: faSkating,\n faSkeleton: faSkeleton,\n faSkiJump: faSkiJump,\n faSkiLift: faSkiLift,\n faSkiing: faSkiing,\n faSkiingNordic: faSkiingNordic,\n faSkull: faSkull,\n faSkullCow: faSkullCow,\n faSkullCrossbones: faSkullCrossbones,\n faSlash: faSlash,\n faSledding: faSledding,\n faSleigh: faSleigh,\n faSlidersH: faSlidersH,\n faSlidersHSquare: faSlidersHSquare,\n faSlidersV: faSlidersV,\n faSlidersVSquare: faSlidersVSquare,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmilePlus: faSmilePlus,\n faSmileWink: faSmileWink,\n faSmog: faSmog,\n faSmoke: faSmoke,\n faSmoking: faSmoking,\n faSmokingBan: faSmokingBan,\n faSms: faSms,\n faSnake: faSnake,\n faSnooze: faSnooze,\n faSnowBlowing: faSnowBlowing,\n faSnowboarding: faSnowboarding,\n faSnowflake: faSnowflake,\n faSnowflakes: faSnowflakes,\n faSnowman: faSnowman,\n faSnowmobile: faSnowmobile,\n faSnowplow: faSnowplow,\n faSoap: faSoap,\n faSocks: faSocks,\n faSolarPanel: faSolarPanel,\n faSolarSystem: faSolarSystem,\n faSort: faSort,\n faSortAlphaDown: faSortAlphaDown,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faSortAlphaUp: faSortAlphaUp,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faSortAlt: faSortAlt,\n faSortAmountDown: faSortAmountDown,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faSortAmountUp: faSortAmountUp,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faSortCircle: faSortCircle,\n faSortCircleDown: faSortCircleDown,\n faSortCircleUp: faSortCircleUp,\n faSortDown: faSortDown,\n faSortNumericDown: faSortNumericDown,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faSortNumericUp: faSortNumericUp,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faSortShapesDown: faSortShapesDown,\n faSortShapesDownAlt: faSortShapesDownAlt,\n faSortShapesUp: faSortShapesUp,\n faSortShapesUpAlt: faSortShapesUpAlt,\n faSortSizeDown: faSortSizeDown,\n faSortSizeDownAlt: faSortSizeDownAlt,\n faSortSizeUp: faSortSizeUp,\n faSortSizeUpAlt: faSortSizeUpAlt,\n faSortUp: faSortUp,\n faSoup: faSoup,\n faSpa: faSpa,\n faSpaceShuttle: faSpaceShuttle,\n faSpaceStationMoon: faSpaceStationMoon,\n faSpaceStationMoonAlt: faSpaceStationMoonAlt,\n faSpade: faSpade,\n faSparkles: faSparkles,\n faSpeaker: faSpeaker,\n faSpeakers: faSpeakers,\n faSpellCheck: faSpellCheck,\n faSpider: faSpider,\n faSpiderBlackWidow: faSpiderBlackWidow,\n faSpiderWeb: faSpiderWeb,\n faSpinner: faSpinner,\n faSpinnerThird: faSpinnerThird,\n faSplotch: faSplotch,\n faSprayCan: faSprayCan,\n faSprinkler: faSprinkler,\n faSquare: faSquare,\n faSquareFull: faSquareFull,\n faSquareRoot: faSquareRoot,\n faSquareRootAlt: faSquareRootAlt,\n faSquirrel: faSquirrel,\n faStaff: faStaff,\n faStamp: faStamp,\n faStar: faStar,\n faStarAndCrescent: faStarAndCrescent,\n faStarChristmas: faStarChristmas,\n faStarExclamation: faStarExclamation,\n faStarHalf: faStarHalf,\n faStarHalfAlt: faStarHalfAlt,\n faStarOfDavid: faStarOfDavid,\n faStarOfLife: faStarOfLife,\n faStarShooting: faStarShooting,\n faStarfighter: faStarfighter,\n faStarfighterAlt: faStarfighterAlt,\n faStars: faStars,\n faStarship: faStarship,\n faStarshipFreighter: faStarshipFreighter,\n faSteak: faSteak,\n faSteeringWheel: faSteeringWheel,\n faStepBackward: faStepBackward,\n faStepForward: faStepForward,\n faStethoscope: faStethoscope,\n faStickyNote: faStickyNote,\n faStocking: faStocking,\n faStomach: faStomach,\n faStop: faStop,\n faStopCircle: faStopCircle,\n faStopwatch: faStopwatch,\n faStopwatch20: faStopwatch20,\n faStore: faStore,\n faStoreAlt: faStoreAlt,\n faStoreAltSlash: faStoreAltSlash,\n faStoreSlash: faStoreSlash,\n faStream: faStream,\n faStreetView: faStreetView,\n faStretcher: faStretcher,\n faStrikethrough: faStrikethrough,\n faStroopwafel: faStroopwafel,\n faSubscript: faSubscript,\n faSubway: faSubway,\n faSuitcase: faSuitcase,\n faSuitcaseRolling: faSuitcaseRolling,\n faSun: faSun,\n faSunCloud: faSunCloud,\n faSunDust: faSunDust,\n faSunHaze: faSunHaze,\n faSunglasses: faSunglasses,\n faSunrise: faSunrise,\n faSunset: faSunset,\n faSuperscript: faSuperscript,\n faSurprise: faSurprise,\n faSwatchbook: faSwatchbook,\n faSwimmer: faSwimmer,\n faSwimmingPool: faSwimmingPool,\n faSword: faSword,\n faSwordLaser: faSwordLaser,\n faSwordLaserAlt: faSwordLaserAlt,\n faSwords: faSwords,\n faSwordsLaser: faSwordsLaser,\n faSynagogue: faSynagogue,\n faSync: faSync,\n faSyncAlt: faSyncAlt,\n faSyringe: faSyringe,\n faTable: faTable,\n faTableTennis: faTableTennis,\n faTablet: faTablet,\n faTabletAlt: faTabletAlt,\n faTabletAndroid: faTabletAndroid,\n faTabletAndroidAlt: faTabletAndroidAlt,\n faTabletRugged: faTabletRugged,\n faTablets: faTablets,\n faTachometer: faTachometer,\n faTachometerAlt: faTachometerAlt,\n faTachometerAltAverage: faTachometerAltAverage,\n faTachometerAltFast: faTachometerAltFast,\n faTachometerAltFastest: faTachometerAltFastest,\n faTachometerAltSlow: faTachometerAltSlow,\n faTachometerAltSlowest: faTachometerAltSlowest,\n faTachometerAverage: faTachometerAverage,\n faTachometerFast: faTachometerFast,\n faTachometerFastest: faTachometerFastest,\n faTachometerSlow: faTachometerSlow,\n faTachometerSlowest: faTachometerSlowest,\n faTaco: faTaco,\n faTag: faTag,\n faTags: faTags,\n faTally: faTally,\n faTanakh: faTanakh,\n faTape: faTape,\n faTasks: faTasks,\n faTasksAlt: faTasksAlt,\n faTaxi: faTaxi,\n faTeeth: faTeeth,\n faTeethOpen: faTeethOpen,\n faTelescope: faTelescope,\n faTemperatureDown: faTemperatureDown,\n faTemperatureFrigid: faTemperatureFrigid,\n faTemperatureHigh: faTemperatureHigh,\n faTemperatureHot: faTemperatureHot,\n faTemperatureLow: faTemperatureLow,\n faTemperatureUp: faTemperatureUp,\n faTenge: faTenge,\n faTennisBall: faTennisBall,\n faTerminal: faTerminal,\n faText: faText,\n faTextHeight: faTextHeight,\n faTextSize: faTextSize,\n faTextWidth: faTextWidth,\n faTh: faTh,\n faThLarge: faThLarge,\n faThList: faThList,\n faTheaterMasks: faTheaterMasks,\n faThermometer: faThermometer,\n faThermometerEmpty: faThermometerEmpty,\n faThermometerFull: faThermometerFull,\n faThermometerHalf: faThermometerHalf,\n faThermometerQuarter: faThermometerQuarter,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faTheta: faTheta,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faThumbtack: faThumbtack,\n faThunderstorm: faThunderstorm,\n faThunderstormMoon: faThunderstormMoon,\n faThunderstormSun: faThunderstormSun,\n faTicket: faTicket,\n faTicketAlt: faTicketAlt,\n faTilde: faTilde,\n faTimes: faTimes,\n faTimesCircle: faTimesCircle,\n faTimesHexagon: faTimesHexagon,\n faTimesOctagon: faTimesOctagon,\n faTimesSquare: faTimesSquare,\n faTint: faTint,\n faTintSlash: faTintSlash,\n faTire: faTire,\n faTireFlat: faTireFlat,\n faTirePressureWarning: faTirePressureWarning,\n faTireRugged: faTireRugged,\n faTired: faTired,\n faToggleOff: faToggleOff,\n faToggleOn: faToggleOn,\n faToilet: faToilet,\n faToiletPaper: faToiletPaper,\n faToiletPaperAlt: faToiletPaperAlt,\n faToiletPaperSlash: faToiletPaperSlash,\n faTombstone: faTombstone,\n faTombstoneAlt: faTombstoneAlt,\n faToolbox: faToolbox,\n faTools: faTools,\n faTooth: faTooth,\n faToothbrush: faToothbrush,\n faTorah: faTorah,\n faToriiGate: faToriiGate,\n faTornado: faTornado,\n faTractor: faTractor,\n faTrademark: faTrademark,\n faTrafficCone: faTrafficCone,\n faTrafficLight: faTrafficLight,\n faTrafficLightGo: faTrafficLightGo,\n faTrafficLightSlow: faTrafficLightSlow,\n faTrafficLightStop: faTrafficLightStop,\n faTrailer: faTrailer,\n faTrain: faTrain,\n faTram: faTram,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faTransporter: faTransporter,\n faTransporter1: faTransporter1,\n faTransporter2: faTransporter2,\n faTransporter3: faTransporter3,\n faTransporterEmpty: faTransporterEmpty,\n faTrash: faTrash,\n faTrashAlt: faTrashAlt,\n faTrashRestore: faTrashRestore,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faTrashUndo: faTrashUndo,\n faTrashUndoAlt: faTrashUndoAlt,\n faTreasureChest: faTreasureChest,\n faTree: faTree,\n faTreeAlt: faTreeAlt,\n faTreeChristmas: faTreeChristmas,\n faTreeDecorated: faTreeDecorated,\n faTreeLarge: faTreeLarge,\n faTreePalm: faTreePalm,\n faTrees: faTrees,\n faTriangle: faTriangle,\n faTriangleMusic: faTriangleMusic,\n faTrophy: faTrophy,\n faTrophyAlt: faTrophyAlt,\n faTruck: faTruck,\n faTruckContainer: faTruckContainer,\n faTruckCouch: faTruckCouch,\n faTruckLoading: faTruckLoading,\n faTruckMonster: faTruckMonster,\n faTruckMoving: faTruckMoving,\n faTruckPickup: faTruckPickup,\n faTruckPlow: faTruckPlow,\n faTruckRamp: faTruckRamp,\n faTrumpet: faTrumpet,\n faTshirt: faTshirt,\n faTty: faTty,\n faTurkey: faTurkey,\n faTurntable: faTurntable,\n faTurtle: faTurtle,\n faTv: faTv,\n faTvAlt: faTvAlt,\n faTvMusic: faTvMusic,\n faTvRetro: faTvRetro,\n faTypewriter: faTypewriter,\n faUfo: faUfo,\n faUfoBeam: faUfoBeam,\n faUmbrella: faUmbrella,\n faUmbrellaBeach: faUmbrellaBeach,\n faUnderline: faUnderline,\n faUndo: faUndo,\n faUndoAlt: faUndoAlt,\n faUnicorn: faUnicorn,\n faUnion: faUnion,\n faUniversalAccess: faUniversalAccess,\n faUniversity: faUniversity,\n faUnlink: faUnlink,\n faUnlock: faUnlock,\n faUnlockAlt: faUnlockAlt,\n faUpload: faUpload,\n faUsbDrive: faUsbDrive,\n faUsdCircle: faUsdCircle,\n faUsdSquare: faUsdSquare,\n faUser: faUser,\n faUserAlien: faUserAlien,\n faUserAlt: faUserAlt,\n faUserAltSlash: faUserAltSlash,\n faUserAstronaut: faUserAstronaut,\n faUserChart: faUserChart,\n faUserCheck: faUserCheck,\n faUserCircle: faUserCircle,\n faUserClock: faUserClock,\n faUserCog: faUserCog,\n faUserCowboy: faUserCowboy,\n faUserCrown: faUserCrown,\n faUserEdit: faUserEdit,\n faUserFriends: faUserFriends,\n faUserGraduate: faUserGraduate,\n faUserHardHat: faUserHardHat,\n faUserHeadset: faUserHeadset,\n faUserInjured: faUserInjured,\n faUserLock: faUserLock,\n faUserMd: faUserMd,\n faUserMdChat: faUserMdChat,\n faUserMinus: faUserMinus,\n faUserMusic: faUserMusic,\n faUserNinja: faUserNinja,\n faUserNurse: faUserNurse,\n faUserPlus: faUserPlus,\n faUserRobot: faUserRobot,\n faUserSecret: faUserSecret,\n faUserShield: faUserShield,\n faUserSlash: faUserSlash,\n faUserTag: faUserTag,\n faUserTie: faUserTie,\n faUserTimes: faUserTimes,\n faUserUnlock: faUserUnlock,\n faUserVisor: faUserVisor,\n faUsers: faUsers,\n faUsersClass: faUsersClass,\n faUsersCog: faUsersCog,\n faUsersCrown: faUsersCrown,\n faUsersMedical: faUsersMedical,\n faUsersSlash: faUsersSlash,\n faUtensilFork: faUtensilFork,\n faUtensilKnife: faUtensilKnife,\n faUtensilSpoon: faUtensilSpoon,\n faUtensils: faUtensils,\n faUtensilsAlt: faUtensilsAlt,\n faVacuum: faVacuum,\n faVacuumRobot: faVacuumRobot,\n faValueAbsolute: faValueAbsolute,\n faVectorSquare: faVectorSquare,\n faVenus: faVenus,\n faVenusDouble: faVenusDouble,\n faVenusMars: faVenusMars,\n faVest: faVest,\n faVestPatches: faVestPatches,\n faVhs: faVhs,\n faVial: faVial,\n faVials: faVials,\n faVideo: faVideo,\n faVideoPlus: faVideoPlus,\n faVideoSlash: faVideoSlash,\n faVihara: faVihara,\n faViolin: faViolin,\n faVirus: faVirus,\n faVirusSlash: faVirusSlash,\n faViruses: faViruses,\n faVoicemail: faVoicemail,\n faVolcano: faVolcano,\n faVolleyballBall: faVolleyballBall,\n faVolume: faVolume,\n faVolumeDown: faVolumeDown,\n faVolumeMute: faVolumeMute,\n faVolumeOff: faVolumeOff,\n faVolumeSlash: faVolumeSlash,\n faVolumeUp: faVolumeUp,\n faVoteNay: faVoteNay,\n faVoteYea: faVoteYea,\n faVrCardboard: faVrCardboard,\n faWagonCovered: faWagonCovered,\n faWalker: faWalker,\n faWalkieTalkie: faWalkieTalkie,\n faWalking: faWalking,\n faWallet: faWallet,\n faWand: faWand,\n faWandMagic: faWandMagic,\n faWarehouse: faWarehouse,\n faWarehouseAlt: faWarehouseAlt,\n faWasher: faWasher,\n faWatch: faWatch,\n faWatchCalculator: faWatchCalculator,\n faWatchFitness: faWatchFitness,\n faWater: faWater,\n faWaterLower: faWaterLower,\n faWaterRise: faWaterRise,\n faWaveSine: faWaveSine,\n faWaveSquare: faWaveSquare,\n faWaveTriangle: faWaveTriangle,\n faWaveform: faWaveform,\n faWaveformPath: faWaveformPath,\n faWebcam: faWebcam,\n faWebcamSlash: faWebcamSlash,\n faWeight: faWeight,\n faWeightHanging: faWeightHanging,\n faWhale: faWhale,\n faWheat: faWheat,\n faWheelchair: faWheelchair,\n faWhistle: faWhistle,\n faWifi: faWifi,\n faWifi1: faWifi1,\n faWifi2: faWifi2,\n faWifiSlash: faWifiSlash,\n faWind: faWind,\n faWindTurbine: faWindTurbine,\n faWindWarning: faWindWarning,\n faWindow: faWindow,\n faWindowAlt: faWindowAlt,\n faWindowClose: faWindowClose,\n faWindowFrame: faWindowFrame,\n faWindowFrameOpen: faWindowFrameOpen,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore,\n faWindsock: faWindsock,\n faWineBottle: faWineBottle,\n faWineGlass: faWineGlass,\n faWineGlassAlt: faWineGlassAlt,\n faWonSign: faWonSign,\n faWreath: faWreath,\n faWrench: faWrench,\n faXRay: faXRay,\n faYenSign: faYenSign,\n faYinYang: faYinYang\n};\n\nexport { _iconsCache as fas, prefix, faAbacus, faAcorn, faAd, faAddressBook, faAddressCard, faAdjust, faAirConditioner, faAirFreshener, faAlarmClock, faAlarmExclamation, faAlarmPlus, faAlarmSnooze, faAlbum, faAlbumCollection, faAlicorn, faAlien, faAlienMonster, faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faAlignSlash, faAllergies, faAmbulance, faAmericanSignLanguageInterpreting, faAmpGuitar, faAnalytics, faAnchor, faAngel, faAngleDoubleDown, faAngleDoubleLeft, faAngleDoubleRight, faAngleDoubleUp, faAngleDown, faAngleLeft, faAngleRight, faAngleUp, faAngry, faAnkh, faAppleAlt, faAppleCrate, faArchive, faArchway, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faArrowAltDown, faArrowAltFromBottom, faArrowAltFromLeft, faArrowAltFromRight, faArrowAltFromTop, faArrowAltLeft, faArrowAltRight, faArrowAltSquareDown, faArrowAltSquareLeft, faArrowAltSquareRight, faArrowAltSquareUp, faArrowAltToBottom, faArrowAltToLeft, faArrowAltToRight, faArrowAltToTop, faArrowAltUp, faArrowCircleDown, faArrowCircleLeft, faArrowCircleRight, faArrowCircleUp, faArrowDown, faArrowFromBottom, faArrowFromLeft, faArrowFromRight, faArrowFromTop, faArrowLeft, faArrowRight, faArrowSquareDown, faArrowSquareLeft, faArrowSquareRight, faArrowSquareUp, faArrowToBottom, faArrowToLeft, faArrowToRight, faArrowToTop, faArrowUp, faArrows, faArrowsAlt, faArrowsAltH, faArrowsAltV, faArrowsH, faArrowsV, faAssistiveListeningSystems, faAsterisk, faAt, faAtlas, faAtom, faAtomAlt, faAudioDescription, faAward, faAxe, faAxeBattle, faBaby, faBabyCarriage, faBackpack, faBackspace, faBackward, faBacon, faBacteria, faBacterium, faBadge, faBadgeCheck, faBadgeDollar, faBadgePercent, faBadgeSheriff, faBadgerHoney, faBagsShopping, faBahai, faBalanceScale, faBalanceScaleLeft, faBalanceScaleRight, faBallPile, faBallot, faBallotCheck, faBan, faBandAid, faBanjo, faBarcode, faBarcodeAlt, faBarcodeRead, faBarcodeScan, faBars, faBaseball, faBaseballBall, faBasketballBall, faBasketballHoop, faBat, faBath, faBatteryBolt, faBatteryEmpty, faBatteryFull, faBatteryHalf, faBatteryQuarter, faBatterySlash, faBatteryThreeQuarters, faBed, faBedAlt, faBedBunk, faBedEmpty, faBeer, faBell, faBellExclamation, faBellOn, faBellPlus, faBellSchool, faBellSchoolSlash, faBellSlash, faBells, faBetamax, faBezierCurve, faBible, faBicycle, faBiking, faBikingMountain, faBinoculars, faBiohazard, faBirthdayCake, faBlanket, faBlender, faBlenderPhone, faBlind, faBlinds, faBlindsOpen, faBlindsRaised, faBlog, faBold, faBolt, faBomb, faBone, faBoneBreak, faBong, faBook, faBookAlt, faBookDead, faBookHeart, faBookMedical, faBookOpen, faBookReader, faBookSpells, faBookUser, faBookmark, faBooks, faBooksMedical, faBoombox, faBoot, faBoothCurtain, faBorderAll, faBorderBottom, faBorderCenterH, faBorderCenterV, faBorderInner, faBorderLeft, faBorderNone, faBorderOuter, faBorderRight, faBorderStyle, faBorderStyleAlt, faBorderTop, faBowArrow, faBowlingBall, faBowlingPins, faBox, faBoxAlt, faBoxBallot, faBoxCheck, faBoxFragile, faBoxFull, faBoxHeart, faBoxOpen, faBoxTissue, faBoxUp, faBoxUsd, faBoxes, faBoxesAlt, faBoxingGlove, faBrackets, faBracketsCurly, faBraille, faBrain, faBreadLoaf, faBreadSlice, faBriefcase, faBriefcaseMedical, faBringForward, faBringFront, faBroadcastTower, faBroom, faBrowser, faBrush, faBug, faBuilding, faBullhorn, faBullseye, faBullseyeArrow, faBullseyePointer, faBurgerSoda, faBurn, faBurrito, faBus, faBusAlt, faBusSchool, faBusinessTime, faCabinetFiling, faCactus, faCalculator, faCalculatorAlt, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarDay, faCalendarEdit, faCalendarExclamation, faCalendarMinus, faCalendarPlus, faCalendarStar, faCalendarTimes, faCalendarWeek, faCamcorder, faCamera, faCameraAlt, faCameraHome, faCameraMovie, faCameraPolaroid, faCameraRetro, faCampfire, faCampground, faCandleHolder, faCandyCane, faCandyCorn, faCannabis, faCapsules, faCar, faCarAlt, faCarBattery, faCarBuilding, faCarBump, faCarBus, faCarCrash, faCarGarage, faCarMechanic, faCarSide, faCarTilt, faCarWash, faCaravan, faCaravanAlt, faCaretCircleDown, faCaretCircleLeft, faCaretCircleRight, faCaretCircleUp, faCaretDown, faCaretLeft, faCaretRight, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faCaretUp, faCarrot, faCars, faCartArrowDown, faCartPlus, faCashRegister, faCassetteTape, faCat, faCatSpace, faCauldron, faCctv, faCertificate, faChair, faChairOffice, faChalkboard, faChalkboardTeacher, faChargingStation, faChartArea, faChartBar, faChartLine, faChartLineDown, faChartNetwork, faChartPie, faChartPieAlt, faChartScatter, faCheck, faCheckCircle, faCheckDouble, faCheckSquare, faCheese, faCheeseSwiss, faCheeseburger, faChess, faChessBishop, faChessBishopAlt, faChessBoard, faChessClock, faChessClockAlt, faChessKing, faChessKingAlt, faChessKnight, faChessKnightAlt, faChessPawn, faChessPawnAlt, faChessQueen, faChessQueenAlt, faChessRook, faChessRookAlt, faChevronCircleDown, faChevronCircleLeft, faChevronCircleRight, faChevronCircleUp, faChevronDoubleDown, faChevronDoubleLeft, faChevronDoubleRight, faChevronDoubleUp, faChevronDown, faChevronLeft, faChevronRight, faChevronSquareDown, faChevronSquareLeft, faChevronSquareRight, faChevronSquareUp, faChevronUp, faChild, faChimney, faChurch, faCircle, faCircleNotch, faCity, faClarinet, faClawMarks, faClinicMedical, faClipboard, faClipboardCheck, faClipboardList, faClipboardListCheck, faClipboardPrescription, faClipboardUser, faClock, faClone, faClosedCaptioning, faCloud, faCloudDownload, faCloudDownloadAlt, faCloudDrizzle, faCloudHail, faCloudHailMixed, faCloudMeatball, faCloudMoon, faCloudMoonRain, faCloudMusic, faCloudRain, faCloudRainbow, faCloudShowers, faCloudShowersHeavy, faCloudSleet, faCloudSnow, faCloudSun, faCloudSunRain, faCloudUpload, faCloudUploadAlt, faClouds, faCloudsMoon, faCloudsSun, faClub, faCocktail, faCode, faCodeBranch, faCodeCommit, faCodeMerge, faCoffee, faCoffeePot, faCoffeeTogo, faCoffin, faCoffinCross, faCog, faCogs, faCoin, faCoins, faColumns, faComet, faComment, faCommentAlt, faCommentAltCheck, faCommentAltDollar, faCommentAltDots, faCommentAltEdit, faCommentAltExclamation, faCommentAltLines, faCommentAltMedical, faCommentAltMinus, faCommentAltMusic, faCommentAltPlus, faCommentAltSlash, faCommentAltSmile, faCommentAltTimes, faCommentCheck, faCommentDollar, faCommentDots, faCommentEdit, faCommentExclamation, faCommentLines, faCommentMedical, faCommentMinus, faCommentMusic, faCommentPlus, faCommentSlash, faCommentSmile, faCommentTimes, faComments, faCommentsAlt, faCommentsAltDollar, faCommentsDollar, faCompactDisc, faCompass, faCompassSlash, faCompress, faCompressAlt, faCompressArrowsAlt, faCompressWide, faComputerClassic, faComputerSpeaker, faConciergeBell, faConstruction, faContainerStorage, faConveyorBelt, faConveyorBeltAlt, faCookie, faCookieBite, faCopy, faCopyright, faCorn, faCouch, faCow, faCowbell, faCowbellMore, faCreditCard, faCreditCardBlank, faCreditCardFront, faCricket, faCroissant, faCrop, faCropAlt, faCross, faCrosshairs, faCrow, faCrown, faCrutch, faCrutches, faCube, faCubes, faCurling, faCut, faDagger, faDatabase, faDeaf, faDebug, faDeer, faDeerRudolph, faDemocrat, faDesktop, faDesktopAlt, faDewpoint, faDharmachakra, faDiagnoses, faDiamond, faDice, faDiceD10, faDiceD12, faDiceD20, faDiceD4, faDiceD6, faDiceD8, faDiceFive, faDiceFour, faDiceOne, faDiceSix, faDiceThree, faDiceTwo, faDigging, faDigitalTachograph, faDiploma, faDirections, faDiscDrive, faDisease, faDivide, faDizzy, faDna, faDoNotEnter, faDog, faDogLeashed, faDollarSign, faDolly, faDollyEmpty, faDollyFlatbed, faDollyFlatbedAlt, faDollyFlatbedEmpty, faDonate, faDoorClosed, faDoorOpen, faDotCircle, faDove, faDownload, faDraftingCompass, faDragon, faDrawCircle, faDrawPolygon, faDrawSquare, faDreidel, faDrone, faDroneAlt, faDrum, faDrumSteelpan, faDrumstick, faDrumstickBite, faDryer, faDryerAlt, faDuck, faDumbbell, faDumpster, faDumpsterFire, faDungeon, faEar, faEarMuffs, faEclipse, faEclipseAlt, faEdit, faEgg, faEggFried, faEject, faElephant, faEllipsisH, faEllipsisHAlt, faEllipsisV, faEllipsisVAlt, faEmptySet, faEngineWarning, faEnvelope, faEnvelopeOpen, faEnvelopeOpenDollar, faEnvelopeOpenText, faEnvelopeSquare, faEquals, faEraser, faEthernet, faEuroSign, faExchange, faExchangeAlt, faExclamation, faExclamationCircle, faExclamationSquare, faExclamationTriangle, faExpand, faExpandAlt, faExpandArrows, faExpandArrowsAlt, faExpandWide, faExternalLink, faExternalLinkAlt, faExternalLinkSquare, faExternalLinkSquareAlt, faEye, faEyeDropper, faEyeEvil, faEyeSlash, faFan, faFanTable, faFarm, faFastBackward, faFastForward, faFaucet, faFaucetDrip, faFax, faFeather, faFeatherAlt, faFemale, faFieldHockey, faFighterJet, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCertificate, faFileChartLine, faFileChartPie, faFileCheck, faFileCode, faFileContract, faFileCsv, faFileDownload, faFileEdit, faFileExcel, faFileExclamation, faFileExport, faFileImage, faFileImport, faFileInvoice, faFileInvoiceDollar, faFileMedical, faFileMedicalAlt, faFileMinus, faFileMusic, faFilePdf, faFilePlus, faFilePowerpoint, faFilePrescription, faFileSearch, faFileSignature, faFileSpreadsheet, faFileTimes, faFileUpload, faFileUser, faFileVideo, faFileWord, faFilesMedical, faFill, faFillDrip, faFilm, faFilmAlt, faFilmCanister, faFilter, faFingerprint, faFire, faFireAlt, faFireExtinguisher, faFireSmoke, faFireplace, faFirstAid, faFish, faFishCooked, faFistRaised, faFlag, faFlagAlt, faFlagCheckered, faFlagUsa, faFlame, faFlashlight, faFlask, faFlaskPoison, faFlaskPotion, faFlower, faFlowerDaffodil, faFlowerTulip, faFlushed, faFlute, faFluxCapacitor, faFog, faFolder, faFolderDownload, faFolderMinus, faFolderOpen, faFolderPlus, faFolderTimes, faFolderTree, faFolderUpload, faFolders, faFont, faFontAwesomeLogoFull, faFontCase, faFootballBall, faFootballHelmet, faForklift, faForward, faFragile, faFrenchFries, faFrog, faFrostyHead, faFrown, faFrownOpen, faFunction, faFunnelDollar, faFutbol, faGalaxy, faGameBoard, faGameBoardAlt, faGameConsoleHandheld, faGamepad, faGamepadAlt, faGarage, faGarageCar, faGarageOpen, faGasPump, faGasPumpSlash, faGavel, faGem, faGenderless, faGhost, faGift, faGiftCard, faGifts, faGingerbreadMan, faGlass, faGlassChampagne, faGlassCheers, faGlassCitrus, faGlassMartini, faGlassMartiniAlt, faGlassWhiskey, faGlassWhiskeyRocks, faGlasses, faGlassesAlt, faGlobe, faGlobeAfrica, faGlobeAmericas, faGlobeAsia, faGlobeEurope, faGlobeSnow, faGlobeStand, faGolfBall, faGolfClub, faGopuram, faGraduationCap, faGramophone, faGreaterThan, faGreaterThanEqual, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faGripHorizontal, faGripLines, faGripLinesVertical, faGripVertical, faGuitar, faGuitarElectric, faGuitars, faHSquare, faH1, faH2, faH3, faH4, faHamburger, faHammer, faHammerWar, faHamsa, faHandHeart, faHandHolding, faHandHoldingBox, faHandHoldingHeart, faHandHoldingMagic, faHandHoldingMedical, faHandHoldingSeedling, faHandHoldingUsd, faHandHoldingWater, faHandLizard, faHandMiddleFinger, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandReceiving, faHandRock, faHandScissors, faHandSparkles, faHandSpock, faHands, faHandsHeart, faHandsHelping, faHandsUsd, faHandsWash, faHandshake, faHandshakeAlt, faHandshakeAltSlash, faHandshakeSlash, faHanukiah, faHardHat, faHashtag, faHatChef, faHatCowboy, faHatCowboySide, faHatSanta, faHatWinter, faHatWitch, faHatWizard, faHdd, faHeadSide, faHeadSideBrain, faHeadSideCough, faHeadSideCoughSlash, faHeadSideHeadphones, faHeadSideMask, faHeadSideMedical, faHeadSideVirus, faHeadVr, faHeading, faHeadphones, faHeadphonesAlt, faHeadset, faHeart, faHeartBroken, faHeartCircle, faHeartRate, faHeartSquare, faHeartbeat, faHeat, faHelicopter, faHelmetBattle, faHexagon, faHighlighter, faHiking, faHippo, faHistory, faHockeyMask, faHockeyPuck, faHockeySticks, faHollyBerry, faHome, faHomeAlt, faHomeHeart, faHomeLg, faHomeLgAlt, faHoodCloak, faHorizontalRule, faHorse, faHorseHead, faHorseSaddle, faHospital, faHospitalAlt, faHospitalSymbol, faHospitalUser, faHospitals, faHotTub, faHotdog, faHotel, faHourglass, faHourglassEnd, faHourglassHalf, faHourglassStart, faHouse, faHouseDamage, faHouseDay, faHouseFlood, faHouseLeave, faHouseNight, faHouseReturn, faHouseSignal, faHouseUser, faHryvnia, faHumidity, faHurricane, faICursor, faIceCream, faIceSkate, faIcicles, faIcons, faIconsAlt, faIdBadge, faIdCard, faIdCardAlt, faIgloo, faImage, faImagePolaroid, faImages, faInbox, faInboxIn, faInboxOut, faIndent, faIndustry, faIndustryAlt, faInfinity, faInfo, faInfoCircle, faInfoSquare, faInhaler, faIntegral, faIntersection, faInventory, faIslandTropical, faItalic, faJackOLantern, faJedi, faJoint, faJournalWhills, faJoystick, faJug, faKaaba, faKazoo, faKerning, faKey, faKeySkeleton, faKeyboard, faKeynote, faKhanda, faKidneys, faKiss, faKissBeam, faKissWinkHeart, faKite, faKiwiBird, faKnifeKitchen, faLambda, faLamp, faLampDesk, faLampFloor, faLandmark, faLandmarkAlt, faLanguage, faLaptop, faLaptopCode, faLaptopHouse, faLaptopMedical, faLasso, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLayerGroup, faLayerMinus, faLayerPlus, faLeaf, faLeafHeart, faLeafMaple, faLeafOak, faLemon, faLessThan, faLessThanEqual, faLevelDown, faLevelDownAlt, faLevelUp, faLevelUpAlt, faLifeRing, faLightCeiling, faLightSwitch, faLightSwitchOff, faLightSwitchOn, faLightbulb, faLightbulbDollar, faLightbulbExclamation, faLightbulbOn, faLightbulbSlash, faLightsHoliday, faLineColumns, faLineHeight, faLink, faLips, faLiraSign, faList, faListAlt, faListMusic, faListOl, faListUl, faLocation, faLocationArrow, faLocationCircle, faLocationSlash, faLock, faLockAlt, faLockOpen, faLockOpenAlt, faLongArrowAltDown, faLongArrowAltLeft, faLongArrowAltRight, faLongArrowAltUp, faLongArrowDown, faLongArrowLeft, faLongArrowRight, faLongArrowUp, faLoveseat, faLowVision, faLuchador, faLuggageCart, faLungs, faLungsVirus, faMace, faMagic, faMagnet, faMailBulk, faMailbox, faMale, faMandolin, faMap, faMapMarked, faMapMarkedAlt, faMapMarker, faMapMarkerAlt, faMapMarkerAltSlash, faMapMarkerCheck, faMapMarkerEdit, faMapMarkerExclamation, faMapMarkerMinus, faMapMarkerPlus, faMapMarkerQuestion, faMapMarkerSlash, faMapMarkerSmile, faMapMarkerTimes, faMapPin, faMapSigns, faMarker, faMars, faMarsDouble, faMarsStroke, faMarsStrokeH, faMarsStrokeV, faMask, faMeat, faMedal, faMedkit, faMegaphone, faMeh, faMehBlank, faMehRollingEyes, faMemory, faMenorah, faMercury, faMeteor, faMicrochip, faMicrophone, faMicrophoneAlt, faMicrophoneAltSlash, faMicrophoneSlash, faMicrophoneStand, faMicroscope, faMicrowave, faMindShare, faMinus, faMinusCircle, faMinusHexagon, faMinusOctagon, faMinusSquare, faMistletoe, faMitten, faMobile, faMobileAlt, faMobileAndroid, faMobileAndroidAlt, faMoneyBill, faMoneyBillAlt, faMoneyBillWave, faMoneyBillWaveAlt, faMoneyCheck, faMoneyCheckAlt, faMoneyCheckEdit, faMoneyCheckEditAlt, faMonitorHeartRate, faMonkey, faMonument, faMoon, faMoonCloud, faMoonStars, faMortarPestle, faMosque, faMotorcycle, faMountain, faMountains, faMouse, faMouseAlt, faMousePointer, faMp3Player, faMug, faMugHot, faMugMarshmallows, faMugTea, faMusic, faMusicAlt, faMusicAltSlash, faMusicSlash, faNarwhal, faNetworkWired, faNeuter, faNewspaper, faNotEqual, faNotesMedical, faObjectGroup, faObjectUngroup, faOctagon, faOilCan, faOilTemp, faOm, faOmega, faOrnament, faOtter, faOutdent, faOutlet, faOven, faOverline, faPageBreak, faPager, faPaintBrush, faPaintBrushAlt, faPaintRoller, faPalette, faPallet, faPalletAlt, faPaperPlane, faPaperclip, faParachuteBox, faParagraph, faParagraphRtl, faParking, faParkingCircle, faParkingCircleSlash, faParkingSlash, faPassport, faPastafarianism, faPaste, faPause, faPauseCircle, faPaw, faPawAlt, faPawClaws, faPeace, faPegasus, faPen, faPenAlt, faPenFancy, faPenNib, faPenSquare, faPencil, faPencilAlt, faPencilPaintbrush, faPencilRuler, faPennant, faPeopleArrows, faPeopleCarry, faPepperHot, faPercent, faPercentage, faPersonBooth, faPersonCarry, faPersonDolly, faPersonDollyEmpty, faPersonSign, faPhone, faPhoneAlt, faPhoneLaptop, faPhoneOffice, faPhonePlus, faPhoneRotary, faPhoneSlash, faPhoneSquare, faPhoneSquareAlt, faPhoneVolume, faPhotoVideo, faPi, faPiano, faPianoKeyboard, faPie, faPig, faPiggyBank, faPills, faPizza, faPizzaSlice, faPlaceOfWorship, faPlane, faPlaneAlt, faPlaneArrival, faPlaneDeparture, faPlaneSlash, faPlanetMoon, faPlanetRinged, faPlay, faPlayCircle, faPlug, faPlus, faPlusCircle, faPlusHexagon, faPlusOctagon, faPlusSquare, faPodcast, faPodium, faPodiumStar, faPoliceBox, faPoll, faPollH, faPollPeople, faPoo, faPooStorm, faPoop, faPopcorn, faPortalEnter, faPortalExit, faPortrait, faPoundSign, faPowerOff, faPray, faPrayingHands, faPrescription, faPrescriptionBottle, faPrescriptionBottleAlt, faPresentation, faPrint, faPrintSearch, faPrintSlash, faProcedures, faProjectDiagram, faProjector, faPumpMedical, faPumpSoap, faPumpkin, faPuzzlePiece, faQrcode, faQuestion, faQuestionCircle, faQuestionSquare, faQuidditch, faQuoteLeft, faQuoteRight, faQuran, faRabbit, faRabbitFast, faRacquet, faRadar, faRadiation, faRadiationAlt, faRadio, faRadioAlt, faRainbow, faRaindrops, faRam, faRampLoading, faRandom, faRaygun, faReceipt, faRecordVinyl, faRectangleLandscape, faRectanglePortrait, faRectangleWide, faRecycle, faRedo, faRedoAlt, faRefrigerator, faRegistered, faRemoveFormat, faRepeat, faRepeat1, faRepeat1Alt, faRepeatAlt, faReply, faReplyAll, faRepublican, faRestroom, faRetweet, faRetweetAlt, faRibbon, faRing, faRingsWedding, faRoad, faRobot, faRocket, faRocketLaunch, faRoute, faRouteHighway, faRouteInterstate, faRouter, faRss, faRssSquare, faRubleSign, faRuler, faRulerCombined, faRulerHorizontal, faRulerTriangle, faRulerVertical, faRunning, faRupeeSign, faRv, faSack, faSackDollar, faSadCry, faSadTear, faSalad, faSandwich, faSatellite, faSatelliteDish, faSausage, faSave, faSaxHot, faSaxophone, faScalpel, faScalpelPath, faScanner, faScannerImage, faScannerKeyboard, faScannerTouchscreen, faScarecrow, faScarf, faSchool, faScrewdriver, faScroll, faScrollOld, faScrubber, faScythe, faSdCard, faSearch, faSearchDollar, faSearchLocation, faSearchMinus, faSearchPlus, faSeedling, faSendBack, faSendBackward, faSensor, faSensorAlert, faSensorFire, faSensorOn, faSensorSmoke, faServer, faShapes, faShare, faShareAll, faShareAlt, faShareAltSquare, faShareSquare, faSheep, faShekelSign, faShield, faShieldAlt, faShieldCheck, faShieldCross, faShieldVirus, faShip, faShippingFast, faShippingTimed, faShishKebab, faShoePrints, faShoppingBag, faShoppingBasket, faShoppingCart, faShovel, faShovelSnow, faShower, faShredder, faShuttleVan, faShuttlecock, faSickle, faSigma, faSign, faSignIn, faSignInAlt, faSignLanguage, faSignOut, faSignOutAlt, faSignal, faSignal1, faSignal2, faSignal3, faSignal4, faSignalAlt, faSignalAlt1, faSignalAlt2, faSignalAlt3, faSignalAltSlash, faSignalSlash, faSignalStream, faSignature, faSimCard, faSink, faSiren, faSirenOn, faSitemap, faSkating, faSkeleton, faSkiJump, faSkiLift, faSkiing, faSkiingNordic, faSkull, faSkullCow, faSkullCrossbones, faSlash, faSledding, faSleigh, faSlidersH, faSlidersHSquare, faSlidersV, faSlidersVSquare, faSmile, faSmileBeam, faSmilePlus, faSmileWink, faSmog, faSmoke, faSmoking, faSmokingBan, faSms, faSnake, faSnooze, faSnowBlowing, faSnowboarding, faSnowflake, faSnowflakes, faSnowman, faSnowmobile, faSnowplow, faSoap, faSocks, faSolarPanel, faSolarSystem, faSort, faSortAlphaDown, faSortAlphaDownAlt, faSortAlphaUp, faSortAlphaUpAlt, faSortAlt, faSortAmountDown, faSortAmountDownAlt, faSortAmountUp, faSortAmountUpAlt, faSortCircle, faSortCircleDown, faSortCircleUp, faSortDown, faSortNumericDown, faSortNumericDownAlt, faSortNumericUp, faSortNumericUpAlt, faSortShapesDown, faSortShapesDownAlt, faSortShapesUp, faSortShapesUpAlt, faSortSizeDown, faSortSizeDownAlt, faSortSizeUp, faSortSizeUpAlt, faSortUp, faSoup, faSpa, faSpaceShuttle, faSpaceStationMoon, faSpaceStationMoonAlt, faSpade, faSparkles, faSpeaker, faSpeakers, faSpellCheck, faSpider, faSpiderBlackWidow, faSpiderWeb, faSpinner, faSpinnerThird, faSplotch, faSprayCan, faSprinkler, faSquare, faSquareFull, faSquareRoot, faSquareRootAlt, faSquirrel, faStaff, faStamp, faStar, faStarAndCrescent, faStarChristmas, faStarExclamation, faStarHalf, faStarHalfAlt, faStarOfDavid, faStarOfLife, faStarShooting, faStarfighter, faStarfighterAlt, faStars, faStarship, faStarshipFreighter, faSteak, faSteeringWheel, faStepBackward, faStepForward, faStethoscope, faStickyNote, faStocking, faStomach, faStop, faStopCircle, faStopwatch, faStopwatch20, faStore, faStoreAlt, faStoreAltSlash, faStoreSlash, faStream, faStreetView, faStretcher, faStrikethrough, faStroopwafel, faSubscript, faSubway, faSuitcase, faSuitcaseRolling, faSun, faSunCloud, faSunDust, faSunHaze, faSunglasses, faSunrise, faSunset, faSuperscript, faSurprise, faSwatchbook, faSwimmer, faSwimmingPool, faSword, faSwordLaser, faSwordLaserAlt, faSwords, faSwordsLaser, faSynagogue, faSync, faSyncAlt, faSyringe, faTable, faTableTennis, faTablet, faTabletAlt, faTabletAndroid, faTabletAndroidAlt, faTabletRugged, faTablets, faTachometer, faTachometerAlt, faTachometerAltAverage, faTachometerAltFast, faTachometerAltFastest, faTachometerAltSlow, faTachometerAltSlowest, faTachometerAverage, faTachometerFast, faTachometerFastest, faTachometerSlow, faTachometerSlowest, faTaco, faTag, faTags, faTally, faTanakh, faTape, faTasks, faTasksAlt, faTaxi, faTeeth, faTeethOpen, faTelescope, faTemperatureDown, faTemperatureFrigid, faTemperatureHigh, faTemperatureHot, faTemperatureLow, faTemperatureUp, faTenge, faTennisBall, faTerminal, faText, faTextHeight, faTextSize, faTextWidth, faTh, faThLarge, faThList, faTheaterMasks, faThermometer, faThermometerEmpty, faThermometerFull, faThermometerHalf, faThermometerQuarter, faThermometerThreeQuarters, faTheta, faThumbsDown, faThumbsUp, faThumbtack, faThunderstorm, faThunderstormMoon, faThunderstormSun, faTicket, faTicketAlt, faTilde, faTimes, faTimesCircle, faTimesHexagon, faTimesOctagon, faTimesSquare, faTint, faTintSlash, faTire, faTireFlat, faTirePressureWarning, faTireRugged, faTired, faToggleOff, faToggleOn, faToilet, faToiletPaper, faToiletPaperAlt, faToiletPaperSlash, faTombstone, faTombstoneAlt, faToolbox, faTools, faTooth, faToothbrush, faTorah, faToriiGate, faTornado, faTractor, faTrademark, faTrafficCone, faTrafficLight, faTrafficLightGo, faTrafficLightSlow, faTrafficLightStop, faTrailer, faTrain, faTram, faTransgender, faTransgenderAlt, faTransporter, faTransporter1, faTransporter2, faTransporter3, faTransporterEmpty, faTrash, faTrashAlt, faTrashRestore, faTrashRestoreAlt, faTrashUndo, faTrashUndoAlt, faTreasureChest, faTree, faTreeAlt, faTreeChristmas, faTreeDecorated, faTreeLarge, faTreePalm, faTrees, faTriangle, faTriangleMusic, faTrophy, faTrophyAlt, faTruck, faTruckContainer, faTruckCouch, faTruckLoading, faTruckMonster, faTruckMoving, faTruckPickup, faTruckPlow, faTruckRamp, faTrumpet, faTshirt, faTty, faTurkey, faTurntable, faTurtle, faTv, faTvAlt, faTvMusic, faTvRetro, faTypewriter, faUfo, faUfoBeam, faUmbrella, faUmbrellaBeach, faUnderline, faUndo, faUndoAlt, faUnicorn, faUnion, faUniversalAccess, faUniversity, faUnlink, faUnlock, faUnlockAlt, faUpload, faUsbDrive, faUsdCircle, faUsdSquare, faUser, faUserAlien, faUserAlt, faUserAltSlash, faUserAstronaut, faUserChart, faUserCheck, faUserCircle, faUserClock, faUserCog, faUserCowboy, faUserCrown, faUserEdit, faUserFriends, faUserGraduate, faUserHardHat, faUserHeadset, faUserInjured, faUserLock, faUserMd, faUserMdChat, faUserMinus, faUserMusic, faUserNinja, faUserNurse, faUserPlus, faUserRobot, faUserSecret, faUserShield, faUserSlash, faUserTag, faUserTie, faUserTimes, faUserUnlock, faUserVisor, faUsers, faUsersClass, faUsersCog, faUsersCrown, faUsersMedical, faUsersSlash, faUtensilFork, faUtensilKnife, faUtensilSpoon, faUtensils, faUtensilsAlt, faVacuum, faVacuumRobot, faValueAbsolute, faVectorSquare, faVenus, faVenusDouble, faVenusMars, faVest, faVestPatches, faVhs, faVial, faVials, faVideo, faVideoPlus, faVideoSlash, faVihara, faViolin, faVirus, faVirusSlash, faViruses, faVoicemail, faVolcano, faVolleyballBall, faVolume, faVolumeDown, faVolumeMute, faVolumeOff, faVolumeSlash, faVolumeUp, faVoteNay, faVoteYea, faVrCardboard, faWagonCovered, faWalker, faWalkieTalkie, faWalking, faWallet, faWand, faWandMagic, faWarehouse, faWarehouseAlt, faWasher, faWatch, faWatchCalculator, faWatchFitness, faWater, faWaterLower, faWaterRise, faWaveSine, faWaveSquare, faWaveTriangle, faWaveform, faWaveformPath, faWebcam, faWebcamSlash, faWeight, faWeightHanging, faWhale, faWheat, faWheelchair, faWhistle, faWifi, faWifi1, faWifi2, faWifiSlash, faWind, faWindTurbine, faWindWarning, faWindow, faWindowAlt, faWindowClose, faWindowFrame, faWindowFrameOpen, faWindowMaximize, faWindowMinimize, faWindowRestore, faWindsock, faWineBottle, faWineGlass, faWineGlassAlt, faWonSign, faWreath, faWrench, faXRay, faYenSign, faYinYang };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\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\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\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\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar FontAwesomeIcon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId,\n maskId = props.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: ref\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n});\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSkeletonUtilityClass(slot) {\n return generateUtilityClass('MuiSkeleton', slot);\n}\nconst skeletonClasses = generateUtilityClasses('MuiSkeleton', ['root', 'text', 'rectangular', 'rounded', 'circular', 'pulse', 'wave', 'withChildren', 'fitContent', 'heightAuto']);\nexport default skeletonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"animation\", \"className\", \"component\", \"height\", \"style\", \"variant\", \"width\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { keyframes, css } from '@mui/system';\nimport { unstable_composeClasses as composeClasses } from '@mui/base/composeClasses';\nimport { alpha, unstable_getUnit as getUnit, unstable_toUnitless as toUnitless } from '../styles';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getSkeletonUtilityClass } from './skeletonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n animation,\n hasChildren,\n width,\n height\n } = ownerState;\n const slots = {\n root: ['root', variant, animation, hasChildren && 'withChildren', hasChildren && !width && 'fitContent', hasChildren && !height && 'heightAuto']\n };\n return composeClasses(slots, getSkeletonUtilityClass, classes);\n};\nconst pulseKeyframe = keyframes(_t || (_t = _`\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1;\n }\n`));\nconst waveKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n transform: translateX(-100%);\n }\n\n 50% {\n /* +0.5s of delay between each loop */\n transform: translateX(100%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n`));\nconst SkeletonRoot = styled('span', {\n name: 'MuiSkeleton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.animation !== false && styles[ownerState.animation], ownerState.hasChildren && styles.withChildren, ownerState.hasChildren && !ownerState.width && styles.fitContent, ownerState.hasChildren && !ownerState.height && styles.heightAuto];\n }\n})(({\n theme,\n ownerState\n}) => {\n const radiusUnit = getUnit(theme.shape.borderRadius) || 'px';\n const radiusValue = toUnitless(theme.shape.borderRadius);\n return _extends({\n display: 'block',\n // Create a \"on paper\" color with sufficient contrast retaining the color\n backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : alpha(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),\n height: '1.2em'\n }, ownerState.variant === 'text' && {\n marginTop: 0,\n marginBottom: 0,\n height: 'auto',\n transformOrigin: '0 55%',\n transform: 'scale(1, 0.60)',\n borderRadius: `${radiusValue}${radiusUnit}/${Math.round(radiusValue / 0.6 * 10) / 10}${radiusUnit}`,\n '&:empty:before': {\n content: '\"\\\\00a0\"'\n }\n }, ownerState.variant === 'circular' && {\n borderRadius: '50%'\n }, ownerState.variant === 'rounded' && {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }, ownerState.hasChildren && {\n '& > *': {\n visibility: 'hidden'\n }\n }, ownerState.hasChildren && !ownerState.width && {\n maxWidth: 'fit-content'\n }, ownerState.hasChildren && !ownerState.height && {\n height: 'auto'\n });\n}, ({\n ownerState\n}) => ownerState.animation === 'pulse' && css(_t3 || (_t3 = _`\n animation: ${0} 2s ease-in-out 0.5s infinite;\n `), pulseKeyframe), ({\n ownerState,\n theme\n}) => ownerState.animation === 'wave' && css(_t4 || (_t4 = _`\n position: relative;\n overflow: hidden;\n\n /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n &::after {\n animation: ${0} 2s linear 0.5s infinite;\n background: linear-gradient(\n 90deg,\n transparent,\n ${0},\n transparent\n );\n content: '';\n position: absolute;\n transform: translateX(-100%); /* Avoid flash during server-side hydration */\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n }\n `), waveKeyframe, (theme.vars || theme).palette.action.hover));\nconst Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSkeleton'\n });\n const {\n animation = 'pulse',\n className,\n component = 'span',\n height,\n style,\n variant = 'text',\n width\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n animation,\n component,\n variant,\n hasChildren: Boolean(other.children)\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(SkeletonRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n style: _extends({\n width,\n height\n }, style)\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Skeleton.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The animation.\n * If `false` the animation effect is disabled.\n * @default 'pulse'\n */\n animation: PropTypes.oneOf(['pulse', 'wave', false]),\n /**\n * Optional children to infer width and height from.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Height of the skeleton.\n * Useful when you don't want to adapt the skeleton to a text element but for instance a card.\n */\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The type of content that will be rendered.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rectangular', 'rounded', 'text']), PropTypes.string]),\n /**\n * Width of the skeleton.\n * Useful when the skeleton is inside an inline element with no width of its own.\n */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport default Skeleton;","export function isUnitless(value) {\n return String(parseFloat(value)).length === String(value).length;\n}\n\n// Ported from Compass\n// https://github.com/Compass/compass/blob/master/core/stylesheets/compass/typography/_units.scss\n// Emulate the sass function \"unit\"\nexport function getUnit(input) {\n return String(input).match(/[\\d.\\-+]*\\s*(.*)/)[1] || '';\n}\n\n// Emulate the sass function \"unitless\"\nexport function toUnitless(length) {\n return parseFloat(length);\n}\n\n// Convert any CSS or value to any another.\n// From https://github.com/KyleAMathews/convert-css-length\nexport function convertLength(baseFontSize) {\n return (length, toUnit) => {\n const fromUnit = getUnit(length);\n\n // Optimize for cases where `from` and `to` units are accidentally the same.\n if (fromUnit === toUnit) {\n return length;\n }\n\n // Convert input length to pixels.\n let pxLength = toUnitless(length);\n if (fromUnit !== 'px') {\n if (fromUnit === 'em') {\n pxLength = toUnitless(length) * toUnitless(baseFontSize);\n } else if (fromUnit === 'rem') {\n pxLength = toUnitless(length) * toUnitless(baseFontSize);\n }\n }\n\n // Convert length in pixels to the output unit\n let outputLength = pxLength;\n if (toUnit !== 'px') {\n if (toUnit === 'em') {\n outputLength = pxLength / toUnitless(baseFontSize);\n } else if (toUnit === 'rem') {\n outputLength = pxLength / toUnitless(baseFontSize);\n } else {\n return length;\n }\n }\n return parseFloat(outputLength.toFixed(5)) + toUnit;\n };\n}\nexport function alignProperty({\n size,\n grid\n}) {\n const sizeBelow = size - size % grid;\n const sizeAbove = sizeBelow + grid;\n return size - sizeBelow < sizeAbove - size ? sizeBelow : sizeAbove;\n}\n\n// fontGrid finds a minimal grid (in rem) for the fontSize values so that the\n// lineHeight falls under a x pixels grid, 4px in the case of Material Design,\n// without changing the relative line height\nexport function fontGrid({\n lineHeight,\n pixels,\n htmlFontSize\n}) {\n return pixels / (lineHeight * htmlFontSize);\n}\n\n/**\n * generate a responsive version of a given CSS property\n * @example\n * responsiveProperty({\n * cssProperty: 'fontSize',\n * min: 15,\n * max: 20,\n * unit: 'px',\n * breakpoints: [300, 600],\n * })\n *\n * // this returns\n *\n * {\n * fontSize: '15px',\n * '@media (min-width:300px)': {\n * fontSize: '17.5px',\n * },\n * '@media (min-width:600px)': {\n * fontSize: '20px',\n * },\n * }\n * @param {Object} params\n * @param {string} params.cssProperty - The CSS property to be made responsive\n * @param {number} params.min - The smallest value of the CSS property\n * @param {number} params.max - The largest value of the CSS property\n * @param {string} [params.unit] - The unit to be used for the CSS property\n * @param {Array.number} [params.breakpoints] - An array of breakpoints\n * @param {number} [params.alignStep] - Round scaled value to fall under this grid\n * @returns {Object} responsive styles for {params.cssProperty}\n */\nexport function responsiveProperty({\n cssProperty,\n min,\n max,\n unit = 'rem',\n breakpoints = [600, 900, 1200],\n transform = null\n}) {\n const output = {\n [cssProperty]: `${min}${unit}`\n };\n const factor = (max - min) / breakpoints[breakpoints.length - 1];\n breakpoints.forEach(breakpoint => {\n let value = min + factor * breakpoint;\n if (transform !== null) {\n value = transform(value);\n }\n output[`@media (min-width:${breakpoint}px)`] = {\n [cssProperty]: `${Math.round(value * 10000) / 10000}${unit}`\n };\n });\n return output;\n}","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@mui/utils\";\nconst _excluded = [\"mode\", \"contrastThreshold\", \"tonalOffset\"];\nimport { deepmerge } from '@mui/utils';\nimport { darken, getContrastRatio, lighten } from '@mui/system';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport purple from '../colors/purple';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport lightBlue from '../colors/lightBlue';\nimport green from '../colors/green';\nexport const light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport const dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2\n } = palette,\n other = _objectWithoutPropertiesLoose(palette, _excluded);\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = _extends({}, color);\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\nThe color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\n\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport { green } from \"@mui/material/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });` : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n const modes = {\n dark,\n light\n };\n if (process.env.NODE_ENV !== 'production') {\n if (!modes[mode]) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: _extends({}, common),\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset\n }, modes[mode]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"];\nimport { deepmerge } from '@mui/utils';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const _ref = typeof typography === 'function' ? typography(palette) : typography,\n {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}, casing, allVariants);\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge(_extends({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n });\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@mui/utils\";\nconst _excluded = [\"breakpoints\", \"mixins\", \"spacing\", \"palette\", \"transitions\", \"typography\", \"shape\"];\nimport { deepmerge } from '@mui/utils';\nimport { createTheme as systemCreateTheme, unstable_defaultSxConfig as defaultSxConfig, unstable_styleFunctionSx as styleFunctionSx } from '@mui/system';\nimport generateUtilityClass from '../generateUtilityClass';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport createTransitions from './createTransitions';\nimport zIndex from './zIndex';\nfunction createTheme(options = {}, ...args) {\n const {\n mixins: mixinsInput = {},\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`vars\\` is a private field used for CSS variables support.\nPlease use another name.` : _formatMuiErrorMessage(18));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: _extends({}, zIndex)\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (key in node) {\n const child = node[key];\n if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.indexOf('Mui') === 0) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createTheme(...args);\n}\nexport default createTheme;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, mixins) {\n return _extends({\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n }\n }, mixins);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"duration\", \"easing\", \"delay\"];\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = _extends({}, easing, inputTransitions.easing);\n const mergedDuration = _extends({}, duration, inputTransitions.duration);\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n const isNumber = value => !isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return _extends({\n getAutoHeightDuration,\n create\n }, inputTransitions, {\n easing: mergedEasing,\n duration: mergedDuration\n });\n}","'use client';\n\nimport createTheme from './createTheme';\nconst defaultTheme = createTheme();\nexport default defaultTheme;","export default '$$material';","'use client';\n\nimport { createStyled, shouldForwardProp } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport const rootShouldForwardProp = prop => shouldForwardProp(prop) && prop !== 'classes';\nexport const slotShouldForwardProp = shouldForwardProp;\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","'use client';\n\nimport { useThemeProps as systemUseThemeProps } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useThemeProps({\n props,\n name\n}) {\n return systemUseThemeProps({\n props,\n name,\n defaultTheme,\n themeId: THEME_ID\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@mui/utils';\nimport ThemeContext from '../useTheme/ThemeContext';\nimport useTheme from '../useTheme';\nimport nested from './nested';\n\n// To support composition of theme.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(outerTheme);\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['MUI: You should return an object from your theme function, i.e.', ' ({})} />'].join('\\n'));\n }\n }\n return mergedTheme;\n }\n return _extends({}, outerTheme, localTheme);\n}\n\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme\n } = props;\n const outerTheme = useTheme();\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const theme = React.useMemo(() => {\n const output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: theme,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","const hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","import * as React from 'react';\nconst ThemeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\nexport default ThemeContext;","import * as React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme;\n}","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","/**\n * @mui/styled-engine v5.15.14\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use client';\n\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const internal_processStyles = (tag, processor) => {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n};\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from './StyledEngineProvider';\nexport { default as GlobalStyles } from './GlobalStyles';","import { unstable_nested as nested } from '@mui/private-theming/ThemeProvider';\n\n/**\n * This is the list of the style rule name we use as drop in replacement for the built-in\n * pseudo classes (:checked, :disabled, :focused, etc.).\n *\n * Why do they exist in the first place?\n * These classes are used at a specificity of 2.\n * It allows them to override previously defined styles as well as\n * being untouched by simple user overrides.\n */\nconst stateClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected'];\n\n// Returns a function which generates unique class names based on counters.\n// When new generator function is created, rule counter is reset.\n// We need to reset the rule counter for SSR for each request.\n//\n// It's inspired by\n// https://github.com/cssinjs/jss/blob/4e6a05dd3f7b6572fdd3ab216861d9e446c20331/src/utils/createGenerateClassName.js\nexport default function createGenerateClassName(options = {}) {\n const {\n disableGlobal = false,\n productionPrefix = 'jss',\n seed = ''\n } = options;\n const seedPrefix = seed === '' ? '' : `${seed}-`;\n let ruleCounter = 0;\n const getNextCounterId = () => {\n ruleCounter += 1;\n if (process.env.NODE_ENV !== 'production') {\n if (ruleCounter >= 1e10) {\n console.warn(['MUI: You might have a memory leak.', 'The ruleCounter is not supposed to grow that much.'].join(''));\n }\n }\n return ruleCounter;\n };\n return (rule, styleSheet) => {\n const name = styleSheet.options.name;\n\n // Is a global static MUI style?\n if (name && name.indexOf('Mui') === 0 && !styleSheet.options.link && !disableGlobal) {\n // We can use a shorthand class name, we never use the keys to style the components.\n if (stateClasses.indexOf(rule.key) !== -1) {\n return `Mui-${rule.key}`;\n }\n const prefix = `${seedPrefix}${name}-${rule.key}`;\n if (!styleSheet.options.theme[nested] || seed !== '') {\n return prefix;\n }\n return `${prefix}-${getNextCounterId()}`;\n }\n if (process.env.NODE_ENV === 'production') {\n return `${seedPrefix}${productionPrefix}${getNextCounterId()}`;\n }\n const suffix = `${rule.key}-${getNextCounterId()}`;\n\n // Help with debuggability.\n if (styleSheet.options.classNamePrefix) {\n return `${seedPrefix}${styleSheet.options.classNamePrefix}-${suffix}`;\n }\n return `${seedPrefix}${suffix}`;\n };\n}","import warning from 'tiny-warning';\nimport { createRule } from 'jss';\n\nvar now = Date.now();\nvar fnValuesNs = \"fnValues\" + now;\nvar fnRuleNs = \"fnStyle\" + ++now;\n\nvar functionPlugin = function functionPlugin() {\n return {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = createRule(name, {}, options);\n rule[fnRuleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n // We need to extract function values from the declaration, so that we can keep core unaware of them.\n // We need to do that only once.\n // We don't need to extract functions on each style update, since this can happen only once.\n // We don't support function values inside of function rules.\n if (fnValuesNs in rule || fnRuleNs in rule) return style;\n var fnValues = {};\n\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fnValues[prop] = value;\n }\n\n rule[fnValuesNs] = fnValues;\n return style;\n },\n onUpdate: function onUpdate(data, rule, sheet, options) {\n var styleRule = rule;\n var fnRule = styleRule[fnRuleNs]; // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n\n if (fnRule) {\n // Empty object will remove all currently defined props\n // in case function rule returns a falsy value.\n styleRule.style = fnRule(data) || {};\n\n if (process.env.NODE_ENV === 'development') {\n for (var prop in styleRule.style) {\n if (typeof styleRule.style[prop] === 'function') {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Function values inside function rules are not supported.') : void 0;\n break;\n }\n }\n }\n }\n\n var fnValues = styleRule[fnValuesNs]; // If we have a fn values map, it is a rule with function values.\n\n if (fnValues) {\n for (var _prop in fnValues) {\n styleRule.prop(_prop, fnValues[_prop](data), options);\n }\n }\n }\n };\n};\n\nexport default functionPlugin;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { RuleList } from 'jss';\n\nvar at = '@global';\nvar atPrefix = '@global ';\n\nvar GlobalContainerRule =\n/*#__PURE__*/\nfunction () {\n function GlobalContainerRule(key, styles, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = GlobalContainerRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (rule) this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule =\n/*#__PURE__*/\nfunction () {\n function GlobalPrefixedRule(key, style, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n var selector = key.substr(atPrefix.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this\n }));\n }\n\n var _proto2 = GlobalPrefixedRule.prototype;\n\n _proto2.toString = function toString(options) {\n return this.rule ? this.rule.toString(options) : '';\n };\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + \" \" + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n var rules = style ? style[at] : null;\n if (!rules) return;\n\n for (var name in rules) {\n sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[at];\n}\n\nfunction handlePrefixedGlobalRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;\n var selector = addScope(prop.substr(at.length), rule.selector);\n sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\n\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (!name) return null;\n\n if (name === at) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {\n options.scoped = false;\n }\n }\n\n if (!options.selector && options.scoped === false) {\n options.selector = name;\n }\n\n return null;\n }\n\n function onProcessRule(rule, sheet) {\n if (rule.type !== 'style' || !sheet) return;\n handleNestedGlobalContainerRule(rule, sheet);\n handlePrefixedGlobalRule(rule, sheet);\n }\n\n return {\n onCreateRule: onCreateRule,\n onProcessRule: onProcessRule\n };\n}\n\nexport default jssGlobal;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport warning from 'tiny-warning';\n\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container, sheet) {\n return function (match, key) {\n var rule = container.getRule(key) || sheet && sheet.getRule(key);\n\n if (rule) {\n return rule.selector;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Could not find the referenced rule \\\"\" + key + \"\\\" in \\\"\" + (container.options.meta || container.toString()) + \"\\\".\") : void 0;\n return key;\n };\n }\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', '; // Replace all & by the parent or prefix & with the parent.\n\n result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + \" \" + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, prevOptions) {\n // Options has been already created, now we only increase index.\n if (prevOptions) return _extends({}, prevOptions, {\n index: prevOptions.index + 1\n });\n var nestingLevel = rule.options.nestingLevel;\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n var options = _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid.\n\n });\n\n delete options.name;\n return options;\n }\n\n function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style') return style;\n var styleRule = rule;\n var container = styleRule.options.parent;\n var options;\n var replaceRef;\n\n for (var prop in style) {\n var isNested = prop.indexOf('&') !== -1;\n var isNestedConditional = prop[0] === '@';\n if (!isNested && !isNestedConditional) continue;\n options = getOptions(styleRule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n\n if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs.\n\n selector = selector.replace(refRegExp, replaceRef);\n var name = styleRule.key + \"-\" + prop;\n\n if ('replaceRule' in container) {\n // for backward compatibility\n container.replaceRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n } else {\n container.addRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n }\n } else if (isNestedConditional) {\n // Place conditional right after the parent rule to ensure right ordering.\n container.addRule(prop, {}, options).addRule(styleRule.key, style[prop], {\n selector: styleRule.selector\n });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return {\n onProcessStyle: onProcessStyle\n };\n}\n\nexport default jssNested;\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import hyphenate from 'hyphenate-style-name';\n\n/**\n * Convert camel cased property names to dash separated.\n */\n\nfunction convertCase(style) {\n var converted = {};\n\n for (var prop in style) {\n var key = prop.indexOf('--') === 0 ? prop : hyphenate(prop);\n converted[key] = style[prop];\n }\n\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n\n return converted;\n}\n/**\n * Allow camel cased property names by converting them back to dasherized.\n */\n\n\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n\n return style;\n }\n\n return convertCase(style);\n }\n\n function onChangeValue(value, prop, rule) {\n if (prop.indexOf('--') === 0) {\n return value;\n }\n\n var hyphenatedProp = hyphenate(prop); // There was no camel case in place\n\n if (prop === hyphenatedProp) return value;\n rule.prop(hyphenatedProp, value); // Core will ignore that property value we set the proper one above.\n\n return null;\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default camelCase;\n","import { hasCSSTOMSupport } from 'jss';\n\nvar px = hasCSSTOMSupport && CSS ? CSS.px : 'px';\nvar ms = hasCSSTOMSupport && CSS ? CSS.ms : 'ms';\nvar percent = hasCSSTOMSupport && CSS ? CSS.percent : '%';\n/**\n * Generated jss-plugin-default-unit CSS property units\n */\n\nvar defaultUnits = {\n // Animation properties\n 'animation-delay': ms,\n 'animation-duration': ms,\n // Background properties\n 'background-position': px,\n 'background-position-x': px,\n 'background-position-y': px,\n 'background-size': px,\n // Border Properties\n border: px,\n 'border-bottom': px,\n 'border-bottom-left-radius': px,\n 'border-bottom-right-radius': px,\n 'border-bottom-width': px,\n 'border-left': px,\n 'border-left-width': px,\n 'border-radius': px,\n 'border-right': px,\n 'border-right-width': px,\n 'border-top': px,\n 'border-top-left-radius': px,\n 'border-top-right-radius': px,\n 'border-top-width': px,\n 'border-width': px,\n 'border-block': px,\n 'border-block-end': px,\n 'border-block-end-width': px,\n 'border-block-start': px,\n 'border-block-start-width': px,\n 'border-block-width': px,\n 'border-inline': px,\n 'border-inline-end': px,\n 'border-inline-end-width': px,\n 'border-inline-start': px,\n 'border-inline-start-width': px,\n 'border-inline-width': px,\n 'border-start-start-radius': px,\n 'border-start-end-radius': px,\n 'border-end-start-radius': px,\n 'border-end-end-radius': px,\n // Margin properties\n margin: px,\n 'margin-bottom': px,\n 'margin-left': px,\n 'margin-right': px,\n 'margin-top': px,\n 'margin-block': px,\n 'margin-block-end': px,\n 'margin-block-start': px,\n 'margin-inline': px,\n 'margin-inline-end': px,\n 'margin-inline-start': px,\n // Padding properties\n padding: px,\n 'padding-bottom': px,\n 'padding-left': px,\n 'padding-right': px,\n 'padding-top': px,\n 'padding-block': px,\n 'padding-block-end': px,\n 'padding-block-start': px,\n 'padding-inline': px,\n 'padding-inline-end': px,\n 'padding-inline-start': px,\n // Mask properties\n 'mask-position-x': px,\n 'mask-position-y': px,\n 'mask-size': px,\n // Width and height properties\n height: px,\n width: px,\n 'min-height': px,\n 'max-height': px,\n 'min-width': px,\n 'max-width': px,\n // Position properties\n bottom: px,\n left: px,\n top: px,\n right: px,\n inset: px,\n 'inset-block': px,\n 'inset-block-end': px,\n 'inset-block-start': px,\n 'inset-inline': px,\n 'inset-inline-end': px,\n 'inset-inline-start': px,\n // Shadow properties\n 'box-shadow': px,\n 'text-shadow': px,\n // Column properties\n 'column-gap': px,\n 'column-rule': px,\n 'column-rule-width': px,\n 'column-width': px,\n // Font and text properties\n 'font-size': px,\n 'font-size-delta': px,\n 'letter-spacing': px,\n 'text-decoration-thickness': px,\n 'text-indent': px,\n 'text-stroke': px,\n 'text-stroke-width': px,\n 'word-spacing': px,\n // Motion properties\n motion: px,\n 'motion-offset': px,\n // Outline properties\n outline: px,\n 'outline-offset': px,\n 'outline-width': px,\n // Perspective properties\n perspective: px,\n 'perspective-origin-x': percent,\n 'perspective-origin-y': percent,\n // Transform properties\n 'transform-origin': percent,\n 'transform-origin-x': percent,\n 'transform-origin-y': percent,\n 'transform-origin-z': percent,\n // Transition properties\n 'transition-delay': ms,\n 'transition-duration': ms,\n // Alignment properties\n 'vertical-align': px,\n 'flex-basis': px,\n // Some random properties\n 'shape-margin': px,\n size: px,\n gap: px,\n // Grid properties\n grid: px,\n 'grid-gap': px,\n 'row-gap': px,\n 'grid-row-gap': px,\n 'grid-column-gap': px,\n 'grid-template-rows': px,\n 'grid-template-columns': px,\n 'grid-auto-rows': px,\n 'grid-auto-columns': px,\n // Not existing properties.\n // Used to avoid issues with jss-plugin-expand integration.\n 'box-shadow-x': px,\n 'box-shadow-y': px,\n 'box-shadow-blur': px,\n 'box-shadow-spread': px,\n 'font-line-height': px,\n 'text-shadow-x': px,\n 'text-shadow-y': px,\n 'text-shadow-blur': px\n};\n\n/**\n * Clones the object and adds a camel cased property version.\n */\n\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n\n var newObj = {};\n\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n\n return newObj;\n}\n\nvar units = addCamelCasedVersion(defaultUnits);\n/**\n * Recursive deep style passing function\n */\n\nfunction iterate(prop, value, options) {\n if (value == null) return value;\n\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n } else if (typeof value === 'object') {\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n } else {\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + \"-\" + _innerProp, value[_innerProp], options);\n }\n } // eslint-disable-next-line no-restricted-globals\n\n } else if (typeof value === 'number' && isNaN(value) === false) {\n var unit = options[prop] || units[prop]; // Add the unit if available, except for the special case of 0px.\n\n if (unit && !(value === 0 && unit === px)) {\n return typeof unit === 'function' ? unit(value).toString() : \"\" + value + unit;\n }\n\n return value.toString();\n }\n\n return value;\n}\n/**\n * Add unit to numeric values.\n */\n\n\nfunction defaultUnit(options) {\n if (options === void 0) {\n options = {};\n }\n\n var camelCasedOptions = addCamelCasedVersion(options);\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default defaultUnit;\n","import isInBrowser from 'is-in-browser';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\n\n// Export javascript style and css style vendor prefixes.\nvar js = '';\nvar css = '';\nvar vendor = '';\nvar browser = '';\nvar isTouch = isInBrowser && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside.\n\nif (isInBrowser) {\n // Order matters. We need to check Webkit the last one because\n // other vendors use to add Webkit prefixes to some properties\n var jsCssMap = {\n Moz: '-moz-',\n ms: '-ms-',\n O: '-o-',\n Webkit: '-webkit-'\n };\n\n var _document$createEleme = document.createElement('p'),\n style = _document$createEleme.style;\n\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n js = key;\n css = jsCssMap[key];\n break;\n }\n } // Correctly detect the Edge browser.\n\n\n if (js === 'Webkit' && 'msHyphens' in style) {\n js = 'ms';\n css = jsCssMap.ms;\n browser = 'edge';\n } // Correctly detect the Safari browser.\n\n\n if (js === 'Webkit' && '-apple-trailing-word' in style) {\n vendor = 'apple';\n }\n}\n/**\n * Vendor prefix string for the current browser.\n *\n * @type {{js: String, css: String, vendor: String, browser: String}}\n * @api public\n */\n\n\nvar prefix = {\n js: js,\n css: css,\n vendor: vendor,\n browser: browser,\n isTouch: isTouch\n};\n\n/**\n * Test if a keyframe at-rule should be prefixed or not\n *\n * @param {String} vendor prefix string for the current browser.\n * @return {String}\n * @api public\n */\n\nfunction supportedKeyframes(key) {\n // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a'\n if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules.\n // https://caniuse.com/#search=keyframes\n\n if (prefix.js === 'ms') return key;\n return \"@\" + prefix.css + \"keyframes\" + key.substr(10);\n}\n\n// https://caniuse.com/#search=appearance\n\nvar appearence = {\n noPrefill: ['appearance'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'appearance') return false;\n if (prefix.js === 'ms') return \"-webkit-\" + prop;\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=color-adjust\n\nvar colorAdjust = {\n noPrefill: ['color-adjust'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'color-adjust') return false;\n if (prefix.js === 'Webkit') return prefix.css + \"print-\" + prop;\n return prop;\n }\n};\n\nvar regExp = /[-\\s]+(.)?/g;\n/**\n * Replaces the letter with the capital letter\n *\n * @param {String} match\n * @param {String} c\n * @return {String}\n * @api private\n */\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n/**\n * Convert dash separated strings to camel-cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\n\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\n/**\n * Convert dash separated strings to pascal cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nfunction pascalize(str) {\n return camelize(\"-\" + str);\n}\n\n// but we can use a longhand property instead.\n// https://caniuse.com/#search=mask\n\nvar mask = {\n noPrefill: ['mask'],\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^mask/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var longhand = 'mask-image';\n\n if (camelize(longhand) in style) {\n return prop;\n }\n\n if (prefix.js + pascalize(longhand) in style) {\n return prefix.css + prop;\n }\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=text-orientation\n\nvar textOrientation = {\n noPrefill: ['text-orientation'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'text-orientation') return false;\n\n if (prefix.vendor === 'apple' && !prefix.isTouch) {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=transform\n\nvar transform = {\n noPrefill: ['transform'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transform') return false;\n\n if (options.transform) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=transition\n\nvar transition = {\n noPrefill: ['transition'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transition') return false;\n\n if (options.transition) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=writing-mode\n\nvar writingMode = {\n noPrefill: ['writing-mode'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'writing-mode') return false;\n\n if (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=user-select\n\nvar userSelect = {\n noPrefill: ['user-select'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'user-select') return false;\n\n if (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=multicolumn\n// https://github.com/postcss/autoprefixer/issues/491\n// https://github.com/postcss/autoprefixer/issues/177\n\nvar breakPropsOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^break-/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var jsProp = \"WebkitColumn\" + pascalize(prop);\n return jsProp in style ? prefix.css + \"column-\" + prop : false;\n }\n\n if (prefix.js === 'Moz') {\n var _jsProp = \"page\" + pascalize(prop);\n\n return _jsProp in style ? \"page-\" + prop : false;\n }\n\n return false;\n }\n};\n\n// See https://github.com/postcss/autoprefixer/issues/324.\n\nvar inlineLogicalOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^(border|margin|padding)-inline/.test(prop)) return false;\n if (prefix.js === 'Moz') return prop;\n var newProp = prop.replace('-inline', '');\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\n// Camelization is required because we can't test using.\n// CSS syntax for e.g. in FF.\n\nvar unprefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n return camelize(prop) in style ? prop : false;\n }\n};\n\nvar prefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n var pascalized = pascalize(prop); // Return custom CSS variable without prefixing.\n\n if (prop[0] === '-') return prop; // Return already prefixed value without prefixing.\n\n if (prop[0] === '-' && prop[1] === '-') return prop;\n if (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback.\n\n if (prefix.js !== 'Webkit' && \"Webkit\" + pascalized in style) return \"-webkit-\" + prop;\n return false;\n }\n};\n\n// https://caniuse.com/#search=scroll-snap\n\nvar scrollSnap = {\n supportedProperty: function supportedProperty(prop) {\n if (prop.substring(0, 11) !== 'scroll-snap') return false;\n\n if (prefix.js === 'ms') {\n return \"\" + prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=overscroll-behavior\n\nvar overscrollBehavior = {\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'overscroll-behavior') return false;\n\n if (prefix.js === 'ms') {\n return prefix.css + \"scroll-chaining\";\n }\n\n return prop;\n }\n};\n\nvar propMap = {\n 'flex-grow': 'flex-positive',\n 'flex-shrink': 'flex-negative',\n 'flex-basis': 'flex-preferred-size',\n 'justify-content': 'flex-pack',\n order: 'flex-order',\n 'align-items': 'flex-align',\n 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin.\n\n}; // Support old flex spec from 2012.\n\nvar flex2012 = {\n supportedProperty: function supportedProperty(prop, style) {\n var newProp = propMap[prop];\n if (!newProp) return false;\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\nvar propMap$1 = {\n flex: 'box-flex',\n 'flex-grow': 'box-flex',\n 'flex-direction': ['box-orient', 'box-direction'],\n order: 'box-ordinal-group',\n 'align-items': 'box-align',\n 'flex-flow': ['box-orient', 'box-direction'],\n 'justify-content': 'box-pack'\n};\nvar propKeys = Object.keys(propMap$1);\n\nvar prefixCss = function prefixCss(p) {\n return prefix.css + p;\n}; // Support old flex spec from 2009.\n\n\nvar flex2009 = {\n supportedProperty: function supportedProperty(prop, style, _ref) {\n var multiple = _ref.multiple;\n\n if (propKeys.indexOf(prop) > -1) {\n var newProp = propMap$1[prop];\n\n if (!Array.isArray(newProp)) {\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n\n if (!multiple) return false;\n\n for (var i = 0; i < newProp.length; i++) {\n if (!(prefix.js + pascalize(newProp[0]) in style)) {\n return false;\n }\n }\n\n return newProp.map(prefixCss);\n }\n\n return false;\n }\n};\n\n// plugins = [\n// ...plugins,\n// breakPropsOld,\n// inlineLogicalOld,\n// unprefixed,\n// prefixed,\n// scrollSnap,\n// flex2012,\n// flex2009\n// ]\n// Plugins without 'noPrefill' value, going last.\n// 'flex-*' plugins should be at the bottom.\n// 'flex2009' going after 'flex2012'.\n// 'prefixed' going after 'unprefixed'\n\nvar plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009];\nvar propertyDetectors = plugins.filter(function (p) {\n return p.supportedProperty;\n}).map(function (p) {\n return p.supportedProperty;\n});\nvar noPrefill = plugins.filter(function (p) {\n return p.noPrefill;\n}).reduce(function (a, p) {\n a.push.apply(a, _toConsumableArray(p.noPrefill));\n return a;\n}, []);\n\nvar el;\nvar cache = {};\n\nif (isInBrowser) {\n el = document.createElement('p'); // We test every property on vendor prefix requirement.\n // Once tested, result is cached. It gives us up to 70% perf boost.\n // http://jsperf.com/element-style-object-access-vs-plain-object\n //\n // Prefill cache with known css properties to reduce amount of\n // properties we need to feature test at runtime.\n // http://davidwalsh.name/vendor-prefix\n\n var computed = window.getComputedStyle(document.documentElement, '');\n\n for (var key$1 in computed) {\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(key$1)) cache[computed[key$1]] = computed[key$1];\n } // Properties that cannot be correctly detected using the\n // cache prefill method.\n\n\n noPrefill.forEach(function (x) {\n return delete cache[x];\n });\n}\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @param {Object} [options]\n * @return {String|Boolean}\n * @api public\n */\n\n\nfunction supportedProperty(prop, options) {\n if (options === void 0) {\n options = {};\n }\n\n // For server-side rendering.\n if (!el) return prop; // Remove cache for benchmark tests or return property from the cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache[prop] != null) {\n return cache[prop];\n } // Check if 'transition' or 'transform' natively supported in browser.\n\n\n if (prop === 'transition' || prop === 'transform') {\n options[prop] = prop in el.style;\n } // Find a plugin for current prefix property.\n\n\n for (var i = 0; i < propertyDetectors.length; i++) {\n cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found.\n\n if (cache[prop]) break;\n } // Reset styles for current property.\n // Firefox can even throw an error for invalid properties, e.g., \"0\".\n\n\n try {\n el.style[prop] = '';\n } catch (err) {\n return false;\n }\n\n return cache[prop];\n}\n\nvar cache$1 = {};\nvar transitionProperties = {\n transition: 1,\n 'transition-property': 1,\n '-webkit-transition': 1,\n '-webkit-transition-property': 1\n};\nvar transPropsRegExp = /(^\\s*[\\w-]+)|, (\\s*[\\w-]+)(?![^()]*\\))/g;\nvar el$1;\n/**\n * Returns prefixed value transition/transform if needed.\n *\n * @param {String} match\n * @param {String} p1\n * @param {String} p2\n * @return {String}\n * @api private\n */\n\nfunction prefixTransitionCallback(match, p1, p2) {\n if (p1 === 'var') return 'var';\n if (p1 === 'all') return 'all';\n if (p2 === 'all') return ', all';\n var prefixedValue = p1 ? supportedProperty(p1) : \", \" + supportedProperty(p2);\n if (!prefixedValue) return p1 || p2;\n return prefixedValue;\n}\n\nif (isInBrowser) el$1 = document.createElement('p');\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\n\nfunction supportedValue(property, value) {\n // For server-side rendering.\n var prefixedValue = value;\n if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n // eslint-disable-next-line no-restricted-globals\n\n if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) {\n return prefixedValue;\n } // Create cache key for current value.\n\n\n var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache$1[cacheKey] != null) {\n return cache$1[cacheKey];\n } // IE can even throw an error in some cases, for e.g. style.content = 'bar'.\n\n\n try {\n // Test value as it is.\n el$1.style[property] = prefixedValue;\n } catch (err) {\n // Return false if value not supported.\n cache$1[cacheKey] = false;\n return false;\n } // If 'transition' or 'transition-property' property.\n\n\n if (transitionProperties[property]) {\n prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback);\n } else if (el$1.style[property] === '') {\n // Value with a vendor prefix.\n prefixedValue = prefix.css + prefixedValue; // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n\n if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value.\n\n el$1.style[property] = prefixedValue; // Return false if value not supported.\n\n if (el$1.style[property] === '') {\n cache$1[cacheKey] = false;\n return false;\n }\n } // Reset styles for current property.\n\n\n el$1.style[property] = ''; // Write current value to cache.\n\n cache$1[cacheKey] = prefixedValue;\n return cache$1[cacheKey];\n}\n\nexport { prefix, supportedKeyframes, supportedProperty, supportedValue };\n","import { supportedKeyframes, supportedValue, supportedProperty } from 'css-vendor';\nimport { toCssValue } from 'jss';\n\n/**\n * Add vendor prefix to a property name when needed.\n */\n\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n var atRule = rule;\n atRule.at = supportedKeyframes(atRule.at);\n }\n }\n\n function prefixStyle(style) {\n for (var prop in style) {\n var value = style[prop];\n\n if (prop === 'fallbacks' && Array.isArray(value)) {\n style[prop] = value.map(prefixStyle);\n continue;\n }\n\n var changeProp = false;\n var supportedProp = supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n var changeValue = false;\n var supportedValue$1 = supportedValue(supportedProp, toCssValue(value));\n if (supportedValue$1 && supportedValue$1 !== value) changeValue = true;\n\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue$1 || value;\n }\n }\n\n return style;\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n return prefixStyle(style);\n }\n\n function onChangeValue(value, prop) {\n return supportedValue(prop, toCssValue(value)) || value;\n }\n\n return {\n onProcessRule: onProcessRule,\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default jssVendorPrefixer;\n","/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n var sort = function sort(prop0, prop1) {\n if (prop0.length === prop1.length) {\n return prop0 > prop1 ? 1 : -1;\n }\n\n return prop0.length - prop1.length;\n };\n\n return {\n onProcessStyle: function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n\n for (var i = 0; i < props.length; i++) {\n newStyle[props[i]] = style[props[i]];\n }\n\n return newStyle;\n }\n };\n}\n\nexport default jssPropsSort;\n","import functions from 'jss-plugin-rule-value-function';\nimport global from 'jss-plugin-global';\nimport nested from 'jss-plugin-nested';\nimport camelCase from 'jss-plugin-camel-case';\nimport defaultUnit from 'jss-plugin-default-unit';\nimport vendorPrefixer from 'jss-plugin-vendor-prefixer';\nimport propsSort from 'jss-plugin-props-sort';\n\n// Subset of jss-preset-default with only the plugins the MUI components are using.\nexport default function jssPreset() {\n return {\n plugins: [functions(), global(), nested(), camelCase(), defaultUnit(),\n // Disable the vendor prefixer server-side, it does nothing.\n // This way, we can get a performance boost.\n // In the documentation, we are using `autoprefixer` to solve this problem.\n typeof window === 'undefined' ? null : vendorPrefixer(), propsSort()]\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"injectFirst\", \"disableGeneration\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@mui/utils';\nimport { create } from 'jss';\nimport createGenerateClassName from '../createGenerateClassName';\nimport jssPreset from '../jssPreset';\n\n// Default JSS instance.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultJSS = create(jssPreset());\n\n// Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\nconst defaultGenerateClassName = createGenerateClassName();\nconst defaultSheetsManager = new Map();\n// Exported for test purposes\nexport { defaultSheetsManager as sheetsManager };\nconst defaultOptions = {\n disableGeneration: false,\n generateClassName: defaultGenerateClassName,\n jss: defaultJSS,\n sheetsCache: null,\n sheetsManager: defaultSheetsManager,\n sheetsRegistry: null\n};\nexport const StylesContext = /*#__PURE__*/React.createContext(defaultOptions);\nif (process.env.NODE_ENV !== 'production') {\n StylesContext.displayName = 'StylesContext';\n}\nlet injectFirstNode;\nexport default function StylesProvider(props) {\n const {\n children,\n injectFirst = false,\n disableGeneration = false\n } = props,\n localOptions = _objectWithoutPropertiesLoose(props, _excluded);\n const outerOptions = React.useContext(StylesContext);\n const {\n generateClassName,\n jss,\n serverGenerateClassName,\n sheetsCache,\n sheetsManager,\n sheetsRegistry\n } = _extends({}, outerOptions, localOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (injectFirst && localOptions.jss) {\n console.error('MUI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n const value = React.useMemo(() => {\n const context = {\n disableGeneration,\n generateClassName,\n jss,\n serverGenerateClassName,\n sheetsCache,\n sheetsManager,\n sheetsRegistry\n };\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('MUI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('MUI: You cannot use a custom insertionPoint and at the same time.');\n }\n }\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n const head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n context.jss = create({\n plugins: jssPreset().plugins,\n insertionPoint: injectFirstNode\n });\n }\n return context;\n }, [injectFirst, disableGeneration, generateClassName, jss, serverGenerateClassName, sheetsCache, sheetsManager, sheetsRegistry]);\n return /*#__PURE__*/_jsx(StylesContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: PropTypes.bool,\n /**\n * JSS's class name generator.\n */\n generateClassName: PropTypes.func,\n /**\n * By default, the styles are injected last in the element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override MUI's styles, set this prop.\n */\n injectFirst: PropTypes.bool,\n /**\n * JSS's instance.\n */\n jss: PropTypes.object,\n /**\n * @ignore\n */\n serverGenerateClassName: PropTypes.func,\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: PropTypes.object,\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: PropTypes.object,\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: PropTypes.object\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = exactProp(StylesProvider.propTypes) : void 0;\n}","import usePrivateTheme from '@mui/private-theming/useTheme';\nexport default function useTheme() {\n var _privateTheme$$$mater;\n const privateTheme = usePrivateTheme();\n return (_privateTheme$$$mater = privateTheme == null ? void 0 : privateTheme.$$material) != null ? _privateTheme$$$mater : privateTheme;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport { deepmerge } from '@mui/utils';\nimport merge from './merge';\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n // key is breakpoint\n if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme\n }, props[key]));\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n var _breakpointsInput$key;\n const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@mui/utils\";\n/* eslint-disable @typescript-eslint/naming-convention */\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clamp(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return Math.min(Math.max(min, value), max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clamp(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return private_safeEmphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"variant\"];\nimport { unstable_capitalize as capitalize } from '@mui/utils';\nfunction isEmpty(string) {\n return string.length === 0;\n}\n\n/**\n * Generates string classKey based on the properties provided. It starts with the\n * variant if defined, and then it appends all other properties in alphabetical order.\n * @param {object} props - the properties for which the classKey should be created.\n */\nexport default function propsToClassKey(props) {\n const {\n variant\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n let classKey = variant || '';\n Object.keys(other).sort().forEach(key => {\n if (key === 'color') {\n classKey += isEmpty(classKey) ? props[key] : capitalize(props[key]);\n } else {\n classKey += `${isEmpty(classKey) ? key : capitalize(key)}${capitalize(props[key].toString())}`;\n }\n });\n return classKey;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nimport styledEngineStyled, { internal_processStyles as processStyles } from '@mui/styled-engine';\nimport { getDisplayName, unstable_capitalize as capitalize, isPlainObject, deepmerge } from '@mui/utils';\nimport createTheme from './createTheme';\nimport propsToClassKey from './propsToClassKey';\nimport styleFunctionSx from './styleFunctionSx';\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\nconst getStyleOverrides = (name, theme) => {\n if (theme.components && theme.components[name] && theme.components[name].styleOverrides) {\n return theme.components[name].styleOverrides;\n }\n return null;\n};\nconst transformVariants = variants => {\n const variantsStyles = {};\n if (variants) {\n variants.forEach(definition => {\n const key = propsToClassKey(definition.props);\n variantsStyles[key] = definition.style;\n });\n }\n return variantsStyles;\n};\nconst getVariantStyles = (name, theme) => {\n let variants = [];\n if (theme && theme.components && theme.components[name] && theme.components[name].variants) {\n variants = theme.components[name].variants;\n }\n return transformVariants(variants);\n};\nconst variantsResolver = (props, styles, variants) => {\n const {\n ownerState = {}\n } = props;\n const variantsStyles = [];\n if (variants) {\n variants.forEach(variant => {\n let isMatch = true;\n Object.keys(variant.props).forEach(key => {\n if (ownerState[key] !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n if (isMatch) {\n variantsStyles.push(styles[propsToClassKey(variant.props)]);\n }\n });\n }\n return variantsStyles;\n};\nconst themeVariantsResolver = (props, styles, theme, name) => {\n var _theme$components;\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[name]) == null ? void 0 : _theme$components.variants;\n return variantsResolver(props, styles, themeVariants);\n};\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport const systemDefaultTheme = createTheme();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nconst muiStyledFunctionResolver = ({\n styledArg,\n props,\n defaultTheme,\n themeId\n}) => {\n const resolvedStyles = styledArg(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n let optionalVariants;\n if (resolvedStyles && resolvedStyles.variants) {\n optionalVariants = resolvedStyles.variants;\n delete resolvedStyles.variants;\n }\n if (optionalVariants) {\n const variantsStyles = variantsResolver(props, transformVariants(optionalVariants), optionalVariants);\n return [resolvedStyles, ...variantsStyles];\n }\n return resolvedStyles;\n};\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return styleFunctionSx(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n processStyles(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = _objectWithoutPropertiesLoose(inputOptions, _excluded);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, _extends({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const muiStyledResolver = (styleArg, ...expressions) => {\n const expressionsWithDefaultTheme = expressions ? expressions.map(stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg) {\n return props => muiStyledFunctionResolver({\n styledArg: stylesArg,\n props,\n defaultTheme,\n themeId\n });\n }\n if (isPlainObject(stylesArg)) {\n let transformedStylesArg = stylesArg;\n let styledArgVariants;\n if (stylesArg && stylesArg.variants) {\n styledArgVariants = stylesArg.variants;\n delete transformedStylesArg.variants;\n transformedStylesArg = props => {\n let result = stylesArg;\n const variantStyles = variantsResolver(props, transformVariants(styledArgVariants), styledArgVariants);\n variantStyles.forEach(variantStyle => {\n result = deepmerge(result, variantStyle);\n });\n return result;\n };\n }\n return transformedStylesArg;\n }\n return stylesArg;\n }) : [];\n let transformedStyleArg = styleArg;\n if (isPlainObject(styleArg)) {\n let styledArgVariants;\n if (styleArg && styleArg.variants) {\n styledArgVariants = styleArg.variants;\n delete transformedStyleArg.variants;\n transformedStyleArg = props => {\n let result = styleArg;\n const variantStyles = variantsResolver(props, transformVariants(styledArgVariants), styledArgVariants);\n variantStyles.forEach(variantStyle => {\n result = deepmerge(result, variantStyle);\n });\n return result;\n };\n }\n } else if (typeof styleArg === 'function' &&\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n styleArg.__emotion_real !== styleArg) {\n // If the type is function, we need to define the default theme.\n transformedStyleArg = props => muiStyledFunctionResolver({\n styledArg: styleArg,\n props,\n defaultTheme,\n themeId\n });\n }\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n const styleOverrides = getStyleOverrides(componentName, theme);\n if (styleOverrides) {\n const resolvedStyleOverrides = {};\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = typeof slotStyle === 'function' ? slotStyle(_extends({}, props, {\n theme\n })) : slotStyle;\n });\n return overridesResolver(props, resolvedStyleOverrides);\n }\n return null;\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n return themeVariantsResolver(props, getVariantStyles(componentName, theme), theme, componentName);\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${capitalize(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${getDisplayName(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"values\", \"unit\", \"step\"];\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return _extends({}, acc, {\n [obj.key]: obj.val\n });\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5\n } = breakpoints,\n other = _objectWithoutPropertiesLoose(breakpoints, _excluded);\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return _extends({\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit\n }, other);\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"breakpoints\", \"palette\", \"spacing\", \"shape\"];\nimport { deepmerge } from '@mui/utils';\nimport createBreakpoints from './createBreakpoints';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport styleFunctionSx from '../styleFunctionSx/styleFunctionSx';\nimport defaultSxConfig from '../styleFunctionSx/defaultSxConfig';\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: _extends({\n mode: 'light'\n }, paletteInput),\n spacing,\n shape: _extends({}, shape, shapeInput)\n }, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","import { createUnarySpacing } from '../spacing';\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n\n // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n // Smaller components, such as icons, can align to a 4dp grid.\n // https://m2.material.io/design/layout/understanding-layout.html\n const transform = createUnarySpacing({\n spacing: spacingInput\n });\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import { deepmerge } from '@mui/utils';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport { getPath } from './style';\nimport merge from './merge';\nimport memoize from './memoize';\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n var _getPath;\n const themeSpacing = (_getPath = getPath(theme, themeKey, false)) != null ? _getPath : defaultValue;\n if (typeof themeSpacing === 'number') {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`);\n }\n }\n return themeSpacing * abs;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n return themeSpacing[abs];\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n const abs = Math.abs(propValue);\n const transformed = transformer(abs);\n if (propValue >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (keys.indexOf(prop) === -1) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import { unstable_capitalize as capitalize } from '@mui/utils';\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","import merge from './merge';\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from './responsivePropType';\nimport style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nimport responsivePropType from './responsivePropType';\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from './style';\nimport compose from './compose';\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from './style';\nimport compose from './compose';\nimport { handleBreakpoints, values as breakpointsValues } from './breakpoints';\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n var _props$theme, _props$theme2;\n const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from '../spacing';\nimport { borderRadius, borderTransform } from '../borders';\nimport { gap, rowGap, columnGap } from '../cssGrid';\nimport { paletteTransform } from '../palette';\nimport { maxWidth, sizingTransform } from '../sizing';\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import { unstable_capitalize as capitalize } from '@mui/utils';\nimport merge from '../merge';\nimport { getPath, getStyleValue as getValue } from '../style';\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from '../breakpoints';\nimport defaultSxConfig from './defaultSxConfig';\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n var _theme$unstable_sxCon;\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return removeUnusedBreakpoints(breakpointsKeys, css);\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","'use client';\n\nimport createTheme from './createTheme';\nimport useThemeWithoutDefault from './useThemeWithoutDefault';\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","import { internal_resolveProps as resolveProps } from '@mui/utils';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}","'use client';\n\nimport getThemeProps from './getThemeProps';\nimport useTheme from '../useTheme';\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n const mergedProps = getThemeProps({\n theme,\n name,\n props\n });\n return mergedProps;\n}","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (!isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? _extends({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe if we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","import ClassNameGenerator from '../ClassNameGenerator';\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from '../generateUtilityClass';\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}","'use strict';\n\nvar compileSchema = require('./compile')\n , resolve = require('./compile/resolve')\n , Cache = require('./cache')\n , SchemaObject = require('./compile/schema_obj')\n , stableStringify = require('fast-json-stable-stringify')\n , formats = require('./compile/formats')\n , rules = require('./compile/rules')\n , $dataMetaSchema = require('./data')\n , util = require('./compile/util');\n\nmodule.exports = Ajv;\n\nAjv.prototype.validate = validate;\nAjv.prototype.compile = compile;\nAjv.prototype.addSchema = addSchema;\nAjv.prototype.addMetaSchema = addMetaSchema;\nAjv.prototype.validateSchema = validateSchema;\nAjv.prototype.getSchema = getSchema;\nAjv.prototype.removeSchema = removeSchema;\nAjv.prototype.addFormat = addFormat;\nAjv.prototype.errorsText = errorsText;\n\nAjv.prototype._addSchema = _addSchema;\nAjv.prototype._compile = _compile;\n\nAjv.prototype.compileAsync = require('./compile/async');\nvar customKeyword = require('./keyword');\nAjv.prototype.addKeyword = customKeyword.add;\nAjv.prototype.getKeyword = customKeyword.get;\nAjv.prototype.removeKeyword = customKeyword.remove;\nAjv.prototype.validateKeyword = customKeyword.validate;\n\nvar errorClasses = require('./compile/error_classes');\nAjv.ValidationError = errorClasses.Validation;\nAjv.MissingRefError = errorClasses.MissingRef;\nAjv.$dataMetaSchema = $dataMetaSchema;\n\nvar META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema';\n\nvar META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ];\nvar META_SUPPORT_DATA = ['/properties'];\n\n/**\n * Creates validator instance.\n * Usage: `Ajv(opts)`\n * @param {Object} opts optional options\n * @return {Object} ajv instance\n */\nfunction Ajv(opts) {\n if (!(this instanceof Ajv)) return new Ajv(opts);\n opts = this._opts = util.copy(opts) || {};\n setLogger(this);\n this._schemas = {};\n this._refs = {};\n this._fragments = {};\n this._formats = formats(opts.format);\n\n this._cache = opts.cache || new Cache;\n this._loadingSchemas = {};\n this._compilations = [];\n this.RULES = rules();\n this._getId = chooseGetId(opts);\n\n opts.loopRequired = opts.loopRequired || Infinity;\n if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true;\n if (opts.serialize === undefined) opts.serialize = stableStringify;\n this._metaOpts = getMetaSchemaOptions(this);\n\n if (opts.formats) addInitialFormats(this);\n if (opts.keywords) addInitialKeywords(this);\n addDefaultMetaSchema(this);\n if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta);\n if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}});\n addInitialSchemas(this);\n}\n\n\n\n/**\n * Validate data using schema\n * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize.\n * @this Ajv\n * @param {String|Object} schemaKeyRef key, ref or schema object\n * @param {Any} data to be validated\n * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`).\n */\nfunction validate(schemaKeyRef, data) {\n var v;\n if (typeof schemaKeyRef == 'string') {\n v = this.getSchema(schemaKeyRef);\n if (!v) throw new Error('no schema with key or ref \"' + schemaKeyRef + '\"');\n } else {\n var schemaObj = this._addSchema(schemaKeyRef);\n v = schemaObj.validate || this._compile(schemaObj);\n }\n\n var valid = v(data);\n if (v.$async !== true) this.errors = v.errors;\n return valid;\n}\n\n\n/**\n * Create validating function for passed schema.\n * @this Ajv\n * @param {Object} schema schema object\n * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords.\n * @return {Function} validating function\n */\nfunction compile(schema, _meta) {\n var schemaObj = this._addSchema(schema, undefined, _meta);\n return schemaObj.validate || this._compile(schemaObj);\n}\n\n\n/**\n * Adds schema to the instance.\n * @this Ajv\n * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored.\n * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead.\n * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n * @return {Ajv} this for method chaining\n */\nfunction addSchema(schema, key, _skipValidation, _meta) {\n if (Array.isArray(schema)){\n for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used.\n * @param {Object} options optional options with properties `separator` and `dataVar`.\n * @return {String} human readable string with all errors descriptions\n */\nfunction errorsText(errors, options) {\n errors = errors || this.errors;\n if (!errors) return 'No errors';\n options = options || {};\n var separator = options.separator === undefined ? ', ' : options.separator;\n var dataVar = options.dataVar === undefined ? 'data' : options.dataVar;\n\n var text = '';\n for (var i=0; i%\\\\^`{|}]|%[0-9a-f]{2})|\\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?)*\\})*$/i;\n// For the source: https://gist.github.com/dperini/729294\n// For test cases: https://mathiasbynens.be/demo/url-regex\n// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983.\n// var URL = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!192\\.168(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu;\nvar URL = /^(?:(?:http[s\\u017F]?|ftp):\\/\\/)(?:(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+(?::(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?@)?(?:(?!10(?:\\.[0-9]{1,3}){3})(?!127(?:\\.[0-9]{1,3}){3})(?!169\\.254(?:\\.[0-9]{1,3}){2})(?!192\\.168(?:\\.[0-9]{1,3}){2})(?!172\\.(?:1[6-9]|2[0-9]|3[01])(?:\\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)(?:\\.(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)*(?:\\.(?:(?:[KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\\/(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?$/i;\nvar UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nvar JSON_POINTER = /^(?:\\/(?:[^~/]|~0|~1)*)*$/;\nvar JSON_POINTER_URI_FRAGMENT = /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;\nvar RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/;\n\n\nmodule.exports = formats;\n\nfunction formats(mode) {\n mode = mode == 'full' ? 'full' : 'fast';\n return util.copy(formats[mode]);\n}\n\n\nformats.fast = {\n // date: http://tools.ietf.org/html/rfc3339#section-5.6\n date: /^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d$/,\n // date-time: http://tools.ietf.org/html/rfc3339#section-5.6\n time: /^(?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)?$/i,\n 'date-time': /^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d[t\\s](?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)$/i,\n // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\n uri: /^(?:[a-z][a-z0-9+-.]*:)(?:\\/?\\/)?[^\\s]*$/i,\n 'uri-reference': /^(?:(?:[a-z][a-z0-9+-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i,\n 'uri-template': URITEMPLATE,\n url: URL,\n // email (sources from jsen validator):\n // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation')\n email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,\n hostname: HOSTNAME,\n // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n ipv4: /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,\n // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses\n ipv6: /^\\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(?:%.+)?\\s*$/i,\n regex: regex,\n // uuid: http://tools.ietf.org/html/rfc4122\n uuid: UUID,\n // JSON-pointer: https://tools.ietf.org/html/rfc6901\n // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\n 'json-pointer': JSON_POINTER,\n 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT,\n // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\n 'relative-json-pointer': RELATIVE_JSON_POINTER\n};\n\n\nformats.full = {\n date: date,\n time: time,\n 'date-time': date_time,\n uri: uri,\n 'uri-reference': URIREF,\n 'uri-template': URITEMPLATE,\n url: URL,\n email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,\n hostname: HOSTNAME,\n ipv4: /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,\n ipv6: /^\\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(?:%.+)?\\s*$/i,\n regex: regex,\n uuid: UUID,\n 'json-pointer': JSON_POINTER,\n 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT,\n 'relative-json-pointer': RELATIVE_JSON_POINTER\n};\n\n\nfunction isLeapYear(year) {\n // https://tools.ietf.org/html/rfc3339#appendix-C\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\n\nfunction date(str) {\n // full-date from http://tools.ietf.org/html/rfc3339#section-5.6\n var matches = str.match(DATE);\n if (!matches) return false;\n\n var year = +matches[1];\n var month = +matches[2];\n var day = +matches[3];\n\n return month >= 1 && month <= 12 && day >= 1 &&\n day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]);\n}\n\n\nfunction time(str, full) {\n var matches = str.match(TIME);\n if (!matches) return false;\n\n var hour = matches[1];\n var minute = matches[2];\n var second = matches[3];\n var timeZone = matches[5];\n return ((hour <= 23 && minute <= 59 && second <= 59) ||\n (hour == 23 && minute == 59 && second == 60)) &&\n (!full || timeZone);\n}\n\n\nvar DATE_TIME_SEPARATOR = /t|\\s/i;\nfunction date_time(str) {\n // http://tools.ietf.org/html/rfc3339#section-5.6\n var dateTime = str.split(DATE_TIME_SEPARATOR);\n return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true);\n}\n\n\nvar NOT_URI_FRAGMENT = /\\/|:/;\nfunction uri(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return NOT_URI_FRAGMENT.test(str) && URI.test(str);\n}\n\n\nvar Z_ANCHOR = /[^\\\\]\\\\Z/;\nfunction regex(str) {\n if (Z_ANCHOR.test(str)) return false;\n try {\n new RegExp(str);\n return true;\n } catch(e) {\n return false;\n }\n}\n","'use strict';\n\nvar resolve = require('./resolve')\n , util = require('./util')\n , errorClasses = require('./error_classes')\n , stableStringify = require('fast-json-stable-stringify');\n\nvar validateGenerator = require('../dotjs/validate');\n\n/**\n * Functions below are used inside compiled validations function\n */\n\nvar ucs2length = util.ucs2length;\nvar equal = require('fast-deep-equal');\n\n// this error is thrown by async schemas to return validation errors via exception\nvar ValidationError = errorClasses.Validation;\n\nmodule.exports = compile;\n\n\n/**\n * Compiles schema to validation function\n * @this Ajv\n * @param {Object} schema schema object\n * @param {Object} root object with information about the root schema for this schema\n * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution\n * @param {String} baseId base ID for IDs in the schema\n * @return {Function} validation function\n */\nfunction compile(schema, root, localRefs, baseId) {\n /* jshint validthis: true, evil: true */\n /* eslint no-shadow: 0 */\n var self = this\n , opts = this._opts\n , refVal = [ undefined ]\n , refs = {}\n , patterns = []\n , patternsHash = {}\n , defaults = []\n , defaultsHash = {}\n , customRules = [];\n\n root = root || { schema: schema, refVal: refVal, refs: refs };\n\n var c = checkCompiling.call(this, schema, root, baseId);\n var compilation = this._compilations[c.index];\n if (c.compiling) return (compilation.callValidate = callValidate);\n\n var formats = this._formats;\n var RULES = this.RULES;\n\n try {\n var v = localCompile(schema, root, localRefs, baseId);\n compilation.validate = v;\n var cv = compilation.callValidate;\n if (cv) {\n cv.schema = v.schema;\n cv.errors = null;\n cv.refs = v.refs;\n cv.refVal = v.refVal;\n cv.root = v.root;\n cv.$async = v.$async;\n if (opts.sourceCode) cv.source = v.source;\n }\n return v;\n } finally {\n endCompiling.call(this, schema, root, baseId);\n }\n\n /* @this {*} - custom context, see passContext option */\n function callValidate() {\n /* jshint validthis: true */\n var validate = compilation.validate;\n var result = validate.apply(this, arguments);\n callValidate.errors = validate.errors;\n return result;\n }\n\n function localCompile(_schema, _root, localRefs, baseId) {\n var isRoot = !_root || (_root && _root.schema == _schema);\n if (_root.schema != root.schema)\n return compile.call(self, _schema, _root, localRefs, baseId);\n\n var $async = _schema.$async === true;\n\n var sourceCode = validateGenerator({\n isTop: true,\n schema: _schema,\n isRoot: isRoot,\n baseId: baseId,\n root: _root,\n schemaPath: '',\n errSchemaPath: '#',\n errorPath: '\"\"',\n MissingRefError: errorClasses.MissingRef,\n RULES: RULES,\n validate: validateGenerator,\n util: util,\n resolve: resolve,\n resolveRef: resolveRef,\n usePattern: usePattern,\n useDefault: useDefault,\n useCustomRule: useCustomRule,\n opts: opts,\n formats: formats,\n logger: self.logger,\n self: self\n });\n\n sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode)\n + vars(defaults, defaultCode) + vars(customRules, customRuleCode)\n + sourceCode;\n\n if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema);\n // console.log('\\n\\n\\n *** \\n', JSON.stringify(sourceCode));\n var validate;\n try {\n var makeValidate = new Function(\n 'self',\n 'RULES',\n 'formats',\n 'root',\n 'refVal',\n 'defaults',\n 'customRules',\n 'equal',\n 'ucs2length',\n 'ValidationError',\n sourceCode\n );\n\n validate = makeValidate(\n self,\n RULES,\n formats,\n root,\n refVal,\n defaults,\n customRules,\n equal,\n ucs2length,\n ValidationError\n );\n\n refVal[0] = validate;\n } catch(e) {\n self.logger.error('Error compiling schema, function code:', sourceCode);\n throw e;\n }\n\n validate.schema = _schema;\n validate.errors = null;\n validate.refs = refs;\n validate.refVal = refVal;\n validate.root = isRoot ? validate : _root;\n if ($async) validate.$async = true;\n if (opts.sourceCode === true) {\n validate.source = {\n code: sourceCode,\n patterns: patterns,\n defaults: defaults\n };\n }\n\n return validate;\n }\n\n function resolveRef(baseId, ref, isRoot) {\n ref = resolve.url(baseId, ref);\n var refIndex = refs[ref];\n var _refVal, refCode;\n if (refIndex !== undefined) {\n _refVal = refVal[refIndex];\n refCode = 'refVal[' + refIndex + ']';\n return resolvedRef(_refVal, refCode);\n }\n if (!isRoot && root.refs) {\n var rootRefId = root.refs[ref];\n if (rootRefId !== undefined) {\n _refVal = root.refVal[rootRefId];\n refCode = addLocalRef(ref, _refVal);\n return resolvedRef(_refVal, refCode);\n }\n }\n\n refCode = addLocalRef(ref);\n var v = resolve.call(self, localCompile, root, ref);\n if (v === undefined) {\n var localSchema = localRefs && localRefs[ref];\n if (localSchema) {\n v = resolve.inlineRef(localSchema, opts.inlineRefs)\n ? localSchema\n : compile.call(self, localSchema, root, localRefs, baseId);\n }\n }\n\n if (v === undefined) {\n removeLocalRef(ref);\n } else {\n replaceLocalRef(ref, v);\n return resolvedRef(v, refCode);\n }\n }\n\n function addLocalRef(ref, v) {\n var refId = refVal.length;\n refVal[refId] = v;\n refs[ref] = refId;\n return 'refVal' + refId;\n }\n\n function removeLocalRef(ref) {\n delete refs[ref];\n }\n\n function replaceLocalRef(ref, v) {\n var refId = refs[ref];\n refVal[refId] = v;\n }\n\n function resolvedRef(refVal, code) {\n return typeof refVal == 'object' || typeof refVal == 'boolean'\n ? { code: code, schema: refVal, inline: true }\n : { code: code, $async: refVal && !!refVal.$async };\n }\n\n function usePattern(regexStr) {\n var index = patternsHash[regexStr];\n if (index === undefined) {\n index = patternsHash[regexStr] = patterns.length;\n patterns[index] = regexStr;\n }\n return 'pattern' + index;\n }\n\n function useDefault(value) {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return '' + value;\n case 'string':\n return util.toQuotedString(value);\n case 'object':\n if (value === null) return 'null';\n var valueStr = stableStringify(value);\n var index = defaultsHash[valueStr];\n if (index === undefined) {\n index = defaultsHash[valueStr] = defaults.length;\n defaults[index] = value;\n }\n return 'default' + index;\n }\n }\n\n function useCustomRule(rule, schema, parentSchema, it) {\n if (self._opts.validateSchema !== false) {\n var deps = rule.definition.dependencies;\n if (deps && !deps.every(function(keyword) {\n return Object.prototype.hasOwnProperty.call(parentSchema, keyword);\n }))\n throw new Error('parent schema must have all required keywords: ' + deps.join(','));\n\n var validateSchema = rule.definition.validateSchema;\n if (validateSchema) {\n var valid = validateSchema(schema);\n if (!valid) {\n var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors);\n if (self._opts.validateSchema == 'log') self.logger.error(message);\n else throw new Error(message);\n }\n }\n }\n\n var compile = rule.definition.compile\n , inline = rule.definition.inline\n , macro = rule.definition.macro;\n\n var validate;\n if (compile) {\n validate = compile.call(self, schema, parentSchema, it);\n } else if (macro) {\n validate = macro.call(self, schema, parentSchema, it);\n if (opts.validateSchema !== false) self.validateSchema(validate, true);\n } else if (inline) {\n validate = inline.call(self, it, rule.keyword, schema, parentSchema);\n } else {\n validate = rule.definition.validate;\n if (!validate) return;\n }\n\n if (validate === undefined)\n throw new Error('custom keyword \"' + rule.keyword + '\"failed to compile');\n\n var index = customRules.length;\n customRules[index] = validate;\n\n return {\n code: 'customRule' + index,\n validate: validate\n };\n }\n}\n\n\n/**\n * Checks if the schema is currently compiled\n * @this Ajv\n * @param {Object} schema schema to compile\n * @param {Object} root root object\n * @param {String} baseId base schema ID\n * @return {Object} object with properties \"index\" (compilation index) and \"compiling\" (boolean)\n */\nfunction checkCompiling(schema, root, baseId) {\n /* jshint validthis: true */\n var index = compIndex.call(this, schema, root, baseId);\n if (index >= 0) return { index: index, compiling: true };\n index = this._compilations.length;\n this._compilations[index] = {\n schema: schema,\n root: root,\n baseId: baseId\n };\n return { index: index, compiling: false };\n}\n\n\n/**\n * Removes the schema from the currently compiled list\n * @this Ajv\n * @param {Object} schema schema to compile\n * @param {Object} root root object\n * @param {String} baseId base schema ID\n */\nfunction endCompiling(schema, root, baseId) {\n /* jshint validthis: true */\n var i = compIndex.call(this, schema, root, baseId);\n if (i >= 0) this._compilations.splice(i, 1);\n}\n\n\n/**\n * Index of schema compilation in the currently compiled list\n * @this Ajv\n * @param {Object} schema schema to compile\n * @param {Object} root root object\n * @param {String} baseId base schema ID\n * @return {Integer} compilation index\n */\nfunction compIndex(schema, root, baseId) {\n /* jshint validthis: true */\n for (var i=0; i= 0xD800 && value <= 0xDBFF && pos < len) {\n // high surrogate, and there is a next character\n value = str.charCodeAt(pos);\n if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate\n }\n }\n return length;\n};\n","'use strict';\n\n\nmodule.exports = {\n copy: copy,\n checkDataType: checkDataType,\n checkDataTypes: checkDataTypes,\n coerceToTypes: coerceToTypes,\n toHash: toHash,\n getProperty: getProperty,\n escapeQuotes: escapeQuotes,\n equal: require('fast-deep-equal'),\n ucs2length: require('./ucs2length'),\n varOccurences: varOccurences,\n varReplace: varReplace,\n schemaHasRules: schemaHasRules,\n schemaHasRulesExcept: schemaHasRulesExcept,\n schemaUnknownRules: schemaUnknownRules,\n toQuotedString: toQuotedString,\n getPathExpr: getPathExpr,\n getPath: getPath,\n getData: getData,\n unescapeFragment: unescapeFragment,\n unescapeJsonPointer: unescapeJsonPointer,\n escapeFragment: escapeFragment,\n escapeJsonPointer: escapeJsonPointer\n};\n\n\nfunction copy(o, to) {\n to = to || {};\n for (var key in o) to[key] = o[key];\n return to;\n}\n\n\nfunction checkDataType(dataType, data, strictNumbers, negate) {\n var EQUAL = negate ? ' !== ' : ' === '\n , AND = negate ? ' || ' : ' && '\n , OK = negate ? '!' : ''\n , NOT = negate ? '' : '!';\n switch (dataType) {\n case 'null': return data + EQUAL + 'null';\n case 'array': return OK + 'Array.isArray(' + data + ')';\n case 'object': return '(' + OK + data + AND +\n 'typeof ' + data + EQUAL + '\"object\"' + AND +\n NOT + 'Array.isArray(' + data + '))';\n case 'integer': return '(typeof ' + data + EQUAL + '\"number\"' + AND +\n NOT + '(' + data + ' % 1)' +\n AND + data + EQUAL + data +\n (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')';\n case 'number': return '(typeof ' + data + EQUAL + '\"' + dataType + '\"' +\n (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')';\n default: return 'typeof ' + data + EQUAL + '\"' + dataType + '\"';\n }\n}\n\n\nfunction checkDataTypes(dataTypes, data, strictNumbers) {\n switch (dataTypes.length) {\n case 1: return checkDataType(dataTypes[0], data, strictNumbers, true);\n default:\n var code = '';\n var types = toHash(dataTypes);\n if (types.array && types.object) {\n code = types.null ? '(': '(!' + data + ' || ';\n code += 'typeof ' + data + ' !== \"object\")';\n delete types.null;\n delete types.array;\n delete types.object;\n }\n if (types.number) delete types.integer;\n for (var t in types)\n code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true);\n\n return code;\n }\n}\n\n\nvar COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]);\nfunction coerceToTypes(optionCoerceTypes, dataTypes) {\n if (Array.isArray(dataTypes)) {\n var types = [];\n for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl);\n return paths[lvl - up];\n }\n\n if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl);\n data = 'data' + ((lvl - up) || '');\n if (!jsonPointer) return data;\n }\n\n var expr = data;\n var segments = jsonPointer.split('/');\n for (var i=0; i',\n $notOp = $isMax ? '>' : '<',\n $errorKeyword = undefined;\n if (!($isData || typeof $schema == 'number' || $schema === undefined)) {\n throw new Error($keyword + ' must be number');\n }\n if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) {\n throw new Error($exclusiveKeyword + ' must be number or boolean');\n }\n if ($isDataExcl) {\n var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr),\n $exclusive = 'exclusive' + $lvl,\n $exclType = 'exclType' + $lvl,\n $exclIsNumber = 'exclIsNumber' + $lvl,\n $opExpr = 'op' + $lvl,\n $opStr = '\\' + ' + $opExpr + ' + \\'';\n out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; ';\n $schemaValueExcl = 'schemaExcl' + $lvl;\n out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \\'boolean\\' && ' + ($exclType) + ' != \\'undefined\\' && ' + ($exclType) + ' != \\'number\\') { ';\n var $errorKeyword = $exclusiveKeyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_exclusiveLimit') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'' + ($exclusiveKeyword) + ' should be boolean\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ' + ($exclType) + ' == \\'number\\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \\'' + ($op) + '\\' : \\'' + ($op) + '=\\'; ';\n if ($schema === undefined) {\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $schemaValue = $schemaValueExcl;\n $isData = $isDataExcl;\n }\n } else {\n var $exclIsNumber = typeof $schemaExcl == 'number',\n $opStr = $op;\n if ($exclIsNumber && $isData) {\n var $opExpr = '\\'' + $opStr + '\\'';\n out += ' if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { ';\n } else {\n if ($exclIsNumber && $schema === undefined) {\n $exclusive = true;\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $schemaValue = $schemaExcl;\n $notOp += '=';\n } else {\n if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema);\n if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) {\n $exclusive = true;\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $notOp += '=';\n } else {\n $exclusive = false;\n $opStr += '=';\n }\n }\n var $opExpr = '\\'' + $opStr + '\\'';\n out += ' if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { ';\n }\n }\n $errorKeyword = $errorKeyword || $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limit') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ' + ($opStr) + ' ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue);\n } else {\n out += '' + ($schemaValue) + '\\'';\n }\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate__limitItems(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!($isData || typeof $schema == 'number')) {\n throw new Error($keyword + ' must be number');\n }\n var $op = $keyword == 'maxItems' ? '>' : '<';\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { ';\n var $errorKeyword = $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limitItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT have ';\n if ($keyword == 'maxItems') {\n out += 'more';\n } else {\n out += 'fewer';\n }\n out += ' than ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + ($schema);\n }\n out += ' items\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate__limitLength(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!($isData || typeof $schema == 'number')) {\n throw new Error($keyword + ' must be number');\n }\n var $op = $keyword == 'maxLength' ? '>' : '<';\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n if (it.opts.unicode === false) {\n out += ' ' + ($data) + '.length ';\n } else {\n out += ' ucs2length(' + ($data) + ') ';\n }\n out += ' ' + ($op) + ' ' + ($schemaValue) + ') { ';\n var $errorKeyword = $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limitLength') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT be ';\n if ($keyword == 'maxLength') {\n out += 'longer';\n } else {\n out += 'shorter';\n }\n out += ' than ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + ($schema);\n }\n out += ' characters\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate__limitProperties(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!($isData || typeof $schema == 'number')) {\n throw new Error($keyword + ' must be number');\n }\n var $op = $keyword == 'maxProperties' ? '>' : '<';\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { ';\n var $errorKeyword = $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limitProperties') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT have ';\n if ($keyword == 'maxProperties') {\n out += 'more';\n } else {\n out += 'fewer';\n }\n out += ' than ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + ($schema);\n }\n out += ' properties\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_allOf(it, $keyword, $ruleType) {\n var out = ' ';\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $currentBaseId = $it.baseId,\n $allSchemasEmpty = true;\n var arr1 = $schema;\n if (arr1) {\n var $sch, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $sch = arr1[$i += 1];\n if ((it.opts.strictKeywords ? typeof $sch == 'object' && Object.keys($sch).length > 0 : it.util.schemaHasRules($sch, it.RULES.all))) {\n $allSchemasEmpty = false;\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + '[' + $i + ']';\n $it.errSchemaPath = $errSchemaPath + '/' + $i;\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n }\n if ($breakOnError) {\n if ($allSchemasEmpty) {\n out += ' if (true) { ';\n } else {\n out += ' ' + ($closingBraces.slice(0, -1)) + ' ';\n }\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_anyOf(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $noEmptySchema = $schema.every(function($sch) {\n return (it.opts.strictKeywords ? typeof $sch == 'object' && Object.keys($sch).length > 0 : it.util.schemaHasRules($sch, it.RULES.all));\n });\n if ($noEmptySchema) {\n var $currentBaseId = $it.baseId;\n out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n var arr1 = $schema;\n if (arr1) {\n var $sch, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $sch = arr1[$i += 1];\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + '[' + $i + ']';\n $it.errSchemaPath = $errSchemaPath + '/' + $i;\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { ';\n $closingBraces += '}';\n }\n }\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('anyOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match some schema in anyOf\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; return false; ';\n }\n }\n out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n if (it.opts.allErrors) {\n out += ' } ';\n }\n } else {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_comment(it, $keyword, $ruleType) {\n var out = ' ';\n var $schema = it.schema[$keyword];\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $comment = it.util.toQuotedString($schema);\n if (it.opts.$comment === true) {\n out += ' console.log(' + ($comment) + ');';\n } else if (typeof it.opts.$comment == 'function') {\n out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_const(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!$isData) {\n out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';';\n }\n out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('const') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be equal to constant\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' }';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_contains(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $idx = 'i' + $lvl,\n $dataNxt = $it.dataLevel = it.dataLevel + 1,\n $nextData = 'data' + $dataNxt,\n $currentBaseId = it.baseId,\n $nonEmptySchema = (it.opts.strictKeywords ? typeof $schema == 'object' && Object.keys($schema).length > 0 : it.util.schemaHasRules($schema, it.RULES.all));\n out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n if ($nonEmptySchema) {\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n var $passData = $data + '[' + $idx + ']';\n $it.dataPathArr[$dataNxt] = $idx;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n out += ' if (' + ($nextValid) + ') break; } ';\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {';\n } else {\n out += ' if (' + ($data) + '.length == 0) {';\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('contains') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should contain a valid item\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else { ';\n if ($nonEmptySchema) {\n out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n }\n if (it.opts.allErrors) {\n out += ' } ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_custom(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $rule = this,\n $definition = 'definition' + $lvl,\n $rDef = $rule.definition,\n $closingBraces = '';\n var $compile, $inline, $macro, $ruleValidate, $validateCode;\n if ($isData && $rDef.$data) {\n $validateCode = 'keywordValidate' + $lvl;\n var $validateSchema = $rDef.validateSchema;\n out += ' var ' + ($definition) + ' = RULES.custom[\\'' + ($keyword) + '\\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;';\n } else {\n $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it);\n if (!$ruleValidate) return;\n $schemaValue = 'validate.schema' + $schemaPath;\n $validateCode = $ruleValidate.code;\n $compile = $rDef.compile;\n $inline = $rDef.inline;\n $macro = $rDef.macro;\n }\n var $ruleErrs = $validateCode + '.errors',\n $i = 'i' + $lvl,\n $ruleErr = 'ruleErr' + $lvl,\n $asyncKeyword = $rDef.async;\n if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema');\n if (!($inline || $macro)) {\n out += '' + ($ruleErrs) + ' = null;';\n }\n out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n if ($isData && $rDef.$data) {\n $closingBraces += '}';\n out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { ';\n if ($validateSchema) {\n $closingBraces += '}';\n out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { ';\n }\n }\n if ($inline) {\n if ($rDef.statements) {\n out += ' ' + ($ruleValidate.validate) + ' ';\n } else {\n out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; ';\n }\n } else if ($macro) {\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n $it.schema = $ruleValidate.validate;\n $it.schemaPath = '';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n var $code = it.validate($it).replace(/validate\\.schema/g, $validateCode);\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' ' + ($code);\n } else {\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n out += ' ' + ($validateCode) + '.call( ';\n if (it.opts.passContext) {\n out += 'this';\n } else {\n out += 'self';\n }\n if ($compile || $rDef.schema === false) {\n out += ' , ' + ($data) + ' ';\n } else {\n out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' ';\n }\n out += ' , (dataPath || \\'\\')';\n if (it.errorPath != '\"\"') {\n out += ' + ' + (it.errorPath);\n }\n var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData',\n $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) ';\n var def_callRuleValidate = out;\n out = $$outStack.pop();\n if ($rDef.errors === false) {\n out += ' ' + ($valid) + ' = ';\n if ($asyncKeyword) {\n out += 'await ';\n }\n out += '' + (def_callRuleValidate) + '; ';\n } else {\n if ($asyncKeyword) {\n $ruleErrs = 'customErrors' + $lvl;\n out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } ';\n } else {\n out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; ';\n }\n }\n }\n if ($rDef.modifying) {\n out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];';\n }\n out += '' + ($closingBraces);\n if ($rDef.valid) {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n } else {\n out += ' if ( ';\n if ($rDef.valid === undefined) {\n out += ' !';\n if ($macro) {\n out += '' + ($nextValid);\n } else {\n out += '' + ($valid);\n }\n } else {\n out += ' ' + (!$rDef.valid) + ' ';\n }\n out += ') { ';\n $errorKeyword = $rule.keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'custom') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \\'' + ($rule.keyword) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should pass \"' + ($rule.keyword) + '\" keyword validation\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n var def_customError = out;\n out = $$outStack.pop();\n if ($inline) {\n if ($rDef.errors) {\n if ($rDef.errors != 'full') {\n out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' 0 : it.util.schemaHasRules($sch, it.RULES.all))) {\n out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($property)) + '\\') ';\n }\n out += ') { ';\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + it.util.getProperty($property);\n $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property);\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_enum(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $i = 'i' + $lvl,\n $vSchema = 'schema' + $lvl;\n if (!$isData) {\n out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';';\n }\n out += 'var ' + ($valid) + ';';\n if ($isData) {\n out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {';\n }\n out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }';\n if ($isData) {\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('enum') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be equal to one of the allowed values\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' }';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_format(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n if (it.opts.format === false) {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n return out;\n }\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $unknownFormats = it.opts.unknownFormats,\n $allowUnknown = Array.isArray($unknownFormats);\n if ($isData) {\n var $format = 'format' + $lvl,\n $isObject = 'isObject' + $lvl,\n $formatType = 'formatType' + $lvl;\n out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \\'object\\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \\'string\\'; if (' + ($isObject) + ') { ';\n if (it.async) {\n out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; ';\n }\n out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'string\\') || ';\n }\n out += ' (';\n if ($unknownFormats != 'ignore') {\n out += ' (' + ($schemaValue) + ' && !' + ($format) + ' ';\n if ($allowUnknown) {\n out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 ';\n }\n out += ') || ';\n }\n out += ' (' + ($format) + ' && ' + ($formatType) + ' == \\'' + ($ruleType) + '\\' && !(typeof ' + ($format) + ' == \\'function\\' ? ';\n if (it.async) {\n out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) ';\n } else {\n out += ' ' + ($format) + '(' + ($data) + ') ';\n }\n out += ' : ' + ($format) + '.test(' + ($data) + '))))) {';\n } else {\n var $format = it.formats[$schema];\n if (!$format) {\n if ($unknownFormats == 'ignore') {\n it.logger.warn('unknown format \"' + $schema + '\" ignored in schema at path \"' + it.errSchemaPath + '\"');\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n return out;\n } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n return out;\n } else {\n throw new Error('unknown format \"' + $schema + '\" is used in schema at path \"' + it.errSchemaPath + '\"');\n }\n }\n var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate;\n var $formatType = $isObject && $format.type || 'string';\n if ($isObject) {\n var $async = $format.async === true;\n $format = $format.validate;\n }\n if ($formatType != $ruleType) {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n return out;\n }\n if ($async) {\n if (!it.async) throw new Error('async format in sync schema');\n var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate';\n out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { ';\n } else {\n out += ' if (! ';\n var $formatRef = 'formats' + it.util.getProperty($schema);\n if ($isObject) $formatRef += '.validate';\n if (typeof $format == 'function') {\n out += ' ' + ($formatRef) + '(' + ($data) + ') ';\n } else {\n out += ' ' + ($formatRef) + '.test(' + ($data) + ') ';\n }\n out += ') { ';\n }\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('format') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: ';\n if ($isData) {\n out += '' + ($schemaValue);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match format \"';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + (it.util.escapeQuotes($schema));\n }\n out += '\"\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_if(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $thenSch = it.schema['then'],\n $elseSch = it.schema['else'],\n $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? typeof $thenSch == 'object' && Object.keys($thenSch).length > 0 : it.util.schemaHasRules($thenSch, it.RULES.all)),\n $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? typeof $elseSch == 'object' && Object.keys($elseSch).length > 0 : it.util.schemaHasRules($elseSch, it.RULES.all)),\n $currentBaseId = $it.baseId;\n if ($thenPresent || $elsePresent) {\n var $ifClause;\n $it.createErrors = false;\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n $it.createErrors = true;\n out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n it.compositeRule = $it.compositeRule = $wasComposite;\n if ($thenPresent) {\n out += ' if (' + ($nextValid) + ') { ';\n $it.schema = it.schema['then'];\n $it.schemaPath = it.schemaPath + '.then';\n $it.errSchemaPath = it.errSchemaPath + '/then';\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' ' + ($valid) + ' = ' + ($nextValid) + '; ';\n if ($thenPresent && $elsePresent) {\n $ifClause = 'ifClause' + $lvl;\n out += ' var ' + ($ifClause) + ' = \\'then\\'; ';\n } else {\n $ifClause = '\\'then\\'';\n }\n out += ' } ';\n if ($elsePresent) {\n out += ' else { ';\n }\n } else {\n out += ' if (!' + ($nextValid) + ') { ';\n }\n if ($elsePresent) {\n $it.schema = it.schema['else'];\n $it.schemaPath = it.schemaPath + '.else';\n $it.errSchemaPath = it.errSchemaPath + '/else';\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' ' + ($valid) + ' = ' + ($nextValid) + '; ';\n if ($thenPresent && $elsePresent) {\n $ifClause = 'ifClause' + $lvl;\n out += ' var ' + ($ifClause) + ' = \\'else\\'; ';\n } else {\n $ifClause = '\\'else\\'';\n }\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('if') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match \"\\' + ' + ($ifClause) + ' + \\'\" schema\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; return false; ';\n }\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else { ';\n }\n } else {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n }\n return out;\n}\n","'use strict';\n\n//all requires must be explicit because browserify won't work with dynamic requires\nmodule.exports = {\n '$ref': require('./ref'),\n allOf: require('./allOf'),\n anyOf: require('./anyOf'),\n '$comment': require('./comment'),\n const: require('./const'),\n contains: require('./contains'),\n dependencies: require('./dependencies'),\n 'enum': require('./enum'),\n format: require('./format'),\n 'if': require('./if'),\n items: require('./items'),\n maximum: require('./_limit'),\n minimum: require('./_limit'),\n maxItems: require('./_limitItems'),\n minItems: require('./_limitItems'),\n maxLength: require('./_limitLength'),\n minLength: require('./_limitLength'),\n maxProperties: require('./_limitProperties'),\n minProperties: require('./_limitProperties'),\n multipleOf: require('./multipleOf'),\n not: require('./not'),\n oneOf: require('./oneOf'),\n pattern: require('./pattern'),\n properties: require('./properties'),\n propertyNames: require('./propertyNames'),\n required: require('./required'),\n uniqueItems: require('./uniqueItems'),\n validate: require('./validate')\n};\n","'use strict';\nmodule.exports = function generate_items(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $idx = 'i' + $lvl,\n $dataNxt = $it.dataLevel = it.dataLevel + 1,\n $nextData = 'data' + $dataNxt,\n $currentBaseId = it.baseId;\n out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n if (Array.isArray($schema)) {\n var $additionalItems = it.schema.additionalItems;\n if ($additionalItems === false) {\n out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; ';\n var $currErrSchemaPath = $errSchemaPath;\n $errSchemaPath = it.errSchemaPath + '/additionalItems';\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('additionalItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT have more than ' + ($schema.length) + ' items\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n $errSchemaPath = $currErrSchemaPath;\n if ($breakOnError) {\n $closingBraces += '}';\n out += ' else { ';\n }\n }\n var arr1 = $schema;\n if (arr1) {\n var $sch, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $sch = arr1[$i += 1];\n if ((it.opts.strictKeywords ? typeof $sch == 'object' && Object.keys($sch).length > 0 : it.util.schemaHasRules($sch, it.RULES.all))) {\n out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { ';\n var $passData = $data + '[' + $i + ']';\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + '[' + $i + ']';\n $it.errSchemaPath = $errSchemaPath + '/' + $i;\n $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true);\n $it.dataPathArr[$dataNxt] = $i;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n }\n if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0 : it.util.schemaHasRules($additionalItems, it.RULES.all))) {\n $it.schema = $additionalItems;\n $it.schemaPath = it.schemaPath + '.additionalItems';\n $it.errSchemaPath = it.errSchemaPath + '/additionalItems';\n out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n var $passData = $data + '[' + $idx + ']';\n $it.dataPathArr[$dataNxt] = $idx;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n if ($breakOnError) {\n out += ' if (!' + ($nextValid) + ') break; ';\n }\n out += ' } } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n } else if ((it.opts.strictKeywords ? typeof $schema == 'object' && Object.keys($schema).length > 0 : it.util.schemaHasRules($schema, it.RULES.all))) {\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n var $passData = $data + '[' + $idx + ']';\n $it.dataPathArr[$dataNxt] = $idx;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n if ($breakOnError) {\n out += ' if (!' + ($nextValid) + ') break; ';\n }\n out += ' }';\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_multipleOf(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!($isData || typeof $schema == 'number')) {\n throw new Error($keyword + ' must be number');\n }\n out += 'var division' + ($lvl) + ';if (';\n if ($isData) {\n out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \\'number\\' || ';\n }\n out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', ';\n if (it.opts.multipleOfPrecision) {\n out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' ';\n } else {\n out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') ';\n }\n out += ' ) ';\n if ($isData) {\n out += ' ) ';\n }\n out += ' ) { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('multipleOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be multiple of ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue);\n } else {\n out += '' + ($schemaValue) + '\\'';\n }\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_not(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n if ((it.opts.strictKeywords ? typeof $schema == 'object' && Object.keys($schema).length > 0 : it.util.schemaHasRules($schema, it.RULES.all))) {\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n out += ' var ' + ($errs) + ' = errors; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n $it.createErrors = false;\n var $allErrorsOption;\n if ($it.opts.allErrors) {\n $allErrorsOption = $it.opts.allErrors;\n $it.opts.allErrors = false;\n }\n out += ' ' + (it.validate($it)) + ' ';\n $it.createErrors = true;\n if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption;\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' if (' + ($nextValid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('not') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT be valid\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n if (it.opts.allErrors) {\n out += ' } ';\n }\n } else {\n out += ' var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('not') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT be valid\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n if ($breakOnError) {\n out += ' if (false) { ';\n }\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_oneOf(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $currentBaseId = $it.baseId,\n $prevValid = 'prevValid' + $lvl,\n $passingSchemas = 'passingSchemas' + $lvl;\n out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n var arr1 = $schema;\n if (arr1) {\n var $sch, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $sch = arr1[$i += 1];\n if ((it.opts.strictKeywords ? typeof $sch == 'object' && Object.keys($sch).length > 0 : it.util.schemaHasRules($sch, it.RULES.all))) {\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + '[' + $i + ']';\n $it.errSchemaPath = $errSchemaPath + '/' + $i;\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n } else {\n out += ' var ' + ($nextValid) + ' = true; ';\n }\n if ($i) {\n out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { ';\n $closingBraces += '}';\n }\n out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }';\n }\n }\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('oneOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match exactly one schema in oneOf\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; return false; ';\n }\n }\n out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }';\n if (it.opts.allErrors) {\n out += ' } ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_pattern(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema);\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'string\\') || ';\n }\n out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('pattern') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: ';\n if ($isData) {\n out += '' + ($schemaValue);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match pattern \"';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + (it.util.escapeQuotes($schema));\n }\n out += '\"\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_properties(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $key = 'key' + $lvl,\n $idx = 'idx' + $lvl,\n $dataNxt = $it.dataLevel = it.dataLevel + 1,\n $nextData = 'data' + $dataNxt,\n $dataProperties = 'dataProperties' + $lvl;\n var $schemaKeys = Object.keys($schema || {}).filter(notProto),\n $pProperties = it.schema.patternProperties || {},\n $pPropertyKeys = Object.keys($pProperties).filter(notProto),\n $aProperties = it.schema.additionalProperties,\n $someProperties = $schemaKeys.length || $pPropertyKeys.length,\n $noAdditional = $aProperties === false,\n $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length,\n $removeAdditional = it.opts.removeAdditional,\n $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional,\n $ownProperties = it.opts.ownProperties,\n $currentBaseId = it.baseId;\n var $required = it.schema.required;\n if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) {\n var $requiredHash = it.util.toHash($required);\n }\n\n function notProto(p) {\n return p !== '__proto__';\n }\n out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;';\n if ($ownProperties) {\n out += ' var ' + ($dataProperties) + ' = undefined;';\n }\n if ($checkAdditional) {\n if ($ownProperties) {\n out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n } else {\n out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n }\n if ($someProperties) {\n out += ' var isAdditional' + ($lvl) + ' = !(false ';\n if ($schemaKeys.length) {\n if ($schemaKeys.length > 8) {\n out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') ';\n } else {\n var arr1 = $schemaKeys;\n if (arr1) {\n var $propertyKey, i1 = -1,\n l1 = arr1.length - 1;\n while (i1 < l1) {\n $propertyKey = arr1[i1 += 1];\n out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' ';\n }\n }\n }\n }\n if ($pPropertyKeys.length) {\n var arr2 = $pPropertyKeys;\n if (arr2) {\n var $pProperty, $i = -1,\n l2 = arr2.length - 1;\n while ($i < l2) {\n $pProperty = arr2[$i += 1];\n out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') ';\n }\n }\n }\n out += ' ); if (isAdditional' + ($lvl) + ') { ';\n }\n if ($removeAdditional == 'all') {\n out += ' delete ' + ($data) + '[' + ($key) + ']; ';\n } else {\n var $currentErrorPath = it.errorPath;\n var $additionalProperty = '\\' + ' + $key + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n }\n if ($noAdditional) {\n if ($removeAdditional) {\n out += ' delete ' + ($data) + '[' + ($key) + ']; ';\n } else {\n out += ' ' + ($nextValid) + ' = false; ';\n var $currErrSchemaPath = $errSchemaPath;\n $errSchemaPath = it.errSchemaPath + '/additionalProperties';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('additionalProperties') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \\'' + ($additionalProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is an invalid additional property';\n } else {\n out += 'should NOT have additional properties';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n $errSchemaPath = $currErrSchemaPath;\n if ($breakOnError) {\n out += ' break; ';\n }\n }\n } else if ($additionalIsSchema) {\n if ($removeAdditional == 'failing') {\n out += ' var ' + ($errs) + ' = errors; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n $it.schema = $aProperties;\n $it.schemaPath = it.schemaPath + '.additionalProperties';\n $it.errSchemaPath = it.errSchemaPath + '/additionalProperties';\n $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n var $passData = $data + '[' + $key + ']';\n $it.dataPathArr[$dataNxt] = $key;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } ';\n it.compositeRule = $it.compositeRule = $wasComposite;\n } else {\n $it.schema = $aProperties;\n $it.schemaPath = it.schemaPath + '.additionalProperties';\n $it.errSchemaPath = it.errSchemaPath + '/additionalProperties';\n $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n var $passData = $data + '[' + $key + ']';\n $it.dataPathArr[$dataNxt] = $key;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n if ($breakOnError) {\n out += ' if (!' + ($nextValid) + ') break; ';\n }\n }\n }\n it.errorPath = $currentErrorPath;\n }\n if ($someProperties) {\n out += ' } ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n var $useDefaults = it.opts.useDefaults && !it.compositeRule;\n if ($schemaKeys.length) {\n var arr3 = $schemaKeys;\n if (arr3) {\n var $propertyKey, i3 = -1,\n l3 = arr3.length - 1;\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 1];\n var $sch = $schema[$propertyKey];\n if ((it.opts.strictKeywords ? typeof $sch == 'object' && Object.keys($sch).length > 0 : it.util.schemaHasRules($sch, it.RULES.all))) {\n var $prop = it.util.getProperty($propertyKey),\n $passData = $data + $prop,\n $hasDefault = $useDefaults && $sch.default !== undefined;\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + $prop;\n $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey);\n $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers);\n $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey);\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n $code = it.util.varReplace($code, $nextData, $passData);\n var $useData = $passData;\n } else {\n var $useData = $nextData;\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ';\n }\n if ($hasDefault) {\n out += ' ' + ($code) + ' ';\n } else {\n if ($requiredHash && $requiredHash[$propertyKey]) {\n out += ' if ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') { ' + ($nextValid) + ' = false; ';\n var $currentErrorPath = it.errorPath,\n $currErrSchemaPath = $errSchemaPath,\n $missingProperty = it.util.escapeQuotes($propertyKey);\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n }\n $errSchemaPath = it.errSchemaPath + '/required';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n $errSchemaPath = $currErrSchemaPath;\n it.errorPath = $currentErrorPath;\n out += ' } else { ';\n } else {\n if ($breakOnError) {\n out += ' if ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') { ' + ($nextValid) + ' = true; } else { ';\n } else {\n out += ' if (' + ($useData) + ' !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ' ) { ';\n }\n }\n out += ' ' + ($code) + ' } ';\n }\n }\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n }\n if ($pPropertyKeys.length) {\n var arr4 = $pPropertyKeys;\n if (arr4) {\n var $pProperty, i4 = -1,\n l4 = arr4.length - 1;\n while (i4 < l4) {\n $pProperty = arr4[i4 += 1];\n var $sch = $pProperties[$pProperty];\n if ((it.opts.strictKeywords ? typeof $sch == 'object' && Object.keys($sch).length > 0 : it.util.schemaHasRules($sch, it.RULES.all))) {\n $it.schema = $sch;\n $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty);\n $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty);\n if ($ownProperties) {\n out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n } else {\n out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n }\n out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { ';\n $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n var $passData = $data + '[' + $key + ']';\n $it.dataPathArr[$dataNxt] = $key;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n if ($breakOnError) {\n out += ' if (!' + ($nextValid) + ') break; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else ' + ($nextValid) + ' = true; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_propertyNames(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n out += 'var ' + ($errs) + ' = errors;';\n if ((it.opts.strictKeywords ? typeof $schema == 'object' && Object.keys($schema).length > 0 : it.util.schemaHasRules($schema, it.RULES.all))) {\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n var $key = 'key' + $lvl,\n $idx = 'idx' + $lvl,\n $i = 'i' + $lvl,\n $invalidName = '\\' + ' + $key + ' + \\'',\n $dataNxt = $it.dataLevel = it.dataLevel + 1,\n $nextData = 'data' + $dataNxt,\n $dataProperties = 'dataProperties' + $lvl,\n $ownProperties = it.opts.ownProperties,\n $currentBaseId = it.baseId;\n if ($ownProperties) {\n out += ' var ' + ($dataProperties) + ' = undefined; ';\n }\n if ($ownProperties) {\n out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n } else {\n out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n }\n out += ' var startErrs' + ($lvl) + ' = errors; ';\n var $passData = $key;\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' 0 : it.util.schemaHasRules($propertySch, it.RULES.all)))) {\n $required[$required.length] = $property;\n }\n }\n }\n } else {\n var $required = $schema;\n }\n }\n if ($isData || $required.length) {\n var $currentErrorPath = it.errorPath,\n $loopRequired = $isData || $required.length >= it.opts.loopRequired,\n $ownProperties = it.opts.ownProperties;\n if ($breakOnError) {\n out += ' var missing' + ($lvl) + '; ';\n if ($loopRequired) {\n if (!$isData) {\n out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; ';\n }\n var $i = 'i' + $lvl,\n $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n }\n out += ' var ' + ($valid) + ' = true; ';\n if ($isData) {\n out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {';\n }\n out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) ';\n }\n out += '; if (!' + ($valid) + ') break; } ';\n if ($isData) {\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else { ';\n } else {\n out += ' if ( ';\n var arr2 = $required;\n if (arr2) {\n var $propertyKey, $i = -1,\n l2 = arr2.length - 1;\n while ($i < l2) {\n $propertyKey = arr2[$i += 1];\n if ($i) {\n out += ' || ';\n }\n var $prop = it.util.getProperty($propertyKey),\n $useData = $data + $prop;\n out += ' ( ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) ';\n }\n }\n out += ') { ';\n var $propertyPath = 'missing' + $lvl,\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath;\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else { ';\n }\n } else {\n if ($loopRequired) {\n if (!$isData) {\n out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; ';\n }\n var $i = 'i' + $lvl,\n $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n }\n if ($isData) {\n out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { ';\n }\n out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) ';\n }\n out += ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ';\n if ($isData) {\n out += ' } ';\n }\n } else {\n var arr3 = $required;\n if (arr3) {\n var $propertyKey, i3 = -1,\n l3 = arr3.length - 1;\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 1];\n var $prop = it.util.getProperty($propertyKey),\n $missingProperty = it.util.escapeQuotes($propertyKey),\n $useData = $data + $prop;\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n }\n out += ' if ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ';\n }\n }\n }\n }\n it.errorPath = $currentErrorPath;\n } else if ($breakOnError) {\n out += ' if (true) {';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_uniqueItems(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (($schema || $isData) && it.opts.uniqueItems !== false) {\n if ($isData) {\n out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \\'boolean\\') ' + ($valid) + ' = false; else { ';\n }\n out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { ';\n var $itemType = it.schema.items && it.schema.items.type,\n $typeIsArray = Array.isArray($itemType);\n if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) {\n out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } ';\n } else {\n out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; ';\n var $method = 'checkDataType' + ($typeIsArray ? 's' : '');\n out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; ';\n if ($typeIsArray) {\n out += ' if (typeof item == \\'string\\') item = \\'\"\\' + item; ';\n }\n out += ' if (typeof itemIndices[item] == \\'number\\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } ';\n }\n out += ' } ';\n if ($isData) {\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('uniqueItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT have duplicate items (items ## \\' + j + \\' and \\' + i + \\' are identical)\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else { ';\n }\n } else {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_validate(it, $keyword, $ruleType) {\n var out = '';\n var $async = it.schema.$async === true,\n $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'),\n $id = it.self._getId(it.schema);\n if (it.opts.strictKeywords) {\n var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords);\n if ($unknownKwd) {\n var $keywordsMsg = 'unknown keyword: ' + $unknownKwd;\n if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg);\n else throw new Error($keywordsMsg);\n }\n }\n if (it.isTop) {\n out += ' var validate = ';\n if ($async) {\n it.async = true;\n out += 'async ';\n }\n out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \\'use strict\\'; ';\n if ($id && (it.opts.sourceCode || it.opts.processCode)) {\n out += ' ' + ('/\\*# sourceURL=' + $id + ' */') + ' ';\n }\n }\n if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) {\n var $keyword = 'false schema';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n if (it.schema === false) {\n if (it.isTop) {\n $breakOnError = true;\n } else {\n out += ' var ' + ($valid) + ' = false; ';\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'false schema') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'boolean schema is false\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n } else {\n if (it.isTop) {\n if ($async) {\n out += ' return data; ';\n } else {\n out += ' validate.errors = null; return true; ';\n }\n } else {\n out += ' var ' + ($valid) + ' = true; ';\n }\n }\n if (it.isTop) {\n out += ' }; return validate; ';\n }\n return out;\n }\n if (it.isTop) {\n var $top = it.isTop,\n $lvl = it.level = 0,\n $dataLvl = it.dataLevel = 0,\n $data = 'data';\n it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema));\n it.baseId = it.baseId || it.rootId;\n delete it.isTop;\n it.dataPathArr = [undefined];\n if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored in the schema root';\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n out += ' var vErrors = null; ';\n out += ' var errors = 0; ';\n out += ' if (rootData === undefined) rootData = data; ';\n } else {\n var $lvl = it.level,\n $dataLvl = it.dataLevel,\n $data = 'data' + ($dataLvl || '');\n if ($id) it.baseId = it.resolve.url(it.baseId, $id);\n if ($async && !it.async) throw new Error('async schema in sync schema');\n out += ' var errs_' + ($lvl) + ' = errors;';\n }\n var $valid = 'valid' + $lvl,\n $breakOnError = !it.opts.allErrors,\n $closingBraces1 = '',\n $closingBraces2 = '';\n var $errorKeyword;\n var $typeSchema = it.schema.type,\n $typeIsArray = Array.isArray($typeSchema);\n if ($typeSchema && it.opts.nullable && it.schema.nullable === true) {\n if ($typeIsArray) {\n if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null');\n } else if ($typeSchema != 'null') {\n $typeSchema = [$typeSchema, 'null'];\n $typeIsArray = true;\n }\n }\n if ($typeIsArray && $typeSchema.length == 1) {\n $typeSchema = $typeSchema[0];\n $typeIsArray = false;\n }\n if (it.schema.$ref && $refKeywords) {\n if (it.opts.extendRefs == 'fail') {\n throw new Error('$ref: validation keywords used in schema at path \"' + it.errSchemaPath + '\" (see option extendRefs)');\n } else if (it.opts.extendRefs !== true) {\n $refKeywords = false;\n it.logger.warn('$ref: keywords ignored in schema at path \"' + it.errSchemaPath + '\"');\n }\n }\n if (it.schema.$comment && it.opts.$comment) {\n out += ' ' + (it.RULES.all.$comment.code(it, '$comment'));\n }\n if ($typeSchema) {\n if (it.opts.coerceTypes) {\n var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema);\n }\n var $rulesGroup = it.RULES.types[$typeSchema];\n if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) {\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type';\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type',\n $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType';\n out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { ';\n if ($coerceToTypes) {\n var $dataType = 'dataType' + $lvl,\n $coerced = 'coerced' + $lvl;\n out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; ';\n if (it.opts.coerceTypes == 'array') {\n out += ' if (' + ($dataType) + ' == \\'object\\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } ';\n }\n out += ' if (' + ($coerced) + ' !== undefined) ; ';\n var arr1 = $coerceToTypes;\n if (arr1) {\n var $type, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $type = arr1[$i += 1];\n if ($type == 'string') {\n out += ' else if (' + ($dataType) + ' == \\'number\\' || ' + ($dataType) + ' == \\'boolean\\') ' + ($coerced) + ' = \\'\\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \\'\\'; ';\n } else if ($type == 'number' || $type == 'integer') {\n out += ' else if (' + ($dataType) + ' == \\'boolean\\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \\'string\\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' ';\n if ($type == 'integer') {\n out += ' && !(' + ($data) + ' % 1)';\n }\n out += ')) ' + ($coerced) + ' = +' + ($data) + '; ';\n } else if ($type == 'boolean') {\n out += ' else if (' + ($data) + ' === \\'false\\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \\'true\\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; ';\n } else if ($type == 'null') {\n out += ' else if (' + ($data) + ' === \\'\\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; ';\n } else if (it.opts.coerceTypes == 'array' && $type == 'array') {\n out += ' else if (' + ($dataType) + ' == \\'string\\' || ' + ($dataType) + ' == \\'number\\' || ' + ($dataType) + ' == \\'boolean\\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; ';\n }\n }\n }\n out += ' else { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } if (' + ($coerced) + ' !== undefined) { ';\n var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData',\n $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n out += ' ' + ($data) + ' = ' + ($coerced) + '; ';\n if (!$dataLvl) {\n out += 'if (' + ($parentData) + ' !== undefined)';\n }\n out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } ';\n } else {\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n }\n out += ' } ';\n }\n }\n if (it.schema.$ref && !$refKeywords) {\n out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' ';\n if ($breakOnError) {\n out += ' } if (errors === ';\n if ($top) {\n out += '0';\n } else {\n out += 'errs_' + ($lvl);\n }\n out += ') { ';\n $closingBraces2 += '}';\n }\n } else {\n var arr2 = it.RULES;\n if (arr2) {\n var $rulesGroup, i2 = -1,\n l2 = arr2.length - 1;\n while (i2 < l2) {\n $rulesGroup = arr2[i2 += 1];\n if ($shouldUseGroup($rulesGroup)) {\n if ($rulesGroup.type) {\n out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { ';\n }\n if (it.opts.useDefaults) {\n if ($rulesGroup.type == 'object' && it.schema.properties) {\n var $schema = it.schema.properties,\n $schemaKeys = Object.keys($schema);\n var arr3 = $schemaKeys;\n if (arr3) {\n var $propertyKey, i3 = -1,\n l3 = arr3.length - 1;\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 1];\n var $sch = $schema[$propertyKey];\n if ($sch.default !== undefined) {\n var $passData = $data + it.util.getProperty($propertyKey);\n if (it.compositeRule) {\n if (it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored for: ' + $passData;\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n } else {\n out += ' if (' + ($passData) + ' === undefined ';\n if (it.opts.useDefaults == 'empty') {\n out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \\'\\' ';\n }\n out += ' ) ' + ($passData) + ' = ';\n if (it.opts.useDefaults == 'shared') {\n out += ' ' + (it.useDefault($sch.default)) + ' ';\n } else {\n out += ' ' + (JSON.stringify($sch.default)) + ' ';\n }\n out += '; ';\n }\n }\n }\n }\n } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) {\n var arr4 = it.schema.items;\n if (arr4) {\n var $sch, $i = -1,\n l4 = arr4.length - 1;\n while ($i < l4) {\n $sch = arr4[$i += 1];\n if ($sch.default !== undefined) {\n var $passData = $data + '[' + $i + ']';\n if (it.compositeRule) {\n if (it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored for: ' + $passData;\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n } else {\n out += ' if (' + ($passData) + ' === undefined ';\n if (it.opts.useDefaults == 'empty') {\n out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \\'\\' ';\n }\n out += ' ) ' + ($passData) + ' = ';\n if (it.opts.useDefaults == 'shared') {\n out += ' ' + (it.useDefault($sch.default)) + ' ';\n } else {\n out += ' ' + (JSON.stringify($sch.default)) + ' ';\n }\n out += '; ';\n }\n }\n }\n }\n }\n }\n var arr5 = $rulesGroup.rules;\n if (arr5) {\n var $rule, i5 = -1,\n l5 = arr5.length - 1;\n while (i5 < l5) {\n $rule = arr5[i5 += 1];\n if ($shouldUseRule($rule)) {\n var $code = $rule.code(it, $rule.keyword, $rulesGroup.type);\n if ($code) {\n out += ' ' + ($code) + ' ';\n if ($breakOnError) {\n $closingBraces1 += '}';\n }\n }\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces1) + ' ';\n $closingBraces1 = '';\n }\n if ($rulesGroup.type) {\n out += ' } ';\n if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) {\n out += ' else { ';\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n }\n }\n if ($breakOnError) {\n out += ' if (errors === ';\n if ($top) {\n out += '0';\n } else {\n out += 'errs_' + ($lvl);\n }\n out += ') { ';\n $closingBraces2 += '}';\n }\n }\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces2) + ' ';\n }\n if ($top) {\n if ($async) {\n out += ' if (errors === 0) return data; ';\n out += ' else throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; ';\n out += ' return errors === 0; ';\n }\n out += ' }; return validate;';\n } else {\n out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';';\n }\n\n function $shouldUseGroup($rulesGroup) {\n var rules = $rulesGroup.rules;\n for (var i = 0; i < rules.length; i++)\n if ($shouldUseRule(rules[i])) return true;\n }\n\n function $shouldUseRule($rule) {\n return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule));\n }\n\n function $ruleImplementsSomeKeyword($rule) {\n var impl = $rule.implements;\n for (var i = 0; i < impl.length; i++)\n if (it.schema[impl[i]] !== undefined) return true;\n }\n return out;\n}\n","'use strict';\n\nvar IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i;\nvar customRuleCode = require('./dotjs/custom');\nvar definitionSchema = require('./definition_schema');\n\nmodule.exports = {\n add: addKeyword,\n get: getKeyword,\n remove: removeKeyword,\n validate: validateKeyword\n};\n\n\n/**\n * Define custom keyword\n * @this Ajv\n * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords).\n * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`.\n * @return {Ajv} this for method chaining\n */\nfunction addKeyword(keyword, definition) {\n /* jshint validthis: true */\n /* eslint no-shadow: 0 */\n var RULES = this.RULES;\n if (RULES.keywords[keyword])\n throw new Error('Keyword ' + keyword + ' is already defined');\n\n if (!IDENTIFIER.test(keyword))\n throw new Error('Keyword ' + keyword + ' is not a valid identifier');\n\n if (definition) {\n this.validateKeyword(definition, true);\n\n var dataType = definition.type;\n if (Array.isArray(dataType)) {\n for (var i=0; i= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.26.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/**\n * @module app/config\n */\n\nexport default {\n\tCSS_CUSTOM_PROPERTY_PREFIX: '--theme-',\n\tCSS_CUSTOM_PROPERTIES: {\n\t\t'light-primary': '#327FEF',\n\t\t'light-on-primary': '#ffffff',\n\n\t\t'light-secondary': '#327FEF',\n\t\t'light-on-secondary': '#ffffff',\n\n\t\t'dark-primary': '#327FEF',\n\t\t'dark-on-primary': '#eee',\n\n\t\t'dark-secondary': '#327FEF',\n\t\t'dark-on-secondary': '#eee',\n\t},\n\tDEFAULT_THEME_MODE: 'light',\n\n\t/**\n\t * The standard date format that all API calls should return\n\t * WARNING: Not all dates have been corrected on the server\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tDATE_FORMAT: 'YYYY-MM-DD HH:mm:ss.SSS',\n\n\t// /**\n\t// * The DAM (server) version this client instance requires,\n\t// * specified in the format of 'semver' -- https://github.com/npm/node-semver\n\t// * @const\n\t// * @type {string}\n\t// * @default\n\t// */\n\t// REQUIRED_SERVER_VERSION: '>=8.12.x', // at least version 8.12\n\t/**\n\t * CSS id of application wrapper\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCONTAINER_ID: 'wrapper',\n\t/**\n\t * CSS id of login container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tLOGIN_CONTAINER_ID: 'login',\n\t/**\n\t * CSS id of alert container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tALERT_CONTAINER_ID: 'alerts',\n\t/**\n\t * CSS id of gallery container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tGALLERY_CONTAINER_ID: 'gallery',\n\t/**\n\t * CSS id of tack container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tTACK_CONTAINER_ID: 'tack',\n\t/**\n\t * CSS id of header container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tHEADER_CONTAINER_ID: 'header',\n\t/**\n\t * CSS id of modal container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tMODAL_CONTAINER_ID: 'modal',\n\n\t/**\n\t * Interval used for polling in milliseconds\n\t * @const\n\t * @type {number}\n\t * @default\n\t */\n\tPOLL_INTERVAL: 5000,\n\t/**\n\t * Length of time passive alert will display before fade out\n\t * @const\n\t * @type {number}\n\t * @default\n\t */\n\tPASSIVE_ALERT_DELAY: 1000,\n};\n","import Config from 'netxcore@netx/core-app/config';\n\nObject.assign(Config, {\n\tCSS_CUSTOM_PROPERTY_PREFIX: '--mdc-theme-',\n\tPASSIVE_ALERT_DELAY: 2500,\n\tCONTACT_EMAIL: ['support@netx.net'],\n});\n\nexport default Config;\n","// MODULE CONSTANTS\n/////////////////////////\n// Module \"constants\" can be overridden using config.js\n\nexport default {\n\t/**\n\t * items per server fetch in paged assetListViews.\n\t * @const\n\t * @type {number}\n\t * @default\n\t */\n\tCHUNK_SIZE: 40,\n\n\t/**\n\t * max number of items displayed per page in an assetListView; max length of a Netx.Collections.MiniAssets\n\t * @const\n\t * @type {number}\n\t * @default\n\t */\n\tPAGE_SIZE: 200,\n\n\t/**\n\t * Display asset collection thumbnails as equal height images in equal height rows\n\t * @const\n\t * @type {boolean}\n\t * @defaul\n\t */\n\tEQUAL_GRID: true,\n\n\t/**\n\t * AssetListType options\n\t * @const\n\t * @type {array}\n\t * @defaul\n\t */\n\tLIST_TYPE: ['card', 'curator', 'grid', 'list'],\n\n\t/**\n\t * If enabled all asset list views will be managed by Netx.Views.AssetListViewTypeManager epending on the current LIST_TYPE selected\n\t * @const\n\t * @type {boolean}\n\t * @defaul\n\t */\n\tLIST_TYPES_ENABLED: false,\n\n\t/**\n\t * default asset list type if user has no preference stored:\n\t * @const\n\t * @type {array}\n\t * @defaul\n\t */\n\tLIST_TYPE_DEFAULT: 'grid',\n\n\t/**\n\t * id of the DOM element this module installs in\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tASSETS_CONTAINER_ID: 'assets',\n\n\t/**\n\t * id of the DOM element the assetDetailView installs in\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tDETAILS_CONTAINER_ID: 'asset-details',\n\n\t/**\n\t * id of the DOM element the assetVersionsView installs in\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tVERSIONS_CONTAINER_ID: 'asset-versions',\n\n\t/**\n\t * id of the DOM element the assetZoomView installs in\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tZOOM_CONTAINER_ID: 'zoom',\n\n\t/**\n\t * id of the zoom canvas inside the assetZoomView\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tZOOM_CANVAS_ID: 'zoom-canvas',\n\n\t/**\n\t * how many pixels we pan & zoom by, per click.\n\t * @const\n\t * @type {number}\n\t * @default\n\t */\n\tZOOM_SCALE: 20,\n\n\t/**\n\t * How much we zoom on load\n\t * @const\n\t * @type {Number}\n\t * @default\n\t */\n\tZOOM_TOLERANCE: 0.8,\n\n\t/**\n\t * id of the DOM element the document viewer installs in\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tDOCVIEW_CONTAINER_ID: 'docview',\n\n\t/**\n\t * id of the DOM element the assetCheckinView installs in\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCHECKIN_CONTAINER_ID: 'asset-checkin',\n\n\t/**\n\t * id of the file upload browse button in the assetCheckinView\n\t * @const {string}\n\t * @default\n\t */\n\tCHECKIN_BROWSE_BUTTON_ID: 'asset-checkin-browse',\n\n\t/**\n\t * id of the expiration asset list\n\t * @const {string}\n\t * @default\n\t */\n\tEXPIRATION_ASSET_LIST_ID: 'expiration-assets',\n\n\t/**\n\t * id of the expiration header\n\t * @const {string}\n\t * @default\n\t */\n\tEXPIRATION_HEADER_ID: 'expiration-header',\n\n\t/**\n\t * id the (non-modal) quick-edit panel (aka tag panel) installs in\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tTAGPANEL_CONTAINER_ID: 'quick-edit',\n\n\t/**\n\t * max number of assets to show in the Most Viewed Assets list\n\t * @const\n\t * @type {number}\n\t * @default\n\t */\n\tMOST_VIEWED_SIZE: 40,\n\n\t/**\n\t * ID of the upload button in assetViewsView\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tVIEW_UPLOAD_BUTTON_ID: 'asset-view-upload',\n\n\t/**\n\t * id of the dom element where assetRepurposeView is installed\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tREPURPOSE_CONTAINER_ID: 'asset-repurpose',\n\n\t/**\n\t * Array of the known asset detail tabs; disable a tab by removing it from this list.\n\t * @const\n\t * @type {array}\n\t * @default\n\t */\n\tDETAIL_TABS: [\n\t\t'overview',\n\t\t'preview',\n\t\t'fileinfo',\n\t\t'attributes',\n\t\t'attributeHistory',\n\t\t'views',\n\t\t'reviews',\n\t\t'links',\n\t\t'categories',\n\t\t'clips',\n\t\t'constituents_keyframes',\n\t\t'constituents_layers',\n\t\t'constituents_pages',\n\t\t'versions',\n\t\t'uasge',\n\t\t'index',\n\t\t'metadata',\n\t\t'permissions',\n\t\t'publicLinks',\n\t],\n\n\t/**\n\t * Default tab of assetDetailView to show upon load\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tDETAIL_TABS_DEFAULT: 'fileinfo',\n\n\t/**\n\t * max number of assets to show in the Recently Uploaded Assets list\n\t * @const\n\t * @type {number}\n\t * @default\n\t */\n\tRECENTLY_UPLOADED_SIZE: 40,\n\n\t/**\n\t * Should we initialize the extra uploader for asset reimportation?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tREIMPORT_ENABLE: true,\n\n\t/**\n\t * Should we initialize the extra uploader for asset checkin?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tCHECKIN_ENABLE: true,\n\n\t/**\n\t * Should we initialize asset repurposing?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tREPURPOSE_ENABLE: true,\n\n\t/**\n\t * Should we download an asset after checking it out?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tDOWNLOAD_ON_CHECKOUT: true,\n\n\t/**\n\t * Is the CartAssets class extended from the MiniAssets class (instead of the Assets class)?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\t// TODO: why is this in the asset controller instead of the cart controller?\n\tCART_ASSETS_MINI: true,\n\n\t/**\n\t * Is the SearchAssets class extended from the MiniAssets class (instead of the Assets class)?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\t// TODO: ditto previous question.\n\tSEARCH_ASSETS_MINI: true,\n\n\t/**\n\t * Should we allow drag actions on assets?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tDRAGGABLE: true,\n\n\t/**\n\t * Should assets re-fetch themselves immediately after saving to the DAM?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tFETCH_ON_SAVE: true,\n\n\t/**\n\t * Should asset collections, by default, fetch via the Faceted Search interface instead of the standard Search interface?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tUSE_FACETED_SEARCH: false,\n};\n","import Config from 'netxcore@netx/core-asset/config';\nimport {isMobile} from '@netx/core/lib/underscore-netx';\n\nObject.assign(Config, {\n\tDETAIL_TABS: [\n\t\t'overview',\n\t\t'fileinfo',\n\t\t'attributes',\n\t\t'attributeHistory',\n\t\t'metadata',\n\t\t'categories',\n\t\t'versions',\n\t\t'reviews',\n\t\t'views',\n\t\t'links',\n\t\t'clips',\n\t\t'constituents_keyframes',\n\t\t'constituents_layers',\n\t\t'constituents_pages',\n\t\t'permissions',\n\t\t'usage',\n\t\t'index',\n\t],\n\tPAGE_SIZE: 200,\n\tCHUNK_SIZE: 40,\n\tEQUAL_GRID: true, // default false\n\tLIST_TYPE: isMobile()\n\t\t? ['card', 'grid']\n\t\t: ['card', 'curator', 'grid', 'list'],\n\tLIST_TYPE_DEFAULT: isMobile() ? 'grid' : 'card',\n\t// Our theme utilizes asset list layout types\n\tLIST_TYPES_ENABLED: true,\n\tCATEGORY_ASSETS_MINI: false,\n\tSEARCH_ASSETS_MINI: false,\n\tCART_ASSETS_MINI: false,\n\t/*\n\t * to allow users to define new tags to an attribute of type 'tags', add the attribute's name to tags.flexbile[], like so:\n\t */\n\ttags: {\n\t\tflexible: ['add searchable tags'],\n\t},\n\tZOOM_CONTAINER_ID: 'modal',\n});\n\nexport default Config;\n","import {publicProperties} from '@netx/core-app/collections/singleton/publicProperties';\n\nexport const getPublicProperty = (\n\tkey: string,\n\tasBoolean?: Bool,\n) => {\n\treturn (\n\t\tasBoolean ? publicProperties.isTrue(key) : publicProperties.getProperty(key)\n\t) as Bool extends true ? boolean : string | undefined;\n};\n\nexport default getPublicProperty;\n","/**\n * Collection of generic label values\n * @class\n */\nimport Base from '@netx/core/lib/netx-collection';\nimport Model from '../models/labelValue';\n\nclass LabelValues extends Base {\n\t/** @override */\n\tconstructor(models, opts = {}) {\n\t\topts.model = opts.model || Model;\n\t\tsuper(models, opts);\n\t}\n\n\t/**\n\t * getProperty returns a value by label, unpacking the LVB.\n\t * @method\n\t * @param {string} label Full name of a property\n\t * @return string or undefined\n\t */\n\tgetProperty(label) {\n\t\tconst lvb = this.findWhere({label: label});\n\t\treturn lvb ? lvb.get('value') : undefined;\n\t}\n\n\t/**\n\t *\n\t * To test the boolean truth of properties that can contain the string \"true\" or \"false\",\n\t * we sometimes want to return true only if the string is \"true\" ... any other string == false.\n\t * Other times, we want the opposite. And you never know when someone might have made a typo,\n\t * since it's a text field ... isTrue and isFalse simplify that.\n\t * @param string label full name of a property\n\t * @returns boolean\n\t *\n\t */\n\tisTrue(label) {\n\t\treturn this.getProperty(label) === 'true';\n\t}\n\tisFalse(label) {\n\t\treturn this.getProperty(label) === 'false';\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'LabelValues';\n\t}\n}\n\nexport default LabelValues;\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-collection';\nimport Model from '../models/batchJob';\n\nclass BatchJobs extends Base {\n\t/** @override */\n\tconstructor(models, opts = {}) {\n\t\topts.model = opts.model || Model;\n\t\tsuper(models, opts);\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'BatchJobs';\n\t}\n}\n\nexport default BatchJobs;\n","import BatchJobsCollection from '../batchJobs';\n\nexport const batchJobs = new BatchJobsCollection([]);\n\nexport default batchJobs;\n\nimport {setGlobal} from '@netx/core-next/utils/setGlobal';\n// TODO: this is still needed as a global due to netx model inception in netx model and batch jobs\n// if (process.env.NODE_ENV !== 'production') {\nsetGlobal({batchJobs});\n//}\n","/**\n * Collection of public properties that are fetched prior to the app initializing.\n * These properties are fetched using the webservice method getPublicProperties()\n * @class\n */\nimport Base from './labelValues';\nimport Model from '../models/labelValue';\n\nclass PublicProperties extends Base {\n\t/**\n\t * @type {Netx.Rpc}\n\t * @private\n\t */\n\tget rpc() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @property {object} methods - Collection RPC methods\n\t * @property {method} methods.read - Fetch public properties\n\t */\n\tget methods() {\n\t\treturn {\n\t\t\tread: ['getPublicProperties'],\n\t\t};\n\t}\n\n\t/** @override */\n\tconstructor(models, opts = {}) {\n\t\topts.model = opts.model || Model;\n\t\tsuper(models, opts);\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'PublicProperties';\n\t}\n}\n\nexport default PublicProperties;\n","import PublicPropertiesCollection from '@netx/core-app/collections/publicProperties';\n\nexport const publicProperties = new PublicPropertiesCollection();\n\nexport default publicProperties;\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-model';\n\nclass Socket extends Base {\n\t/**\n\t * @property {object} defaults - Model defaults\n\t * @property {boolean} defaults.autoConnect - Auto connect to websockets at initialize\n\t * @property {boolean} defaults.autoReconnect - Auto reconnect when disconnected by server\n\t * @property {boolean} defaults.clientDisconnected - We opted to disconnect from websockets\n\t * @property {boolean} defaults.connected - Connected to websockets\n\t * @property {array} defaults.connectionDurations - Connection duration store\n\t * @property {number} defaults.connectionRetries - Current websocket connection retries (will reset after sustaining a successful connection for at least 5s)\n\t * @property {number} defaults.lastConnectTime - The last time we achieved a websocket connection (ms)\n\t * @property {number} defaults.lastDisconnectTime - The last time we were disconnected from websockets (ms)\n\t * @property {number} defaults.maxConnectionRetries - Max times we will try to reconnect without acheiving a successful connection fot at least 5s\n\t * @property {number} defaults.reconnectCount - The number of times the websocket reconnected through the life of our session\n\t * @property {array} defaults.subscriptions - Websocket subscriptions\n\t * @property {string} defaults.url - Websocket endpoint\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\tautoConnect: true,\n\t\t\tautoReconnect: true,\n\t\t\tclientDisconnected: false,\n\t\t\tconnected: false,\n\t\t\tconnectionDurations: [],\n\t\t\tconnectionRetries: 0,\n\t\t\tdisconnectEvents: [],\n\t\t\tlastConnectTime: 0,\n\t\t\tlastDisconnectTime: 0,\n\t\t\tmaxConnectionRetries: 5,\n\t\t\treconnectCount: 0,\n\t\t\tsubscriptions: [],\n\t\t\turl: '',\n\t\t};\n\t}\n\n\t/**\n\t * @override\n\t * @param {object} attrs Model attributes\n\t * @param {object} opts Request options\n\t */\n\tconstructor(attrs, opts) {\n\t\tsuper(attrs, opts);\n\n\t\t// Debounced/throttled methods\n\t\tthis.reconnect = _.throttle(this.reconnect, 5000, true);\n\n\t\t// Hey, listen!\n\t\tthis.listenTo(\n\t\t\tthis,\n\t\t\t'change:connectionRetries',\n\t\t\t(model, connectionRetries) => {\n\t\t\t\tif (\n\t\t\t\t\t!this.get('connected') &&\n\t\t\t\t\tconnectionRetries >= this.get('maxConnectionRetries')\n\t\t\t\t) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'There is an issue connecting to websockets. Max retries reached.',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\n\t\t// Auto connect\n\t\t// !Netx.session.get('token') && this.get('autoConnect') && this.connect();\n\t}\n\n\t/**\n\t * @method\n\t */\n\tconnect() {\n\t\tthis.whenConnected && this.whenConnected.reject();\n\n\t\tconst whenConnected = (this.whenConnected = new $.Deferred());\n\n\t\t// DEBUG\n\t\tif (this.fail) {\n\t\t\t_.delay(() => {\n\t\t\t\tthis.disconnected();\n\t\t\t}, 2);\n\t\t\treturn this.whenConnected.resolve();\n\t\t}\n\n\t\tconst socket = (this.socket = new WebSocket(this.get('url')));\n\t\t// Can check the event code here as well if need be\n\t\tsocket.onclose = _.bind(this.disconnected, this);\n\t\tsocket.onmessage = _.bind(this.message, this);\n\n\t\t// When connected\n\t\tsocket.onopen = () => {\n\t\t\tthis.set({\n\t\t\t\tclientDisconnected: false,\n\t\t\t\tconnected: true,\n\t\t\t\tlastConnectTime: _.now(),\n\t\t\t});\n\n\t\t\t// Let's try and maintain a connection for at least 5s\n\t\t\t// before resetting max retries\n\t\t\tthis.resetMaxConnectRetries = setTimeout(() => {\n\t\t\t\tthis.set('connectionRetries', 0);\n\t\t\t}, 5000);\n\n\t\t\twhenConnected.resolve();\n\t\t};\n\n\t\treturn this.whenConnected;\n\t}\n\n\t/**\n\t * @method\n\t */\n\tdisconnect() {\n\t\tif (!this.get('connected')) return this;\n\n\t\tthis.set('clientDisconnected', true);\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes\n\t\tthis.socket.close(1000);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * @method\n\t * @return {number} Current connection lifetime in ms\n\t */\n\tgetConnectionLifetime() {\n\t\treturn this.get('connected') ? _.now() - this.get('lastConnectTime') : 0;\n\t}\n\n\t/**\n\t * @method\n\t * @param {event} e `close` event\n\t */\n\tdisconnected(e) {\n\t\t// Reset\n\t\tthis.resetMaxConnectRetries && clearTimeout(this.resetMaxConnectRetries);\n\n\t\tconst connectionDurations = this.get('connectionDurations');\n\t\tconst disconnectEvents = this.get('disconnectEvents');\n\n\t\tif (this.get('connected')) {\n\t\t\tthis.set({\n\t\t\t\tconnected: false,\n\t\t\t\tconnectionDurations: connectionDurations.concat([\n\t\t\t\t\t_.now() - this.get('lastConnectTime'),\n\t\t\t\t]),\n\t\t\t\tdisconnectEvents: disconnectEvents.concat([e]),\n\t\t\t\tlastDisconnectTime: _.now(),\n\t\t\t});\n\t\t}\n\n\t\t// We did not ask for this disconnect, assume something went wrong and reconnect\n\t\t// Typically caused by a `Broken pipe` on the server - this should be resolved when\n\t\t// websockets are rebuilt in 9.0\n\t\tif (!this.get('clientDisconnected') && this.get('autoReconnect')) {\n\t\t\tconsole.warn('client did not opt to disconnect');\n\t\t\tthis.reconnect();\n\t\t} else {\n\t\t\tthis.socket.onmessage = null;\n\t\t\tthis.socket.onclose = null;\n\t\t\tthis.off().set({\n\t\t\t\tconnectionRetries: 0,\n\t\t\t\tsubscriptions: [],\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * @method\n\t * @param {event} e `message` event\n\t */\n\tmessage(e) {\n\t\tconst data = JSON.parse(e.data);\n\n\t\tdata.roomName\n\t\t\t? this.trigger(\n\t\t\t\t\t'socket:message:' + data.roomName,\n\t\t\t\t\tJSON.parse(data.message),\n\t\t\t )\n\t\t\t: this.trigger('socket:message', data);\n\t}\n\n\t/**\n\t * @method\n\t */\n\treconnect() {\n\t\tconst connectionRetries = this.get('connectionRetries');\n\t\tconst maxConnectionRetries = this.get('maxConnectionRetries');\n\n\t\tif (connectionRetries < maxConnectionRetries) {\n\t\t\tconsole.warn(\n\t\t\t\t'attempting to reconnect to websocket (' +\n\t\t\t\t\t(connectionRetries + 1) +\n\t\t\t\t\t'/' +\n\t\t\t\t\tmaxConnectionRetries +\n\t\t\t\t\t')',\n\t\t\t);\n\n\t\t\tvar reconnectCount = this.get('reconnectCount');\n\t\t\tthis.set({\n\t\t\t\tconnectionRetries: connectionRetries + 1,\n\t\t\t\treconnectCount: reconnectCount + 1,\n\t\t\t});\n\n\t\t\tthis.connect().then(() => {\n\t\t\t\t// Re-subscribe when connected\n\t\t\t\tthis.overrideSubscriptionCheck = true;\n\t\t\t\t_.each(this.get('subscriptions'), this.subscribe, this);\n\t\t\t\tthis.overrideSubscriptionCheck = false;\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * @method\n\t * @param {object} message Message\n\t */\n\tsend(message) {\n\t\tthis.when(this.get('connected') ? true : this.whenConnected).then(() => {\n\t\t\tthis.socket.send(JSON.stringify(message));\n\t\t});\n\t\treturn this;\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} roomName Room name\n\t */\n\tsubscribe(roomName) {\n\t\tconst subscriptions = this.get('subscriptions');\n\t\tconst inSubscriptions = _.contains(subscriptions, roomName);\n\n\t\tif (\n\t\t\t!roomName ||\n\t\t\t!this.get('connected') ||\n\t\t\t(!this.overrideSubscriptionCheck && inSubscriptions)\n\t\t)\n\t\t\treturn this;\n\n\t\t!inSubscriptions &&\n\t\t\tthis.set('subscriptions', subscriptions.concat([roomName]));\n\n\t\treturn this.send({\n\t\t\tmessage: '',\n\t\t\taction: 6,\n\t\t\troomName: roomName,\n\t\t});\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} roomName Room name\n\t */\n\tunsubscribe(roomName) {\n\t\tconst subscriptions = this.get('subscriptions');\n\n\t\tif (\n\t\t\t!this.get('connected') ||\n\t\t\t(roomName && !_.contains(subscriptions, roomName))\n\t\t)\n\t\t\treturn this;\n\n\t\tthis.set(\n\t\t\t'subscriptions',\n\t\t\troomName ? _.without(subscriptions, roomName) : [],\n\t\t);\n\n\t\treturn this.send({\n\t\t\tmessage: '',\n\t\t\taction: 7,\n\t\t\troomName: roomName,\n\t\t});\n\t}\n\n\t// DEBUG\n\t/** @method */\n\tsimulateFail() {\n\t\tthis.fail = true;\n\t\tthis.disconnected();\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'Socket';\n\t}\n}\n\nexport default Socket;\n","import window from 'global/window';\nimport SocketModel from '../../models/socket';\n\nconst protocol = window.location.toString().split(window.location.host)[0];\nconst websocketProtocol = protocol.replace(/http/, 'ws');\nexport const legacyWebsocketUrl = `${websocketProtocol}${window.location.host}/websocket`;\n\nexport const legacyWebsocket = new SocketModel({url: legacyWebsocketUrl}, {});\n\nexport default legacyWebsocket;\n\nimport {setGlobal} from '@netx/core-next/utils/setGlobal';\n// still needed due to the circular dependency of the netx-model and the websocket model\n// which is only extending netx-model to get events - can easily be turned into a mobx store or similar\n// and the circular dependency goes away.\n// the only reason i am not tackling that now is that we will evenetually have legit websockets and use\n// socket.io - so the whole thing changes and this troublesome file is deleted\n// if (process.env.NODE_ENV !== 'production') {\nsetGlobal({websocket: legacyWebsocket});\n// }\n","/**\n * BatchJob Model\n * @class\n */\nimport Base from '@netx/core/lib/netx-model';\nimport Netx from '@netx/core/bootstrap';\nimport customConfig from '../config';\n\nclass BatchJob extends Base {\n\t/**\n\t * @type {Netx.Rpc}\n\t * @private\n\t */\n\tget rpc() {\n\t\treturn true;\n\t}\n\n\t/** @type {string} */\n\tget idAttribute() {\n\t\treturn 'uuid';\n\t}\n\n\t/**\n\t * @property {object} defaults - The default attribute values\n\t * @property {string} defaults.completeUrl - The default batch job complete URL\n\t * @property {string} defaults.details - The default batch job details\n\t * @property {string} defaults.estimatedTime - The defualt batch job estimated time\n\t * @property {number} defaults.increment - The defualt batch job increment\n\t * @property {string} defaults.jobTitle - The defualt batch job title\n\t * @property {number} defaults.percentComplete - The defualt batch job percent complete\n\t * @property {number} defaults.runningTime - The defualt batch job running time\n\t * @property {string} defaults.runningTimeLabel - The defualt batch job running time label\n\t * @property {number} defaults.secondsToReload - The defualt batch job seconds to reload\n\t * @property {number} defaults.startTime - The defualt batch job start time\n\t * @property {object} defaults.shareData - The defualt batch job share data\n\t * @property {boolean} defaults.shareData.appendMetadata - The defualt batch job share data append metadata\n\t * @property {string} defaults.shareData.errorCatasrophe - The defualt batch job share data error catastrophe\n\t * @property {string} defaults.shareData.errorMessage - The defualt batch job share data error message\n\t * @property {number} defaults.shareData.fileSize - The defualt batch job share data file size\n\t * @property {number} defaults.shareData.hoursToLive - The defualt batch job share data hours to live\n\t * @property {array} defaults.shareData.messages - The defualt batch job share data messages\n\t * @property {string} defaults.shareData.name - The defualt batch job share data name\n\t * @property {string} defaults.shareData.path - The defualt batch job share data path\n\t * @property {string} defaults.shareData.realPath - The defualt batch job share data real path\n\t * @property {string} defaults.shareData.size - The defualt batch job share data size\n\t * @property {string} defaults.shareData.sizeUncompressed - The defualt batch job share data size uncompressed\n\t * @property {string} defaults.shareData.warningMessage - The defualt batch job share data warning message\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\tcompleteUrl: '',\n\t\t\tdetails: '',\n\t\t\testimatedTime: '',\n\t\t\tincrement: 0,\n\t\t\tjobTitle: '',\n\t\t\tpercentComplete: 0,\n\t\t\trunningTime: 0,\n\t\t\trunningTimeLabel: '',\n\t\t\tsecondsToReload: 0,\n\t\t\tstartTime: 0,\n\t\t\tshareData: {\n\t\t\t\tappendMetadata: false,\n\t\t\t\terrorCatastrophe: '',\n\t\t\t\terrorMessage: '',\n\t\t\t\tfileSize: 0,\n\t\t\t\thoursToLive: 0,\n\t\t\t\tmessages: [],\n\t\t\t\tname: '',\n\t\t\t\tpath: '',\n\t\t\t\trealPath: '',\n\t\t\t\tsize: '', // string\n\t\t\t\tsizeUncompressed: '', // string\n\t\t\t\twarningMessage: '',\n\t\t\t},\n\n\t\t\t// Client attributes\n\t\t\targs: [],\n\t\t\thasResult: false,\n\t\t};\n\t}\n\n\t/** @type {Array} */\n\tget clientAttrs() {\n\t\treturn ['args', 'hasResult'];\n\t}\n\n\t/**\n\t * @memberof BatchJob\n\t * @property {object} methods - Model RPC methods\n\t * @property {method} methods.read - Fetch progress report\n\t *\n\t * @property {method} methods.getShare - Fetch share bean\n\t */\n\tget methods() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * @method\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tread(opts) {\n\t\t\t\t// If the uuid isn't set, or is zero or undefined or whatever,\n\t\t\t\t// pass a 0 here (instead of zero or undefined or whatever.)\n\t\t\t\treturn ['getProgressReport', this.id ? this.id : 0];\n\t\t\t},\n\t\t\t// Helpers\n\t\t\tgetShare: ['getShareBean'],\n\t\t};\n\t}\n\n\t/**\n\t * @property {object} parsers - The parsers available on this model\n\t * @property {function} parsers.getShare - Parses result of fetched share bean\n\t */\n\tget parsers() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * @function\n\t\t\t * @param {object} data Share data\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tgetShare(data, opts) {\n\t\t\t\tthis.set('shareData', data, opts);\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * @override\n\t * @param {object} attrs Model attributes\n\t * @param {object} opts Model options\n\t */\n\tconstructor(attrs, opts = {}) {\n\t\tsuper(attrs, opts);\n\n\t\t/**\n\t\t * Promise for job completion\n\t\t * @memberof module:app/models/batchJob\n\t\t * @alias completed\n\t\t * @type {object}\n\t\t */\n\t\tthis.completed = new $.Deferred();\n\n\t\t/**\n\t\t * @memberof module:app/models/batchJob\n\t\t * @alias eventStrs\n\t\t * @type {object}\n\t\t */\n\t\tthis.eventStrs = opts.eventStrs || {};\n\n\t\tthis.pollInterval = opts.pollInterval;\n\n\t\t// Hey, listen!\n\t\tthis.listenTo(this, 'complete', (model) => {\n\t\t\tthis.completed.resolveWith(this, [this]);\n\t\t\tthis.destroy();\n\t\t}).listenTo(this, 'error', (model, error) => {\n\t\t\tthis.completed.rejectWith(this, [error, this]);\n\t\t});\n\n\t\t// Wait until initialize is complete\n\t\t_.defer(this.trackJob.bind(this));\n\t}\n\n\t/**\n\t * Add another event str to notify on batch job complete\n\t * @method\n\t * @param {string} eventStr Event string\n\t * @param {array} args Event arguments\n\t */\n\taddEventStr(eventStr, args) {\n\t\tthis.eventStrs[eventStr] = args || [];\n\t}\n\n\t/**\n\t * We do not have an RPC method - just want cleanup\n\t * @override\n\t * @param {object} opts Request options\n\t */\n\tdestroy(opts) {\n\t\tthis.stopListening();\n\t\tthis.trigger('destroy', this, this.collection, opts);\n\t}\n\n\t/**\n\t * @method\n\t * @fires module:app#app:pollBatchJob:messages\n\t * @fires module:share#share:simpleDownload\n\t */\n\ttrackJob() {\n\t\tthis.pollUntil(\n\t\t\t(status) => {\n\t\t\t\tthis.trigger('progress', this, this.get('percentComplete'));\n\t\t\t\treturn !status || this.get('percentComplete') >= 100;\n\t\t\t},\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tthis.pollInterval || customConfig.POLL_INTERVAL,\n\t\t).then(() => {\n\t\t\t// Expecting share data results\n\t\t\tif (this.get('hasResult')) {\n\t\t\t\treturn this.getShare().then((shareData) => {\n\t\t\t\t\tshareData = shareData || {};\n\n\t\t\t\t\t// Completed\n\t\t\t\t\tthis.triggerComplete([shareData]);\n\n\t\t\t\t\t// if the sharedata specifies a file, download that.\n\t\t\t\t\tif (shareData.path && shareData.path.length) {\n\t\t\t\t\t\tdispatcher.trigger('share:simpleDownload', shareData.path);\n\t\t\t\t\t}\n\t\t\t\t}, this.triggerError);\n\t\t\t}\n\n\t\t\t// Completed\n\t\t\tthis.triggerComplete();\n\t\t}, this.triggerError.bind(this));\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} error Error\n\t */\n\ttriggerError(error) {\n\t\tconst args = this.get('args') || [];\n\t\t_.each(this.eventStrs, (eventArgs, eventStr) => {\n\t\t\teventArgs = eventArgs || args;\n\t\t\tdispatcher.trigger.apply(\n\t\t\t\tdispatcher,\n\t\t\t\t[eventStr + ':error', error].concat(eventArgs),\n\t\t\t);\n\t\t});\n\t\tthis.trigger.apply(this, ['error', this, error].concat(args));\n\t\tthis.eventStrs = {};\n\t}\n\n\t/**\n\t * @method\n\t * @param {array} additionalArgs Additional arguments\n\t */\n\ttriggerComplete(additionalArgs) {\n\t\tadditionalArgs = additionalArgs || [];\n\t\tconst args = additionalArgs.concat(this.get('args') || []);\n\t\t_.each(this.eventStrs, (eventArgs, eventStr) => {\n\t\t\teventArgs = eventArgs || args;\n\t\t\t// TODO: fix all places using `succeeded` and use `complete`\n\t\t\tdispatcher.trigger.apply(\n\t\t\t\tdispatcher,\n\t\t\t\t[eventStr + ':succeeded'].concat(eventArgs.concat(this)),\n\t\t\t);\n\t\t});\n\t\tthis.trigger.apply(this, ['complete', this].concat(args));\n\t\tthis.eventStrs = {};\n\t}\n\n\t/**\n\t * @method\n\t * @return {boolean} Rejected\n\t */\n\t// note: this is currently only used for the checkin error of identical files\n\tisRejected() {\n\t\t// the uploaded file is identical to the current asset version\n\t\tconst messageCode = 2103,\n\t\t\tprogressMessages = this.get('progressMessages') || [],\n\t\t\tmessageArr = progressMessages.filter(\n\t\t\t\t(message) => message.code === messageCode,\n\t\t\t);\n\t\treturn messageArr.length > 0;\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'BatchJob';\n\t}\n}\n\nexport default BatchJob;\n","/**\n * LabelValue model, utilized by every collection whose fetch method returns an array of LabelValueBeans\n * @class\n */\nimport Base from '@netx/core/lib/netx-model';\n\nclass LabelValue extends Base {\n\t/**\n\t * Set the attribute backbone will look to as the id\n\t * @type {string}\n\t */\n\tget idAttribute() {\n\t\treturn 'label';\n\t}\n\t/**\n\t * @property {object} defaults - The default attribute values\n\t * @property {string} defaults.label - The default label\n\t * @property {string} defaults.value - The default value\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\tlabel: undefined,\n\t\t\tvalue: undefined,\n\t\t};\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'LabelValue';\n\t}\n}\n\nexport default LabelValue;\n","import {i18n} from '@netx/core/i18n';\n\n// Will fix translations below\nexport const modes = {\n\tlight: '',\n\tdark: '',\n};\n\nexport enum NetxThemePref {\n\tDEFAULT = 'default',\n\tDARK = 'dark',\n\tLIGHT = 'light',\n}\n\nexport const NetxThemePrefLabels = {\n\t[NetxThemePref.DEFAULT]: i18n.t('i18n.themeModeDefault'),\n\t[NetxThemePref.DARK]: i18n.t('i18n.themeModeDark'),\n\t[NetxThemePref.LIGHT]: i18n.t('i18n.themeModeLight'),\n};\n\nexport const userPref = 'app:brand:mode';\n\n// Fix translations since we are loaded in tendem with i18n\ndispatcher.once('app:i18n:ready', () => {\n\tObject.assign(NetxThemePrefLabels, {\n\t\t[NetxThemePref.DEFAULT]: i18n.t('i18n.themeModeDefault'),\n\t\t[NetxThemePref.DARK]: i18n.t('i18n.themeModeDark'),\n\t\t[NetxThemePref.LIGHT]: i18n.t('i18n.themeModeLight'),\n\t});\n});\n\nexport default {modes, userPref};\n","import {UserLevel} from '@netx/core-user-next/constants';\n\nexport const emptyValueSymbol = Symbol('emptyValue');\n\nexport const ATTRIBUTE_SYSTEM_ATTRIBUTES_MINIMUM_USER_LEVEL = UserLevel.ADMIN;\nexport const ATTRIBUTE_SYSTEM_METADATA_MAPS_MINIMUM_USER_LEVEL =\n\tUserLevel.ADMIN;\nexport const ATTRIBUTE_SYSTEM_SEMANTICS_MINIMUM_USER_LEVEL = UserLevel.ADMIN;\n\nexport enum AttributePref {\n\tSEMANTICS_ENABLED = 'metadata.semantic.enabled',\n\tVOCABULARY_ENABLED = 'metadata.vocabulary.enabled',\n\tALL_USERS_PERMITTED_TO_EDIT = 'permission.attributesEnabled',\n}\n\nexport const ATTRIBUTE_ID = 'attributeid';\n\nexport enum AttributeType {\n\tTEXT = 1,\n\tTEXTAREA = 2,\n\tSELECT = 3,\n\tDATE = 4,\n\tMULTISELECT = 5,\n\tTAG = 6,\n\tNUMBER = 7,\n\tHIERARCHICAL = 8,\n\tSEMANTIC = 12,\n\tTAG_VOCAB = 13,\n}\n\n// TODO: utilize the enum above instead and then remove this\nexport const ATTRIBUTE_TYPE = {\n\tTEXT: AttributeType.TEXT,\n\tTEXTAREA: AttributeType.TEXTAREA,\n\t/** aka pulldown */\n\tSELECT: AttributeType.SELECT,\n\tDATE: AttributeType.DATE,\n\tMULTISELECT: AttributeType.MULTISELECT,\n\t/** This requires the system property `dataManager.enabled` be `true` */\n\tTAG: AttributeType.TAG,\n\tNUMBER: AttributeType.NUMBER,\n\t/** Stupid terrible beast */\n\tHIERARCHICAL: AttributeType.HIERARCHICAL,\n\t/** pretty much deprecated. but it works... */\n\tSEMANTIC: AttributeType.SEMANTIC,\n\t/** This requires the system property `metadata.vocabulary.enabled` be `true` */\n\tTAG_VOCAB: AttributeType.TAG_VOCAB,\n};\n\nexport const ATTRIBUTE_ACTION = {\n\tAPPEND: 'append',\n\tCLEAR: 'clear',\n\tOVERWRITE: 'overwrite',\n\tREMOVE: 'remove',\n\tSET_IF_BLANK: 'set_if_blank',\n};\n\nexport const ATTRIBUTE_ACCESS_FILTER_TYPES = [\n\tATTRIBUTE_TYPE.SELECT,\n\tATTRIBUTE_TYPE.MULTISELECT,\n\tATTRIBUTE_TYPE.TAG_VOCAB,\n];\n\nexport const ATTRIBUTE_APPENDABLE_TYPES = [\n\tATTRIBUTE_TYPE.TEXT,\n\tATTRIBUTE_TYPE.TEXTAREA,\n\tATTRIBUTE_TYPE.MULTISELECT,\n\tATTRIBUTE_TYPE.TAG,\n\tATTRIBUTE_TYPE.SEMANTIC,\n\tATTRIBUTE_TYPE.TAG_VOCAB,\n];\n\nexport const ATTRIBUTE_AUTO_LOOKUP_TYPES = [\n\tATTRIBUTE_TYPE.TAG,\n\tATTRIBUTE_TYPE.SEMANTIC,\n\tATTRIBUTE_TYPE.TAG_VOCAB,\n];\n\nexport const ATTRIBUTE_DEFAULTABLE_TYPES = [\n\tATTRIBUTE_TYPE.DATE,\n\tATTRIBUTE_TYPE.NUMBER,\n\tATTRIBUTE_TYPE.TEXT,\n\tATTRIBUTE_TYPE.TEXTAREA,\n];\n\n// !!! hierarchical is not supported for edit !!!\n// !!! I REPEAT: hierarchical is not editable !!!\nexport const ATTRIBUTE_EDITABLE_TYPES = Object.values(ATTRIBUTE_TYPE).filter(\n\t(type) => type !== ATTRIBUTE_TYPE.HIERARCHICAL,\n);\n\nexport const ATTRIBUTE_FACET_TYPES = [\n\tATTRIBUTE_TYPE.SELECT,\n\tATTRIBUTE_TYPE.MULTISELECT,\n\tATTRIBUTE_TYPE.TAG,\n\tATTRIBUTE_TYPE.TAG_VOCAB,\n];\n\nexport const ATTRIBUTE_MULTIPLE_VALUE_TYPES = [\n\tATTRIBUTE_TYPE.MULTISELECT,\n\tATTRIBUTE_TYPE.TAG,\n\tATTRIBUTE_TYPE.SEMANTIC,\n\tATTRIBUTE_TYPE.TAG_VOCAB,\n];\n\nexport const ATTRIBUTE_MULTIPLE_VALUE_DEPRECATED_TYPES = [\n\tATTRIBUTE_TYPE.TEXT,\n\tATTRIBUTE_TYPE.TEXTAREA,\n\tATTRIBUTE_TYPE.SELECT,\n\tATTRIBUTE_TYPE.DATE,\n\tATTRIBUTE_TYPE.NUMBER,\n];\n\nexport const ATTRIBUTE_NUMBER_SPEC_2_TYPE = {\n\tWHOLE: 0,\n\tONE_DECIMAL: 1,\n\tTWO_DECIMALS: 2,\n\tTHREE_DECIMALS: 3,\n\t/** \"free,\" but not negative */\n\tUNLIMITED: 4,\n\t/** TODO: what is 'sortable' - should all number not be sortable? */\n\tSORTABLE: 5,\n};\n\nexport const ATTRIBUTE_NUMBER_TESTS: Record<\n\ttypeof ATTRIBUTE_NUMBER_SPEC_2_TYPE[keyof typeof ATTRIBUTE_NUMBER_SPEC_2_TYPE],\n\tstring\n> = {\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.ONE_DECIMAL]: `^(-?\\\\d+(\\\\.\\\\d{0,1})?|-?\\\\.\\\\d{1})$`,\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.SORTABLE]: `.*`,\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.THREE_DECIMALS]: `^(-?\\\\d+(\\\\.\\\\d{0,3})?|-?\\\\.\\\\d{1,3})$`,\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.TWO_DECIMALS]: `^(-?\\\\d+(\\\\.\\\\d{0,2})?|-?\\\\.\\\\d{1,2})$`,\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.UNLIMITED]: `^\\\\d*\\\\.?\\\\d+$`,\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.WHOLE]: `^-?\\\\d+$`,\n};\n\nexport const ATTRIBUTE_NUMBER_MAX_DECIMAL = {\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.ONE_DECIMAL]: 1,\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.THREE_DECIMALS]: 3,\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.TWO_DECIMALS]: 2,\n\t[ATTRIBUTE_NUMBER_SPEC_2_TYPE.UNLIMITED]: Infinity,\n};\n\nexport const ATTRIBUTE_OBJECT_TYPE = {\n\tASSET: 'asset',\n\tCLIP: 'clip',\n};\n\nexport const ATTRIBUTE_REMOVABLE_TYPES = [\n\tATTRIBUTE_TYPE.MULTISELECT,\n\tATTRIBUTE_TYPE.TAG,\n\tATTRIBUTE_TYPE.SEMANTIC,\n\tATTRIBUTE_TYPE.TAG,\n];\n\nexport const ATTRIBUTE_VOCABULARY_TYPES = [\n\tATTRIBUTE_TYPE.SELECT,\n\tATTRIBUTE_TYPE.MULTISELECT,\n\tATTRIBUTE_TYPE.TAG,\n\tATTRIBUTE_TYPE.TAG_VOCAB,\n];\n\nexport const ATTRIBUTE_SYSTEM = {\n\tASSET_ID: 'assetId',\n\tCATEGORY_PATHS: 'categoryPaths',\n\tCHECKSUM: 'checksum',\n\tCREATION_DATE: 'creationdate',\n\tDIMENSIONS: 'dimensions',\n\tEXPIRE_DATE: 'expireDate',\n\tFILE: 'file',\n\tFILE_FORMAT_FAMILY: 'fileFormatFamily',\n\tFILE_SIZE_2: 'fileSize2',\n\tFILE_TYPE_LABEL: 'filetypelabel',\n\tHEIGHT: 'height',\n\tIMPORT_DATE: 'importDate',\n\tMOD_DATE: 'moddate',\n\tMOD_USER: 'modUser',\n\tNAME: 'name',\n\tPATH: 'path',\n\tSMART_LABELS: 'smart labels',\n\tTHUMB_PATH: 'thumbPath',\n\tWIDTH: 'width',\n};\n\nexport const ATTRIBUTE_SYSTEM_ID: Record<\n\ttypeof ATTRIBUTE_SYSTEM[keyof typeof ATTRIBUTE_SYSTEM],\n\tnumber\n> = {\n\t[ATTRIBUTE_SYSTEM.NAME]: -100,\n\t[ATTRIBUTE_SYSTEM.FILE]: -101,\n\t[ATTRIBUTE_SYSTEM.ASSET_ID]: -102,\n\t[ATTRIBUTE_SYSTEM.FILE_SIZE_2]: -104,\n\t[ATTRIBUTE_SYSTEM.FILE_TYPE_LABEL]: -105,\n\t[ATTRIBUTE_SYSTEM.FILE_FORMAT_FAMILY]: -106,\n\t[ATTRIBUTE_SYSTEM.PATH]: -107,\n\t[ATTRIBUTE_SYSTEM.CATEGORY_PATHS]: -108,\n\t[ATTRIBUTE_SYSTEM.EXPIRE_DATE]: -109,\n\t[ATTRIBUTE_SYSTEM.MOD_DATE]: -110,\n\t[ATTRIBUTE_SYSTEM.CREATION_DATE]: -111,\n\t[ATTRIBUTE_SYSTEM.IMPORT_DATE]: -112,\n\t[ATTRIBUTE_SYSTEM.MOD_USER]: -113,\n\t[ATTRIBUTE_SYSTEM.WIDTH]: -114,\n\t[ATTRIBUTE_SYSTEM.HEIGHT]: -115,\n\t[ATTRIBUTE_SYSTEM.CHECKSUM]: -117,\n\t[ATTRIBUTE_SYSTEM.THUMB_PATH]: -118,\n\t[ATTRIBUTE_SYSTEM.SMART_LABELS]: -119,\n\t[ATTRIBUTE_SYSTEM.DIMENSIONS]: -120,\n};\n","import type {LoginFormData, RegisterFormData} from './types';\n\nexport enum AuthPref {\n\tFORCE_EMAIL_LOGIN = 'user.force_email_login',\n\tREGISTER_AUTO_LOGIN = 'user.self_registration_auto_login',\n\tPASSWORD_RESET_DISABLED = 'user.disableForgotPassword',\n\tSELF_REGISTRATION = 'user.self_registration',\n}\n\nexport const POST_LOGIN_HASH_NAME = 'postLoginHash';\n\nexport const UNCHANGED_PASSWORD = '********';\n\nexport const LOGIN_DEFAULTS: LoginFormData = {\n\tlogin: '',\n\tpassword: '',\n};\n\nexport const REGISTER_DEFAULTS: RegisterFormData = {\n\tautogeneratePassword: false,\n\temail: '',\n\tlogin: '',\n\tname1: '',\n\tname3: '',\n\tpassword1: '',\n\tpassword2: '',\n};\n","/**\n * @class\n * https://kb.netx.net/pages/viewpage.action?spaceKey=ND&title=NetX+Support+Saml\n */\nimport Base from '@netx/core/lib/netx-model';\n\nclass SAMLService extends Base {\n\t/**\n\t * @property {object} defaults - Model defaults\n\t * @property {string} defaults.description - Service description\n\t * @property {string} defaults.label - Service label\n\t * @property {string} defaults.name - Service name\n\t * @property {string} defaults.type - Service type\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\tdescription: '',\n\t\t\tlabel: '',\n\t\t\tname: '',\n\t\t\ttype: '',\n\t\t};\n\t}\n\n\t/** @type {string} */\n\tget idAttributes() {\n\t\treturn 'name';\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'SAMLService';\n\t}\n}\n\nexport default SAMLService;\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-collection';\nimport Model from '../models/samlService';\n\nclass SAMLServices extends Base {\n\t/** @override */\n\tconstructor(models, opts = {}) {\n\t\topts.model = opts.model || Model;\n\t\tsuper(models, opts);\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'SAMLServices';\n\t}\n}\n\nexport default SAMLServices;\n","/**\n * Netx.Session manages a user authentication key and/or an access token.\n * It is the first object initialized, and it establishes authentication for the rest of X7.\n * @class\n */\n\nimport Base from './netx-model';\nimport SAMLServicesCollection from '@netx/core-auth/collections/samlServices';\nimport _ from 'underscore';\nimport Netx from '@netx/core/bootstrap';\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\nimport coreConfig from '@netx/core-next/config';\nimport {userSource} from '@netx/core-user/properties/user';\nimport {UserPref} from '@netx/core-user-next/constants';\nimport {getPreference} from '@netx/core-user-next/utils/getPreference';\n\nimport authConfig from '@netx/core-auth/config';\nimport {getPublicProperty} from '@netx/core-app-next/utils/getPublicProperty';\nimport {URL} from '@netx/core-next/url';\n\nclass Session extends Base {\n\t/**\n\t * @type {Netx.Rpc}\n\t * @private\n\t */\n\tget rpc() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @type {object}\n\t */\n\tget xhrTrackProgress() {\n\t\treturn {\n\t\t\tgetAdvertisedSamlServices: true,\n\t\t\tgetPublicMethods: true,\n\t\t};\n\t}\n\n\t/**\n\t * @type {object}\n\t */\n\tget xhrLoadingMessages() {\n\t\treturn {\n\t\t\tgetAdvertisedSamlServices: 'Checking SAML services',\n\t\t\tgetPublicMethods: 'Fetching public methods',\n\t\t};\n\t}\n\n\t/**\n\t * @type {object}\n\t */\n\tget xhrLoadedMessages() {\n\t\treturn {\n\t\t\tgetAdvertisedSamlServices: 'Checked SAML services',\n\t\t\tgetPublicMethods: 'Fetched public methods',\n\t\t};\n\t}\n\n\t/**\n\t * @property {object} defaults - Default attributes\n\t * @property {array} defaults.browserInfo - TODO: document\n\t * @property {object} defaults.browserLimits - Lowest supported browser versions\n\t * @property {boolean} defaults.borwserOk - Browser version confirmed\n\t * @property {string} defaults.loginMsg - Message to display at login screen\n\t * @property {string} defaults.loginMsgClass - CSS class for login screen message ( danger, info, success, warning )\n\t * @property {string} defaults.password - Password (authentication)\n\t * @property {array} defaults.publicMethods - Any array of publicly accessible methods\n\t * @property {string} defaults.sessionKey - Session key\n\t * @property {string} defaults.token - Token key\n\t * @property {string} defaults.username - Username (authentication)\n\t * @property {module:core/lib/netx-collection} defaults.samlServices - SAML services\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\tbrowserInfo: [],\n\t\t\tbrowserLimits: {\n\t\t\t\tchrome: 25,\n\t\t\t\tcrios: 1,\n\t\t\t\tfirefox: 20,\n\t\t\t\tmsie: 10,\n\t\t\t\tphantomjs: 1,\n\t\t\t\tsafari: 5,\n\t\t\t\ttrident: 6,\n\t\t\t},\n\t\t\tbrowserOk: false,\n\t\t\tloginMsg: '',\n\t\t\tloginMsgClass: '',\n\t\t\tpassword: '',\n\t\t\tpublicMethods: [],\n\t\t\tsessionKey: '',\n\t\t\ttoken: '',\n\t\t\tusername: '',\n\t\t\tloggedInAsOtherUser: false,\n\t\t\tsamlServices: new SAMLServicesCollection(),\n\t\t};\n\t}\n\n\t/**\n\t * @todo: Document why we're using clientAttrs here & what is meant by it?\n\t * There's no calls to session.self() in the codebase that I can find...\n\t * @type {array}\n\t */\n\tget clientAttrs() {\n\t\treturn [\n\t\t\t'browserLimits',\n\t\t\t'loggedInAsOtherUser',\n\t\t\t'loginMsg',\n\t\t\t'loginMsgClass',\n\t\t\t'publicMethods',\n\t\t];\n\t}\n\n\t/**\n\t * Methods for this model\n\t * @type {object}\n\t * @memberof Session\n\t * @property {object} methods - Methods for this model\n\t * @property {method} methods.getPublicMethods - Get public methods\n\t * @property {method} methods.getSamlServices - Get SAML services for SSO login\n\t * @property {method} methods.testSession - Test if session is valid\n\t * @property {method} methods.testToken - Test if token is valid\n\t * @property {method} methods.testAuthentication - Test if authenticated\n\t * @property {method} methods.tickle - Tickle the session (keep alive)\n\t * @property {methos} methods.triggerAnAPIError - Sometimes, while testing, it's useful to be able to trigger an api error by calling an undefined api method\n\t */\n\tget methods() {\n\t\treturn {\n\t\t\tgetPublicMethods: ['getPublicMethods'],\n\t\t\tgetSamlServices: ['getAdvertisedSamlServices'],\n\t\t\ttestAuthentication: ['getAuthentication'],\n\t\t\ttestSession: ['getSelf'],\n\t\t\ttestToken: ['isTokenValid', 'token'],\n\t\t\t_tickle: ['getProductVersion'],\n\t\t\ttriggerAnAPIError: ['undefinedAPIMethod'],\n\t\t};\n\t}\n\n\t/**\n\t * Parsers for this model\n\t * @type {object}\n\t */\n\tget parsers() {\n\t\treturn {\n\t\t\tgetPublicMethods(methods) {\n\t\t\t\tthis.set({publicMethods: methods});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Gets saml services and saves them as a collection, used as login childViews\n\t\t\t * @param {array} samlServices\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tgetSamlServices(samlServices, opts) {\n\t\t\t\t// samlServices.push({\n\t\t\t\t// \tname: 'Custom',\n\t\t\t\t// \ttype: 'saml',\n\t\t\t\t// \tdescription: 'Yo, here is a description',\n\t\t\t\t// \tlabel: 'Login with Custom',\n\t\t\t\t// });\n\t\t\t\tthis.get('samlServices').reset(samlServices);\n\t\t\t\t// this.set({samlServices: new SAMLServicesCollection(samlServices)});\n\t\t\t},\n\t\t};\n\t}\n\n\t/** @override */\n\tconstructor(attrs, opts = {}) {\n\t\tsuper(attrs, opts);\n\n\t\t/**\n\t\t * Used?\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.key = opts.key || null;\n\t\t/**\n\t\t * 30 minutes\n\t\t * @type {number}\n\t\t * @default\n\t\t */\n\t\tthis.length = opts.length || 1800000;\n\n\t\tthis.resetLogoutTimer = _.debounce(this.resetLogoutTimer, 1000);\n\n\t\t// Auto session tickling\n\t\tconst sessionTicklers = (this.sessionTicklers = new Base());\n\t\tthis.addSubModel(sessionTicklers);\n\n\t\t// Listen Up!\n\t\t// Session listens for expiration event\n\t\tthis.listenTo(dispatcher, 'session:expire', this.expireSession)\n\t\t\t.listenTo(dispatcher, 'session:tickle', this.tickle)\n\t\t\t.listenTo(dispatcher, 'session:tickle:add', (key) =>\n\t\t\t\tsessionTicklers.set(key, true),\n\t\t\t)\n\t\t\t.listenTo(dispatcher, 'session:tickle:remove', (key) =>\n\t\t\t\tsessionTicklers.unset(key),\n\t\t\t)\n\t\t\t.listenTo(sessionTicklers, 'change', () => {\n\t\t\t\tthis.shouldBeTickling() ? this.startTickling() : this.stopTickling();\n\t\t\t});\n\n\t\t// Listen for route changes:\n\t\tthis.listenTo(dispatcher, 'routed', this.getToken);\n\t\tthis.getToken();\n\n\t\t// Set portal context on initial load and then listen\n\t\tthis.updatePortalContext();\n\n\t\t// Check against this time to figure out how long user has been inactive\n\t\tthis.lastTickled = this.inactivityStartTime = Date.now();\n\n\t\t// Listen for visbility change\n\t\tdocument.addEventListener(\n\t\t\t'visibilitychange',\n\t\t\tthis.visibilityStateChanged.bind(this),\n\t\t\tfalse,\n\t\t);\n\n\t\t// Establish a connection, and trigger 'netx:configured' upon success.\n\t\t//\n\t\t// These settings from config.js configure our access method.\n\t\t// If DAM_URL is set, configure CORS or proxy\n\t\t// (But if DAM_URL == the local URL, ignore it.)\n\t\tthis.configured = new $.Deferred();\n\n\t\tthis.testAjax(URL.api, {\n\t\t\tsuccess: (data, status, jqX) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.configured.resolve(data.result);\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t});\n\n\t\t// Avoid oneself not being defined to those who are listening\n\t\t_.defer(() => {\n\t\t\t// Until we can handle this better\n\t\t\tif (!this.browserTestOk()) {\n\t\t\t\tdispatcher.trigger('app:browser:override:confirmed');\n\t\t\t\tconsole.warn('Your browser may not be 100% supported.');\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * @method\n\t * @return {boolean} Authenticated\n\t */\n\tauthenticated() {\n\t\treturn (\n\t\t\t!coreConfig.REQUIRE_LOGIN || this.get('sessionKey') || this.getToken()\n\t\t);\n\t}\n\n\t/**\n\t * Get session duration\n\t * @param {boolean} asMinutes\n\t */\n\tgetSessionDuration(asMinutes = false) {\n\t\tconst defaultMinutes = this.length / 1000 / 60;\n\t\t// DAM-14660 - keep the timeout under a 32 bit integer\n\t\tconst minutes = Math.min(\n\t\t\tgetPreference(UserPref.SESSION_DURATION) || defaultMinutes,\n\t\t\t35791,\n\t\t);\n\t\treturn asMinutes ? minutes : minutes * 60 * 1000;\n\t}\n\n\t/**\n\t * Get session tickle interval (based on half the defined session duration minus one second)\n\t * @method\n\t * @return Tickle interval in `ms`\n\t */\n\tgetSessionTickleInterval() {\n\t\t// We will attempt to \"tickle\" 4 times in a session duration this way we do not run\n\t\t// into anything funny about timing with the response from the server or our debounce\n\t\t// of the `resetLogoutTimer` method.\n\t\t// This also ensures that if a user had just typed, a short moment after a tickle just\n\t\t// occurred, we do not risk the the session timing out if they immediately stop typing\n\t\t// after that point\n\t\t// Always keep a minimum of 59 seconds between \"tickles\" (no one should be setting the\n\t\t// session duration to less than 2 minutes)\n\t\treturn Math.max(this.getSessionDuration() / 4, 1000 * 59);\n\t}\n\n\t//////////////////////////////////////////////////\n\t//\n\t// General testing methods\n\t//\n\t//////////////////////////////////////////////////\n\n\t/**\n\t * Test for remote DAM access\n\t * @param {string} url API endpoint you are trying to access\n\t * @param {object} opt AJAX options object (jquery)\n\t */\n\ttestAjax(url, opt) {\n\t\treturn $.ajax({\n\t\t\turl: url,\n\t\t\ttype: 'POST',\n\t\t\tcache: false,\n\t\t\txhrFields: {\n\t\t\t\twithCredentials: true,\n\t\t\t},\n\t\t\tdataType: 'json',\n\t\t\tcontentType: 'application/json; charset=UTF-8',\n\t\t\tdata: JSON.stringify({\n\t\t\t\tdataContext: 'json',\n\t\t\t\tjsonrpc: '2.0',\n\t\t\t\tmethod: 'getPublicProperties',\n\t\t\t\tid: _.uniqueId(),\n\t\t\t\tparams: [],\n\t\t\t}),\n\t\t\tparseData: false,\n\t\t\tsuccess: opt.success,\n\t\t\terror: opt.error,\n\t\t});\n\t}\n\n\t/**\n\t * Test for supported browser\n\t * @return {boolean} Broser is supported.\n\t */\n\tbrowserTestOk() {\n\t\tvar ua = navigator.userAgent,\n\t\t\tN = navigator.appName,\n\t\t\ttem,\n\t\t\tM =\n\t\t\t\tua.match(\n\t\t\t\t\t/(opera|chrome|safari|firefox|msie|trident|phantomjs|crios)\\/?\\s*([\\d.]+)/i,\n\t\t\t\t) || [];\n\t\tM = M[2] ? [M[1], M[2]] : [N, navigator.appVersion, '-?'];\n\t\tif (M && (tem = ua.match(/version\\/([.\\d]+)/i)) !== null) {\n\t\t\tM[2] = tem[1];\n\t\t}\n\n\t\tthis.set('browserInfo', M.join(' ').split(' '));\n\n\t\tvar browserInfo = this.get('browserInfo');\n\t\tvar limits = this.get('browserLimits');\n\n\t\tif (browserInfo.length) {\n\t\t\tif (\n\t\t\t\t(browserInfo[0].toLowerCase() === 'chrome' &&\n\t\t\t\t\tparseInt(browserInfo[1]) >= limits.chrome) ||\n\t\t\t\t(browserInfo[0].toLowerCase() === 'firefox' &&\n\t\t\t\t\tparseInt(browserInfo[1]) >= limits.firefox) ||\n\t\t\t\t(browserInfo[0].toLowerCase() === 'msie' &&\n\t\t\t\t\tparseInt(browserInfo[1]) >= limits.msie) ||\n\t\t\t\t(browserInfo[0].toLowerCase() === 'trident' &&\n\t\t\t\t\tparseInt(browserInfo[1]) >= limits.trident) ||\n\t\t\t\t(browserInfo[0].toLowerCase() === 'phantomjs' &&\n\t\t\t\t\tparseInt(browserInfo[1]) >= limits.phantomjs) ||\n\t\t\t\t(browserInfo[0].toLowerCase() === 'crios' &&\n\t\t\t\t\tparseInt(browserInfo[1]) >= limits.crios)\n\t\t\t) {\n\t\t\t\tthis.set('browserOk', true);\n\t\t\t} else if (\n\t\t\t\tbrowserInfo[0].toLowerCase() === 'safari' &&\n\t\t\t\tbrowserInfo.length === 3 &&\n\t\t\t\tparseInt(browserInfo[2]) >= limits.safari\n\t\t\t) {\n\t\t\t\tthis.set('browserOk', true);\n\t\t\t}\n\t\t}\n\t\t// Check that either the browser is actually ok or that there is a cookie override\n\t\tif (this.get('browserOk') || this.getCookie('browserOk')) {\n\t\t\tif (this.getCookie('browserOk')) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'This browser %o is not officially supported',\n\t\t\t\t\tthis.get('browserInfo'),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t///////////////////////////////////////////////\n\t//\n\t// Browser cookie CRUD methods:\n\t//\n\t///////////////////////////////////////////////\n\n\t/**\n\t * getCookie Gets the value of a clientside cookie\n\t * @param {string} cookie\n\t * @return {string | undefined}\n\t */\n\tgetCookie(cookie) {\n\t\tvar i,\n\t\t\tx,\n\t\t\ty,\n\t\t\tCookies = document.cookie.split(';');\n\t\tfor (i = 0; i < Cookies.length; i++) {\n\t\t\tx = Cookies[i].substr(0, Cookies[i].indexOf('='));\n\t\t\ty = Cookies[i].substr(Cookies[i].indexOf('=') + 1);\n\t\t\tx = x.replace(/^\\s|\\s+$/g, '');\n\t\t\tif (x == cookie) {\n\t\t\t\treturn unescape(y);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * setCookie Sets the value of a clientside cookie\n\t * @param {string} cname name of cookie\n\t * @param {string} cvalue value of cookies\n\t * @param {number} exdays expire time (in days)\n\t * @param {string} path cookie path (defaults to /)\n\t */\n\tsetCookie(cname, cvalue, exdays = 0, path = '/') {\n\t\tvar expires = '';\n\t\tif (exdays) {\n\t\t\tvar d = new Date();\n\t\t\td.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000); // converting days to milliseconds 24 hours * 60 minutes * 60 seconds * 1000 millisecs.\n\t\t\texpires = `expires=\"${d.toUTCString()}\";`;\n\t\t}\n\t\tdocument.cookie = `${cname}=${escape(cvalue)}; ${expires} path=${path};`;\n\t\t// TODO: return the cookie? Define a cookie object??\n\t}\n\n\t/**\n\t * Delete the clientside cookie\n\t * @param {string} name\n\t */\n\tdeleteCookie(name) {\n\t\tthis.setCookie(name, '', -1);\n\t}\n\n\t///////////////////////////////////////////////\n\t//\n\t// NetX session key CRUD methods:\n\t//\n\t///////////////////////////////////////////////\n\n\t/**\n\t * Session.getKey() Checks to see if we are holding a session key\n\t * @return {Boolean}\n\t */\n\tgetKey() {\n\t\t// Did we already store it?\n\t\tvar sessionKey = this.get('sessionKey');\n\n\t\tif (!sessionKey) {\n\t\t\t// Is there a session key in our route? If so, it should take precedence.\n\t\t\t// (This implements the 'login as other user' feature for admins.\n\t\t\t// Session keys are alphanumeric strings with no other punctuation.\n\t\t\tvar match = window.location.hash.match(/^#session\\/([0-9a-zA-Z]+)/);\n\t\t\tif (match) {\n\t\t\t\tsessionKey = match[1];\n\t\t\t\tthis.set({loggedInAsOtherUser: true}); // note how we found this key\n\t\t\t} else {\n\t\t\t\t// Is a session key cookie set on our browser?\n\t\t\t\tsessionKey = this.getCookie('sessionKey');\n\t\t\t}\n\t\t}\n\n\t\tif (sessionKey) {\n\t\t\t// Cache the key locally.\n\t\t\tthis.setKey(sessionKey);\n\t\t}\n\n\t\treturn sessionKey;\n\t}\n\n\t/**\n\t * Set session key\n\t * @param {string} key\n\t */\n\tsetKey(key) {\n\t\tthis.set({sessionKey: key});\n\t}\n\n\t/**\n\t * Delete session key\n\t */\n\tdeleteKey() {\n\t\tthis.deleteCookie('sessionKey');\n\t\tthis.set('sessionKey', undefined);\n\t}\n\n\t///////////////////////////////////////////////\n\t//\n\t// Access token CRUD methods:\n\t//\n\t///////////////////////////////////////////////\n\n\t/**\n\t * Checks to see if the route contains a token.\n\t * @return {string} the token string\n\t */\n\tgetToken() {\n\t\t// Q: Should we always check the URL, or only check if if we haven't detected a token already?\n\t\t// In other words, should the token, once detected, grant access to other routes that don't contain it?\n\t\t// A: That use case hasn't come up yet. Until it does, we always check the URL.\n\n\t\t// Tokens in URLs match the official UUID spec: https://en.wikipedia.org/wiki/Universally_unique_identifier\n\t\t// They are \"version 4\" UUIDs. The pattern can get more anal that this, but basically it's 36 characters that are either hexadecimal or dash:\n\t\tconst match =\n\t\t\twindow.location.hash.match(/request\\/([0-9a-fA-F-]{36})/) || null;\n\n\t\tmatch == null ? this.deleteToken() : this.setToken(match[1].toString());\n\n\t\treturn this.get('token');\n\t}\n\n\t/**\n\t * Set token\n\t * @param {string} token\n\t */\n\tsetToken(token) {\n\t\tthis.set({token});\n\t}\n\n\t/**\n\t * Delete token\n\t */\n\tdeleteToken() {\n\t\tthis.set({token: undefined});\n\t\tthis.deleteCookie('tokenKey'); // backwards-compatability\n\t}\n\n\t//////////////////////////////////////////////\n\t//\n\t// Session management:\n\t// testing, timing, tickling.\n\t//\n\t//////////////////////////////////////////////\n\n\t/**\n\t * Session.isValid() Return a promise that will resolve or reject on whether we have a valid session,\n\t * either via a session key or an access token\n\t * @return {Promise}\n\t */\n\tisValid() {\n\t\tvar d = new $.Deferred();\n\n\t\t// 1) Do we have an access token set? If so, test it.\n\t\tif (this.getToken()) {\n\t\t\treturn this.testToken();\n\t\t}\n\n\t\t// 2) Do we have a session key at all? If not, we are S.O.L.\n\t\tif (!this.getKey()) {\n\t\t\treturn d.reject().promise(); // no session!\n\t\t}\n\n\t\t// 3) We have a session key, but is it valid?\n\t\tthis.testSession().then(\n\t\t\tfunction (data) {\n\t\t\t\t// If this is an internal user account, check if we\n\t\t\t\t// are logged in as public user and reject\n\t\t\t\tif (\n\t\t\t\t\tcoreConfig.REQUIRE_LOGIN &&\n\t\t\t\t\tdata.userSource === userSource.INTERNAL &&\n\t\t\t\t\tdata.login === getPublicProperty('viewer.userLogin')\n\t\t\t\t) {\n\t\t\t\t\tthis.deleteCookie('sessionKey');\n\t\t\t\t\td.reject(); // public user!\n\t\t\t\t}\n\t\t\t\t// If not public user resolve\n\t\t\t\td.resolve(); // valid session!\n\t\t\t},\n\t\t\tfunction (data) {\n\t\t\t\t// If the sessionKey is not valid, erase it\n\t\t\t\tthis.deleteCookie('sessionKey');\n\t\t\t\td.reject(); // invalid session!\n\t\t\t},\n\t\t);\n\n\t\treturn d.promise();\n\t}\n\n\tshouldBeTickling() {\n\t\treturn (\n\t\t\tauthConfig.TICKLE_SESSION ||\n\t\t\t!!Object.keys(this.sessionTicklers.attributes).length\n\t\t);\n\t}\n\n\t// Session Tickling\n\t// ================\n\t// If enabled, we tickle the server regularly to make sure it doesn't time us out.\n\n\tresetTickler() {\n\t\tif (!this.tickler && !this.shouldBeTickling()) return;\n\n\t\tthis.stopTickling();\n\t\tthis.startTickling(true);\n\t}\n\n\t/**\n\t * Session.startTickling Starts an interval timer to tickle the server regularly\n\t */\n\tstartTickling(noInitialTickle = false) {\n\t\tif (this.tickler) return;\n\n\t\tconst interval = this.getSessionTickleInterval();\n\n\t\tthis.tickler = setInterval(this.tickle.bind(this), interval);\n\t\t!noInitialTickle && this.tickle();\n\t}\n\n\t/**\n\t * Session.stopTickling Removes the interval timer set by startTickling()\n\t */\n\tstopTickling() {\n\t\tthis.tickler && clearInterval(this.tickler);\n\t\tdelete this.tickler;\n\t}\n\n\t/**\n\t * Session.beTickling Starts the tickling if it hasn't already been started.\n\t */\n\tbeTickling() {\n\t\tif (this.tickler) return;\n\t\tthis.startTickling();\n\t}\n\n\t/**\n\t * Tickle while preventing over tickling\n\t * @method\n\t */\n\ttickle() {\n\t\tif (this.getToken() || !this.getKey()) return;\n\n\t\tconst now = Date.now();\n\t\t// Do not tickle more than once per minute\n\t\tif (now - this.lastTickled >= 1000 * 60) {\n\t\t\tthis.lastTickled = now;\n\t\t\tthis._tickle();\n\t\t}\n\t}\n\n\t// Session Timer\n\t// ================\n\t// A session timer counts down how many seconds remain before the server times us out.\n\t// Here, we watch the clock & warn the user when timeout approaches.\n\t// Note that session tickling prevents session timeout. Use one or the other, but not both.\n\n\t/**\n\t * resetLogoutTimer starts an interval timer to trigger an event 60 seconds before the DAM logs us out.\n\t */\n\t// NOTE: the function is debounced because it will be called on every successful RPC call.\n\tresetLogoutTimer() {\n\t\t// DAM-16342 - if on a token, never timeout session,\n\t\t// never dispatch 'netx:session:timeoutWarning'\n\t\tif (this.getToken()) return;\n\n\t\tthis.lastTickled = this.inactivityStartTime = Date.now();\n\t\tconst timeoutMinutes = this.getSessionDuration(true);\n\n\t\tif (this.timer) {\n\t\t\tclearTimeout(this.timer);\n\t\t}\n\n\t\tthis.timer = setTimeout(() => {\n\t\t\t// Only trigger the warning if we are actually logged in, via key or token\n\t\t\t// and if the page is hidden, don't trigger the timeout warning\n\t\t\tif (this.getKey() && document.visibilityState === 'visible') {\n\t\t\t\tdispatcher.trigger('netx:session:timeoutWarning');\n\t\t\t}\n\t\t}, 60 * 1000 * (timeoutMinutes - 1)); // time out 1 minute (60000 milliseconds) before the session duration (which is expressed in minutes)\n\n\t\t// Accidentally removed in 8.8, leading to the \"why am i logged out when i reload\" problem:\n\t\tthis.postponeSessionTimeout(timeoutMinutes);\n\t\t// (In 8.9 we will manage the session entirely on the client, so this will change ...)\n\t}\n\n\t/**\n\t * Manipulate cookies to signal that the session was ended due to a timeout.\n\t * (So that the login screen display a relelevant message.)\n\t */\n\texpireSession() {\n\t\t// DAM-16342 - if on a token, never timeout session\n\t\t// just in case session:expire is dispatched\n\t\tif (this.getToken() || !this.getKey()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.deleteCookie('sessionKey');\n\t\tthis.setCookie('sessionExpired', 'EXPIRED', 1);\n\t\tdispatcher.trigger('app:stop');\n\t}\n\n\t/**\n\t * Postpone session cookie expiration: set the expire time of the session cookie (if any) to 30 minutes from now.\n\t * @param {number} duration Minutes\n\t */\n\tpostponeSessionTimeout(duration) {\n\t\tvar cookie = this.getCookie('sessionKey');\n\t\tif (!cookie) return false;\n\n\t\tif (!duration) duration = this.getSessionDuration(true);\n\n\t\t// NOTE: converting duration from minutes to days: 60 mins * 24 hours = 1 day.\n\t\tthis.setCookie('sessionKey', cookie, duration / (60 * 24));\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Check for, and clear, the session-expired cookie.\n\t */\n\tsessionExpired() {\n\t\tif (this.getCookie('sessionExpired') == 'EXPIRED') {\n\t\t\tthis.deleteCookie('sessionExpired');\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Update the portalContext cookie to reflect the current theme\n\t */\n\tupdatePortalContext() {\n\t\t// Update the portalContext cookie to reflect the current theme\n\t\tthis.setCookie('portalContext', window.location.pathname);\n\t}\n\n\t/**\n\t * The browser page visibility has changed\n\t */\n\tvisibilityStateChanged() {\n\t\tif (document.visibilityState === 'visible') {\n\t\t\t// Set 'portalContext' cookie (DAM-9257)\n\t\t\tthis.updatePortalContext();\n\n\t\t\t// If user backgrounds Netx tab for longer than session,\n\t\t\t// they should be kicked to login screen when tab becomes active.\n\t\t\tconst sessionDuration = this.getSessionDuration();\n\n\t\t\tconst sessionExpired =\n\t\t\t\tDate.now() - this.inactivityStartTime >= sessionDuration;\n\n\t\t\tif (sessionExpired) {\n\t\t\t\t// If multiple Netx tabs are open, this timeout could be triggered.\n\t\t\t\t// Let's ask the server if the session really is expired\n\t\t\t\tthis.testSession()\n\t\t\t\t\t.then(this.resetLogoutTimer.bind(this))\n\t\t\t\t\t.catch(this.expireSession.bind(this));\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'Session';\n\t}\n}\n\nexport default Session;\n","import {setGlobal} from '@netx/core-next/utils/setGlobal';\nimport Session from '@netx/core/lib/netx-session';\n\nexport const session = new Session();\n\nsetGlobal({session});\n\nexport default session;\n","export default {\n\t/**\n\t * CSS id for cart container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tPOST_LOGIN_HASH_NAME: 'postLoginHash',\n\tCUSTOM_LOGIN_TRIGGERED_NAME: 'customLoginTriggered',\n\t/**\n\t * Should the client prevent the server from timing out inactive sessions?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tTICKLE_SESSION: false,\n};\n","export enum Severity {\n\tDEFAULT = 'default',\n\tERROR = 'error',\n\tINFO = 'info',\n\tPRIMARY = 'primary',\n\tSECONDARY = 'secondary',\n\tSUCCESS = 'success',\n\tWARNING = 'warning',\n}\n\nexport const SEVERITIES = Object.values(Severity);\n","import {createTheme} from '@mui/material/styles';\n\nexport const defaultMuiTheme = createTheme();\n","import React from 'react';\nimport Theme from '../Theme';\n\n/**\n * wrap component in NetX theme\n * @example\n\tconst ThemedComponenet = withTheme(Componenet);\n */\nexport const withTheme = function (Component: C) {\n\treturn (\n\t\tprops: JSX.IntrinsicAttributes &\n\t\t\tJSX.LibraryManagedAttributes>,\n\t) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n};\n","import {useTheme as useThemeMui} from '@mui/styles';\nimport type {Theme} from '../types';\n\nexport const useTheme = () => useThemeMui();\n","import {generateUtilityClass, generateUtilityClasses} from './utils/classUtils';\n\nexport const LOGO_CLASS_NAME = 'AppLogo';\nexport const LOGO_CLASS_SLOTS = ['root', 'image', 'skeleton'] as const;\n\nexport type LogoClassSlot = typeof LOGO_CLASS_SLOTS[number];\n\nexport interface LogoClasses {\n\troot: string;\n\timage: string;\n\tskeleton: string;\n}\n\nexport type LogoClassKey = keyof LogoClasses;\n\nexport const getLogoUtilityClass = (slot: string) =>\n\tgenerateUtilityClass(LOGO_CLASS_NAME, slot);\n\nexport const logoClasses = generateUtilityClasses(\n\tLOGO_CLASS_NAME,\n\t['root', 'image', 'skeleton'],\n);\n\nexport default logoClasses;\n","import {createStyled} from '@mui/system';\nimport type {Theme} from './types';\n\nexport const styled = createStyled();\nexport default styled;\n","import type {PaletteMode} from '@mui/material';\n\nexport const getOutlinedBorderColor = (mode: PaletteMode = 'light') => {\n\t// Need our outlined input border colors to meet minimum contrast\n\treturn mode === 'light' ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.38)';\n};\n","import type {PaletteMode} from '@mui/material';\n\nexport const getStylePropertyDemo = (\n\tkey: string,\n\tmode: PaletteMode = 'light',\n) => {\n\tconst light = mode === 'light';\n\tswitch (key) {\n\t\tcase 'background':\n\t\tcase 'surface':\n\t\t\treturn light ? '#fafafa' : '#242424';\n\t\tcase 'custom-backdrop':\n\t\t\treturn light ? 'rgba(250, 250, 250, 0.85)' : 'rgba(36, 36, 36, 0.75)';\n\t\tcase 'custom-background-accent':\n\t\t\treturn light ? 'rgba(0, 0, 0, 0.02)' : 'rgba(255, 255, 255, 0.02)';\n\t\tcase 'custom-background-light':\n\t\t\treturn light ? 'rgba(0, 0, 0, 0.04)' : 'rgba(255, 255, 255, 0.04)';\n\t\tcase 'custom-border':\n\t\t\treturn light ? 'rgba(0, 0, 0, 0.08)' : 'rgba(255, 255, 255, 0.16)';\n\t\tcase 'on-primary':\n\t\tcase 'on-secondary':\n\t\t\treturn '#fff';\n\t\tcase 'primary':\n\t\tcase 'secondary':\n\t\t\treturn '#3884f8';\n\t\tcase 'text-icon-on-background':\n\t\t\treturn light ? 'rgba(0, 0, 0, 0.38)' : 'rgba(255, 255, 255, 0.87)';\n\t\tcase 'text-primary-on-background':\n\t\tcase 'text-secondary-on-background':\n\t\t\treturn light ? 'rgba(0, 0, 0, 0.87)' : 'rgba(255, 255, 255, 0.87)';\n\t}\n\treturn '';\n};\n","import Netx from '@netx/core/bootstrap';\nimport type {PaletteMode} from '@mui/material';\nimport {getStylePropertyDemo} from './getStylePropertyDemo';\n\nexport const getStylePropertyFn = (\n\tmode: PaletteMode,\n\topts?: {demo?: boolean},\n) => {\n\tconst {demo} = opts || {};\n\n\treturn !demo && Netx.getStyleProperty\n\t\t? Netx.getStyleProperty\n\t\t: (key: string) => getStylePropertyDemo(key, mode);\n};\n","import {isPortal} from '@netx/core/utils/isPortal';\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\nimport Netx from '@netx/core/bootstrap';\nimport {URL} from '@netx/core-next/url';\nimport type {PaletteMode} from '@mui/material';\nimport {defaultMuiTheme} from '../defaults';\nimport type {WatermarkPosition} from '../types';\nimport {getStylePropertyFn} from './getStylePropertyFn';\nimport type {CSSProperties} from '@mui/styles/withStyles';\n\nconst getPortal = () =>\n\tisPortal() && (Netx as any).cms?.portal?.id && (Netx as any).cms?.portal;\n\n// @ts-ignore\nexport const isSafari = window.safari != null;\n\nlet watermarkCacheBuster = Date.now();\ndispatcher.on('asset:watermark:update', () => {\n\twatermarkCacheBuster = Date.now();\n});\n\nconst buildCSSProperties = (props: CSSProperties): CSSProperties => props;\n\nexport const getThemeMixins = (mode: PaletteMode, opts?: {demo?: boolean}) => {\n\tconst getStyleProperty = getStylePropertyFn(mode, opts);\n\n\treturn {\n\t\tabsoluteFill: buildCSSProperties({\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\tleft: 0,\n\t\t}),\n\t\tdisabled: buildCSSProperties({\n\t\t\topacity: 0.5,\n\t\t}),\n\t\tflexFillColumn: buildCSSProperties({\n\t\t\tdisplay: 'flex',\n\t\t\tflex: '1 1 auto',\n\t\t\tflexDirection: 'column',\n\t\t\tminHeight: 0,\n\t\t}),\n\t\tformFooter: buildCSSProperties({\n\t\t\talignItems: 'center',\n\t\t\tdisplay: 'flex',\n\t\t\tflex: '0 0 auto',\n\t\t\tbackground: getStyleProperty('custom-background-light'),\n\t\t\tjustifyContent: 'center',\n\t\t\tpadding: defaultMuiTheme.spacing(1),\n\t\t\tminHeight: defaultMuiTheme.spacing(7),\n\t\t\ttextAlign: 'center',\n\t\t\t'& button': {\n\t\t\t\twidth: '100%',\n\t\t\t},\n\t\t}),\n\t\thideScrollbar: buildCSSProperties({\n\t\t\tscrollbarWidth: 'none',\n\t\t\tmsOverflowStyle: 'none',\n\t\t\toverscrollBehavior: 'none',\n\t\t\t'&::-webkit-scrollbar': {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t},\n\t\t\twebkitOverflowScrolling: 'auto',\n\t\t}),\n\t\tpositionSticky: buildCSSProperties({\n\t\t\tposition: isSafari ? '-webkit-sticky' : 'sticky',\n\t\t}),\n\t\treadOnlyLabel: buildCSSProperties({\n\t\t\tdisplay: 'inline-block',\n\t\t\tfontSize: '0.75rem',\n\t\t\tlineHeight: '1rem',\n\t\t\toverflow: 'hidden',\n\t\t\ttextOverflow: 'ellipsis',\n\t\t\twidth: '100%',\n\t\t}),\n\t\tscrollable: buildCSSProperties({\n\t\t\toverflow: 'auto',\n\t\t\tWebkitOverflowScrolling: 'touch',\n\t\t}),\n\t\t// TODO: utilize container\n\t\t// https://material-ui.com/components/container/\n\t\tsettingsContainer: buildCSSProperties({\n\t\t\tmaxWidth: 1000,\n\t\t}),\n\t\tforceScrollable: buildCSSProperties({\n\t\t\toverflow: 'auto !important',\n\t\t\tWebkitOverflowScrolling: 'touch !important' as any,\n\t\t}),\n\t\twatermark: (): CSSProperties => {\n\t\t\tconst portal = getPortal();\n\t\t\tconst watermarkPosition: WatermarkPosition =\n\t\t\t\t(portal && portal.get('watermarkPos')) || 'center';\n\t\t\tlet position: Record = {};\n\t\t\tswitch (watermarkPosition) {\n\t\t\t\tcase 'top-left':\n\t\t\t\t\tposition = {\n\t\t\t\t\t\tbackgroundPosition: 'top left',\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tmaxWidth: '50%',\n\t\t\t\t\t\tmaxHeight: '50%',\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'top-right':\n\t\t\t\t\tposition = {\n\t\t\t\t\t\tbackgroundPosition: 'top right',\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\tmaxWidth: '50%',\n\t\t\t\t\t\tmaxHeight: '50%',\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bottom-left':\n\t\t\t\t\tposition = {\n\t\t\t\t\t\tbackgroundPosition: 'bottom left',\n\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tmaxWidth: '50%',\n\t\t\t\t\t\tmaxHeight: '50%',\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bottom-right':\n\t\t\t\t\tposition = {\n\t\t\t\t\t\tbackgroundPosition: 'bottom right',\n\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\tmaxWidth: '50%',\n\t\t\t\t\t\tmaxHeight: '50%',\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tposition = {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\tright: 0,\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tbackgroundImage: `url(${URL.watermark}?cb=${watermarkCacheBuster})`,\n\t\t\t\tbackgroundPosition: 'center',\n\t\t\t\tbackgroundSize: 'contain',\n\t\t\t\tbackgroundRepeat: 'no-repeat',\n\t\t\t\topacity: 0.3,\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tposition: 'absolute',\n\t\t\t\twidth: '100%',\n\t\t\t\theight: '100%',\n\t\t\t\t...position,\n\t\t\t};\n\t\t},\n\t};\n};\n","import type {PaletteMode} from '@mui/material';\nimport {getHintTextColor, getStylePropertyFn} from '.';\n\nexport const getThemePalette = (mode: PaletteMode, opts?: {demo?: boolean}) => {\n\tconst getStyleProperty = getStylePropertyFn(mode, opts);\n\treturn {\n\t\tmode,\n\t\tbackground: {\n\t\t\tpaper: getStyleProperty('surface'),\n\t\t\tdefault: getStyleProperty('background'),\n\t\t},\n\t\tprimary: {\n\t\t\tcontrastText: getStyleProperty('on-primary'),\n\t\t\tmain: getStyleProperty('primary'),\n\t\t},\n\t\tsecondary: {\n\t\t\tcontrastText: getStyleProperty('on-secondary'),\n\t\t\tmain: getStyleProperty('secondary'),\n\t\t},\n\t\tsuccess: {\n\t\t\tmain: '#4caf50',\n\t\t},\n\t\ttext: {\n\t\t\tsecondary: getHintTextColor(mode),\n\t\t},\n\t\tcustom: {\n\t\t\tbackground: {\n\t\t\t\taccent: getStyleProperty('custom-background-accent'),\n\t\t\t\tbackdrop: getStyleProperty('custom-backdrop'),\n\t\t\t\tlight: getStyleProperty('custom-background-light'),\n\t\t\t},\n\t\t\tborder:\n\t\t\t\tmode == 'light' ? 'rgba(0, 0, 0, 0.08)' : 'rgba(255, 255, 255, 0.16)',\n\t\t\ticon: {\n\t\t\t\tonBackground: getStyleProperty('text-icon-on-background'),\n\t\t\t},\n\t\t},\n\t};\n};\n","import type {PaletteMode} from '@mui/material';\n\nexport const getHintTextColor = (mode: PaletteMode = 'light') => {\n\t// Increase for accessibilty\n\treturn mode === 'light' ? 'rgba(0, 0, 0, 0.55)' : 'rgba(255, 255, 255, 0.48)';\n};\n","import {darken, lighten} from '@mui/system';\nimport {SEVERITIES} from '../constants';\nimport type {SeverityColors, Theme} from '../types';\n\nexport const getSeverityColors = (theme: Theme) => {\n\tconst light = theme.palette.mode === 'light';\n\tconst getBackgroundColor = light ? darken : lighten;\n\tconst severities: SeverityColors = {} as SeverityColors;\n\tSEVERITIES.forEach((key) => {\n\t\tseverities[key] =\n\t\t\tkey === 'default'\n\t\t\t\t? {\n\t\t\t\t\t\tdefault: theme.palette.secondary.main,\n\t\t\t\t\t\ttext: theme.palette.secondary.contrastText,\n\t\t\t\t\t\thover: getBackgroundColor(theme.palette.secondary.main, 0.05),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tdefault: theme.palette[key].main,\n\t\t\t\t\t\ttext: theme.palette[key].contrastText,\n\t\t\t\t\t\thover: getBackgroundColor(theme.palette[key].main, 0.05),\n\t\t\t\t };\n\t});\n\treturn severities;\n};\n","export const strToHslColor = (str: string, s: number, l: number) => {\n\tlet hash = 0;\n\tfor (let i = 0; i < str.length; i++) {\n\t\thash = str.charCodeAt(i) + ((hash << 5) - hash);\n\t}\n\tconst h = hash % 360;\n\treturn 'hsl(' + h + ', ' + s + '%, ' + l + '%)';\n};\n","import {useCallback, useLayoutEffect, useRef} from 'react';\n\n/**\n * Hook for determining if a component is mounted or not and performing actions when mounted\n * @example\n * const {act} = useComponentIsMounted();\n * useEffect(() => {\n * \tsomeAsyncAction().then(() => {\n * \t\tact(() => {\n * \t\t\t// do something\n * \t\t});\n * \t});\n * }, []);\n */\nexport const useComponentIsMounted = () => {\n\tconst componentIsMounted = useRef(false);\n\tuseLayoutEffect(() => {\n\t\tcomponentIsMounted.current = true;\n\t\treturn () => {\n\t\t\tcomponentIsMounted.current = false;\n\t\t};\n\t}, []);\n\n\tconst shouldAct = useCallback(() => componentIsMounted.current === true, []);\n\n\tconst act = useCallback(\n\t\t any>(cb: T): undefined | ReturnType => {\n\t\t\tif (!shouldAct()) return;\n\t\t\treturn cb();\n\t\t},\n\t\t[],\n\t);\n\n\treturn {\n\t\tact,\n\t\tcomponentIsMounted,\n\t\tshouldAct,\n\t};\n};\n\nexport default useComponentIsMounted;\n","import {useEffect} from 'react';\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\n\n/**\n * Use Netx Backbone `dispatcher`\n * @param event `dispatcher` event\n * @param cb `dispatcher` callback\n * @param once listen once\n * @example\n * useDispatcher('some:event', (data) => {...});\n */\nexport const useDispatcher = (\n\tevent: string,\n\tcb: (...args: any) => void,\n\tonce?: boolean,\n) => {\n\tuseEffect(() => {\n\t\tonce ? dispatcher.once(event, cb) : dispatcher.on(event, cb);\n\t\treturn () => {\n\t\t\tdispatcher.off(event, cb);\n\t\t};\n\t}, [cb]);\n};\n\nexport default useDispatcher;\n","import {useCallback, useRef} from 'react';\n\n// waiting for useEvent from React.18\n// see https://github.com/reactjs/rfcs/pull/220\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Fn = (...args: any[]) => void;\n\nexport function useEvent(fn: F): F {\n\tconst fnRef = useRef();\n\n\tfnRef.current = fn;\n\n\treturn useCallback((...args: any[]) => {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\treturn fnRef.current?.(...args);\n\t}, []) as unknown as F;\n}\n\nexport default useEvent;\n\nexport const useConstCallback = useEvent;\n","import NetxQueryClient from '@netx/core-next/lib/queryClient';\nimport type {BatchJobId as UUID} from '@netx/core-app/models/batchJob';\n\n/**\n * `getProgressReport` request params\n * (what is used to send to server)\n */\nexport interface GetProgressReportRequestOptions {\n\tuuid: UUID;\n}\n\n/**\n * `getProgressReport` request\n * (what gets sent to the server)\n */\nexport type GetProgressReportRequest = [\n\tGetProgressReportRequestOptions['uuid'],\n];\n\n/**\n * `getProgressReport` response\n * (what comes back from the server)\n */\nexport interface GetProgressReportResponse {\n\tresult: GetProgressReportResult;\n}\n\n/**\n * `getProgressReport` result\n * (what is utilized from the server response)\n */\nexport type GetProgressReportResult = {\n\tpercentComplete: number;\n\tjobTitle: string;\n\tsecondsToReload: number;\n\tcompleteUrl: null | string;\n\tdetails: string;\n\tincrement: number;\n\tstartTime: number;\n\trunningTime: number;\n\trunningTimeLabel: null | string;\n\testimatedTime: null | number;\n\tuserId: number;\n\tnotifyOnComplete: boolean;\n\tsize: number;\n\tprogressMessages: null | any; // TODO\n\tprogressMessageCount: number;\n\twarningObject: null | any; // TODO generic\n};\n\nexport const getProgressReportEndpoint = 'getProgressReport';\n\n/**\n * Get progress report for uuid\n * @param fetchParams Fetch params\n */\nexport const getProgressReport = async (\n\t{uuid}: GetProgressReportRequestOptions,\n\tsignal?: AbortSignal,\n) => {\n\tconst client = NetxQueryClient();\n\n\tconst requestParams: GetProgressReportRequest = [uuid];\n\n\treturn client\n\t\t.post(getProgressReportEndpoint, requestParams, {\n\t\t\tsignal,\n\t\t})\n\t\t.then((response) => response.data.result);\n};\n\nexport default getProgressReport;\n","import {useQuery, type UseQueryOptions} from '@tanstack/react-query';\nimport {type QueryError} from '@netx/core-next/lib';\nimport {\n\tgetProgressReport,\n\tgetProgressReportEndpoint,\n\ttype GetProgressReportResult,\n\ttype GetProgressReportRequestOptions,\n} from '../getProgressReport';\nexport * from '../getProgressReport';\n\nexport type GetProgressReportQueryParams = GetProgressReportRequestOptions;\nexport type GetProgressReportQueryKey = [string, GetProgressReportQueryParams];\n\nexport type GetProgressReportQueryOptions = Omit<\n\tUseQueryOptions<\n\t\tGetProgressReportResult,\n\t\tQueryError,\n\t\tGetProgressReportResult,\n\t\tGetProgressReportQueryKey\n\t>,\n\t'queryKey' | 'queryFn'\n>;\n\n/**\n * react-query wrapper for `getProgressReport`\n * @param queryKeyParams\n * @param options\n */\nexport const useReactQueryGetProgressReport = (\n\tqueryKeyParams?: GetProgressReportQueryParams,\n\toptions?: GetProgressReportQueryOptions,\n) =>\n\tuseQuery<\n\t\tGetProgressReportResult,\n\t\tQueryError,\n\t\tGetProgressReportResult,\n\t\tGetProgressReportQueryKey\n\t>({\n\t\tqueryKey: [getProgressReportEndpoint, queryKeyParams || {uuid: ''}],\n\t\tqueryFn: ({queryKey, signal}) => getProgressReport(queryKey[1], signal),\n\t\tenabled: !!queryKeyParams?.uuid,\n\t\t...options,\n\t});\n\nexport default useReactQueryGetProgressReport;\n","export const config = {\n\tHOME_ROUTE: 'dashboard',\n\tREQUIRE_LOGIN: true,\n};\n\nexport default config;\n","import Backbone, {EventsMixin} from 'backbone';\nimport window from 'global/window';\n\n/**\n * Backbone dispatcher instance.\n * @see https://backbonejs.org/#Events\n * @example\n * dispatcher.on('foo', () => console.log('bar'));\n * dispatcher.trigger('foo'); // 'bar'\n */\nexport const dispatcher = {...Backbone.Events} as EventsMixin;\n// lots of global use out there still\nwindow.dispatcher = dispatcher;\nexport default dispatcher;\n\n/**\n * Enhanced Backbone dispatcher instance.\\\n * Provides a cleanup function for each event binding method.\n *\n * @example\n * const cleanup = enhancedDispatcher.on('foo', () => console.log('bar'));\n * cleanup(); // removes the event binding\n */\nexport const enhancedDispatcher = {\n\t...dispatcher,\n\tbind: (eventName: string, cb: Backbone.EventHandler, context?: any) => {\n\t\tdispatcher.bind(eventName, cb, context);\n\t\treturn () => {\n\t\t\tdispatcher.unbind(eventName, cb, context);\n\t\t};\n\t},\n\ton: (eventName: string, cb: Backbone.EventHandler, context?: any) => {\n\t\tdispatcher.on(eventName, cb, context);\n\t\treturn () => {\n\t\t\tdispatcher.off(eventName, cb, context);\n\t\t};\n\t},\n\tonce: (eventName: string, cb: Backbone.EventHandler, context?: any) => {\n\t\tdispatcher.once(eventName, cb, context);\n\t\treturn () => {\n\t\t\tdispatcher.off(eventName, cb, context);\n\t\t};\n\t},\n\tlistenTo: (eventName: string, cb: any, context?: any) => {\n\t\tdispatcher.listenTo(eventName, cb, context);\n\t\treturn () => {\n\t\t\tdispatcher.stopListening(eventName, cb, context);\n\t\t};\n\t},\n\tlistenToOnce: (eventName: string, cb: any) => {\n\t\tdispatcher.listenToOnce(eventName, cb);\n\t\treturn () => {\n\t\t\tdispatcher.stopListening(eventName, cb);\n\t\t};\n\t},\n};\n","// @ts-ignore\nimport Locally from 'locallyjs';\n\n/**\n * Local storage instance.\n *\n * @see https://www.npmjs.com/package/locallyjs\n *\n * @example\n * localStore.set('foo', 'bar');\n */\nexport const localStore = new Locally.Store({\n\t// DAM-19220 - set to false\n\tcompress: false,\n});\n\nexport default localStore;\n\nimport {setGlobal} from '@netx/core-next/utils/setGlobal';\nif (process.env.NODE_ENV !== 'production') {\n\tsetGlobal({localStore});\n}\n","export const prettyLogStyles = {\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n overline: [53, 55],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n blackBright: [90, 39],\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49],\n};\n","import { prettyLogStyles } from \"./prettyLogStyles.js\";\nexport function formatTemplate(settings, template, values, hideUnsetPlaceholder = false) {\n const templateString = String(template);\n const ansiColorWrap = (placeholderValue, code) => `\\u001b[${code[0]}m${placeholderValue}\\u001b[${code[1]}m`;\n const styleWrap = (value, style) => {\n if (style != null && typeof style === \"string\") {\n return ansiColorWrap(value, prettyLogStyles[style]);\n }\n else if (style != null && Array.isArray(style)) {\n return style.reduce((prevValue, thisStyle) => styleWrap(prevValue, thisStyle), value);\n }\n else {\n if (style != null && style[value.trim()] != null) {\n return styleWrap(value, style[value.trim()]);\n }\n else if (style != null && style[\"*\"] != null) {\n return styleWrap(value, style[\"*\"]);\n }\n else {\n return value;\n }\n }\n };\n const defaultStyle = null;\n return templateString.replace(/{{(.+?)}}/g, (_, placeholder) => {\n const value = values[placeholder] != null ? String(values[placeholder]) : hideUnsetPlaceholder ? \"\" : _;\n return settings.stylePrettyLogs\n ? styleWrap(value, settings?.prettyLogStyles?.[placeholder] ?? defaultStyle) + ansiColorWrap(\"\", prettyLogStyles.reset)\n : value;\n });\n}\n","export function formatNumberAddZeros(value, digits = 2, addNumber = 0) {\n if (value != null && isNaN(value)) {\n return \"\";\n }\n value = value != null ? value + addNumber : value;\n return digits === 2\n ? value == null\n ? \"--\"\n : value < 10\n ? \"0\" + value\n : value.toString()\n : value == null\n ? \"---\"\n : value < 10\n ? \"00\" + value\n : value < 100\n ? \"0\" + value\n : value.toString();\n}\n","export function jsonStringifyRecursive(obj) {\n const cache = new Set();\n return JSON.stringify(obj, (key, value) => {\n if (typeof value === \"object\" && value !== null) {\n if (cache.has(value)) {\n return \"[Circular]\";\n }\n cache.add(value);\n }\n return value;\n });\n}\n","import { prettyLogStyles } from \"../../prettyLogStyles.js\";\nimport { jsonStringifyRecursive } from \"./helper.jsonStringifyRecursive.js\";\nexport function inspect(obj, opts) {\n const ctx = {\n seen: [],\n stylize: stylizeNoColor,\n };\n if (opts != null) {\n _extend(ctx, opts);\n }\n if (isUndefined(ctx.showHidden))\n ctx.showHidden = false;\n if (isUndefined(ctx.depth))\n ctx.depth = 2;\n if (isUndefined(ctx.colors))\n ctx.colors = true;\n if (isUndefined(ctx.customInspect))\n ctx.customInspect = true;\n if (ctx.colors)\n ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\ninspect.colors = prettyLogStyles;\ninspect.styles = {\n special: \"cyan\",\n number: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n date: \"magenta\",\n regexp: \"red\",\n};\nfunction isBoolean(arg) {\n return typeof arg === \"boolean\";\n}\nfunction isUndefined(arg) {\n return arg === undefined;\n}\nfunction stylizeNoColor(str) {\n return str;\n}\nfunction stylizeWithColor(str, styleType) {\n const style = inspect.styles[styleType];\n if (style != null && inspect?.colors?.[style]?.[0] != null && inspect?.colors?.[style]?.[1] != null) {\n return \"\\u001b[\" + inspect.colors[style][0] + \"m\" + str + \"\\u001b[\" + inspect.colors[style][1] + \"m\";\n }\n else {\n return str;\n }\n}\nfunction isFunction(arg) {\n return typeof arg === \"function\";\n}\nfunction isString(arg) {\n return typeof arg === \"string\";\n}\nfunction isNumber(arg) {\n return typeof arg === \"number\";\n}\nfunction isNull(arg) {\n return arg === null;\n}\nfunction hasOwn(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === \"[object RegExp]\";\n}\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg !== null;\n}\nfunction isError(e) {\n return isObject(e) && (objectToString(e) === \"[object Error]\" || e instanceof Error);\n}\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === \"[object Date]\";\n}\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\nfunction arrayToHash(array) {\n const hash = {};\n array.forEach((val) => {\n hash[val] = true;\n });\n return hash;\n}\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n const output = [];\n for (let i = 0, l = value.length; i < l; ++i) {\n if (hasOwn(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n }\n else {\n output.push(\"\");\n }\n }\n keys.forEach((key) => {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n });\n return output;\n}\nfunction formatError(value) {\n return \"[\" + Error.prototype.toString.call(value) + \"]\";\n}\nexport function formatValue(ctx, value, recurseTimes = 0) {\n if (ctx.customInspect &&\n value != null &&\n isFunction(value) &&\n value?.inspect !== inspect &&\n !(value?.constructor && value?.constructor.prototype === value)) {\n if (typeof value.inspect !== \"function\" && value.toString != null) {\n return value.toString();\n }\n let ret = value?.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n const primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n let keys = Object.keys(value);\n const visibleKeys = arrayToHash(keys);\n try {\n if (ctx.showHidden && Object.getOwnPropertyNames) {\n keys = Object.getOwnPropertyNames(value);\n }\n }\n catch (e) {\n }\n if (isError(value) && (keys.indexOf(\"message\") >= 0 || keys.indexOf(\"description\") >= 0)) {\n return formatError(value);\n }\n if (keys.length === 0) {\n if (isFunction(ctx.stylize)) {\n if (isFunction(value)) {\n const name = value.name ? \": \" + value.name : \"\";\n return ctx.stylize(\"[Function\" + name + \"]\", \"special\");\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), \"regexp\");\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toISOString.call(value), \"date\");\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n else {\n return value;\n }\n }\n let base = \"\";\n let array = false;\n let braces = [\"{\\n\", \"\\n}\"];\n if (Array.isArray(value)) {\n array = true;\n braces = [\"[\\n\", \"\\n]\"];\n }\n if (isFunction(value)) {\n const n = value.name ? \": \" + value.name : \"\";\n base = \" [Function\" + n + \"]\";\n }\n if (isRegExp(value)) {\n base = \" \" + RegExp.prototype.toString.call(value);\n }\n if (isDate(value)) {\n base = \" \" + Date.prototype.toUTCString.call(value);\n }\n if (isError(value)) {\n base = \" \" + formatError(value);\n }\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), \"regexp\");\n }\n else {\n return ctx.stylize(\"[Object]\", \"special\");\n }\n }\n ctx.seen.push(value);\n let output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n }\n else {\n output = keys.map((key) => {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n ctx.seen.pop();\n return reduceToSingleString(output, base, braces);\n}\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n let name, str;\n let desc = { value: void 0 };\n try {\n desc.value = value[key];\n }\n catch (e) {\n }\n try {\n if (Object.getOwnPropertyDescriptor) {\n desc = Object.getOwnPropertyDescriptor(value, key) || desc;\n }\n }\n catch (e) {\n }\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize(\"[Getter/Setter]\", \"special\");\n }\n else {\n str = ctx.stylize(\"[Getter]\", \"special\");\n }\n }\n else {\n if (desc.set) {\n str = ctx.stylize(\"[Setter]\", \"special\");\n }\n }\n if (!hasOwn(visibleKeys, key)) {\n name = \"[\" + key + \"]\";\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, undefined);\n }\n else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf(\"\\n\") > -1) {\n if (array) {\n str = str\n .split(\"\\n\")\n .map((line) => {\n return \" \" + line;\n })\n .join(\"\\n\")\n .substr(2);\n }\n else {\n str =\n \"\\n\" +\n str\n .split(\"\\n\")\n .map((line) => {\n return \" \" + line;\n })\n .join(\"\\n\");\n }\n }\n }\n else {\n str = ctx.stylize(\"[Circular]\", \"special\");\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify(\"\" + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, \"name\");\n }\n else {\n name = name\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, \"\\\\'\")\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, \"string\");\n }\n }\n return name + \": \" + str;\n}\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize(\"undefined\", \"undefined\");\n if (isString(value)) {\n const simple = \"'\" + JSON.stringify(value).replace(/^\"|\"$/g, \"\").replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, \"\\\\'\") + \"'\";\n return ctx.stylize(simple, \"string\");\n }\n if (isNumber(value))\n return ctx.stylize(\"\" + value, \"number\");\n if (isBoolean(value))\n return ctx.stylize(\"\" + value, \"boolean\");\n if (isNull(value))\n return ctx.stylize(\"null\", \"null\");\n}\nfunction reduceToSingleString(output, base, braces) {\n return braces[0] + (base === \"\" ? \"\" : base + \"\\n\") + \" \" + output.join(\",\\n \") + \" \" + braces[1];\n}\nfunction _extend(origin, add) {\n if (!add || !isObject(add))\n return origin;\n const clonedOrigin = { ...origin };\n const clonedAdd = { ...add };\n const keys = Object.keys(add);\n let i = keys.length;\n while (i--) {\n clonedOrigin[keys[i]] = clonedAdd[keys[i]];\n }\n return origin;\n}\nexport function formatWithOptions(inspectOptions, ...args) {\n const ctx = {\n seen: [],\n stylize: stylizeNoColor,\n };\n if (inspectOptions != null) {\n _extend(ctx, inspectOptions);\n }\n const first = args[0];\n let a = 0;\n let str = \"\";\n let join = \"\";\n if (typeof first === \"string\") {\n if (args.length === 1) {\n return first;\n }\n let tempStr;\n let lastPos = 0;\n for (let i = 0; i < first.length - 1; i++) {\n if (first.charCodeAt(i) === 37) {\n const nextChar = first.charCodeAt(++i);\n if (a + 1 !== args.length) {\n switch (nextChar) {\n case 115: {\n const tempArg = args[++a];\n if (typeof tempArg === \"number\") {\n tempStr = formatPrimitive(ctx, tempArg);\n }\n else if (typeof tempArg === \"bigint\") {\n tempStr = formatPrimitive(ctx, tempArg);\n }\n else if (typeof tempArg !== \"object\" || tempArg === null) {\n tempStr = String(tempArg);\n }\n else {\n tempStr = inspect(tempArg, {\n ...inspectOptions,\n compact: 3,\n colors: false,\n depth: 0,\n });\n }\n break;\n }\n case 106:\n tempStr = jsonStringifyRecursive(args[++a]);\n break;\n case 100: {\n const tempNum = args[++a];\n if (typeof tempNum === \"bigint\") {\n tempStr = formatPrimitive(ctx, tempNum);\n }\n else if (typeof tempNum === \"symbol\") {\n tempStr = \"NaN\";\n }\n else {\n tempStr = formatPrimitive(ctx, tempNum);\n }\n break;\n }\n case 79:\n tempStr = inspect(args[++a], inspectOptions);\n break;\n case 111:\n tempStr = inspect(args[++a], {\n ...inspectOptions,\n showHidden: true,\n showProxy: true,\n depth: 4,\n });\n break;\n case 105: {\n const tempInteger = args[++a];\n if (typeof tempInteger === \"bigint\") {\n tempStr = formatPrimitive(ctx, tempInteger);\n }\n else if (typeof tempInteger === \"symbol\") {\n tempStr = \"NaN\";\n }\n else {\n tempStr = formatPrimitive(ctx, parseInt(tempStr));\n }\n break;\n }\n case 102: {\n const tempFloat = args[++a];\n if (typeof tempFloat === \"symbol\") {\n tempStr = \"NaN\";\n }\n else {\n tempStr = formatPrimitive(ctx, parseInt(tempFloat));\n }\n break;\n }\n case 99:\n a += 1;\n tempStr = \"\";\n break;\n case 37:\n str += first.slice(lastPos, i);\n lastPos = i + 1;\n continue;\n default:\n continue;\n }\n if (lastPos !== i - 1) {\n str += first.slice(lastPos, i - 1);\n }\n str += tempStr;\n lastPos = i + 1;\n }\n else if (nextChar === 37) {\n str += first.slice(lastPos, i);\n lastPos = i + 1;\n }\n }\n }\n if (lastPos !== 0) {\n a++;\n join = \" \";\n if (lastPos < first.length) {\n str += first.slice(lastPos);\n }\n }\n }\n while (a < args.length) {\n const value = args[a];\n str += join;\n str += typeof value !== \"string\" ? inspect(value, inspectOptions) : value;\n join = \" \";\n a++;\n }\n return str;\n}\n","import { formatTemplate } from \"../../formatTemplate.js\";\nimport { formatWithOptions } from \"./util.inspect.polyfil.js\";\nimport { jsonStringifyRecursive } from \"./helper.jsonStringifyRecursive.js\";\nexport default {\n getCallerStackFrame,\n getErrorTrace,\n getMeta,\n transportJSON,\n transportFormatted,\n isBuffer,\n isError,\n prettyFormatLogObj,\n prettyFormatErrorObj,\n};\nconst meta = {\n runtime: ![typeof window, typeof document].includes(\"undefined\") ? \"Browser\" : \"Generic\",\n browser: globalThis?.[\"navigator\"]?.userAgent,\n};\nconst pathRegex = /(?:(?:file|https?|global code|[^@]+)@)?(?:file:)?((?:\\/[^:/]+){2,})(?::(\\d+))?(?::(\\d+))?/;\nexport function getMeta(logLevelId, logLevelName, stackDepthLevel, hideLogPositionForPerformance, name, parentNames) {\n return Object.assign({}, meta, {\n name,\n parentNames,\n date: new Date(),\n logLevelId,\n logLevelName,\n path: !hideLogPositionForPerformance ? getCallerStackFrame(stackDepthLevel) : undefined,\n });\n}\nexport function getCallerStackFrame(stackDepthLevel, error = Error()) {\n return stackLineToStackFrame(error?.stack?.split(\"\\n\")?.filter((line) => !line.includes(\"Error: \"))?.[stackDepthLevel]);\n}\nexport function getErrorTrace(error) {\n return error?.stack\n ?.split(\"\\n\")\n ?.filter((line) => !line.includes(\"Error: \"))\n ?.reduce((result, line) => {\n result.push(stackLineToStackFrame(line));\n return result;\n }, []);\n}\nfunction stackLineToStackFrame(line) {\n const href = globalThis?.location?.origin;\n const pathResult = {\n fullFilePath: undefined,\n fileName: undefined,\n fileNameWithLine: undefined,\n fileColumn: undefined,\n fileLine: undefined,\n filePath: undefined,\n filePathWithLine: undefined,\n method: undefined,\n };\n if (line != null) {\n const match = line.match(pathRegex);\n if (match) {\n pathResult.filePath = match[1].replace(/\\?.*$/, \"\");\n pathResult.fullFilePath = `${href}${pathResult.filePath}`;\n const pathParts = pathResult.filePath.split(\"/\");\n pathResult.fileName = pathParts[pathParts.length - 1];\n pathResult.fileLine = match[2];\n pathResult.fileColumn = match[3];\n pathResult.filePathWithLine = `${pathResult.filePath}:${pathResult.fileLine}`;\n pathResult.fileNameWithLine = `${pathResult.fileName}:${pathResult.fileLine}`;\n }\n }\n return pathResult;\n}\nexport function isError(e) {\n return e instanceof Error;\n}\nexport function prettyFormatLogObj(maskedArgs, settings) {\n return maskedArgs.reduce((result, arg) => {\n isError(arg) ? result.errors.push(prettyFormatErrorObj(arg, settings)) : result.args.push(arg);\n return result;\n }, { args: [], errors: [] });\n}\nexport function prettyFormatErrorObj(error, settings) {\n const errorStackStr = getErrorTrace(error).map((stackFrame) => {\n return formatTemplate(settings, settings.prettyErrorStackTemplate, { ...stackFrame }, true);\n });\n const placeholderValuesError = {\n errorName: ` ${error.name} `,\n errorMessage: Object.getOwnPropertyNames(error)\n .reduce((result, key) => {\n if (key !== \"stack\") {\n result.push(error[key]);\n }\n return result;\n }, [])\n .join(\", \"),\n errorStack: errorStackStr.join(\"\\n\"),\n };\n return formatTemplate(settings, settings.prettyErrorTemplate, placeholderValuesError);\n}\nexport function transportFormatted(logMetaMarkup, logArgs, logErrors, settings) {\n const logErrorsStr = (logErrors.length > 0 && logArgs.length > 0 ? \"\\n\" : \"\") + logErrors.join(\"\\n\");\n settings.prettyInspectOptions.colors = settings.stylePrettyLogs;\n console.log(logMetaMarkup + formatWithOptions(settings.prettyInspectOptions, ...logArgs) + logErrorsStr);\n}\nexport function transportJSON(json) {\n console.log(jsonStringifyRecursive(json));\n}\nexport function isBuffer(arg) {\n return arg ? false : false;\n}\n","import { formatTemplate } from \"./formatTemplate.js\";\nimport { formatNumberAddZeros } from \"./formatNumberAddZeros.js\";\nimport { urlToObject } from \"./urlToObj.js\";\nimport Runtime from \"./runtime/nodejs/index.js\";\nexport * from \"./interfaces.js\";\nexport { Runtime };\nexport class BaseLogger {\n constructor(settings, logObj, stackDepthLevel = 4) {\n this.logObj = logObj;\n this.stackDepthLevel = stackDepthLevel;\n this.runtime = Runtime;\n this.settings = {\n type: settings?.type ?? \"pretty\",\n name: settings?.name,\n parentNames: settings?.parentNames,\n minLevel: settings?.minLevel ?? 0,\n argumentsArrayName: settings?.argumentsArrayName,\n hideLogPositionForProduction: settings?.hideLogPositionForProduction ?? false,\n prettyLogTemplate: settings?.prettyLogTemplate ??\n \"{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}}\\t{{logLevelName}}\\t{{filePathWithLine}}{{nameWithDelimiterPrefix}}\\t\",\n prettyErrorTemplate: settings?.prettyErrorTemplate ?? \"\\n{{errorName}} {{errorMessage}}\\nerror stack:\\n{{errorStack}}\",\n prettyErrorStackTemplate: settings?.prettyErrorStackTemplate ?? \" • {{fileName}}\\t{{method}}\\n\\t{{filePathWithLine}}\",\n prettyErrorParentNamesSeparator: settings?.prettyErrorParentNamesSeparator ?? \":\",\n prettyErrorLoggerNameDelimiter: settings?.prettyErrorLoggerNameDelimiter ?? \"\\t\",\n stylePrettyLogs: settings?.stylePrettyLogs ?? true,\n prettyLogTimeZone: settings?.prettyLogTimeZone ?? \"UTC\",\n prettyLogStyles: settings?.prettyLogStyles ?? {\n logLevelName: {\n \"*\": [\"bold\", \"black\", \"bgWhiteBright\", \"dim\"],\n SILLY: [\"bold\", \"white\"],\n TRACE: [\"bold\", \"whiteBright\"],\n DEBUG: [\"bold\", \"green\"],\n INFO: [\"bold\", \"blue\"],\n WARN: [\"bold\", \"yellow\"],\n ERROR: [\"bold\", \"red\"],\n FATAL: [\"bold\", \"redBright\"],\n },\n dateIsoStr: \"white\",\n filePathWithLine: \"white\",\n name: [\"white\", \"bold\"],\n nameWithDelimiterPrefix: [\"white\", \"bold\"],\n nameWithDelimiterSuffix: [\"white\", \"bold\"],\n errorName: [\"bold\", \"bgRedBright\", \"whiteBright\"],\n fileName: [\"yellow\"],\n fileNameWithLine: \"white\",\n },\n prettyInspectOptions: settings?.prettyInspectOptions ?? {\n colors: true,\n compact: false,\n depth: Infinity,\n },\n metaProperty: settings?.metaProperty ?? \"_meta\",\n maskPlaceholder: settings?.maskPlaceholder ?? \"[***]\",\n maskValuesOfKeys: settings?.maskValuesOfKeys ?? [\"password\"],\n maskValuesOfKeysCaseInsensitive: settings?.maskValuesOfKeysCaseInsensitive ?? false,\n maskValuesRegEx: settings?.maskValuesRegEx,\n prefix: [...(settings?.prefix ?? [])],\n attachedTransports: [...(settings?.attachedTransports ?? [])],\n overwrite: {\n mask: settings?.overwrite?.mask,\n toLogObj: settings?.overwrite?.toLogObj,\n addMeta: settings?.overwrite?.addMeta,\n addPlaceholders: settings?.overwrite?.addPlaceholders,\n formatMeta: settings?.overwrite?.formatMeta,\n formatLogObj: settings?.overwrite?.formatLogObj,\n transportFormatted: settings?.overwrite?.transportFormatted,\n transportJSON: settings?.overwrite?.transportJSON,\n },\n };\n }\n log(logLevelId, logLevelName, ...args) {\n if (logLevelId < this.settings.minLevel) {\n return;\n }\n const logArgs = [...this.settings.prefix, ...args];\n const maskedArgs = this.settings.overwrite?.mask != null\n ? this.settings.overwrite?.mask(logArgs)\n : this.settings.maskValuesOfKeys != null && this.settings.maskValuesOfKeys.length > 0\n ? this._mask(logArgs)\n : logArgs;\n const thisLogObj = this.logObj != null ? this._recursiveCloneAndExecuteFunctions(this.logObj) : undefined;\n const logObj = this.settings.overwrite?.toLogObj != null ? this.settings.overwrite?.toLogObj(maskedArgs, thisLogObj) : this._toLogObj(maskedArgs, thisLogObj);\n const logObjWithMeta = this.settings.overwrite?.addMeta != null\n ? this.settings.overwrite?.addMeta(logObj, logLevelId, logLevelName)\n : this._addMetaToLogObj(logObj, logLevelId, logLevelName);\n let logMetaMarkup;\n let logArgsAndErrorsMarkup = undefined;\n if (this.settings.overwrite?.formatMeta != null) {\n logMetaMarkup = this.settings.overwrite?.formatMeta(logObjWithMeta?.[this.settings.metaProperty]);\n }\n if (this.settings.overwrite?.formatLogObj != null) {\n logArgsAndErrorsMarkup = this.settings.overwrite?.formatLogObj(maskedArgs, this.settings);\n }\n if (this.settings.type === \"pretty\") {\n logMetaMarkup = logMetaMarkup ?? this._prettyFormatLogObjMeta(logObjWithMeta?.[this.settings.metaProperty]);\n logArgsAndErrorsMarkup = logArgsAndErrorsMarkup ?? this.runtime.prettyFormatLogObj(maskedArgs, this.settings);\n }\n if (logMetaMarkup != null && logArgsAndErrorsMarkup != null) {\n this.settings.overwrite?.transportFormatted != null\n ? this.settings.overwrite?.transportFormatted(logMetaMarkup, logArgsAndErrorsMarkup.args, logArgsAndErrorsMarkup.errors, this.settings)\n : this.runtime.transportFormatted(logMetaMarkup, logArgsAndErrorsMarkup.args, logArgsAndErrorsMarkup.errors, this.settings);\n }\n else {\n this.settings.overwrite?.transportJSON != null\n ? this.settings.overwrite?.transportJSON(logObjWithMeta)\n : this.settings.type !== \"hidden\"\n ? this.runtime.transportJSON(logObjWithMeta)\n : undefined;\n }\n if (this.settings.attachedTransports != null && this.settings.attachedTransports.length > 0) {\n this.settings.attachedTransports.forEach((transportLogger) => {\n transportLogger(logObjWithMeta);\n });\n }\n return logObjWithMeta;\n }\n attachTransport(transportLogger) {\n this.settings.attachedTransports.push(transportLogger);\n }\n getSubLogger(settings, logObj) {\n const subLoggerSettings = {\n ...this.settings,\n ...settings,\n parentNames: this.settings?.parentNames != null && this.settings?.name != null\n ? [...this.settings.parentNames, this.settings.name]\n : this.settings?.name != null\n ? [this.settings.name]\n : undefined,\n prefix: [...this.settings.prefix, ...(settings?.prefix ?? [])],\n };\n const subLogger = new this.constructor(subLoggerSettings, logObj ?? this.logObj, this.stackDepthLevel);\n return subLogger;\n }\n _mask(args) {\n const maskValuesOfKeys = this.settings.maskValuesOfKeysCaseInsensitive !== true ? this.settings.maskValuesOfKeys : this.settings.maskValuesOfKeys.map((key) => key.toLowerCase());\n return args?.map((arg) => {\n return this._recursiveCloneAndMaskValuesOfKeys(arg, maskValuesOfKeys);\n });\n }\n _recursiveCloneAndMaskValuesOfKeys(source, keys, seen = []) {\n if (seen.includes(source)) {\n return { ...source };\n }\n if (typeof source === \"object\" && source !== null) {\n seen.push(source);\n }\n if (this.runtime.isError(source) || this.runtime.isBuffer(source)) {\n return source;\n }\n else if (source instanceof Map) {\n return new Map(source);\n }\n else if (source instanceof Set) {\n return new Set(source);\n }\n else if (Array.isArray(source)) {\n return source.map((item) => this._recursiveCloneAndMaskValuesOfKeys(item, keys, seen));\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof URL) {\n return urlToObject(source);\n }\n else if (source !== null && typeof source === \"object\") {\n const baseObject = this.runtime.isError(source) ? this._cloneError(source) : Object.create(Object.getPrototypeOf(source));\n return Object.getOwnPropertyNames(source).reduce((o, prop) => {\n o[prop] = keys.includes(this.settings?.maskValuesOfKeysCaseInsensitive !== true ? prop : prop.toLowerCase())\n ? this.settings.maskPlaceholder\n : this._recursiveCloneAndMaskValuesOfKeys(source[prop], keys, seen);\n return o;\n }, baseObject);\n }\n else {\n if (typeof source === \"string\") {\n let modifiedSource = source;\n for (const regEx of this.settings?.maskValuesRegEx || []) {\n modifiedSource = modifiedSource.replace(regEx, this.settings?.maskPlaceholder || \"\");\n }\n return modifiedSource;\n }\n return source;\n }\n }\n _recursiveCloneAndExecuteFunctions(source, seen = []) {\n if (this.isObjectOrArray(source) && seen.includes(source)) {\n return this.shallowCopy(source);\n }\n if (this.isObjectOrArray(source)) {\n seen.push(source);\n }\n if (Array.isArray(source)) {\n return source.map((item) => this._recursiveCloneAndExecuteFunctions(item, seen));\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (this.isObject(source)) {\n return Object.getOwnPropertyNames(source).reduce((o, prop) => {\n const descriptor = Object.getOwnPropertyDescriptor(source, prop);\n if (descriptor) {\n Object.defineProperty(o, prop, descriptor);\n const value = source[prop];\n o[prop] = typeof value === \"function\" ? value() : this._recursiveCloneAndExecuteFunctions(value, seen);\n }\n return o;\n }, Object.create(Object.getPrototypeOf(source)));\n }\n else {\n return source;\n }\n }\n isObjectOrArray(value) {\n return typeof value === \"object\" && value !== null;\n }\n isObject(value) {\n return typeof value === \"object\" && !Array.isArray(value) && value !== null;\n }\n shallowCopy(source) {\n if (Array.isArray(source)) {\n return [...source];\n }\n else {\n return { ...source };\n }\n }\n _toLogObj(args, clonedLogObj = {}) {\n args = args?.map((arg) => (this.runtime.isError(arg) ? this._toErrorObject(arg) : arg));\n if (this.settings.argumentsArrayName == null) {\n if (args.length === 1 && !Array.isArray(args[0]) && this.runtime.isBuffer(args[0]) !== true && !(args[0] instanceof Date)) {\n clonedLogObj = typeof args[0] === \"object\" && args[0] != null ? { ...args[0], ...clonedLogObj } : { 0: args[0], ...clonedLogObj };\n }\n else {\n clonedLogObj = { ...clonedLogObj, ...args };\n }\n }\n else {\n clonedLogObj = {\n ...clonedLogObj,\n [this.settings.argumentsArrayName]: args,\n };\n }\n return clonedLogObj;\n }\n _cloneError(error) {\n const cloned = new error.constructor();\n Object.getOwnPropertyNames(error).forEach((key) => {\n cloned[key] = error[key];\n });\n return cloned;\n }\n _toErrorObject(error) {\n return {\n nativeError: error,\n name: error.name ?? \"Error\",\n message: error.message,\n stack: this.runtime.getErrorTrace(error),\n };\n }\n _addMetaToLogObj(logObj, logLevelId, logLevelName) {\n return {\n ...logObj,\n [this.settings.metaProperty]: this.runtime.getMeta(logLevelId, logLevelName, this.stackDepthLevel, this.settings.hideLogPositionForProduction, this.settings.name, this.settings.parentNames),\n };\n }\n _prettyFormatLogObjMeta(logObjMeta) {\n if (logObjMeta == null) {\n return \"\";\n }\n let template = this.settings.prettyLogTemplate;\n const placeholderValues = {};\n if (template.includes(\"{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}}\")) {\n template = template.replace(\"{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}}\", \"{{dateIsoStr}}\");\n }\n else {\n if (this.settings.prettyLogTimeZone === \"UTC\") {\n placeholderValues[\"yyyy\"] = logObjMeta?.date?.getUTCFullYear() ?? \"----\";\n placeholderValues[\"mm\"] = formatNumberAddZeros(logObjMeta?.date?.getUTCMonth(), 2, 1);\n placeholderValues[\"dd\"] = formatNumberAddZeros(logObjMeta?.date?.getUTCDate(), 2);\n placeholderValues[\"hh\"] = formatNumberAddZeros(logObjMeta?.date?.getUTCHours(), 2);\n placeholderValues[\"MM\"] = formatNumberAddZeros(logObjMeta?.date?.getUTCMinutes(), 2);\n placeholderValues[\"ss\"] = formatNumberAddZeros(logObjMeta?.date?.getUTCSeconds(), 2);\n placeholderValues[\"ms\"] = formatNumberAddZeros(logObjMeta?.date?.getUTCMilliseconds(), 3);\n }\n else {\n placeholderValues[\"yyyy\"] = logObjMeta?.date?.getFullYear() ?? \"----\";\n placeholderValues[\"mm\"] = formatNumberAddZeros(logObjMeta?.date?.getMonth(), 2, 1);\n placeholderValues[\"dd\"] = formatNumberAddZeros(logObjMeta?.date?.getDate(), 2);\n placeholderValues[\"hh\"] = formatNumberAddZeros(logObjMeta?.date?.getHours(), 2);\n placeholderValues[\"MM\"] = formatNumberAddZeros(logObjMeta?.date?.getMinutes(), 2);\n placeholderValues[\"ss\"] = formatNumberAddZeros(logObjMeta?.date?.getSeconds(), 2);\n placeholderValues[\"ms\"] = formatNumberAddZeros(logObjMeta?.date?.getMilliseconds(), 3);\n }\n }\n const dateInSettingsTimeZone = this.settings.prettyLogTimeZone === \"UTC\" ? logObjMeta?.date : new Date(logObjMeta?.date?.getTime() - logObjMeta?.date?.getTimezoneOffset() * 60000);\n placeholderValues[\"rawIsoStr\"] = dateInSettingsTimeZone?.toISOString();\n placeholderValues[\"dateIsoStr\"] = dateInSettingsTimeZone?.toISOString().replace(\"T\", \" \").replace(\"Z\", \"\");\n placeholderValues[\"logLevelName\"] = logObjMeta?.logLevelName;\n placeholderValues[\"fileNameWithLine\"] = logObjMeta?.path?.fileNameWithLine ?? \"\";\n placeholderValues[\"filePathWithLine\"] = logObjMeta?.path?.filePathWithLine ?? \"\";\n placeholderValues[\"fullFilePath\"] = logObjMeta?.path?.fullFilePath ?? \"\";\n let parentNamesString = this.settings.parentNames?.join(this.settings.prettyErrorParentNamesSeparator);\n parentNamesString = parentNamesString != null && logObjMeta?.name != null ? parentNamesString + this.settings.prettyErrorParentNamesSeparator : undefined;\n placeholderValues[\"name\"] = logObjMeta?.name != null || parentNamesString != null ? (parentNamesString ?? \"\") + logObjMeta?.name ?? \"\" : \"\";\n placeholderValues[\"nameWithDelimiterPrefix\"] =\n placeholderValues[\"name\"].length > 0 ? this.settings.prettyErrorLoggerNameDelimiter + placeholderValues[\"name\"] : \"\";\n placeholderValues[\"nameWithDelimiterSuffix\"] =\n placeholderValues[\"name\"].length > 0 ? placeholderValues[\"name\"] + this.settings.prettyErrorLoggerNameDelimiter : \"\";\n if (this.settings.overwrite?.addPlaceholders != null) {\n this.settings.overwrite?.addPlaceholders(logObjMeta, placeholderValues);\n }\n return formatTemplate(this.settings, template, placeholderValues);\n }\n}\n","export function urlToObject(url) {\n return {\n href: url.href,\n protocol: url.protocol,\n username: url.username,\n password: url.password,\n host: url.host,\n hostname: url.hostname,\n port: url.port,\n pathname: url.pathname,\n search: url.search,\n searchParams: [...url.searchParams].map(([key, value]) => ({ key, value })),\n hash: url.hash,\n origin: url.origin,\n };\n}\n","import {Logger, type ILogObj} from 'tslog';\n\n/**\n * Default logger instance\n *\n * @example\n * logger.info('foo');\n */\nexport const logger = new Logger({\n\thideLogPositionForProduction: true,\n\tmaskValuesOfKeysCaseInsensitive: true,\n\tminLevel: process.env.NODE_ENV === 'development' ? 0 : 3,\n\ttype: 'pretty',\n});\n\nconst separator = '>';\n\n/**\n * Get a prefixed logger\n * @param prefix What to prefix any logging with\n * @returns A logger with the provided prefix\n *\n * @example\n * const logger = getPrefixedLogger('foo bar');\n * logger.info('baz'); // 'foo bar > baz'\n */\nexport const getPrefixedLogger = (prefix: string) => {\n\treturn {\n\t\tdebug: (...args: any[]) =>\n\t\t\tlogger.debug.apply(logger, [prefix, separator, ...args]),\n\t\terror: (...args: any[]) =>\n\t\t\tlogger.error.apply(logger, [prefix, separator, ...args]),\n\t\tfatal: (...args: any[]) =>\n\t\t\tlogger.fatal.apply(logger, [prefix, separator, ...args]),\n\t\tinfo: (...args: any[]) =>\n\t\t\tlogger.info.apply(logger, [prefix, separator, ...args]),\n\t\tsilly: (...args: any[]) =>\n\t\t\tlogger.silly.apply(logger, [prefix, separator, ...args]),\n\t\ttrace: (...args: any[]) =>\n\t\t\tlogger.trace.apply(logger, [prefix, separator, ...args]),\n\t\twarn: (...args: any[]) =>\n\t\t\tlogger.warn.apply(logger, [prefix, separator, ...args]),\n\t};\n};\n","import { BaseLogger } from \"./BaseLogger.js\";\nexport * from \"./interfaces.js\";\nexport * from \"./BaseLogger.js\";\nexport class Logger extends BaseLogger {\n constructor(settings, logObj) {\n const isBrowser = typeof window !== \"undefined\" && typeof document !== \"undefined\";\n const isBrowserBlinkEngine = isBrowser ? window.chrome !== undefined && window.CSS !== undefined && window.CSS.supports(\"color\", \"green\") : false;\n const isSafari = isBrowser ? /^((?!chrome|android).)*safari/i.test(navigator.userAgent) : false;\n settings = settings || {};\n settings.stylePrettyLogs = settings.stylePrettyLogs && isBrowser && !isBrowserBlinkEngine ? false : settings.stylePrettyLogs;\n super(settings, logObj, isSafari ? 4 : 5);\n }\n log(logLevelId, logLevelName, ...args) {\n return super.log(logLevelId, logLevelName, ...args);\n }\n silly(...args) {\n return super.log(0, \"SILLY\", ...args);\n }\n trace(...args) {\n return super.log(1, \"TRACE\", ...args);\n }\n debug(...args) {\n return super.log(2, \"DEBUG\", ...args);\n }\n info(...args) {\n return super.log(3, \"INFO\", ...args);\n }\n warn(...args) {\n return super.log(4, \"WARN\", ...args);\n }\n error(...args) {\n return super.log(5, \"ERROR\", ...args);\n }\n fatal(...args) {\n return super.log(6, \"FATAL\", ...args);\n }\n getSubLogger(settings, logObj) {\n return super.getSubLogger(settings, logObj);\n }\n}\n","import Router from '@netx/core/lib/netx-routers-app';\n\n/**\n * App router instance\n */\nexport const appRouter = new Router();\nappRouter.routes = {};\n\nexport default appRouter;\n","import axios from 'axios';\nimport {session} from '@netx/core-auth/collections/singleton/session';\nimport {dispatcher} from '../instance/dispatcher';\nimport {SortOrder} from '../schema';\nimport {URL} from '../url';\n\n/**\n * Server error\n * @typeParam Codes - Error codes expected from the server\n */\nexport type ErrorResult = {\n\tcode: Codes;\n\tdata?: null;\n\tmessage: string;\n\tresult: string;\n};\n\n/**\n * Server error response\n * @typeParam T - Error type\n * @see ErrorResult\n */\nexport type ErrorResponse = {\n\terror: T;\n};\n\n/**\n * Server success response\n * @typeParam T - Result type\n */\nexport type SuccessResponse = {\n\tresult: T;\n};\n\n/**\n * Query error\n * @typeParam Codes - Error codes expected from the server\n */\nexport class QueryError extends Error {\n\tcode: Codes = -1 as Codes;\n}\n\n/**\n * Server paging param (`PageDTO`)\n */\nexport type QueryPager = {\n\tstartIndex: number;\n\tsize: number;\n};\n\n/**\n * Server sort param (`SortDTO`)\n */\nexport type QuerySort = {\n\tfield: F;\n\torder: SortOrder;\n};\n\n// These are the error codes that we want to handle as session errors\nconst sessionErrors = [6, 3001, 3002, 3003];\n\ninterface QueryPromise extends Promise {\n\tcancel(): void;\n}\n\n/**\n * Netx query client.\\\n * Wrapper around axios to handle, session, session errors, and cancelation.\n *\n * @typeParam ErrorCodes - Error codes expected from the server\n *\n * @returns Wrapped axios client\n *\n * @example\n * const client = netxQueryClient<2102 | 1000>();\n * client.post('method', data).then((response) => {...});\n */\nexport const netxQueryClient = () => {\n\tconst client = axios.create({\n\t\tbaseURL: URL.api,\n\t});\n\tclient.defaults.headers.common['Content-Type'] = 'application/json';\n\n\tconst source = axios.CancelToken.source();\n\n\t// Back it up\n\tconst _post = client.post;\n\t// And wrap it\n\t// We can ignore ts check on this, because as long as we do not modify the response\n\t// data, we will still be getting proper types out\n\t// For some reason, assigning the _post call to a var and returning is not valid but\n\t// just returning the _post call is valid (something in the abstract types)\n\t// @ts-ignore\n\tclient.post = (method, data = [], config = {}) => {\n\t\t// every succesful sync resets the server's logout timer; reset our client one too.\n\t\tsession.resetLogoutTimer();\n\n\t\tif (!(session?.get('publicMethods') || []).includes(method)) {\n\t\t\t(data as unknown as any[]).unshift(\n\t\t\t\tsession.getToken() || session.getKey(),\n\t\t\t);\n\t\t}\n\n\t\tconst promise = _post(\n\t\t\tmethod,\n\t\t\t{\n\t\t\t\tid: Date.now(),\n\t\t\t\tdataContext: 'json',\n\t\t\t\tjsonrpc: '2.0',\n\t\t\t\tmethod,\n\t\t\t\tparams: data,\n\t\t\t} as unknown,\n\t\t\t{...config, cancelToken: source.token},\n\t\t).then((response) => {\n\t\t\tif (response.data.error as ErrorResponse) {\n\t\t\t\tconst code = response.data.error.code;\n\t\t\t\tif (sessionErrors.includes(code)) {\n\t\t\t\t\t// If we have a token, some calls with give sessionErrors while others will pass.\n\t\t\t\t\t// If not, a session error means our key is invalid.\n\t\t\t\t\tif (!session?.getToken()) dispatcher.trigger('session:expire');\n\t\t\t\t}\n\t\t\t\tconst error = new QueryError(response.data.error.message);\n\t\t\t\terror.code = code;\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tsession?.resetLogoutTimer();\n\n\t\t\treturn response;\n\t\t});\n\n\t\t// For react query to cancel on unmount (or any other to cancel via the promise)\n\t\t// TODO: soon we can remove this as axios now supports passing signal\n\t\t// just need to hunt down anything depending on this behvior and pass along the signal\n\t\t// from react query\n\t\t(promise as QueryPromise).cancel = () => {\n\t\t\treturn source.cancel('cancelled by external script');\n\t\t};\n\n\t\treturn promise;\n\t};\n\n\treturn client;\n};\n\nexport default netxQueryClient;\n","/**\n * Supported languages\n */\nexport enum I18nLanguage {\n\tDE = 'de',\n\tEN = 'en',\n\tFR = 'fr',\n\tJA = 'ja',\n}\n\n// TODO: this is related to how these are referenced in the locales sheet\n/**\n * Supported locales as directly referenced in the locales sheet\n */\nexport enum I18nSupportedLocale {\n\tENGLISH = 'en-US',\n\tFRENCH = 'fr-FR',\n\tGERMAN = 'de-DE',\n\tJAPANESE = 'ja-JP',\n}\n\n/**\n * A map of language to its aliases\n */\nexport const I18N_LANGUAGE_ALIASES: Record = {\n\t[I18nLanguage.DE]: ['de-DE', 'de'],\n\t[I18nLanguage.EN]: ['en-US', 'en'],\n\t[I18nLanguage.FR]: ['fr-CA', 'fr-FR', 'fr'],\n\t[I18nLanguage.JA]: ['ja-JP', 'jp-JP', 'ja'],\n};\n\n/**\n * A list of all supported languages\n */\nexport const I18N_SUPPORTED_LANGUAGES = Object.values(I18N_LANGUAGE_ALIASES)\n\t.flat()\n\t// this allows for no translation in storybook\n\t.concat(['none']);\n","const consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n this.observers[event] = this.observers[event] || [];\n this.observers[event].push(listener);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(l => l !== listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = [].concat(this.observers[event]);\n cloned.forEach(observer => {\n observer(...args);\n });\n }\n if (this.observers['*']) {\n const cloned = [].concat(this.observers['*']);\n cloned.forEach(observer => {\n observer.apply(observer, [event, ...args]);\n });\n }\n }\n}\n\nfunction defer() {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n const stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n const key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n}\nconst chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = new RegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n const paths = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n let j = 2;\n let p = paths.slice(i, i + j).join(keySeparator);\n let mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n const joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nfunction getCleanedCode(code) {\n if (code && code.indexOf('_') > 0) return code.replace('_', '-');\n return code;\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n const result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return {\n ...{},\n ...this.getResource(lng, ns)\n };\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n if (this.processors[processor]) value = this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key,\n namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved && resolved.res;\n const resUsedKey = resolved && resolved.usedKey || key;\n const resExactUsedKey = resolved && resolved.exactUsedKey || key;\n const resType = Object.prototype.toString.apply(res);\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = resType === '[object Array]';\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const defaultValue = options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector && this.backendConnector.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n this.pluralResolver.getSuffixes(language, options).forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(options)\n },\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat && this.i18nFormat.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && typeof options.replace !== 'string';\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n const specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n let p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(part => part.toLowerCase());\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (typeof code === 'string' && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nlet sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nlet _rulesPluralsTypes = {\n 1: function (n) {\n return Number(n > 1);\n },\n 2: function (n) {\n return Number(n != 1);\n },\n 3: function (n) {\n return 0;\n },\n 4: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function (n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function (n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function (n) {\n return Number(n >= 2);\n },\n 10: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function (n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function (n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function (n) {\n return Number(n !== 0);\n },\n 14: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function (n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function (n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nconst nonIntlVersions = ['v1', 'v2', 'v3'];\nconst intlVersions = ['v4'];\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n const rules = {};\n sets.forEach(set => {\n set.lngs.forEach(l => {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || intlVersions.includes(this.options.compatibilityJSON)) && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(getCleanedCode(code), {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (err) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n return rule.numbers.map(number => this.getSuffix(code, number, options));\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return '';\n }\n getSuffixRetroCompatible(rule, count) {\n const idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n let suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n const returnSuffix = () => this.options.prepend && suffix.toString() ? this.options.prepend + suffix.toString() : suffix.toString();\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return `_plural_${suffix.toString()}`;\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n shouldUseIntlApi() {\n return !nonIntlVersions.includes(this.options.compatibilityJSON);\n }\n}\n\nfunction deepFindWithDefaults(data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const regexpStr = `${this.prefix}(.+?)${this.suffix}`;\n this.regexp = new RegExp(regexpStr, 'g');\n const regexpUnescapeStr = `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n const nestingRegexpStr = `${this.nestingPrefix}(.+?)${this.nestingSuffix}`;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nfunction parseFormatStr(formatStr) {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (!opt) return;\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n const cache = {};\n return function invokeFormatter(val, lng, options) {\n const key = lng + JSON.stringify(options);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n const iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n if (this.backend && this.backend.init) {\n this.backend.init(services, options.backend, options);\n }\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initImmediate) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && this.options.compatibilityAPI !== 'v1' && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(l => append(l));\n }\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = typeof lngs === 'string' ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n if (this.services.languageDetector && this.services.languageDetector.cacheUserLanguage) this.services.languageDetector.cacheUserLanguage(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n return this.translator && this.translator.translate(...arguments);\n }\n exists() {\n return this.translator && this.translator.exists(...arguments);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0);\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n clone.store = new ResourceStore(this.store.data, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\nfunction addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '',\n e = encodeURIComponent; // Must encode data\n\n for (var paramName in params) {\n queryString += '&' + e(paramName) + '=' + e(params[paramName]);\n }\n\n if (!queryString) {\n return url;\n }\n\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n} // https://gist.github.com/Xeoncross/7663273\n\n\nfunction ajax(url, options, callback, data, cache) {\n if (data && _typeof(data) === 'object') {\n if (!cache) {\n data['_t'] = new Date();\n } // URL encoded form data must be in querystring format\n\n\n data = addQueryString('', data).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n\n if (XMLHttpRequest) {\n x = new XMLHttpRequest();\n } else {\n x = new ActiveXObject('MSXML2.XMLHTTP.3.0');\n }\n\n x.open(data ? 'POST' : 'GET', url, 1);\n\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n x.withCredentials = !!options.withCredentials;\n\n if (data) {\n x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n\n if (x.overrideMimeType) {\n x.overrideMimeType(\"application/json\");\n }\n\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n\n x.onreadystatechange = function () {\n x.readyState > 3 && callback && callback(x.responseText, x);\n };\n\n x.send(data);\n } catch (e) {\n console && console.log(e);\n }\n}\n\nfunction getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: JSON.parse,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n crossDomain: false,\n ajax: ajax\n };\n}\n\nvar Backend =\n/*#__PURE__*/\nfunction () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Backend);\n\n this.init(services, options);\n this.type = 'backend';\n }\n\n _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n this.loadUrl(url, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath([language], [namespace]);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, {\n lng: language,\n ns: namespace\n });\n this.loadUrl(url, callback);\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback) {\n var _this = this;\n\n this.options.ajax(url, this.options, function (data, xhr) {\n if (xhr.status >= 500 && xhr.status < 600) return callback('failed loading ' + url, true\n /* retry */\n );\n if (xhr.status >= 400 && xhr.status < 500) return callback('failed loading ' + url, false\n /* no retry */\n );\n var ret, err;\n\n try {\n ret = _this.options.parse(data, url);\n } catch (e) {\n err = 'failed parsing ' + url + ' to json';\n }\n\n if (err) return callback(err, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue) {\n var _this2 = this;\n\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n languages.forEach(function (lng) {\n var url = _this2.services.interpolator.interpolate(_this2.options.addPath, {\n lng: lng,\n ns: namespace\n });\n\n _this2.options.ajax(url, _this2.options, function (data, xhr) {//const statusCode = xhr.status.toString();\n // TODO: if statusCode === 4xx do log\n }, payload);\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\n\nexport default Backend;\n","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = \"\".concat(name, \"=\").concat(value);\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += \"; Max-Age=\".concat(Math.floor(maxAge));\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += \"; Domain=\".concat(opt.domain);\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += \"; Path=\".concat(opt.path);\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += \"; Expires=\".concat(opt.expires.toUTCString());\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n return str;\n};\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = \"\".concat(name, \"=\");\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var search = window.location.search;\n if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n var query = search.substring(1);\n var params = query.split('&');\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n // If given get the subdomain index else 1\n var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[lookupFromSubdomainIndex];\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: function convertDetectedLanguage(l) {\n return l;\n }\n };\n}\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Browser);\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services || {\n languageUtils: {}\n }; // this way the language detector can be used without i18next\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = function (l) {\n return l.replace('-', '_');\n };\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.map(function (d) {\n return _this.options.convertDetectedLanguage(d);\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n return Browser;\n}();\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","import {type BackendOptions} from 'i18next-xhr-backend';\nimport {I18N_SUPPORTED_LANGUAGES} from './constants';\n\n/**\n * i18next backend options\n */\nexport const backendOptions: BackendOptions = {\n\tallowMultiLoading: false,\n\tloadPath: (lngs) => {\n\t\tconst lng = I18N_SUPPORTED_LANGUAGES.includes(lngs[0]) ? lngs[0] : 'en-US';\n\t\treturn `/locales/${lng}/locales`;\n\t},\n};\n\nexport default backendOptions;\n","import window from 'global/window';\nimport i18next, {type InitOptions} from 'i18next';\n\nwindow.i18n = window.i18next = i18next;\n// @ts-ignore\nif (globalThis) globalThis.i18n = globalThis.i18next = i18next;\n\nimport i18nextXHRBackend, {type BackendOptions} from 'i18next-xhr-backend';\nimport i18nextBrowserLanguageDetector from 'i18next-browser-languagedetector';\n// @ts-ignore\nimport jqueryI18next from 'jquery-i18next';\nimport {getPrefixedLogger} from '@netx/core-next/instance/logger';\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\n// importing with full path for webpack/storybook alias support\nimport {backendOptions} from '@netx/core-next/locales/backend';\nimport {I18N_SUPPORTED_LANGUAGES} from './constants';\n\nconst logger = getPrefixedLogger('i18n');\n\n/**\n * Is i18n ready?\n */\nexport let i18nReady: Readonly = false;\n\nlet resolver: () => void;\nlet rejector: (reason?: any) => void;\nexport const i18nInitialized = new Promise((resolve, reject) => {\n\tresolver = resolve;\n\trejector = reject;\n});\n\n/**\n * i18next instance\n * @see https://www.i18next.com/\n */\nexport const i18n = i18next;\n\n/**\n * Initialize i18next\n * @returns i18next instance\n */\nexport const initializeI18n = () => {\n\tlogger.info('initializing');\n\n\treturn new Promise((resolve, reject) => {\n\t\t// TODO: make external file for easy overriding in things like storybook\n\t\tconst options: InitOptions = {\n\t\t\t// TODO: update translation files to be i18next JSON structure v3\n\t\t\tcompatibilityJSON: 'v1',\n\t\t\tinterpolation: {\n\t\t\t\tprefix: '__',\n\t\t\t\tsuffix: '__',\n\t\t\t},\n\t\t\tbackend: backendOptions,\n\t\t\tsupportedLngs: I18N_SUPPORTED_LANGUAGES,\n\t\t\tfallbackLng: false,\n\t\t\t// missingKeyNoValueFallbackToKey: true,\n\t\t\tload: 'currentOnly',\n\t\t\tns: ['translation'],\n\t\t\tdefaultNS: 'translation',\n\t\t\tdetection: {\n\t\t\t\torder: ['localStorage', 'navigator', 'htmlTag'],\n\t\t\t\tlookupLocalStorage: 'locale',\n\t\t\t\tcaches: ['localStorage'],\n\t\t\t},\n\t\t};\n\n\t\ti18next\n\t\t\t.use(i18nextXHRBackend)\n\t\t\t.use(i18nextBrowserLanguageDetector)\n\t\t\t.init(options, (error, instance) => {\n\t\t\t\t// ugh... backbone views\n\t\t\t\tjqueryI18next.init(i18next, $, {\n\t\t\t\t\t// appends $.t = i18next.t\n\t\t\t\t\ttName: 't',\n\t\t\t\t\t// appends $.i18n = i18next\n\t\t\t\t\ti18nName: 'i18n',\n\t\t\t\t\t// appends $(selector).localize(opts);\n\t\t\t\t\thandleName: 'localize',\n\t\t\t\t\t// selector for translating elements\n\t\t\t\t\tselectorAttr: 'data-i18n',\n\t\t\t\t\t// data-() attribute to grab target element to translate (if diffrent then itself)\n\t\t\t\t\ttargetAttr: 'i18n-target',\n\t\t\t\t\t// data-() attribute that contains options, will load/set if useOptionsAttr = true\n\t\t\t\t\toptionsAttr: 'i18n-options',\n\t\t\t\t\t// see optionsAttr\n\t\t\t\t\tuseOptionsAttr: false,\n\t\t\t\t\t// parses default values from content ele.val or ele.text\n\t\t\t\t\tparseDefaultValueFromContent: true,\n\t\t\t\t});\n\n\t\t\t\tif (error) {\n\t\t\t\t\ti18nReady = true;\n\t\t\t\t\trejector();\n\t\t\t\t\tlogger.error('failed');\n\t\t\t\t\treturn reject(error);\n\t\t\t\t}\n\n\t\t\t\t// Set on html tag\n\t\t\t\tdocument.documentElement.setAttribute('lang', i18next.language);\n\n\t\t\t\ti18nReady = true;\n\t\t\t\tlogger.info('initialized', i18next.language);\n\n\t\t\t\tdispatcher.trigger('app:i18n:ready');\n\t\t\t\t// i18n.on('languageChanged', (lng) => {\n\t\t\t\t// \tdocument.documentElement.setAttribute('lang', lng);\n\t\t\t\t// \tdispatcher.trigger('app:i18n:languageChanged', lng);\n\t\t\t\t// });\n\t\t\t\tresolve(i18next);\n\t\t\t\tresolver();\n\t\t\t});\n\t});\n};\n\nexport default i18next;\n","import {I18nSupportedLocale} from './constants';\nimport {Locales} from './utils';\n\nexport const I18nSupportedLocaleLabel = Locales<\n\tRecord\n>((i18n) => ({\n\t[I18nSupportedLocale.ENGLISH]: i18n('i18n.languageEnglish'),\n\t[I18nSupportedLocale.FRENCH]: i18n('i18n.languageFrench'),\n\t[I18nSupportedLocale.GERMAN]: i18n('i18n.languageGerman'),\n\t[I18nSupportedLocale.JAPANESE]: i18n('i18n.languageJapanese'),\n}));\n","import {getPreference} from '@netx/core-user-next/utils/getPreference';\nimport {I18nSupportedLocale} from '../constants';\n\nexport const getAvailableLocales = () => {\n\tconst localesPref = getPreference('i18n.userSelectableLocales');\n\tif (!localesPref) return Object.values(I18nSupportedLocale);\n\tconst localesFilter = localesPref.split(/[ ,]+/);\n\treturn Object.values(I18nSupportedLocale).filter((locale) =>\n\t\tlocalesFilter.includes(locale),\n\t);\n};\n\nexport default getAvailableLocales;\n","import {i18n} from '../i18n';\n\nexport const i18nLocaleCompare = (a: string, b: string) =>\n\tIntl.Collator(i18n.language).compare(a, b);\n\nexport default i18nLocaleCompare;\n","import {i18n as _i18n, i18nInitialized, i18nReady} from '../i18n';\n\n/**\n * Locales wrapper to ensure that values are set when i18n has been initialized\n * @param cb Callback function that returns the localized strings\n * @returns Localized strings\n *\n * @example\n * export const SchemaValidationErrorLabel = Locales((i18n) => ({\n * \tDATE_INVALID: i18n('i18n.invalidDate'),\n * \tREQUIRED: i18n('i18n.required'),\n * }));\n */\nexport const Locales = <\n\tT extends Record = Record,\n\tF extends (...args: any[]) => any = (i18n: typeof _i18n.t) => T,\n>(\n\tcb: F,\n): ReturnType => {\n\tlet currentLanguage = _i18n.language;\n\n\tconst listen = () => {\n\t\t_i18n.on('languageChanged', (lng) => {\n\t\t\tif (currentLanguage === lng) return;\n\n\t\t\tif (!_i18n.hasResourceBundle(lng, 'translation')) {\n\t\t\t\tconst handleLoaded = () => {\n\t\t\t\t\tObject.assign(results, cb(_i18n.t.bind(_i18n)));\n\t\t\t\t\t_i18n.off('loaded', handleLoaded);\n\t\t\t\t};\n\t\t\t\t_i18n.on('loaded', handleLoaded);\n\t\t\t} else {\n\t\t\t\tObject.assign(results, cb(_i18n.t.bind(_i18n)));\n\t\t\t}\n\t\t\tcurrentLanguage = _i18n.language;\n\t\t});\n\t};\n\n\t// we will just abuse the object reference\n\t// we are still going to need to make a react hook for locales\n\t// so that one day we don't have to reload the entire site when that changes\n\t// just update the app context and any components rendered will re-render with\n\t// the updated locales\n\t// in any event, still think it may be nice to keep things wrapped in this so\n\t// that we can deal with the lib directly here and not a thousand places\n\tconst results = {} as ReturnType;\n\tif (!i18nReady) {\n\t\tObject.assign(results, cb(_i18n.t.bind(_i18n)));\n\t\ti18nInitialized.then(() => {\n\t\t\tObject.assign(results, cb(_i18n.t.bind(_i18n)));\n\t\t\tlisten();\n\t\t});\n\t} else {\n\t\tObject.assign(results, cb(_i18n.t.bind(_i18n)));\n\t\tlisten();\n\t}\n\n\treturn results;\n};\n\nexport default Locales;\n","import {z} from 'zod';\n\n/**\n * The backend uses what is called a \"label value\" pattern in quite a few places.\\\n * This is a simple schema to represent that pattern.\n */\nexport const LabelValueSchema = z.object({\n\tlabel: z.string(),\n\tvalue: z.string(),\n});\n\n/** LabelValue type */\nexport type ILabelValue = z.infer;\n\nexport default LabelValueSchema;\n","import {z} from 'zod';\n\n/**\n * Sort order for a field.\n */\nexport enum SortOrder {\n\tASCENDING = 'asc',\n\tDESCENDING = 'desc',\n}\n\n/**\n * Sort schema.\n */\nexport const SortSchema = z.object({\n\tfield: z.string(),\n\torder: z.nativeEnum(SortOrder),\n});\n","import {Locales} from '@netx/core-next/locales';\n\n/**\n * Common schema validation error labels\n */\nexport const SchemaValidationErrorLabel = Locales((i18n) => ({\n\tDATE_INVALID: i18n('i18n.invalidDate'),\n\tDATE_MUST_BE_IN_THE_FUTURE: i18n('i18n.validationDateMustBeInTheFuture'),\n\tREQUIRED: i18n('i18n.required'),\n}));\n","import {z} from 'zod';\n\n// https://github.com/colinhacks/zod/issues/831\n/**\n * Zod Helper for creating a tuple of literals. This is otherwise very verbose\n * because each array entry need to wrapped in `z.literal` call\n */\nfunction createZodLiterals>(\n\t...literals: Literals\n): {[Index in keyof Literals]: z.ZodLiteral};\n\nfunction createZodLiterals>(\n\t...literals: Literals\n) {\n\treturn literals.map((e) => z.literal(e));\n}\n\nexport {createZodLiterals};\n\nexport default createZodLiterals;\n","import type {ISort} from '../types';\n\nexport type EditEffectsSortOrderParams = {\n\tsortableFields: Readonly | S[];\n\toriginalData?: D;\n\tsort: ISort;\n\tupdatedData: D;\n};\n\nexport const editEffectsSortOrder = ({\n\tsortableFields,\n\toriginalData,\n\tupdatedData,\n\tsort,\n}: EditEffectsSortOrderParams) => {\n\t// we cant know\n\tif (!originalData) return true;\n\treturn sortableFields.some(\n\t\t(field) =>\n\t\t\tsort.field === field && originalData[field] !== updatedData[field],\n\t);\n};\n\nexport default editEffectsSortOrder;\n","import {z} from 'zod';\nimport {caseInsensitiveStringIncludes} from '@netx/core/utils/caseInsensitiveStringIncludes';\n\nexport type EditRemovesFromFilterParams = {\n\tfilters: F;\n\toriginalData?: D;\n\tupdatedData: D;\n\tschema: z.ZodObject>;\n};\n\nexport const editRemovesFromFilter = ({\n\toriginalData,\n\tupdatedData,\n\tfilters,\n\tschema,\n}: EditRemovesFromFilterParams) => {\n\tif (!originalData) return false;\n\n\t// TODO: fix this typing - in a hurry trying some things\n\treturn (Object.keys(filters) as unknown as Array).some((field) => {\n\t\tif (filters[field as unknown as keyof F] === null) return false;\n\t\tif (schema.shape[field as string] instanceof z.ZodString) {\n\t\t\treturn !caseInsensitiveStringIncludes(\n\t\t\t\toriginalData[field as keyof typeof originalData] as string,\n\t\t\t\tupdatedData[field as keyof typeof updatedData] as string,\n\t\t\t);\n\t\t}\n\n\t\treturn updatedData[field] !== originalData[field];\n\t});\n};\n\nexport default editRemovesFromFilter;\n","export type GetDefaultFiltersParams> = {\n\tfilters?: Partial;\n\tfilterableFields: readonly (keyof F)[];\n};\n\nexport const getDefaultFilters = >({\n\tfilters,\n\tfilterableFields,\n}: GetDefaultFiltersParams): F => {\n\treturn filterableFields.reduce((accum, field) => {\n\t\treturn {\n\t\t\t...accum,\n\t\t\t[field]: filters?.[field] ?? null,\n\t\t};\n\t}, {} as F);\n};\n\nexport default getDefaultFilters;\n","export type GetSortFieldParams = {\n\tsortField?: string | null;\n\tsortableFields: readonly S[] | S[];\n\tdefaultSortField: S;\n};\n\nexport const getSortField = ({\n\tsortField,\n\tsortableFields,\n\tdefaultSortField,\n}: GetSortFieldParams): S =>\n\tsortField != null && sortableFields.includes(sortField as S)\n\t\t? (sortField as S)\n\t\t: defaultSortField;\n\nexport default getSortField;\n","import {SortOrder} from '../constants';\n\nexport type GetSortOrderParams = {\n\tsortOrder?: string | null;\n\tdefaultSortOrder?: SortOrder;\n};\n\n/** will return the passed in sort order if valid, otherwise will return the default sort order */\nexport const geSortOrder = ({\n\tsortOrder,\n\tdefaultSortOrder,\n}: GetSortOrderParams): SortOrder =>\n\tObject.values(SortOrder).includes(sortOrder as SortOrder)\n\t\t? (sortOrder as SortOrder)\n\t\t: defaultSortOrder || SortOrder.DESCENDING;\n\nexport default geSortOrder;\n","import {z} from 'zod';\n\nexport const makeOptionalPropsNullable = (\n\tschema: Schema,\n) => {\n\tconst entries = Object.entries(schema.shape) as [\n\t\tkeyof Schema['shape'],\n\t\tz.ZodTypeAny,\n\t][];\n\tconst newProps = entries.reduce(\n\t\t(acc, [key, value]) => {\n\t\t\tacc[key] =\n\t\t\t\tvalue instanceof z.ZodOptional ? value.unwrap().nullable() : value;\n\t\t\treturn acc;\n\t\t},\n\t\t{} as {\n\t\t\t[key in keyof Schema['shape']]: Schema['shape'][key] extends z.ZodOptional<\n\t\t\t\tinfer T\n\t\t\t>\n\t\t\t\t? z.ZodNullable\n\t\t\t\t: Schema['shape'][key];\n\t\t},\n\t);\n\treturn z.object(newProps);\n};\n\nexport default makeOptionalPropsNullable;\n","import {action, computed, makeObservable, observable} from 'mobx';\nimport {Optional} from 'utility-types';\nimport {Severity} from '@netx/core-components/Theme';\n\nexport const StatusItemStatus = {\n\tPENDING: 'pending',\n\tPROCESSING: 'processing',\n} as const;\nexport type StatusItemStatus =\n\ttypeof StatusItemStatus[keyof typeof StatusItemStatus];\n\nexport interface IStatusItem<\n\tD extends object = object,\n\tS extends string = StatusItemStatus,\n> {\n\tcomplete: boolean;\n\tid: string; // immutable\n\t/** unknown data */\n\tdata?: D;\n\terror?: string;\n\tmissing?: boolean;\n\tpreview?: string;\n\tresumable: boolean;\n\t/** 0 - 100 */\n\tprogress: number;\n\tstatus: S; // TODO: define a base set of statuses\n\t/** generic tasks */\n\ttasks: string[]; // = observable.array([], {deep: false});\n\t/** the total number of tasks */\n\ttotalTasks: number;\n\tpaused: boolean;\n\n\t// computed (unsettable)\n\tcanPause: boolean;\n\tcanRemove: boolean;\n\tcanResume: boolean;\n\tlabel: string;\n\tseverity: Severity;\n\tviable: boolean;\n}\n\nexport type StatusItemInitProps<\n\tD extends object = object,\n\tS extends string = StatusItemStatus,\n> = Optional<\n\tOmit<\n\t\tIStatusItem,\n\t\t'canPause' | 'canRemove' | 'canResume' | 'label' | 'severity' | 'viable'\n\t>,\n\t| 'data'\n\t| 'tasks'\n\t| 'totalTasks'\n\t| 'paused'\n\t| 'progress'\n\t| 'resumable'\n\t| 'status'\n\t| 'complete'\n>;\n\nexport class StatusItem<\n\tD extends object = object,\n\tS extends string = StatusItemStatus,\n> implements IStatusItem\n{\n\tid: string; // immutable\n\t/** unknown data */\n\tdata: D = observable.object({} as D);\n\terror?: string;\n\tpreview?: string;\n\tpaused = false;\n\t/** 0 - 100 */\n\tprogress = 0;\n\tresumable = true;\n\tstatus: S = StatusItemStatus.PENDING as S;\n\t/** generic tasks */\n\ttasks = observable.array([], {deep: false});\n\t/** the total number of tasks */\n\ttotalTasks = 0;\n\tcomplete = false;\n\tmissing = false;\n\n\t/** can item be paused */\n\tget canPause() {\n\t\treturn !this.paused && this.viable;\n\t}\n\n\tget canRemove() {\n\t\treturn true;\n\t}\n\n\t/** can item be resumed */\n\tget canResume() {\n\t\treturn this.paused && this.viable;\n\t}\n\n\tget label(): string {\n\t\treturn this.getStatusLabel(this.status);\n\t}\n\n\tget severity() {\n\t\tif (this.missing) return Severity.WARNING;\n\t\tif (this.error) return Severity.ERROR;\n\t\tif (this.complete) return Severity.SUCCESS;\n\t\treturn Severity.PRIMARY;\n\t}\n\n\tget viable() {\n\t\treturn !this.complete && this.resumable && !this.missing;\n\t}\n\n\tconstructor(props: StatusItemInitProps) {\n\t\tthis.id = props.id;\n\t\tObject.assign(this.data, props.data);\n\t\tthis.error = props.error;\n\t\tthis.complete = props.complete === true;\n\t\tthis.missing = props.missing === true;\n\t\tthis.paused = props.paused === true;\n\t\tthis.progress = props.progress || 0;\n\t\tthis.preview = props.preview;\n\t\tthis.resumable = props.resumable !== false;\n\t\tthis.status = props.status || this.status;\n\t\tthis.totalTasks = props.totalTasks || 0;\n\t\tthis.tasks.replace(props.tasks || []);\n\n\t\tmakeObservable(this, {\n\t\t\tcanPause: computed,\n\t\t\tcanRemove: computed,\n\t\t\tcanResume: computed,\n\t\t\tcomplete: observable,\n\t\t\tdata: observable,\n\t\t\terror: observable,\n\t\t\tlabel: computed,\n\t\t\tmissing: observable,\n\t\t\tpaused: observable,\n\t\t\tprogress: observable,\n\t\t\tresetError: action,\n\t\t\tresetProgress: action,\n\t\t\tresumable: observable,\n\t\t\tresume: action,\n\t\t\tsetComplete: action,\n\t\t\tsetData: action,\n\t\t\tsetError: action,\n\t\t\tsetMissing: action,\n\t\t\tsetPaused: action,\n\t\t\tsetPreview: action,\n\t\t\tsetProgress: action,\n\t\t\tsetStatus: action,\n\t\t\tseverity: computed,\n\t\t\tstatus: observable,\n\t\t\ttasks: observable,\n\t\t\ttogglePause: action,\n\t\t\ttotalTasks: observable,\n\t\t\tviable: computed,\n\t\t});\n\t}\n\n\tisInStatuses(statuses: S[]) {\n\t\treturn statuses.includes(this.status);\n\t}\n\n\tnotInStatuses(statuses: S[]) {\n\t\treturn !this.isInStatuses(statuses);\n\t}\n\n\tresume() {\n\t\treturn this.setPaused(false);\n\t}\n\n\tgetStatusLabel(status?: S) {\n\t\tif (status == null) return '';\n\t\treturn status;\n\t}\n\n\t/** get human readbale task label */\n\tgetTaskLabel(task?: string) {\n\t\treturn task;\n\t}\n\n\t/** update data */\n\tsetData(data: Partial | ((data: D) => Partial)) {\n\t\tObject.assign(\n\t\t\tthis.data,\n\t\t\ttypeof data === 'function' ? data(this.data) : data,\n\t\t);\n\t}\n\n\t/** clear error */\n\tresetError() {\n\t\tthis.resumable = true;\n\t\tthis.error = undefined;\n\t}\n\n\t/** reset progress */\n\tresetProgress() {\n\t\tthis.progress = 0;\n\t\tthis.setTasks([]);\n\t\tthis.totalTasks = 0;\n\t}\n\n\tsetComplete(complete: boolean) {\n\t\tthis.complete = complete;\n\t\tthis.setTasks([]);\n\t\tthis.setProgress(100);\n\t}\n\n\tsetError(\n\t\terror: string,\n\t\topts: {\n\t\t\trecoverable?: boolean;\n\t\t\tstatus?: S;\n\t\t} = {},\n\t) {\n\t\tconst {recoverable, status} = opts;\n\n\t\tthis.error = error;\n\t\tthis.resumable = recoverable === true;\n\t\tif (!recoverable) this.setComplete(true);\n\t\tthis.resetProgress();\n\t\tstatus != null && this.setStatus(status);\n\t}\n\n\tsetMissing(missing: boolean) {\n\t\tthis.missing = missing;\n\t\tif (missing) this.paused = true;\n\t}\n\n\t/**\n\t * Set paused\n\t * @param paused\n\t * @returns Whether the item was affected\n\t */\n\tsetPaused(paused: boolean) {\n\t\tif (paused && !this.canPause) return false;\n\t\tif (!paused && !this.canResume) return false;\n\n\t\tthis.paused = paused;\n\t\treturn true;\n\t}\n\n\tsetProgress(progress: number) {\n\t\tthis.progress = progress;\n\t}\n\n\tsetPreview(preview?: string) {\n\t\tthis.preview = preview;\n\t}\n\n\tsetStatus(status: S | ((status: S) => S)) {\n\t\tthis.status = typeof status === 'function' ? status(this.status) : status;\n\t}\n\n\tsetTasks(tasks: string[], totalTasks?: number) {\n\t\tthis.tasks.replace(tasks);\n\t\tthis.totalTasks = totalTasks != null ? totalTasks : tasks.length;\n\t}\n\n\ttogglePause() {\n\t\treturn this.setPaused(!this.paused);\n\t}\n\n\ttoJson() {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\tdata: this.data ? JSON.parse(JSON.stringify(this.data)) : null,\n\t\t\terror: this.error || null,\n\t\t\tpaused: this.paused === true,\n\t\t\tprogress: this.progress,\n\t\t\tpreview: this.preview || null,\n\t\t\tstatus: (this.status as string) || null,\n\t\t\ttotalTasks: this.totalTasks,\n\t\t\ttasks: [...this.tasks],\n\t\t};\n\t}\n\n\tdispose() {}\n}\n\nexport default StatusItem;\n","import {makeObservable, action, observable, computed} from 'mobx';\n\nimport {StatusItem, StatusItemStatus} from './StatusItem';\n\nexport interface StatusItemStoreParams<\n\tD extends object = object,\n\tS extends string = StatusItemStatus,\n\tT extends StatusItem = StatusItem,\n> {}\n\nexport const normalizeStatusItemsOrIds = <\n\tD extends object = object,\n\tS extends string = StatusItemStatus,\n\tT extends StatusItem = StatusItem,\n>(\n\titemsOrIds: T | T['id'] | Array,\n): Array => {\n\treturn Array.isArray(itemsOrIds) ? itemsOrIds : [itemsOrIds];\n};\n\nexport class StatusItemStore<\n\tD extends object = object,\n\tS extends string = StatusItemStatus,\n\tT extends StatusItem = StatusItem,\n> {\n\t// ItemClass: new (...args: ConstructorParameters) => T;// = StatusItem as unknown as T;\n\n\tprotected disposers: Array<() => void> = [];\n\titems = observable.array([], {deep: true});\n\n\tget itemIdsInProgress() {\n\t\treturn this.items.filter(({complete}) => !complete).map((item) => item.id);\n\t}\n\n\tget viableItems() {\n\t\treturn this.items.filter(({viable}) => viable);\n\t}\n\tget viableItemCount() {\n\t\treturn this.viableItems.length;\n\t}\n\tget hasViableItems() {\n\t\treturn !this.viableItemCount;\n\t}\n\n\t//////////////////////////////////////////////////////////\n\t// ACTIVE/INACTIVE/COMPLETED COMPUTES\n\t//////////////////////////////////////////////////////////\n\t/** items that could be marked as completed at some point still in the future */\n\tget activeItems() {\n\t\treturn this.items.filter((item) => !item.paused && item.viable);\n\t}\n\tget activeCount() {\n\t\treturn this.activeItems.length;\n\t}\n\tget hasActiveItems() {\n\t\treturn this.activeCount > 0;\n\t}\n\n\t/** items that are completed */\n\tget completedCount() {\n\t\treturn this.completedItems.length;\n\t}\n\tget completedItems() {\n\t\treturn this.getByCompleted(true);\n\t}\n\tget hasCompletedItems() {\n\t\treturn this.completedCount > 0;\n\t}\n\t//////////////////////////////////////////////////////////\n\t// !ACTIVE/INACTIVE/COMPLETED COMPUTES\n\t//////////////////////////////////////////////////////////\n\n\tget missingCount() {\n\t\treturn this.missingItems.length;\n\t}\n\n\tget hasMissingItems() {\n\t\treturn this.missingCount > 0;\n\t}\n\n\tget missingItems() {\n\t\treturn this.items.filter((item) => item.missing);\n\t}\n\n\t//////////////////////////////////////////////////////////\n\t// PAUSE COMPUTES\n\t//////////////////////////////////////////////////////////\n\tget pausableItems() {\n\t\treturn this.items.filter(({canPause}) => canPause);\n\t}\n\tget pausableCount() {\n\t\treturn this.pausableItems.length;\n\t}\n\tget hasPausableItems() {\n\t\treturn this.pausableCount > 0;\n\t}\n\n\tget pausedItems() {\n\t\treturn this.getByPaused(true);\n\t}\n\tget pausedCount() {\n\t\treturn this.pausedItems.length;\n\t}\n\tget hasPausedItems() {\n\t\treturn this.pausedCount > 0;\n\t}\n\tget allItemsArePaused() {\n\t\treturn (\n\t\t\tthis.pausedCount + this.missingCount >= this.total - this.completedCount\n\t\t);\n\t}\n\t//////////////////////////////////////////////////////////\n\t// !PAUSE COMPUTES\n\t//////////////////////////////////////////////////////////\n\n\t//////////////////////////////////////////////////////////\n\t// PROGRESS COMPUTES\n\t//////////////////////////////////////////////////////////\n\tget itemsInProgressCount() {\n\t\treturn this.itemIdsInProgress.length;\n\t}\n\n\tget itemsInProgress() {\n\t\treturn !!this.itemsInProgressCount;\n\t}\n\n\tget inProgress() {\n\t\treturn !!this.itemsInProgressCount && this.progress !== 100;\n\t}\n\n\tget progress() {\n\t\tconst items = this.items;\n\t\tconst totalInProgress = items.length;\n\n\t\tconst totalProgress = !this.itemsInProgressCount\n\t\t\t? 100\n\t\t\t: items.reduce((accum, file) => accum + file.progress, 0);\n\n\t\tconst progress = Math.floor(\n\t\t\t(totalProgress / (totalInProgress * 100)) * 100,\n\t\t);\n\n\t\treturn isNaN(progress) ? 0 : progress;\n\t}\n\t//////////////////////////////////////////////////////////\n\t// !PROGRESS COMPUTES\n\t//////////////////////////////////////////////////////////\n\n\tget total() {\n\t\treturn this.items.length;\n\t}\n\n\tget isEmpty() {\n\t\treturn !this.total;\n\t}\n\n\tconstructor(opts: StatusItemStoreParams = {}) {\n\t\tmakeObservable(\n\t\t\tthis,\n\t\t\t{\n\t\t\t\tactiveCount: computed,\n\t\t\t\tactiveItems: computed,\n\t\t\t\tallItemsArePaused: computed,\n\t\t\t\taddItems: action,\n\t\t\t\tcompletedCount: computed,\n\t\t\t\tcompletedItems: computed,\n\t\t\t\thasActiveItems: computed,\n\t\t\t\thasCompletedItems: computed,\n\t\t\t\thasMissingItems: computed,\n\t\t\t\thasPausableItems: computed,\n\t\t\t\thasPausedItems: computed,\n\t\t\t\thasViableItems: computed,\n\t\t\t\tinProgress: computed,\n\t\t\t\tisEmpty: computed,\n\t\t\t\titemsInProgress: computed,\n\t\t\t\titemsInProgressCount: computed,\n\t\t\t\titemIdsInProgress: computed,\n\t\t\t\titems: observable,\n\t\t\t\tmissingCount: computed,\n\t\t\t\tmissingItems: computed,\n\t\t\t\tprogress: computed,\n\t\t\t\tpausableCount: computed,\n\t\t\t\tpausableItems: computed,\n\t\t\t\tpauseAll: action,\n\t\t\t\tpausedCount: computed,\n\t\t\t\tpausedItems: computed,\n\t\t\t\tremoveItems: action,\n\t\t\t\tremovePaused: action,\n\t\t\t\tresumeAll: action,\n\t\t\t\tresumeItems: action,\n\t\t\t\tsetComplete: action,\n\t\t\t\tsetItems: action,\n\t\t\t\ttotal: computed,\n\t\t\t\tviableItems: computed,\n\t\t\t\tviableItemCount: computed,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdeep: true,\n\t\t\t},\n\t\t);\n\t}\n\n\t/** get item by id */\n\tgetById(id?: T['id']) {\n\t\treturn id != null ? this.items.find(({id: _id}) => _id === id) : undefined;\n\t}\n\n\t/** get item index by id */\n\tgetIndexById(id?: T['id']) {\n\t\treturn id != null ? this.items.findIndex(({id: _id}) => _id === id) : -1;\n\t}\n\n\tgetByCompleted(completed: boolean) {\n\t\treturn this.items.filter(({complete}) => completed === complete);\n\t}\n\n\tgetByStatus(status: S) {\n\t\treturn this.items.filter(({status: _status}) => _status === status);\n\t}\n\n\tgetByPaused(paused: boolean) {\n\t\treturn this.items.filter(\n\t\t\t({paused: _paused, missing}) => _paused === paused && !missing,\n\t\t);\n\t}\n\n\tgetByInStatuses(statuses: S[]) {\n\t\treturn this.items.filter((item) => item.isInStatuses(statuses));\n\t}\n\n\tgetByNotInStatuses(statuses: S[]) {\n\t\treturn this.items.filter((item) => item.notInStatuses(statuses));\n\t}\n\n\t/** add item(s) */\n\taddItems(items: T | T[], toBeginning = false) {\n\t\titems = Array.isArray(items) ? items : [items];\n\t\ttoBeginning ? this.items.unshift(...items) : this.items.push(...items);\n\t\treturn items;\n\t}\n\n\t/**\n\t * pause all items\n\t * @returns Paused items\n\t */\n\tpauseAll() {\n\t\treturn this.pauseItems(this.items);\n\t}\n\n\t/**\n\t * pause item(s)\n\t * itemsOrIds Items to pause (can be item instance or id)\n\t * @returns Paused items\n\t */\n\tpauseItems(itemsOrIds: T | T['id'] | T[] | T['id'][]) {\n\t\treturn normalizeStatusItemsOrIds(itemsOrIds).reduce(\n\t\t\t(accum, itemOrId) => {\n\t\t\t\tconst item =\n\t\t\t\t\ttypeof itemOrId === 'string' ? this.getById(itemOrId) : itemOrId;\n\t\t\t\tif (!item?.setPaused(true)) return accum;\n\t\t\t\treturn [...accum, item];\n\t\t\t},\n\t\t\t[],\n\t\t);\n\t}\n\n\t/**\n\t * remove `inactive` items\n\t * @returns Removed items\n\t */\n\tremoveInactive() {\n\t\treturn this.removeItems(this.completedItems);\n\t}\n\n\t/**\n\t * remove `missing` items (files)\n\t * @returns Removed items\n\t */\n\tremoveMissing() {\n\t\treturn this.removeItems(this.missingItems);\n\t}\n\n\t/**\n\t * remove item(s)\n\t * itemsOrIds Items to remove (can be item instance or id)\n\t * @returns Removed items\n\t */\n\tremoveItems(itemsOrIds: T | T['id'] | Array) {\n\t\treturn normalizeStatusItemsOrIds(itemsOrIds).reduce(\n\t\t\t(accum, itemOrId) => {\n\t\t\t\tconst item =\n\t\t\t\t\ttypeof itemOrId === 'string' ? this.getById(itemOrId) : itemOrId;\n\t\t\t\tif (item && this.items.remove(item)) {\n\t\t\t\t\titem.dispose();\n\t\t\t\t\treturn [...accum, item];\n\t\t\t\t}\n\t\t\t\treturn accum;\n\t\t\t},\n\t\t\t[],\n\t\t);\n\t}\n\n\tremoveItemsByStatus(status: S) {\n\t\treturn this.removeItems(this.getByStatus(status));\n\t}\n\n\tremovePaused() {\n\t\treturn this.removeItems(this.getByPaused(true));\n\t}\n\n\t/** resume all items */\n\tresumeAll() {\n\t\treturn this.resumeItems(this.items);\n\t}\n\n\tresumeItems(items: T | T['id'] | Array) {\n\t\treturn normalizeStatusItemsOrIds(items).reduce(\n\t\t\t(accum, itemOrId) => {\n\t\t\t\tconst item =\n\t\t\t\t\ttypeof itemOrId === 'string' ? this.getById(itemOrId) : itemOrId;\n\t\t\t\treturn item?.setPaused(false) ? [...accum, item] : accum;\n\t\t\t},\n\t\t\t[],\n\t\t);\n\t}\n\n\tsetComplete(items: T | T['id'] | Array, completed: boolean) {\n\t\tnormalizeStatusItemsOrIds(items).forEach((itemOrId) => {\n\t\t\tconst item =\n\t\t\t\ttypeof itemOrId === 'string' ? this.getById(itemOrId) : itemOrId;\n\t\t\titem?.setComplete(completed);\n\t\t});\n\t}\n\n\t/** replace items */\n\tsetItems(items: T[]) {\n\t\tthis.removeItems([...this.items]);\n\t\tthis.addItems(items);\n\t}\n\n\t/** set status for multiple items */\n\tsetItemsStatus(itemsOrIds: T | T['id'] | Array, status: S) {\n\t\tnormalizeStatusItemsOrIds(itemsOrIds).forEach((itemOrId) => {\n\t\t\t(typeof itemOrId === 'string'\n\t\t\t\t? this.getById(itemOrId)\n\t\t\t\t: itemOrId\n\t\t\t)?.setStatus(status);\n\t\t});\n\t}\n\n\t/** toggle item's paused state */\n\t// TODO: rename toggleItemPause\n\ttoggleItemPause(id: string) {\n\t\tconst item = this.getById(id);\n\t\tif (!item) return;\n\t\tif (item.canPause) {\n\t\t\tthis.pauseItems(item);\n\t\t\treturn true;\n\t\t}\n\t\tthis.resumeItems(item);\n\t\treturn false;\n\t}\n\n\ttoJson() {\n\t\treturn this.items.map((item) => item.toJson());\n\t}\n\n\t/** cleanup */\n\tdispose() {\n\t\tthis.items.forEach((item) => item.dispose());\n\t\t// this.items.clear();\n\t\tthis.disposers.forEach((disposer) => disposer());\n\t}\n}\n\nexport default StatusItemStore;\n","import window from 'global/window';\n\n/*******\n * The following logic builds the Netx.URL object\n * which contains all relevant path information\n * such as host, protocol, query string, base, api\n * endpoint, etc.\n */\n\nexport const apiVersion = `v1.2`;\nexport const apiEndpoint = `/x7/${apiVersion}/json`;\n\nconst host: string = window.location.host;\nconst location: string = window.location.href.toString();\nconst protocol: string = location.split(host)[0];\nconst queryString = location.split(host)[1];\nconst baseDir: string = window.location.pathname;\nconst base = protocol + host + baseDir;\n\nexport const themeName = baseDir.match(/\\/portals\\/(.*)\\//)?.[1] || 'netx';\n\nconst api = protocol + host + apiEndpoint;\nconst proxyApiEndpoint = '/core/proxy/';\nconst proxyApi = protocol + host + proxyApiEndpoint;\n\nconst uploadEndpoint = '/servlet/FileUploader';\nconst upload = protocol + host + uploadEndpoint;\nconst uploads3Endpoint = `${protocol}${host}/`;\n\n/** Asset retrieval servlet (for zoom) */\nconst assetEndpoint = '/file/asset';\nconst asset = protocol + host + assetEndpoint;\n\nconst assetFileApiEndpoint = `${protocol}${host}/api/file/asset/`;\n\n// Branding\n// Login background (only for netx theme currently)\nconst loginBackgroundEndpoint = '/theme/netx/background';\nconst loginBackground = protocol + host + loginBackgroundEndpoint;\n\nconst watermarkEndpoint = `/theme/${themeName}/watermark`;\nconst watermark = `${protocol}${host}${watermarkEndpoint}`;\n\n// CSS Properties (vars)\nconst customCssPropertiesEndpoint = `/theme/${themeName}/cssCustomProperties`;\nconst customCssProperties = protocol + host + customCssPropertiesEndpoint;\n\n// Logos (only for netx theme currently)\nconst logoLightEndpoint = '/theme/netx/logo-light';\nconst logoDarkEndpoint = '/theme/netx/logo-dark';\nconst logoLight = protocol + host + logoLightEndpoint;\nconst logoDark = protocol + host + logoDarkEndpoint;\n\n// This is to holdover portal until both `netx` and `portal` use the same branding mechanism\nconst themeLogo = themeName !== 'netx' ? `/theme/${themeName}/logo` : '';\n\n/**\n * Common URLs\n */\nexport const URL = {\n\tapi,\n\tasset,\n\tassetEndpoint,\n\tassetFileApiEndpoint,\n\tbase,\n\tbaseDir,\n\tcustomCssProperties,\n\tcustomCssPropertiesEndpoint,\n\thost,\n\tlocation,\n\tloginBackground,\n\tloginBackgroundEndpoint,\n\tlogoDarkEndpoint,\n\tlogoDark,\n\tlogoLightEndpoint,\n\tlogoLight,\n\tprotocol,\n\tproxyApi,\n\tproxyApiEndpoint,\n\tqueryString,\n\tthemeLogo,\n\tupload,\n\tuploadEndpoint,\n\tuploads3Endpoint,\n\twatermark,\n\twatermarkEndpoint,\n};\n\nexport default URL;\n","import type {ReactAction} from '@netx/core/bootstrap';\nimport {i18nLocaleCompare} from '../../locales/utils';\n\n/**\n * Provided a list of actions, this function will return an array of actions\n * that are ordered by their `order` property. If `disableSort` is true, the\n * actions will not be sorted by their `label`.\n * @param actions Actions\n * @param disableSort Disable sort\n * @returns Ordered actions\n *\n * @example\n * ```ts\n * const orderedActions = actionsToOrderedActions(actions);\n * ```\n */\nexport const actionsToOrderedActions = (\n\tactions: ReactAction[],\n\tdisableSort?: boolean,\n): Array => {\n\tconst groups = actions\n\t\t// Group actions by their `group` property\n\t\t.reduce((groups, action) => {\n\t\t\tconst group = Math.max(action.group ?? 0, 0);\n\t\t\t// Create a new group if it does not exist\n\t\t\tconst actionGroup = (groups[group] = groups[group] ?? []);\n\t\t\t// Add the action to the group\n\t\t\tactionGroup.push(action);\n\t\t\treturn groups;\n\t\t}, [])\n\t\t// Remove empty groups\n\t\t.filter(Boolean)\n\t\t// Sort actions within each group\n\t\t.map((actionGroup) => {\n\t\t\t// if `disableSort` is true, do not sort the actions by their `label`\n\t\t\tif (!disableSort) {\n\t\t\t\tactionGroup.sort((a, b) => i18nLocaleCompare(a.label, b.label));\n\t\t\t}\n\n\t\t\t// Split the actions into two arrays: ordered and unordered\n\t\t\tconst {ordered, unordered} = actionGroup.reduce(\n\t\t\t\t({ordered, unordered}, action) => ({\n\t\t\t\t\tordered: action.order != null ? [...ordered, action] : ordered,\n\t\t\t\t\tunordered: action.order == null ? [...unordered, action] : unordered,\n\t\t\t\t}),\n\t\t\t\t{\n\t\t\t\t\tordered: [] as ReactAction[],\n\t\t\t\t\tunordered: [] as ReactAction[],\n\t\t\t\t},\n\t\t\t);\n\n\t\t\t// Sort the ordered actions by their `order` property\n\t\t\t// and return the ordered actions followed by the unordered actions\n\t\t\treturn [\n\t\t\t\t...ordered.sort((a, b) => (a.order ?? 0) - (b.order ?? 0)),\n\t\t\t\t...unordered,\n\t\t\t];\n\t\t});\n\n\t// If there is only one group, unwrap and simply return the group\n\treturn groups.length === 1 ? groups[0] : groups;\n};\n","import type {ReactAction} from '@netx/core/bootstrap';\nimport {actionsToOrderedActions} from '@netx/core-next/utils/actions';\n\nexport type ParseActionsParams = {\n\tactions: ReactAction[];\n\targs?: any[];\n\tsort?: boolean;\n\torder?: boolean;\n\tomit?: string[];\n\tpick?: string[];\n};\n\nexport const parseActions = ({\n\tactions,\n\targs,\n\torder = true,\n\tomit,\n\tpick,\n\tsort = true,\n}: ParseActionsParams): Array => {\n\tconst filtered = actions.filter((action) => {\n\t\tif (omit?.includes(action.name)) return false;\n\t\tif (pick && !pick.includes(action.name)) return false;\n\t\tif (\n\t\t\taction.enableTest &&\n\t\t\taction.enableTest.apply(action.enableTest, args ?? []) === false\n\t\t)\n\t\t\treturn false;\n\t\treturn true;\n\t});\n\n\tconst parsed = filtered.reduce((acc, action) => {\n\t\tif (action.children?.length) {\n\t\t\tconst children = parseActions({\n\t\t\t\tactions: action.children,\n\t\t\t\targs,\n\t\t\t\torder,\n\t\t\t\tomit,\n\t\t\t\tpick,\n\t\t\t});\n\t\t\treturn !children.flat().length\n\t\t\t\t? acc\n\t\t\t\t: [\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...action,\n\t\t\t\t\t\t\tchildren: children as any,\n\t\t\t\t\t\t},\n\t\t\t\t ];\n\t\t}\n\t\treturn [...acc, action];\n\t}, []);\n\n\treturn order ? actionsToOrderedActions(parsed, sort === false) : parsed;\n};\n","import type {ReactAction} from '@netx/core/bootstrap';\n\n/**\n * Flatten children into the main actions array\n * @example\n * action 1\n * - action 1.1\n * - action 1.2\n * - action 1.2.1\n * - action 1.2.2\n * - action 1.3\n *\n * // ->\n *\n * action 1\n * action 1.1\n * action 1.2\n * action 1.2.1\n * action 1.2.2\n * action 1.3\n */\nexport const unwrapActionChildren = (\n\tactions: Array,\n\tdepth = 0,\n): Array => {\n\treturn actions.reduce>((accum, action) => {\n\t\tif (Array.isArray(action))\n\t\t\treturn [...accum, ...unwrapActionChildren(action)];\n\t\tconst {children, ...rest} = action;\n\t\tconst hasChildren = !!children?.length;\n\t\treturn [\n\t\t\t...accum,\n\t\t\t{...rest, depth, proxy: hasChildren},\n\t\t\t...(hasChildren ? unwrapActionChildren(children, depth + 1) : []),\n\t\t];\n\t}, []);\n};\n","/**\n * Convert an array to a CSV string\n * @param array Array to convert\n * @param spaces Add spaces after commas\n * @returns CSV string\n *\n * @example\n * ```ts\n * const csv = arrayToCsv(['a', 'b', 'c']); // \"a\",\"b\",\"c\"\n * ```\n */\nexport const arrayToCsv = (\n\tarray?: string | (number | string)[],\n\tspaces?: boolean,\n) => {\n\tif (typeof array === 'string') return array;\n\tif (!array || !Array.isArray(array)) return '';\n\treturn array.map((v) => `\"${v}\"`).join(`,${spaces ? ' ' : ''}`);\n};\n\nexport default arrayToCsv;\n","/**\n * Util to convert from the DAM's quoted-csv format for multiselects to a normal array\n * @param csv CSV string to convert\n * @param sep Separator\n * @returns Array\n *\n * @example\n * ```ts\n * const array = csvToArray('a,b,c'); // ['a', 'b', 'c']\n * ```\n */\nexport const csvToArray = (csv?: string[] | string, sep = ',') => {\n\tif (!csv) return [];\n\tif (Array.isArray(csv)) return csv;\n\n\t// the server will not wrap values in additional quotes if there is only 1 value\n\t// if we parse that one value we may end up splitting a value that contains commas\n\t// so, if we start with a \" and end with a \"\n\t// single value example string: \"Half sunk a shattered visage lies, whose frown,\"\n\t// multiple value example string: \"\\\"Who said—“Two vast and trunkless legs of stone\\\",\\\"\\\"I met a traveller from an antique land,\\\"\"\n\tif (csv.slice(0, 1) !== '\"' && csv.slice(-1) !== '\"') {\n\t\treturn [csv];\n\t}\n\n\t// https://greywyvern.com/?post=258\n\tfor (\n\t\t// eslint-disable-next-line no-var\n\t\tvar foo = csv.split((sep = sep || ',')), x = foo.length - 1, tl;\n\t\tx >= 0;\n\t\tx--\n\t) {\n\t\tif (foo[x].replace(/\"\\s+$/, '\"').charAt(foo[x].length - 1) == '\"') {\n\t\t\tif (\n\t\t\t\t(tl = foo[x].replace(/^\\s+\"/, '\"')).length > 1 &&\n\t\t\t\ttl.charAt(0) == '\"'\n\t\t\t) {\n\t\t\t\tfoo[x] = foo[x].replace(/^\\s*\"|\"\\s*$/g, '').replace(/\"\"/g, '\"');\n\t\t\t} else if (x) {\n\t\t\t\tfoo.splice(x - 1, 2, [foo[x - 1], foo[x]].join(sep));\n\t\t\t} else foo = foo.shift()?.split(sep).concat(foo) || [''];\n\t\t} else foo[x].replace(/\"\"/g, '\"');\n\t}\n\treturn foo\n\t\t.map((f) => f.replace(/\\\\'/g, \"'\"))\n\t\t.filter((f) => f != null && f !== '');\n};\n\nexport default csvToArray;\n","export const isFirefox = () =>\n\tnavigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n","/**\n * Simulate click event on body\n */\nexport const simulateClickBody = () => {\n\tconst evt = new MouseEvent('click', {\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t\tview: window,\n\t});\n\tconst canceled = !document.body.dispatchEvent(evt);\n};\n","/**\n * Spawn a new window with the given URL\n * @param url URL\n * @returns Window object\n *\n * @example\n * ```ts\n * const newWindow = spawnNewWindow('https://example.com');\n * ```\n */\nexport const spawnNewWindow = (url: string) => {\n\t// it is what it is\n\t// eslint-disable-next-line security/detect-non-literal-fs-filename\n\treturn window.open(url, '_blank');\n};\n","// whatever we want to test here for touch devices\nconst isTouchDevice = () => window.matchMedia('(pointer: coarse)').matches;\nimport Modernizr from 'core-libs/modernizr/modernizr';\n\n/**\n * Is this a touch device and smaller than mobile-breakpoint-max?\n * @param testTouch Inlcude testing for touch\n * @return Is mobile\n */\nexport const isMobile = (testTocuh = true) =>\n\t(!testTocuh || (Modernizr as any).touch) && window.innerWidth < 767;\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Fn = (...args: any[]) => void;\n\n/**\n * Function splitter for event handlers.\n *\n * @typeParam F - Function type (infered)\n *\n * @param fns Functions to split\n * @returns A function that calls all the provided functions with the same arguments\n *\n * @example\n * ```tsx\n * \n * ```\n */\nexport const splitEventHandler =\n\t(...fns: Array) =>\n\t(...args: Parameters) =>\n\t\tfns.forEach((fn) => fn?.(...args));\n","const isOverflownHorizontal = (element: Element) => {\n\treturn element.clientWidth < element.scrollWidth;\n};\n\nconst isOverflownVertical = (element: Element) => {\n\treturn element.clientHeight < element.scrollHeight;\n};\n\n/**\n * Check if an element is overflown\n * @param element The element to check\n * @param direction The direction(s) to check\n * @returns `true` if the element is overflown\n *\n * @example\n * ```ts\n * isElementOverflown(document.body, 'vertical');\n * ```\n */\nexport const isElementOverflown = (\n\telement?: Element | null,\n\tdirection: 'vertical' | 'horizontal' | 'both' | 'either' = 'vertical',\n) => {\n\tif (!element) return false;\n\n\treturn direction === 'horizontal'\n\t\t? isOverflownHorizontal(element)\n\t\t: direction === 'vertical'\n\t\t? isOverflownVertical(element)\n\t\t: direction === 'either'\n\t\t? isOverflownHorizontal(element) || isOverflownVertical(element)\n\t\t: isOverflownHorizontal(element) && isOverflownVertical(element);\n};\n","/**\n * Provided a children prop and a set of props, this function will\n * return the children prop if it is a ReactNode, or call the children\n * prop with the provided props if it is a function.\\\n * Useful for context providers.\n *\n * @typeParam P - The props type (infered)\n * @typeParam C - The children type (infered)\n *\n * @param children ReactNode or function that returns a ReactNode\n * @param props Props to pass to the children function\n * @returns ReactNode\n *\n * @example\n * const StuffProvider = (\n * \t{children, ...props}: ProviderProps,\n * \tref: ProviderRef,\n * ) => {\n * \tconst stuff\t= useStuff(props);\n * \tuseImperativeHandle(ref, () => stuff, [stuff]);\n * \treturn (\n * \t\t\n * \t\t\t{renderChildrenOrChildrenFunction(children, stuff)}\n * \t\t\n * \t);\n * };\n */\nexport const renderChildrenOrChildrenFunction = <\n\tP extends {},\n\tC extends React.ReactNode | ((props: P) => React.ReactNode),\n>(\n\tchildren: C,\n\tprops: P,\n): React.ReactNode =>\n\ttypeof children === 'function' ? children(props) : children;\n\nexport default renderChildrenOrChildrenFunction;\n","import window from 'global/window';\n\nimport {getPrefixedLogger} from '@netx/core-next/instance/logger';\nconst logger = getPrefixedLogger('core/utils/setGlobal');\n\n/**\n * We have a global namespace issue in our app.\\\n * With old backbone code we have a lot of circular dependencies that are only\n * resolved by using a global namespace at the moment. There is also just a lot\n * of old code expecting to find things in the global namespace.\\\n * Rather than have all of that code just use `window.Netx` directly, we can\n * use this function to set the global namespace in a more controlled way - while\n * also logging its usage.\n * @param object An object or an function that returns an object to add to the global namespace\n *\n * @example\n * // adding to/overriding on the global namespace\n * setGlobal({\n * \tcms: {\n * \t\tportal: 'foo',\n * \t}\n * }); // accessible at Netx.cms\n *\n * @example\n * // merging with an existing object\n * setGlobal((Netx) => ({\n * \tcms: {\n * \t\t...Netx.cms,\n * \t\tportal: 'foo',\n *\t},\n * }));\n */\nexport const setGlobal = (object: Object | ((object: Object) => Object)) => {\n\t// the netx global object may not have been setup yet\n\tconst Netx = (window.Netx = window.Netx || {});\n\tconst obj = typeof object === 'function' ? object(Netx) : object;\n\tlogger.silly('adding to `Netx` namespace >', Object.keys(obj).join(', '));\n\tObject.assign(Netx, obj);\n};\n\nexport default setGlobal;\n","import {UNCHANGED_PASSWORD} from '@netx/core-auth-next/constants';\nimport type {NewUserProfile} from './types';\n\nexport enum UserPref {\n\tSESSION_DURATION = 'user.sessionDuration',\n}\n\nexport enum UserLevel {\n\tNO_ACCESS = 0,\n\tBROWSER = 1,\n\tCONSUMER = 2,\n\tIMPORTER = 3,\n\tPRODUCER = 4,\n\tMANAGER = 7,\n\tDIRECTOR = 8,\n\tADMIN = 9,\n}\n\nexport enum UserSource {\n\tINTERNAL = 0,\n\tLDAP = 1,\n\tSAML = 2,\n\tPING_ONE = 3,\n\tLIVE_CONNECT = 4,\n}\n\nexport enum UserPermission {\n\tREAD = 1,\n\tDOWNLOAD = 2,\n\tADD = 3,\n\tMODIFY = 5,\n\tDELETE = 7,\n\tALL = 9,\n}\n\nexport enum UserGroupItemType {\n\tGROUP = 'group',\n\tUSER = 'user',\n}\n\nexport enum UserImportOption {\n\tADD_NEW_USERS_ONLY = 1,\n\tUPDATE_EXISTING_USERS_ONLY = 2,\n\tADD_AND_UPDATE = 3,\n\tDELETE = 4,\n}\n\nexport const USER_DEFAULTS: NewUserProfile = {\n\taddress1: '',\n\taddress2: '',\n\tcity: '',\n\tcountry: '',\n\temail: '',\n\texpirationDate: '',\n\tgroupIds: [] as number[],\n\tgroupNames: [] as string[],\n\tlogin: '',\n\tname1: '',\n\tname2: '',\n\tname3: '',\n\tname4: '',\n\tnotify: 1,\n\torganization: '',\n\tpassword1: UNCHANGED_PASSWORD,\n\tpassword2: UNCHANGED_PASSWORD,\n\tphone1: '',\n\tphone2: '',\n\tphone3: '',\n\tphone4: 'NA',\n\tpropertyNames: [] as string[],\n\tpropertyValues: [] as string[],\n\tstate: 'NA',\n\ttype: 0,\n\tuserSource: 0,\n\tzip: '',\n};\n","import {userPrefs} from '@netx/core-user/collections/singletons/userPreferences';\n\nexport const getPreference = (\n\tkey: string,\n\tasBoolean?: Bool,\n) => {\n\treturn userPrefs[asBoolean ? 'isTrue' : 'getPreference'](\n\t\tkey,\n\t) as Bool extends true ? boolean : string | undefined;\n};\n\nexport default getPreference;\n","// https://stackoverflow.com/questions/49682569/typescript-merge-object-types\ntype OptionalPropertyNames = {\n\t[K in keyof T]-?: {} extends {[P in K]: T[K]} ? K : never;\n}[keyof T];\n\ntype SpreadProperties = {\n\t[P in K]: L[P] | Exclude;\n};\n\ntype Id = T extends infer U ? {[K in keyof U]: U[K]} : never;\n\ntype SpreadTwo = Id<\n\tPick> &\n\t\tPick>> &\n\t\tPick, keyof L>> &\n\t\tSpreadProperties & keyof L>\n>;\n\ntype Spread = A extends [infer L, ...infer R]\n\t? SpreadTwo>\n\t: unknown;\n\n/**\n * Deeply extends an object with another object\n * @param target The object to extend\n * @param source The object to extend with\n * @returns The extended object\n *\n * @example\n * ```ts\n * const obj1 = {a: 1, b: {c: 2}};\n * const obj2 = {b: {d: 3}};\n * const obj3 = deepObjectExtend(obj1, obj2); // {a: 1, b: {c: 2, d: 3}}\n * ```\n */\nexport const deepObjectExtend = <\n\tT extends Record,\n\tS extends Record,\n>(\n\ttarget: T,\n\tsource: S,\n): Spread<[T, S]> => {\n\tfor (const prop in source) {\n\t\tif (source.hasOwnProperty(prop)) {\n\t\t\tif (target[prop] && typeof source[prop] === 'object') {\n\t\t\t\tdeepObjectExtend(target[prop], source[prop]);\n\t\t\t} else {\n\t\t\t\ttarget[prop] = source[prop];\n\t\t\t}\n\t\t}\n\t}\n\treturn target as unknown as Spread<[T, S]>;\n};\n","import Base from '@netx/core/lib/netx-model';\nimport {i18n} from '@netx/core/i18n';\n\nimport assetCustomConfig from '@netx/core-asset/config';\n\nimport {deepObjectExtend} from '@netx/core-next/utils/object';\n\n/**\n * UserPrefs: Stores the user preferences returned by the server\n *\n * @class\n */\n// TODO: Parsing user prefs into a multi-level object delimited by dots\n// was an interesting exercise, but it's quite complicated, leads to a\n// non-standard interface, and doesn't actually deliver any benefits\n// over doing it the easy way.\n// (Hindsight: if we only had it sooner ...)\n// This code is tested & works & we should't mess with it for no reason,\n// but rather than ever fix or extend this approach, we should just replace\n// it with a very simple, generic Netx.Model where every property is a\n// seperate attribute, manipulated by get/set/save.\n//\n\nexport default class UserPrefs extends Base {\n\t/**\n\t * @type {Netx.Rpc}\n\t * @private\n\t */\n\tget rpc() {\n\t\treturn true;\n\t}\n\n\t/** @type {array} */\n\tget xhrTrackProgress() {\n\t\treturn ['getUserPreferences'];\n\t}\n\n\t/**\n\t * @type {object}\n\t */\n\tget xhrLoadingMessages() {\n\t\treturn {\n\t\t\tgetUserPreferences: 'Loading user preferences',\n\t\t};\n\t}\n\n\t/**\n\t * @type {object}\n\t */\n\tget xhrLoadedMessages() {\n\t\treturn {\n\t\t\tgetUserPreferences: 'Loaded user preferences',\n\t\t};\n\t}\n\n\t/**\n\t * All of our user prefs are in dot.syntax and then we parse with `_.lvbsToDeepObject` - to list them here would be exhaustive at the moment\n\t * Once we have cleaned up al lthe namespace issues in our naming, though laboring, would be very useful for our docs to describe each property\n\t * @property {object} defaults - The default attribute values\n\t * @property {array} defaults.attributeDisplay - The default attributes to display (used in asset list/card mode)\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\tattributeDisplay: [],\n\t\t};\n\t}\n\n\t/** @type {Array} */\n\tget clientAttrs() {\n\t\treturn ['attributeDisplay'];\n\t}\n\n\t/**\n\t * @property {object} methods - Model RPC methods\n\t * @property {method} methods.read - Fetch user preferences\n\t * @property {method} methods.saveUserPreferences - Save user preferences\n\t * @property {method} methods._setUserPreference - Save a single user preference\n\t */\n\tget methods() {\n\t\treturn {\n\t\t\t/** @method */\n\t\t\tread: ['getUserPreferences'],\n\t\t\t// NOTE: this is an id-less hash (not really an object) and as such, save/update/create\n\t\t\t// is not the correct route to go. instead see setUserPreferences() below.\n\t\t\t// NOTE: you can remove these harsh reminder methods as you see fit, :) -jon\n\t\t\tcreate: function () {\n\t\t\t\tconsole.error('no save/create on non-objects plz');\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tupdate: function () {\n\t\t\t\tconsole.error('no save/update on non-objects plz');\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\t/**\n\t\t\t * @method\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tsaveUserPreferences: function (opts) {\n\t\t\t\tif (\n\t\t\t\t\t!_.isUndefined(this.setUserPreferenceValues) &&\n\t\t\t\t\tthis.setUserPreferenceValues.length\n\t\t\t\t) {\n\t\t\t\t\treturn ['setUserPreferences', this.setUserPreferenceValues];\n\t\t\t\t} else {\n\t\t\t\t\treturn false; // do nothing at all.\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Set one preference on the server.\n\t\t\t * @param {string} pref Preference to set - Dot seperated preference key \"tagpanel.collection\" for nested values\n\t\t\t * @param {array|number|object|string} val Model attribute value\n\t\t\t * @param {object} opts sync/bRPC options\n\t\t\t * @todo I would call that setPreference(); setUserPreference should be renamed savePreference() or similar. - albert einstein\n\t\t\t * @see this.setPreferenceLocally\n\t\t\t */\n\t\t\t_setUserPreference: function (pref, val, opts) {\n\t\t\t\tthis.setPreferenceLocally(pref, val);\n\t\t\t\t// API call wants an LVB:\n\t\t\t\treturn ['setUserPreference', {label: pref, value: val}];\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * @property {object} parsers - Model RPC methods\n\t * @property {function} parsers.read - Parse fetch of user preferences\n\t * @property {function} parsers.saveUserPreferences - Save user preferences\n\t */\n\tget parsers() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * @function\n\t\t\t * @param {array} prefs User preferences (lvb)\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tread: function (prefs, opts) {\n\t\t\t\t// Java programmers don't have abstract, typeless objects & therefore must encode such things in arrays of LabelValueBeans.\n\t\t\t\treturn _.lvbsToDeepObject(prefs);\n\t\t\t},\n\t\t\t/**\n\t\t\t * @function\n\t\t\t * @param {null} response Null response\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tsaveUserPreferences: function (response, opts) {\n\t\t\t\tthis.setUserPreferenceValues = [];\n\t\t\t\tthis.trigger('saved');\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * @override\n\t * @param {object} attr Model attributes\n\t * @param {object} opts Model options\n\t * @listens module:system#system:property:edit:success\n\t */\n\tconstructor(attrs, opts = {}) {\n\t\tsuper(attrs, opts);\n\n\t\t/** @type {string} */\n\t\tthis.setUserPreferenceValue = opts.setUserPreferenceValue || '';\n\t\tthis.setUserPreferenceValues = opts.setUserPreferenceValues || [];\n\t\t/** @type {array} */\n\t\tthis._allChangedAttributes = opts._allChangedAttributes || [];\n\n\t\t////////////////////////////////////////\n\t\t// QUEUE\n\t\t////////////////////////////////////////\n\t\t/**\n\t\t * Lets not hit the server as fast as we can\n\t\t * @memberOf Netx.Models.UserPrefs\n\t\t * @alias queue\n\t\t * @type {Netx.Model}\n\t\t */\n\t\tthis.queue = new Base();\n\t\tthis.addSubModel(this.queue);\n\n\t\t// Setup our deferred for queuing\n\t\tthis.queueDeferred = new $.Deferred();\n\t\t// We will save and clear our queue after 500ms of \"inactivity\"\n\t\tthis.listenTo(\n\t\t\tthis.queue,\n\t\t\t'change',\n\t\t\t_.debounce(function () {\n\t\t\t\t// Do we have anything to save?\n\t\t\t\tif (!_.isEmpty(this.queue.attributes)) {\n\t\t\t\t\tvar done = _.bind(function () {\n\t\t\t\t\t\tthis.queueDeferred = new $.Deferred();\n\t\t\t\t\t\tthis.queue.clear();\n\t\t\t\t\t}, this);\n\t\t\t\t\t// Map to an array of lvbs\n\t\t\t\t\tthis.setUserPreferenceValues = _.objectToLvbs(this.queue.attributes);\n\t\t\t\t\t// Save on server\n\t\t\t\t\tthis.saveUserPreferences().then(\n\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\tthis.queueDeferred.resolveWith(this, [\n\t\t\t\t\t\t\t\tdeepObjectExtend({}, this.queue.attributes),\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\tdone();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\tthis.queueDeferred.reject();\n\t\t\t\t\t\t\tdone();\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}, 500),\n\t\t);\n\t\t////////////////////////////////////////\n\t\t// !QUEUE\n\t\t////////////////////////////////////////\n\n\t\t// Hey, listen!\n\t\t// Listen for properties changes that affect us\n\t\tthis.listenTo(dispatcher, 'system:property:edit:success', function (prop) {\n\t\t\t// TODO: in 8.10 we want to do this for any system property that's also a user preference:\n\t\t\t// if (! _.isUndefined(this.getPreference(prop.get('label')))) {\n\t\t\t//\n\t\t\t// but for 8.9 we're only adressing DAM-8338 and this one property:\n\t\t\t//\n\t\t\t// And...... for 8.11/8.12? -jse-\n\t\t\tif (prop.get('label') == 'adbuilder.enabled') {\n\t\t\t\t// Update with the new value\n\t\t\t\tthis.setPreferenceLocally(prop.get('label'), prop.get('value'));\n\t\t\t\tthis.trigger('sync', this, prop);\n\t\t\t}\n\t\t});\n\n\t\t// Fix some renamed (deprecated) pref keys\n\t\tthis.listenTo(this, 'sync', function () {\n\t\t\t// Added in 8.11\n\t\t\tif (\n\t\t\t\t!this.getPreference('asset.list.type') &&\n\t\t\t\tthis.getPreference('assetListType')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'asset.list.type',\n\t\t\t\t\tthis.getPreference('assetListType'),\n\t\t\t\t);\n\t\t\t\tthis.setUserPreference('assetListType', '');\n\t\t\t}\n\t\t\t// Added in 8.11\n\t\t\tif (\n\t\t\t\t!this.getPreference('asset.list.sort.field') &&\n\t\t\t\tthis.getPreference('assetListSortField')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'asset.list.sort.field',\n\t\t\t\t\tthis.getPreference('assetListSortField'),\n\t\t\t\t);\n\t\t\t\tthis.setUserPreference('assetListSortField', '');\n\t\t\t}\n\t\t\t// Added in 8.11\n\t\t\tif (\n\t\t\t\t!this.getPreference('asset.list.sort.order') &&\n\t\t\t\tthis.getPreference('assetListSortOrder')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'asset.list.sort.order',\n\t\t\t\t\tthis.getPreference('assetListSortOrder'),\n\t\t\t\t);\n\t\t\t\tthis.setUserPreference('assetListSortOrder', '');\n\t\t\t}\n\t\t\t// Added in 8.11\n\t\t\tif (\n\t\t\t\t!this.getPreference('asset.list.cardSize') &&\n\t\t\t\tthis.getPreference('assetList.thumbSize')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'asset.list.cardSize',\n\t\t\t\t\tthis.getPreference('assetList.thumbSize'),\n\t\t\t\t);\n\t\t\t\tthis.setUserPreference('assetList.thumbSize', '');\n\t\t\t}\n\t\t\t// Added in 8.11\n\t\t\tif (\n\t\t\t\t!this.getPreference('asset.list.cardSize') &&\n\t\t\t\tthis.getPreference('assetList.thumbSize')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'asset.list.cardSize',\n\t\t\t\t\tthis.getPreference('assetList.thumbSize'),\n\t\t\t\t);\n\t\t\t\tthis.setUserPreference('assetList.thumbSize', '');\n\t\t\t}\n\t\t\t// Added in 8.11\n\t\t\t// Fixes legacy attribute set selection as best as possible\n\t\t\tif (\n\t\t\t\t!this.getPreference('attribute.attributeSets.selected.gallery.card') &&\n\t\t\t\tthis.getPreference('attributeSet.selected')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'attribute.attributeSets.selected.gallery.card',\n\t\t\t\t\tthis.getPreference('attributeSet.selected'),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!this.getPreference(\n\t\t\t\t\t'attribute.attributeSets.selected.gallery.curator',\n\t\t\t\t) &&\n\t\t\t\tthis.getPreference('attributeSet.selected')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'attribute.attributeSets.selected.gallery.list',\n\t\t\t\t\tthis.getPreference('attributeSet.selected'),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!this.getPreference('attribute.attributeSets.selected.gallery.list') &&\n\t\t\t\tthis.getPreference('attributeSet.selected')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'attribute.attributeSets.selected.gallery.list',\n\t\t\t\t\tthis.getPreference('attributeSet.selected'),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!this.getPreference('attribute.attributeSets.selected.tagPanel') &&\n\t\t\t\tthis.getPreference('attributeSet.selected')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'attribute.attributeSets.selected.tagPanel',\n\t\t\t\t\tthis.getPreference('attributeSet.selected'),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!this.getPreference('attribute.attributeSets.selected.tagPanelGrid') &&\n\t\t\t\tthis.getPreference('attributeSet.selected')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'attribute.attributeSets.selected.tagPanelGrid',\n\t\t\t\t\tthis.getPreference('attributeSet.selected'),\n\t\t\t\t);\n\t\t\t\tthis.setUserPreference('attributeSet.selected', '');\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!this.getPreference('attribute.attributeSets.selected.detail') &&\n\t\t\t\tthis.getPreference('asset.attribute.selected-sets')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'attribute.attributeSets.selected.detail',\n\t\t\t\t\tthis.getPreference('asset.attribute.selected-sets'),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!this.getPreference('attribute.attributeSets.selected.upload') &&\n\t\t\t\tthis.getPreference('asset.attribute.selected-sets')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'attribute.attributeSets.selected.upload',\n\t\t\t\t\tthis.getPreference('asset.attribute.selected-sets'),\n\t\t\t\t);\n\t\t\t\tthis.setUserPreference('asset.attribute.selected-sets', '');\n\t\t\t}\n\t\t\t// Added in 8.12\n\t\t\t// Fixes legacy asset detail\n\t\t\tif (\n\t\t\t\t!this.getPreference('asset.detail.layout') &&\n\t\t\t\tthis.getPreference('assetDetail.layout')\n\t\t\t) {\n\t\t\t\tthis.setUserPreference(\n\t\t\t\t\t'asset.detail.layout',\n\t\t\t\t\tthis.getPreference('assetDetail.layout'),\n\t\t\t\t);\n\t\t\t\tthis.setUserPreference('assetDetail.layout', '');\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * User prefs is never new\n\t * @override\n\t * @return {boolean}\n\t */\n\tisNew() {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Use in tandem with setUserPreference/setUserPreferences\n\t * This is a simple utility for setting one preference on the model\n\t * It updates the model immediately so the preference is reflected.\n\t * It can take up to 5 seconds after the request for the new/updated preference to be reflected by the server\n\t * @method\n\t * @param {string} pref Preference to set - Dot seperated preference key \"tagpanel.collection\" for nested values\n\t * @param {array|number|object|string} val Model attribute value\n\t */\n\tsetPreferenceLocally(pref, val) {\n\t\tvar i, keys, prefObj, prefToSet, value;\n\t\t// ====================\n\t\t// Model local update\n\t\t// ====================\n\t\t// Convert dot formatted string to array of keys\n\t\tkeys = pref.split('.');\n\t\t// New/modified pref object\n\t\tprefObj = {};\n\t\t// Iterations\n\t\ti = 0;\n\t\t// Convert array of keys to a nested object with the end value being the value passed to this method\n\t\t_.reduce(\n\t\t\tkeys,\n\t\t\tfunction (memo, key) {\n\t\t\t\ti++;\n\t\t\t\t// Check that we still have more keys to get to\n\t\t\t\tmemo[key] = i < keys.length ? {} : val;\n\t\t\t\treturn memo[key];\n\t\t\t},\n\t\t\tprefObj,\n\t\t);\n\t\t// Look for existing top level pref\n\t\tprefToSet = this.get(keys[0]);\n\t\t// Has exisiting top level pref - extend it or replace it\n\t\tif (prefToSet) {\n\t\t\tvalue = prefObj[keys[0]];\n\t\t\t_.isObject(value)\n\t\t\t\t? this.set(keys[0], deepObjectExtend(prefToSet, value))\n\t\t\t\t: this.set(prefObj);\n\t\t}\n\t\t// No exisiting top level pref - create it all\n\t\telse {\n\t\t\tthis.set(keys[0], prefObj[keys[0]]);\n\t\t}\n\t\t// ====================\n\t\t// !Model local update\n\t\t// ====================\n\t}\n\n\t/**\n\t * This is a simple utility for setting one preference on the server.\n\t * @method\n\t * @param {string} pref Preference to set - Dot seperated preference key \"tagpanel.collection\" for nested values\n\t * @param {array|number|object|string} val Model attribute value\n\t * @todo I would call that setPreference(); setUserPreference should be renamed savePreference() or similar. - albert einstein\n\t * @see this.setPreferenceLocally\n\t */\n\tsetUserPreference(pref, val) {\n\t\tif (!pref) {\n\t\t\treturn;\n\t\t}\n\t\tif (_.isObject(pref)) {\n\t\t\treturn this.setUserPreferences(pref);\n\t\t}\n\t\tthis.setPreferenceLocally(pref, val);\n\t\tthis.queue.set(pref, val);\n\t\treturn this.queueDeferred.promise();\n\t}\n\t/**\n\t * This is a simple utility for setting multiple preference on the server.\n\t * @method\n\t * @param {object} prefs Preferences to set - Dot seperated preference key \"tagpanel.collection\" for nested values\n\t * @todo I would call that setPreferences(); setUserPreference should be renamed savePreference() or similar. - albert einstein\n\t * @see this.setPreferenceLocally\n\t */\n\tsetUserPreferences(prefs) {\n\t\t// Loop over preferences where 'val' is value and 'pref' is the [dot seperated] preference name\n\t\t_.each(\n\t\t\tprefs,\n\t\t\tfunction (val, pref) {\n\t\t\t\t// ====================\n\t\t\t\t// Model local update\n\t\t\t\t// ====================\n\t\t\t\tthis.setPreferenceLocally(pref, val);\n\t\t\t\t// ====================\n\t\t\t\t// !Model local update\n\t\t\t\t// ====================\n\t\t\t\t// Set for update\n\t\t\t\tthis.queue.set(pref, val);\n\t\t\t},\n\t\t\tthis,\n\t\t);\n\t\treturn this.queueDeferred.promise();\n\t}\n\n\t/**\n\t * This does equivalent of .get(attr) but using .getDotPath('tree.val1.val2') notation for deep objects\n\t * @method\n\t * @pram {string} dotPath Dot path\n\t * @todo maybe move by other bean/obj/tree madness in netx.js? or even (gasp) add to all models???\n\t */\n\tgetDotPath(dotPath) {\n\t\tconsole.warn(\n\t\t\t'getDotPath() is deprecated, gone in 8.13 . Use getPreference().',\n\t\t);\n\t\treturn this.getPreference(dotPath);\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} pref Preference to get - Dot seperated preference key \"tagpanel.collection\" for nested values\n\t * @return {mixed} Prefernce value\n\t */\n\tgetPreference(pref) {\n\t\tif (!pref) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Vars\n\t\tvar keys, val;\n\n\t\t// Convert dot formatted string to array of keys\n\t\tkeys = pref.split('.');\n\t\t// See if we are lucky enough that this is a top level preference\n\t\tval = this.get(keys.shift());\n\t\t// Maybe not- look deeper\n\t\twhile (!_.isUndefined(val) && keys.length > 0) {\n\t\t\tval = val[keys.shift()];\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t * Retrieve locales and filter on the i18n.userSelectableLocales system property\n\t * @method\n\t * @return {string}\n\t */\n\tgetAvailableLocales() {\n\t\tconst availableLocales = [\n\t\t\t{\n\t\t\t\tlabel: i18n.t('i18n.languageEnglish'),\n\t\t\t\tvalue: 'en-US',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: i18n.t('i18n.languageFrench'),\n\t\t\t\tvalue: 'fr-FR',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: i18n.t('i18n.languageGerman'),\n\t\t\t\tvalue: 'de-DE',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: i18n.t('i18n.languageJapanese'),\n\t\t\t\tvalue: 'ja-JP',\n\t\t\t},\n\t\t];\n\t\t// Get available locale keys from server\n\t\t// Returns a CSV string \"en-US, fr-FR\"\n\t\tlet localeFilter = this.getPreference('i18n.userSelectableLocales');\n\t\tif (!localeFilter) return availableLocales;\n\n\t\t// If system property is set filter the system locales\n\t\t// Support mixed space or no space \"en-US,fr-FR, en-GB\"\n\t\tlocaleFilter = localeFilter.split(/[ ,]+/);\n\t\treturn availableLocales.filter((locale) => {\n\t\t\treturn localeFilter.includes(locale.value);\n\t\t});\n\t}\n\t/**\n\t * Gets either the user preference or the systemwide default for sorting\n\t * @method\n\t * @return {string}\n\t */\n\tgetListPreference() {\n\t\tvar prefType = this.getPreference('asset.list.type'),\n\t\t\tdefaultType = assetCustomConfig.LIST_TYPE_DEFAULT;\n\n\t\t// make sure our preference is available on this device\n\t\tif (assetCustomConfig.LIST_TYPE.indexOf(prefType) === -1) {\n\t\t\tprefType = false;\n\n\t\t\t// no preference, make sure our default is available on this device\n\t\t\tif (assetCustomConfig.LIST_TYPE_DEFAULT.indexOf(defaultType) === -1) {\n\t\t\t\tdefaultType = false;\n\t\t\t}\n\t\t}\n\n\t\treturn prefType || defaultType || 'grid';\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} pref Preference key\n\t * @return {boolean}\n\t */\n\tisFalse(pref) {\n\t\tconst _pref = this.getPreference(pref);\n\t\tif (_pref == null) return false;\n\t\treturn _pref === false || _pref.toString().toLowerCase() == 'false';\n\t}\n\t/**\n\t * @method\n\t * @param {string} pref Preference key\n\t * @return {boolean}\n\t */\n\tisTrue(pref) {\n\t\tconst _pref = this.getPreference(pref);\n\t\tif (_pref == null) return false;\n\t\treturn _pref === true || _pref.toString().toLowerCase() == 'true';\n\t}\n\t/**\n\t * @method\n\t * @param {string} attr Model attribute\n\t */\n\t_rememberChanged(attr) {\n\t\tif (this._allChangedAttributes.indexOf(attr) < 0) {\n\t\t\tthis._allChangedAttributes.push(attr);\n\t\t}\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'UserPrefs';\n\t}\n}\n","import UserPrefs from '@netx/core-user/models/userPrefs';\n\nexport const userPrefs = new UserPrefs();\n\nexport default userPrefs;\n","/**\n * Useful user-related properties\n */\nimport {i18n} from '@netx/core/i18n';\n\nexport let test = 'testString';\n\nexport let types = {\n\t// TODO: https://jira.netx.net/browse/DAM-8541\n\t0: i18n.t('i18n.userLevel0'), // No access\n\t1: i18n.t('i18n.userLevel1'), // Browser\n\t2: i18n.t('i18n.userLevel2'), // Consumer\n\t3: i18n.t('i18n.userLevel3'), // Importer\n\t4: i18n.t('i18n.userLevel4'), // Producer\n\t//5: \"User Level 5\",\n\t//6: \"User Level 6\",\n\t7: i18n.t('i18n.userLevel7'), // Manager\n\t8: i18n.t('i18n.userLevel8'), // Director\n\t9: i18n.t('i18n.userLevel9'), // Admin\n};\n\nexport let userSource = {\n\tINTERNAL: 0,\n\tLDAP: 1,\n\tSAML: 2,\n\tPING_ONE: 3,\n\tLIVE_CONNECT: 4,\n\tNETX: 5,\n};\n\nexport let groupErrors = {\n\t3008: i18n.t('i18n.errorGroupSelfRemovalWithFilter_3008'),\n\tdefault: i18n.t('i18n.error'),\n};\n\nexport default {test, types, userSource};\n","/**\n * NetX extensions to jQuery.\n * It seems necessary to install these before Backbone is loaded in order to get\n * these new functions copied onto the scoped jQuery instances provided by Backbone.View.\n *\n * NOTE: Be sure to document new items in https://confluence.netx.net/display/DEV/X7+Library+Overrides%2C+Extensions+and+Mixins\n */\nimport jQuery from 'jquery';\n\nconst _show = jQuery.fn.show;\nconst _val = jQuery.fn.val;\n\n/**\n * Special event to listen for destroyed elements\n */\njQuery.event.special.destroyed = {\n\tremove(o) {\n\t\tif (o.handler) {\n\t\t\to.handler.apply(this, arguments);\n\t\t}\n\t},\n};\n\njQuery.extend(jQuery.expr[':'], {\n\t/**\n\t * Data pseudo selector\n\t */\n\tdata: jQuery.expr.createPseudo(function (dataName) {\n\t\treturn function (elem) {\n\t\t\treturn !!jQuery.data(elem, dataName);\n\t\t};\n\t}),\n});\n\n//\n// Added functions:\n//\njQuery.fn.extend({\n\t//\n\t// A HACK to support bootstrap-select: call refresh on the selectpicker plugin when we change the value.\n\t// (Really this should be done inside the plugin with a mutation observer).\n\t//\n\tval(val) {\n\t\t// Super\n\t\tvar ret = _val.apply(this, arguments);\n\n\t\t// If we have a selectpicker and we are trying to set a value (not get)\n\t\tif (this.data('selectpicker')) {\n\t\t\tif (!_.isUndefined(val)) {\n\t\t\t\tthis.selectpicker('render');\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t},\n\t/**\n\t * With $.nxVal, data-nx-value can override the nominal values of form elements.\n\t */\n\tnxVal() {\n\t\tvar d = this.data('nx-value');\n\t\tif (typeof d !== 'undefined') {\n\t\t\treturn d;\n\t\t} else {\n\t\t\treturn this.val();\n\t\t}\n\t},\n\t/**\n\t * turn the values of a set of checked checkboxes into an array --\n\t * you'd think jQuery would just do that, but no.\n\t * http://stackoverflow.com/questions/19766044/best-way-to-get-all-selected-checkboxes-values-in-jquery\n\t */\n\tboxesToVal() {\n\t\treturn this.find(':checked')\n\t\t\t.map(function () {\n\t\t\t\treturn this.value;\n\t\t\t})\n\t\t\t.get();\n\t},\n\t/**\n\t * NetX preferred method to enable/disable an element\n\t *\n\t * Disable element.\n\t * @returns {object} The jQuery object\n\t */\n\tdisable() {\n\t\tthis.attr('disabled', true);\n\t\tthis.addClass('disabled');\n\t\treturn this;\n\t},\n\t/**\n\t * NetX preferred method to enable/disable an element\n\t *\n\t * Enable element.\n\t * @returns {object} The jQuery object\n\t */\n\tenable() {\n\t\tthis.attr('disabled', false);\n\t\tthis.removeClass('disabled');\n\t\treturn this;\n\t},\n\t/**\n\t * NetX preferred method to enable/disable an element\n\t *\n\t * Enable/Disable element based on the bool passed.\n\t * @param {bool} bool True or false\n\t * @returns {object} The jQuery object\n\t */\n\tenableIf(bool) {\n\t\treturn bool ? this.enable() : this.disable();\n\t},\n\t/**\n\t * Check if typeahead menu is open\n\t * @method\n\t * @return {boolean}\n\t */\n\thasActiveTypeahead() {\n\t\tvar tt = this.data('ttTypeahead');\n\t\tvar $menu = tt && tt.menu.$node;\n\t\treturn $menu && $menu.hasClass('tt-open') && !$menu.hasClass('tt-empty');\n\t},\n\t/**\n\t * Check for collision between two elements\n\t * @param {object} b The jQuery object to test collision with\n\t * @returns {bool} Whether or not element has collision\n\t */\n\thasCollision(b) {\n\t\tvar aTop = this.offset().top,\n\t\t\taLeft = this.offset().left,\n\t\t\tbTop = b.offset().top,\n\t\t\tbLeft = b.offset().left;\n\n\t\treturn !(\n\t\t\taTop + this.outerHeight() < bTop ||\n\t\t\taTop > bTop + b.outerHeight() ||\n\t\t\taLeft + this.outerWidth() < bLeft ||\n\t\t\taLeft > bLeft + b.outerWidth()\n\t\t);\n\t},\n\t/**\n\t * Check if event is already bound to an element\n\t * @param {string} type The event type\n\t * @param {string} namespace The event namespace\n\t * @param {function} fn The function tied to the event\n\t * @returns {object} The jQuery object\n\t */\n\tisBound(type, namespace, fn) {\n\t\tvar data = jQuery._data(this[0], 'events')[type];\n\t\tif (typeof namespace === 'undefined') {\n\t\t\tnamespace = '';\n\t\t}\n\t\tif (data === undefined || data.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tif (typeof fn !== 'undefined') {\n\t\t\treturn -1 !== jQuery.inArray(fn, data);\n\t\t}\n\t\tvar found = false;\n\t\tjQuery.each(data, function (d) {\n\t\t\tif (typeof d === 'object') {\n\t\t\t\tif (\n\t\t\t\t\ttypeof d.type !== 'undefined' &&\n\t\t\t\t\td.type == type &&\n\t\t\t\t\ttypeof d.namespace !== 'undefined' &&\n\t\t\t\t\td.namespace == namespace\n\t\t\t\t) {\n\t\t\t\t\tfound = true;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn found;\n\t},\n\t/**\n\t * Checks whether or not an element is hidden.\n\t * @returns {bool} True if hidden, else false\n\t */\n\tisHidden() {\n\t\treturn !this.is(':visible'); // http://stackoverflow.com/questions/178325/testing-if-something-is-hidden-with-jquery\n\t},\n\t/**\n\t * Checks whether or not an element is within a modal.\n\t * @returns {bool} True if modal, else false\n\t */\n\tisModal() {\n\t\treturn Boolean(this.closest('.modal').length);\n\t},\n\n\t/**\n\t * Checks the boolean data-nx-ignore condition of this element, for a particular key.\n\t * If not found on the current element, we search for it up the tree using .closest()\n\t * We can use this for overriding NX behaviours on various elements.\n\t *\n\t * So far the supported keys are all used by FormView form processing:\n\t *\n\t * 'change': (was data-nx-form-ignore) FormView ignores change events on fields for which this is set.\n\t * 'validate': (was data-nx-ignore-field) Form validation does not validate form fields for which this is set.\n\t * 'matrix': FormView's read-only mode will not disable form fields for which this is set.\n\t *\n\t * However, this is intended to be extensible for overriding any Netx.View behaviors that need it.\n\t *\n\t * @param {string} key\n\t * @returns {bool}\n\t */\n\tnxIgnores(key) {\n\t\t// Search for our key in this list of deprecations:\n\t\tvar deprecations = {\n\t\t\tchange: 'form-ignore',\n\t\t\tvalidation: 'ignore-field',\n\t\t};\n\n\t\tvar selector = '[data-nx-ignore~=\"' + key + '\"]';\n\t\t// hopefully undef.\n\t\tvar dep = deprecations[key];\n\t\tif (dep) {\n\t\t\tselector += ',[data-nx-' + dep + ']';\n\t\t}\n\n\t\tvar el = this.closest(selector);\n\t\tif (el.length) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Okay, deprecation is over, the rest is more logical.\n\t\t// Split by whitespace:\n\t\tvar keys = this.nxData('ignore');\n\t\tif (keys) {\n\t\t\tkeys = keys.split(/\\s+/);\n\t\t\treturn keys.indexOf(key) >= 0;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t/**\n\t * Adds a key to the data-nx-ignore attribute\n\t * @return this\n\t */\n\tnxIgnore(key) {\n\t\tlet keys = this.nxData('ignore') || '';\n\t\tkeys = _.uniq(keys.split(/\\s+/).concat(key)).join(' ');\n\t\tthis.nxData('ignore', keys);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Removes a key from the data-nx-ingore attribute\n\t * @return this\n\t */\n\tnxUnignore(key) {\n\t\tlet keys = this.nxData('ignore');\n\t\tif (keys == null) return this;\n\n\t\tkeys = keys\n\t\t\t.split(/\\s+/)\n\t\t\t.filter((k) => k !== key)\n\t\t\t.join(' ');\n\t\tthis.nxData('ignore', keys);\n\n\t\treturn this;\n\t},\n\n\t/**\n\t * Gets/sets a data-nx-* key (X7-specific element data.)\n\t */\n\tnxData(key, newVal) {\n\t\t// Return all `nx-`\n\t\tif (!key) {\n\t\t\treturn _.pick(this.data(), (v, k) => k.match(/^nx/));\n\t\t}\n\n\t\t// Set new value\n\t\tif (newVal != null) {\n\t\t\treturn this.data(`nx-${key}`, newVal);\n\t\t}\n\n\t\t// Return specific `nx-`\n\t\treturn this.data(`nx-${key}`);\n\t},\n\n\t/**\n\t * Removes a data-nx-* key.\n\t */\n\tnxRemoveData(key) {\n\t\tkey = 'nx-' + key;\n\t\t// https://api.jquery.com/removeData/\n\t\tthis.removeData(key);\n\t\tthis.removeAttr(key);\n\t\treturn;\n\t},\n\t/**\n\t * wrap $.show() to also remove our deprecated 'hide' class\n\t */\n\tshow() {\n\t\tif (this.hasClass('hide')) {\n\t\t\t// TODO: Discuss this deprecation\n\t\t\t// console.warn('v8 \"hide\" class is deprecated, gone in 8.10');\n\t\t\tthis.removeClass('hide');\n\t\t}\n\t\treturn _show.apply(this, arguments);\n\t},\n\t/**\n\t * turn an array value into the state of a set of checkboxes\n\t */\n\tvalToBoxes(val) {\n\t\t_.each(this.find('checkbox'), function (c) {\n\t\t\tjQuery(c).prop('checked', val.indexOf(c.value) > -1);\n\t\t});\n\t},\n\t/**\n\t * Set or get the zIndex of an element\n\t * Brought over from jQuery UI\n\t * http://jqueryui.com/\n\t * @param {integer} zIndex The zIndex to set for the element (if omitted it will get the zIndex of the element)\n\t * @returns {*} Either the jQuery object or the zIndex of the element\n\t */\n\tzIndex(zIndex) {\n\t\tif (zIndex !== undefined) {\n\t\t\treturn this.css('zIndex', zIndex);\n\t\t}\n\n\t\tif (this.length) {\n\t\t\tvar elem = $(this[0]),\n\t\t\t\tposition,\n\t\t\t\tvalue;\n\t\t\twhile (elem.length && elem[0] !== document) {\n\t\t\t\t// Ignore z-index if position is set to a value where z-index is ignored by the browser\n\t\t\t\t// This makes behavior of this function consistent across browsers\n\t\t\t\t// WebKit always returns auto if the element is positioned\n\t\t\t\tposition = elem.css('position');\n\t\t\t\tif (\n\t\t\t\t\tposition === 'absolute' ||\n\t\t\t\t\tposition === 'relative' ||\n\t\t\t\t\tposition === 'fixed'\n\t\t\t\t) {\n\t\t\t\t\t// IE returns 0 when zIndex is not specified\n\t\t\t\t\t// other browsers return a string\n\t\t\t\t\t// we ignore the case of nested elements with an explicit value of 0\n\t\t\t\t\t// \n\t\t\t\t\tvalue = parseInt(elem.css('zIndex'), 10);\n\t\t\t\t\tif (!isNaN(value) && value !== 0) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telem = elem.parent();\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t},\n\t/**\n\t * Purge a selection. That is, remove from this jQuery array any selection\n\t * that is a descendant of one of the arguments. Useful for removing the contents\n\t * of child views from a parent view's selection.\n\t *\n\t * This is different from jQuery's :not() selector, which can only filter a\n\t * selection based on its own contents. purge() specifically removes items in the\n\t * selection array which have one of the provided arguments as an ancestor.\n\t *\n\t * Parameters are either a set of DOM elements, or a single array containing such a set of elements (ala jQuery)\n\t */\n\tpurge() {\n\t\t// flexible args\n\t\tif (arguments.length === 0) {\n\t\t\treturn this;\n\t\t} // an optimization for the most common case\n\n\t\tif (arguments.length === 1 && _.isArray(arguments[0])) {\n\t\t\t// if we were passed an array,\n\t\t\treturn this.purge.apply(this, arguments[0]); // convert that array to arguments\n\t\t}\n\n\t\tvar args = _.toArray(arguments);\n\t\tvar result = this.filter(function (idx, el) {\n\t\t\tvar allowed = true;\n\t\t\t_.each(args, function (arg) {\n\t\t\t\tif (allowed === false) {\n\t\t\t\t\treturn;\n\t\t\t\t} // optimization\n\t\t\t\tif ($(arg).has(el).length) {\n\t\t\t\t\tallowed = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn allowed;\n\t\t});\n\t\treturn result;\n\t},\n});\n\n// Turn tap events into clicks\njQuery.event.special.tapToClick = {\n\tsetup: function (data, namespaces) {\n\t\tvar $elem = $(this);\n\t\t$elem\n\t\t\t.bind('touchstart', $.event.special.tapToClick.handler)\n\t\t\t.bind('touchmove', $.event.special.tapToClick.handler)\n\t\t\t.bind('touchend', $.event.special.tapToClick.handler);\n\t},\n\tteardown: function (namespaces) {\n\t\tvar $elem = $(this);\n\t\t$elem\n\t\t\t.unbind('touchstart', $.event.special.tapToClick.handler)\n\t\t\t.unbind('touchmove', $.event.special.tapToClick.handler)\n\t\t\t.unbind('touchend', $.event.special.tapToClick.handler);\n\t},\n\thandler: function (event) {\n\t\tvar $elem = $(this);\n\t\t$elem.data(event.type, 1);\n\t\tif (event.type === 'touchend' && !$elem.data('touchmove')) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.click();\n\t\t} else if ($elem.data('touchend')) {\n\t\t\t$elem.removeData('touchstart touchmove touchend');\n\t\t}\n\t},\n};\n\nexport default jQuery;\n","import jQuery from 'netxcore@netx/core/lib/jquery-netx';\n\njQuery.fn.extend({\n\t/**\n\t * Material design\n\t * @override\n\t */\n\tdisable() {\n\t\tthis.attr('disabled', true);\n\t\tthis.addClass('disabled');\n\t\tif (this.hasClass('mdc-list-item')) {\n\t\t\tthis.addClass('mdc-list-item--disabled');\n\t\t}\n\t\treturn this;\n\t},\n\t/**\n\t * Material design\n\t * @override\n\t */\n\tenable() {\n\t\tthis.attr('disabled', false);\n\t\tthis.removeClass('disabled');\n\t\tif (this.hasClass('mdc-list-item')) {\n\t\t\tthis.removeClass('mdc-list-item--disabled');\n\t\t}\n\t\treturn this;\n\t},\n});\n\nexport default jQuery;\n","import Backbone from 'backbone';\n\n/**\n * NetX Enhancements to Backbone.sync:\n *\n * A HTTP header is added if Netx.Session is storing an authentication token.\n */\n// NOTE: this doesn't deal properly with multiple simultaneous syncs of the same model ... will that ever come up?\nBackbone.sync = _.wrap(Backbone.sync, function (sync, method, model, options) {\n\t// Add token header to options if we have a token.\n\tvar token = Netx.session?.getToken();\n\tif (token) {\n\t\toptions = options || {};\n\t\toptions.headers = _.extend(\n\t\t\t{\n\t\t\t\t'NX-Auth-Token': token,\n\t\t\t},\n\t\t\toptions.headers || {},\n\t\t);\n\t}\n\t// should be a no-op.\n\treturn sync(method, model, options);\n});\n\n/**\n * NetX Enhancements to Backbone.Events:\n *\n * retrigger\n *\n * A listener often needs to re-trigger an event on a different object, passing along the arguments it received.\n * Our current pattern do that looks like this:\n *\n * object.trigger.apply(object, ['eventName'].concat(_.toArray(arguments)));\n *\n * Backbone.Events.retrigger() takes an event name and an 'args' parameter that's either a normal array or an arguments object,\n * so that we may instead use this much prettier pattern:\n *\n * object.retrigger(eventName, arguments);\n *\n * @param {string} eventName\n * @param {arguments|array} args\n */\nBackbone.Events.retrigger = function (eventName, args) {\n\treturn this.trigger.apply(this, [eventName].concat(_.toArray(args)));\n};\n\nexport default Backbone;\n","import {appRouter} from '@netx/core-next/instance/router';\nimport '@netx/core-next/instance/localStore';\nimport NetxURL from '@netx/core-next/url';\n\nimport window from 'global/window';\nimport {getPrefixedLogger} from '@netx/core-next/instance/logger';\n\nconst logger = getPrefixedLogger('bootstrap');\n\n////////////////////////////////////////////\n// Netx global namespace\n////////////////////////////////////////////\n// Setup global namespace\n/**\n * @namespace\n * @static\n */\nconst Netx = window.Netx || {};\nObject.assign(Netx, {\n\tversion: '3.5.5.063a1c741',\n\t/**\n\t * @namespace\n\t * @static\n\t */\n\tcustom: {},\n\tgetUserLevel: () => -1,\n\tgetPreference: () => false,\n\tsetPreference: () => true,\n\t/**\n\t * Various DAM-related static properties\n\t * @memberOf Netx\n\t * @namespace\n\t * @static\n\t * @property {array} states - A list of states (provided by the DAM)\n\t * @property {array} countries - A list of countries (provided by the DAM)\n\t * @property {array} attributes - A list of i18n labels for asset properties\n\t * @property {array} assetAttributes.ids - Map from label to IDs for asset metadata types\n\t * @property {array} assetAttributes.numberTypes - Labels, warnings & validators for the various numeric sub-types\n\t * @property {array} assetAttributes.types - Map from IDs to labels for asset metadata types\n\t * @property {array} search - Labels and metadata for the various fields of a searchAssetListObjects() RPC call, as used by Netx.Collections.Assets & others\n\t * @todo refactor 'attributes' to 'attributeLabels'\n\t * @todo assetAttributes.ids and .types are redundant; refactor.\n\t * @private\n\t */\n\tproperties: {},\n\t/**\n\t * Netx.router is our instance of Backbone.Router\n\t * @memberOf Netx\n\t * @namespace\n\t * @static\n\t */\n\trouter: {\n\t\troutes: {},\n\t},\n\t/**\n\t * We create a dummy Netx.user.profile here describing an unauthenticated user;\n\t * This will be overwritten with real user data when we authenticate.\n\t * @memberOf Netx\n\t * @namespace\n\t * @static\n\t */\n\tuser: {},\n\t/**\n\t * When controllers need a View to have a public name -- i.e. when several listeners need to operate on the same View --\n\t * the controller can put that Views in Netx.views; it can be named anything, but by convention it's usually given the\n\t * name of the template, which by convention is the View class name lowercased.\n\t * For instance, Netx.views.assetDetailView is an instance of Netx.Views.AssetDetailView used by the asset controller.\n\t * @memberOf Netx\n\t * @namespace\n\t * @static\n\t */\n\tviews: {},\n\t/**\n\t * Netx.Collections namespace\n\t * @memberof Netx\n\t * @namespace\n\t * @static\n\t */\n\tCollections: {},\n\t/**\n\t * Netx.Models namespace maintains model class definitions\n\t * @memberof Netx\n\t * @namespace\n\t * @static\n\t */\n\tModels: {},\n\t/**\n\t * Netx.Routers namespace\n\t * @memberof Netx\n\t * @namespace\n\t * @static\n\t */\n\tRouters: {},\n\t/**\n\t * Netx.ShareableTypes holds objects describing things that the DAM can share, along with verbiage to describe those things.\n\t * @memberof Netx\n\t * @namespace\n\t * @static\n\t */\n\tShareableTypes: {},\n\tURL: NetxURL,\n\t/**\n\t * Netx.Views namespace\n\t * @memberof Netx\n\t * @namespace\n\t * @static\n\t */\n\tViews: {},\n});\nexport default Netx;\n\n// need this loaded\nimport '@netx/core-app/collections/singleton';\n\n// this is dead, leaving in the event of a cannnot access x of undefined\n// should not come up... think all references have been removed\nwindow.custom = {};\n////////////////////////////////////////////\n// !Netx global namespace\n////////////////////////////////////////////\n\n////////////////////////////////////////////\n// App utility libraries\n////////////////////////////////////////////\n// Underscore overrides/enhancements\nimport './lib/underscore-netx';\n\n// jQuery overrides/enhancements\nimport './lib/jquery-netx';\n\n// Load in backbone\nimport './lib/backbone-netx';\n// Create global event dispatcher\nimport '@netx/core-next/instance/dispatcher';\n\n// Modernizr\nimport 'core-libs/modernizr/modernizr';\n\n// Polyfills\nimport 'core-libs/polyfills/polyfills-netx';\n\n// Hammerjs (for cross platform gestures)\nimport Hammer from 'hammerjs';\nimport {setGlobal} from '@netx/core-next';\nwindow.Hammer = Hammer;\n////////////////////////////////////////////\n// !App utility libraries\n////////////////////////////////////////////\n\n////////////////////////////////////////////\n// Netx module intialization\n////////////////////////////////////////////\n/**\n * Modules already initialized indexed by namespace\n * @type {Array}\n */\nconst initializedModules = [];\n/**\n * Modules currently initializing indexed by namespace and storing the promise to the original initialization call for that module\n * @type {object}\n */\nconst initializingModules = {};\n\n/**\n * Module initialization helper\n * @function\n * @global\n * @param {Array|object} modules Module(s) to initialize\n * @param {object} opts Options\n */\n// https://stackoverflow.com/questions/37787123/is-it-possible-to-let-webpacks-system-import-use-ajax-for-progress-events\n// One day we could look into extending the webpack functionality with our own plugin to allow for XHR requests of\n// all of our bundles - then we could use a `progress` event on it and dispatch refined progress\nconst initializeModule = function (modules, opts = {}) {\n\t// Convert to array if not already\n\tmodules = Array.isArray(modules) ? modules : [modules];\n\n\treturn new Promise((resolve, reject) => {\n\t\tvar idx = 0,\n\t\t\tnewModules = 0,\n\t\t\troutesToAdd = {},\n\t\t\ttotal = modules.length;\n\n\t\t// Go on to next module (or resolve)\n\t\tfunction next() {\n\t\t\tidx++;\n\t\t\tidx < total ? init() : finished();\n\t\t}\n\n\t\t// Initialize module\n\t\tfunction init() {\n\t\t\tvar m = modules[idx],\n\t\t\t\tnamespace = m.namespace;\n\n\t\t\tlogger.debug('initializing module >', namespace);\n\n\t\t\t// Check if already initialized\n\t\t\tif (_.contains(initializedModules, namespace)) {\n\t\t\t\treturn next();\n\t\t\t}\n\n\t\t\t// Are we already initializing this module - listen for its completion\n\t\t\t// and then continue on\n\t\t\tif (!_.isUndefined(initializingModules[namespace])) {\n\t\t\t\treturn initializingModules[namespace].then(next);\n\t\t\t}\n\n\t\t\t// We are initializing this module now\n\t\t\tdispatcher.trigger(\n\t\t\t\t'netx:initializing:module',\n\t\t\t\tnamespace,\n\t\t\t\t(idx / total) * 100,\n\t\t\t\topts.deferred,\n\t\t\t\topts.loadUrl,\n\t\t\t);\n\n\t\t\t// Store promise\n\t\t\tinitializingModules[namespace] = m.initialize().then(\n\t\t\t\tfunction (routes) {\n\t\t\t\t\tlogger.debug('module initialized >', namespace);\n\t\t\t\t\t// If the module was deferred remove its wildcard route now\n\t\t\t\t\tif (opts.deferred && appRouter.routes[m.namespace + '(/*anything)']) {\n\t\t\t\t\t\tdelete appRouter.routes[m.namespace + '(/*anything)'];\n\t\t\t\t\t}\n\t\t\t\t\t// Add routes to queue\n\t\t\t\t\troutes && _.extend(routesToAdd, routes);\n\t\t\t\t\t// Store namespace in modules initialized array\n\t\t\t\t\tinitializedModules.push(namespace);\n\t\t\t\t\t// A new module was initialized\n\t\t\t\t\tnewModules++;\n\t\t\t\t\t// Remove initialize promise from the initializing array\n\t\t\t\t\tdelete initializingModules[namespace];\n\t\t\t\t\t// Dispatche event\n\t\t\t\t\tdispatcher.trigger(\n\t\t\t\t\t\t'netx:initialized:module',\n\t\t\t\t\t\tnamespace,\n\t\t\t\t\t\t((idx + 1) / total) * 100,\n\t\t\t\t\t\topts.deferred,\n\t\t\t\t\t\topts.loadUrl,\n\t\t\t\t\t);\n\t\t\t\t\t// Next module or resolve\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\t// When all modules are initialized\n\t\tfunction finished() {\n\t\t\t// Defer to allow anything hooked on any of the module initialized promises to respond\n\t\t\t_.defer(function () {\n\t\t\t\t// Only if new modules were intialized\n\t\t\t\tif (newModules) {\n\t\t\t\t\t// Add all new routes\n\t\t\t\t\tappRouter.addRoutes(routesToAdd);\n\t\t\t\t\t// Load route url when all modules are loaded\n\t\t\t\t\topts.loadUrl && appRouter.ready && Backbone.history.loadUrl();\n\t\t\t\t}\n\t\t\t});\n\t\t\tresolve(modules);\n\t\t}\n\n\t\t// Start\n\t\tinit();\n\t});\n};\n\n/**\n * @event module:netx#netx:load:module\n * @param {array|object} modules Module object or an array of module objects\n * @param {object} opts Options\n */\ndispatcher.on('netx:load:module', function (modules, opts) {\n\topts = opts || {};\n\tinitializeModule(\n\t\tmodules,\n\t\t_.extend(\n\t\t\t{\n\t\t\t\tdeferred: false,\n\t\t\t\tloadUrl: false,\n\t\t\t},\n\t\t\t_.pick(opts, 'deferred', 'loadUrl'),\n\t\t),\n\t).then(\n\t\tfunction () {\n\t\t\t_.isFunction(opts.initialized) && opts.initialized();\n\t\t},\n\t\tfunction (err) {\n\t\t\t_.isFunction(opts.error) && opts.error(err);\n\t\t},\n\t);\n});\n\n/**\n * @event module:netx#netx:load:deferred:module\n * @param {array|object} modules Module object or an array of module objects\n * @param {object} opts Options\n */\ndispatcher.on('netx:load:deferred:module', function (modules, opts) {\n\tdispatcher.trigger(\n\t\t'netx:load:module',\n\t\tmodules,\n\t\t_.extend({deferred: true}, opts),\n\t);\n});\n////////////////////////////////////////////\n// !Netx module intialization\n////////////////////////////////////////////\n","import _ from 'underscore';\nimport {NetxThemePref, userPref} from '@netx/core-app/properties/theme';\n\nimport config from '@netx/core-app/config';\nimport {isPortal} from '@netx/core/lib/utils';\nimport {getPreference} from '@netx/core-user-next/utils/getPreference';\nimport {URL} from '@netx/core-next/url';\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\nimport {setGlobal} from '@netx/core-next/utils/setGlobal';\nimport {session} from '@netx/core-auth/collections/singleton/session';\nimport type {ThemeMode} from './bootstrap';\n\nconst customPropertyPrefix = config.CSS_CUSTOM_PROPERTY_PREFIX;\n\nexport type CustomCssProperties = {\n\t/** #hex-color */\n\t'dark-on-primary': string;\n\t'dark-on-primary-custom': 'true' | 'false';\n\t/** #hex-color */\n\t'dark-on-secondary': string;\n\t'dark-on-secondary-custom': 'true' | 'false';\n\t/** #hex-color */\n\t'dark-primary': string;\n\t/** #hex-color */\n\t'dark-secondary': string;\n\t/** #hex-color */\n\t'light-on-primary': string;\n\t'light-on-primary-custom': 'true' | 'false';\n\t/** #hex-color */\n\t'light-on-secondary': string;\n\t'light-on-secondary-custom': 'true' | 'false';\n\t/** #hex-color */\n\t'light-primary': string;\n\t/** #hex-color */\n\t'light-secondary': string;\n\t/** id as string */\n\t'login-background-assetId': string;\n\t/** timestamp as string */\n\tupdated: string;\n};\n\nconst THEME_PREFS = Object.values(NetxThemePref);\n\n// Will store all css properties here\nlet currentProperties: CustomCssProperties = {\n\tupdated: '0',\n\t'login-background-assetId': '',\n\t'light-on-primary-custom': 'false',\n\t'light-on-secondary-custom': 'false',\n\t'dark-on-primary-custom': 'false',\n\t'dark-on-secondary-custom': 'false',\n\t...config.CSS_CUSTOM_PROPERTIES,\n};\n\nlet currentThemeMode: ThemeMode = NetxThemePref.LIGHT;\nlet fetchedCSS = false;\n\nconst documentElement = document.documentElement;\nconst style = documentElement.style;\n\n/**\n * @function\n * @param key Style property key\n * @param value Style property value\n */\nconst _setStyleProperty = (key: string, value: string) => {\n\tif (value) {\n\t\tstyle.setProperty(key, value);\n\t\tdispatcher.trigger('css:variable:updated', key, value);\n\t\treturn;\n\t}\n\n\t// Look for default value\n\tconst defaultValue =\n\t\t// @ts-ignore\n\t\tconfig.CSS_CUSTOM_PROPERTIES[\n\t\t\t`${currentThemeMode}-${key.replace(customPropertyPrefix, '')}`\n\t\t];\n\n\tdefaultValue\n\t\t? style.setProperty(key, defaultValue)\n\t\t: style.removeProperty(key);\n\n\tdispatcher.trigger('css:variable:updated', key, defaultValue);\n};\n\n/**\n * Get the current theme mode\n * @function\n * @return Theme mode\n */\nexport const getThemeMode = () => {\n\tconst sessionKey = session.getKey();\n\tconst appAuthenticated = sessionKey && sessionKey !== '';\n\tconst tokenAccess = session.getToken() != null;\n\n\t// No `dark` support for portal currently\n\tif (isPortal() || tokenAccess || !appAuthenticated)\n\t\treturn NetxThemePref.LIGHT;\n\n\t// First try user prefs then default\n\tconst pref = getPreference(userPref);\n\n\treturn !pref ||\n\t\tpref === NetxThemePref.DEFAULT ||\n\t\t!THEME_PREFS.includes(pref as any)\n\t\t? window.matchMedia('(prefers-color-scheme: dark)').matches\n\t\t\t? NetxThemePref.DARK\n\t\t\t: NetxThemePref.LIGHT\n\t\t: (pref as ThemeMode);\n};\n\nsetGlobal({getThemeMode});\n\n/**\n * Get style property from DOM\n * @function\n * @return Style property\n */\nexport const getStyleProperty = (key: string) => {\n\tconst style = getComputedStyle(document.body);\n\treturn style.getPropertyValue(`${customPropertyPrefix}${key}`).trim();\n};\n\nsetGlobal({getStyleProperty});\n\n/**\n * @function\n * @returns string | undefined\n */\nexport const getLoginBackgroundUrl = () => {\n\treturn !isPortal()\n\t\t? `${URL.loginBackground}?cb=${currentProperties.updated || Date.now()}`\n\t\t: undefined;\n};\n\nsetGlobal({getLoginBackgroundUrl});\n\n/**\n * Changes address bar color in supported browsers\n * @function\n */\nexport const setMetaThemeColor = (value: string) => {\n\tconst meta = document.querySelector('meta[name=theme-color]');\n\tmeta && meta.setAttribute('content', value);\n};\n\nsetGlobal({setMetaThemeColor});\n\n/**\n * Set style property on DOM\n * @function\n * @param key Style property key\n * @param value Style property value\n */\n// @ts-ignore\nexport const setStyleProperty = (key: string, value: string) => {\n\t// @ts-ignore\n\tcurrentProperties[key] = value;\n\n\t// We use this for cachebusting the background image since last update\n\tif (key === 'updated') return false;\n\n\tkey = key.replace(`${currentThemeMode}-`, '');\n\n\tif (key === 'primary') {\n\t\tsetMetaThemeColor(value);\n\t}\n\t_setStyleProperty(`${customPropertyPrefix}${key}`, value);\n\treturn true;\n};\n\nsetGlobal({setStyleProperty});\n\n/**\n * @function\n * @param name Theme mode name\n * @fires module:netx#theme:toggled\n */\nexport const setThemeMode = (name: ThemeMode, force = false) => {\n\t// because there are some js files sitting around i am sure\n\tif (\n\t\t!THEME_PREFS.includes(name as any) ||\n\t\t(name as any) === NetxThemePref.DEFAULT\n\t) {\n\t\tname = window.matchMedia('(prefers-color-scheme: dark)').matches\n\t\t\t? NetxThemePref.DARK\n\t\t\t: NetxThemePref.LIGHT;\n\t}\n\n\tconst themeChanged = currentThemeMode !== name;\n\tcurrentThemeMode = name;\n\n\tconst keys = Object.keys(currentProperties).filter((key) =>\n\t\tkey.includes(`${currentThemeMode}-`),\n\t);\n\tkeys.forEach((key) => {\n\t\tif (\n\t\t\tgetStyleProperty(key) ===\n\t\t\tcurrentProperties[key as keyof CustomCssProperties]\n\t\t)\n\t\t\treturn;\n\t\tsetStyleProperty(key, currentProperties[key as keyof CustomCssProperties]);\n\t});\n\n\tif (themeChanged) {\n\t\t// Clear theme-mode classes\n\t\tTHEME_PREFS.forEach((mode) =>\n\t\t\tdocumentElement.classList.remove(`theme-${mode}`),\n\t\t);\n\t\t// Add selected theme-mode class\n\t\tdocument.documentElement.classList.add(`theme-${currentThemeMode}`);\n\t}\n\n\t// Dispatch event for the rest of the app to listen to\n\t(themeChanged || force) && dispatcher.trigger('theme:toggled', name);\n};\n\nsetGlobal({setThemeMode});\n\n/**\n * When user prefs are available we can set the theme mode to the user's selection\n * @event module:app#app:user:prefs:ready\n */\n// TODO: these `once` dispatchers on the global scope of a file are hard to test from multiple ways\n// having a hard time testing the the initialize thoroughly and this having not `fetchedCSS`\ndispatcher.once('app:user:prefs:ready', () => {\n\twindow\n\t\t.matchMedia('(prefers-color-scheme: dark)')\n\t\t.addEventListener('change', (event) => {\n\t\t\tif (!fetchedCSS) return;\n\t\t\tsetThemeMode(getThemeMode());\n\t\t});\n\t// we will call set theme mode when the css is done fetching\n\tif (!fetchedCSS) return;\n\tsetThemeMode(getThemeMode());\n});\n\nconst initialize = () => {\n\t// Set the default theme mode class\n\tdocumentElement.classList.add(`theme-${currentThemeMode}`);\n\n\t// Load css properties from server\n\treturn new Promise((resolve, reject) => {\n\t\t$.ajax({\n\t\t\tcache: false,\n\t\t\tdataType: 'json',\n\t\t\ttype: 'GET',\n\t\t\turl: URL.customCssProperties,\n\t\t}).then(\n\t\t\t(data: CustomCssProperties) => {\n\t\t\t\tObject.assign(\n\t\t\t\t\tdata,\n\t\t\t\t\t_.pick.apply(_, [\n\t\t\t\t\t\tconfig.CSS_CUSTOM_PROPERTIES,\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t..._.difference(\n\t\t\t\t\t\t\tObject.keys(config.CSS_CUSTOM_PROPERTIES),\n\t\t\t\t\t\t\tObject.keys(data),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t);\n\n\t\t\t\t// Store all data\n\t\t\t\tcurrentProperties = data;\n\t\t\t\t// Set current theme (will loop over data and set based on theme mode)\n\t\t\t\tsetThemeMode(getThemeMode(), true);\n\n\t\t\t\tfetchedCSS = true;\n\n\t\t\t\tresolve();\n\t\t\t},\n\t\t\t(jqXHR, status, errorThrown) => {\n\t\t\t\t// What to do?\n\t\t\t\treject(errorThrown);\n\t\t\t},\n\t\t);\n\t});\n};\n\nexport default () => initialize();\n","import {getPrefixedLogger} from '@netx/core-next/instance/logger';\nimport type {Action} from './bootstrap';\n\nconst logger = getPrefixedLogger('core/legacyActionManager');\n\nconst navigation: Action[] = [];\n\nexport const ExtendLegacyAction = (action: Action | Action[]) => {\n\tif (Array.isArray(action)) return action.forEach(ExtendLegacyAction);\n\n\tif (!action?.event)\n\t\tthrow new Error(`bad argument to \\`ExtendLegacyAction\\`: ${action}`);\n\n\tconst existingAction = navigation.find((a) => a.event === action.event);\n\tif (!existingAction)\n\t\treturn logger.warn(\n\t\t\t`action \\`${action.event}\\` has not been defined > use \\`RegisterLegacyAction\\` in place of \\`ExtendLegacyAction\\``,\n\t\t);\n\n\tObject.assign(existingAction, action);\n};\n\nexport const FindLegacyAction = (actionKey: string) =>\n\tnavigation.find((a) => a.event === actionKey);\n\nexport const RegisterLegacyAction = (action: Action | Action[]) => {\n\tif (Array.isArray(action)) return action.forEach(RegisterLegacyAction);\n\n\tif (!action?.event)\n\t\tthrow new Error(`bad argument to \\`RegisterLegacyAction\\`: ${action}`);\n\n\tconst existingAction = navigation.find((a) => a.event === action.event);\n\tif (existingAction)\n\t\treturn logger.warn(\n\t\t\t`action \\`${action.event}\\` has already been defined > use \\`ExtendLegacyAction\\` in place of \\`RegisterLegacyAction\\``,\n\t\t);\n\n\tnavigation.push(action);\n};\n\nexport default {\n\tExtendLegacyAction,\n\tFindLegacyAction,\n\tRegisterLegacyAction,\n};\n","/**\n * Netx.Collection extends Backbone.Collection and allows us to add functionality\n * outside of the default Backbone methods and properties\n * @class\n */\n\nimport Backbone from 'backbone';\nimport Rpc from 'core-libs/backbone.rpc';\n// import Netx from '@netx/core/bootstrap';\nimport Model from './netx-model';\nimport {URL} from '@netx/core-next/url';\nimport {localStore} from '@netx/core-next/instance/localStore';\n\nconst BBCollection = Backbone.Collection;\nBBCollection.prototype.reset = _.wrap(\n\tBBCollection.prototype.reset,\n\tfunction (reset, models, options = {}) {\n\t\t// WARNING: Do not get it in your head, as I did, that we can and should trigger 'add'/'remove' events here\n\t\t// it really messes up backgrid and I am sure there is a reason why reset is used in some cases and that it\n\t\t// is so sneaky about its operations\n\n\t\t// With reset Backbone basically just circumvents all the official channels of removing models and does it all in hush hush secrecy\n\t\t// Two things:\n\t\t// We want tour models to know that they have been removed so they can have a chance to clean themselves up\n\t\t// We want to handle any local storage cleanup resulting from this reset as well\n\n\t\t!options.filtering &&\n\t\t\tthis.each((model) => {\n\t\t\t\t// Reference to collection\n\t\t\t\tif (model.removeCollectionReference) {\n\t\t\t\t\tmodel.removeCollectionReference(this);\n\t\t\t\t}\n\t\t\t\t// Local storage\n\t\t\t\tif (_.isFunction(this.modelRemoved)) {\n\t\t\t\t\tthis.modelRemoved(model);\n\t\t\t\t}\n\t\t\t});\n\n\t\t// Super - let backbone do its thing\n\t\treset.call(this, models, options);\n\n\t\t// Let any models that came in know\n\t\t// This also deals with `new Netx.Collection( models )` as in Bacbone.Collection constructor\n\t\t// they use this.reset( models, _.extend( { silent: true }, options ) );\n\t\tthis.each((model) => {\n\t\t\t// Reference to collection\n\t\t\tif (model.addCollectionReference) model.addCollectionReference(this);\n\t\t\t// Local storage\n\t\t\tif (_.isFunction(this.modelAdded)) this.modelAdded(model);\n\t\t});\n\t},\n);\n\n// Make a Collection we can extend from in other classes\nclass ES6Collection {\n\t/** @override */\n\tconstructor(models, opts) {\n\t\tBBCollection.apply(this, arguments);\n\t}\n}\n_.extend(ES6Collection.prototype, BBCollection.prototype, {\n\t/**\n\t * The underscore `indexOf` extension here is always returning -1\n\t * but a vanilla `indexOf` works just fine :/\n\t * @override\n\t */\n\tindexOf(model) {\n\t\treturn this.models.indexOf(model);\n\t},\n\t/**\n\t * Check for our es6 instance instead\n\t * @override\n\t */\n\t_isModel(model) {\n\t\treturn (\n\t\t\tmodel instanceof Backbone.ES6Model || model instanceof Backbone.Model\n\t\t);\n\t},\n});\nBackbone.ES6Collection = ES6Collection;\n\nexport class Collection extends ES6Collection {\n\t/** @type {boolean} */\n\tget isCollection() {\n\t\treturn this.constructor.__isCollection__;\n\t}\n\n\t// Whelp\n\t// Need to fix in backbone.rpc - the model get's a property of `syncing`\n\t// whether the call is a syncable (read) or not\n\t// And since our loading indication relies on the `request:read` event and the `sync` event\n\t// we will get false loading positives by checking `this.syncing`\n\t// So, check for the `read` method in our current calls list\n\tget isSyncing() {\n\t\treturn this._rpc && this.syncing && this._rpc.callsByName.read != null;\n\t}\n\n\t/** @type {object} */\n\tget methods() {\n\t\treturn {};\n\t}\n\n\t/** @type {object} */\n\tget parsers() {\n\t\treturn {};\n\t}\n\n\t/** @type {object} */\n\tget rpc() {\n\t\treturn false;\n\t}\n\n\tget url() {\n\t\treturn URL.api;\n\t}\n\n\t/** @type {object} */\n\tget templateProps() {\n\t\treturn this;\n\t}\n\n\t/** @type {object} */\n\tget xhrLoadedMessages() {\n\t\treturn {};\n\t}\n\n\t/** @type {object} */\n\tget xhrLoadingMessages() {\n\t\treturn {};\n\t}\n\n\t/**\n\t * @override\n\t * @param {array} models Models array\n\t * @param {object} options Collection options\n\t */\n\tconstructor(models, opts = {}) {\n\t\t// Circular reference\n\t\t// Model = require('./netx-model.js');\n\n\t\topts.model = opts.model || Model;\n\t\tsuper(models, opts);\n\n\t\tconst rpc = opts.rpc != null ? opts.rpc : this.rpc;\n\t\tif (rpc === true) {\n\t\t\tthis._rpc = new Rpc();\n\t\t}\n\n\t\tthis.sorter = opts.sorter;\n\n\t\t/**\n\t\t * Override this in your collection if you want to store your models locally\n\t\t * If you create two collections of the same type and wish to keep the data seperate in the store\n\t\t * override this in your initialization of the collection and give a different name\n\t\t * Like var secondaryNotifications = new Netx.Collection.Notifications([], { localStorageKey: 'secondary-notifications' })\n\t\t * @note: This will only store the attributes - you can not store object references, etc\n\t\t * @param {object} options\n\t\t */\n\t\tthis.localStorageKey = opts.localStorageKey || null;\n\t\t/** @type {number} */\n\t\tthis.maxStore = opts.maxStore || 100;\n\n\t\t/**\n\t\t * @type {string}\n\t\t */\n\t\tthis.filterStr = opts.filterStr || '';\n\n\t\t/**\n\t\t * Tracks models in local storage\n\t\t * @memberof module:core/lib/netx-collection\n\t\t * @alias stored\n\t\t * @type {array}\n\t\t */\n\t\tthis.stored = [];\n\n\t\t// Hey, listen!\n\t\tthis.listenTo(this, 'add', this.modelAdded)\n\t\t\t.listenTo(this, 'change', this.modelChanged)\n\t\t\t.listenTo(this, 'remove', this.modelRemoved)\n\t\t\t.listenTo(this, 'sync', () => {\n\t\t\t\tthis.syncedOnce = true;\n\t\t\t});\n\n\t\t// Load data\n\t\t// Defer to give everything a chance to finish initialization\n\t\t// TODO: deferLocalStorage property here is not used elsewhere, and is weird\n\t\t// TODO: defering pager listening\n\t\t// allows inherrting class construtors\n\t\t// to go first, not ideal, hard to test\n\t\t_.defer(() => {\n\t\t\tif (!this.deferLocalStorage && this.localStorageKey) {\n\t\t\t\tthis.loadLocalStorage();\n\t\t\t}\n\n\t\t\tif (this.pager) {\n\t\t\t\tthis.listenTo(this.pager, 'change:itemTotal', (pager, total) => {\n\t\t\t\t\tthis.trigger('updatedTotal', this);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * We have some models that utilize the key `attributes` for things like attribute templates\n\t * @override\n\t * @param {number|object|string|Backbone.Model} obj Either a model, raw model attribute data, or a model cid/id\n\t * @return {Backbone.Model}\n\t */\n\tget(obj) {\n\t\tif (obj == null) {\n\t\t\treturn void 0;\n\t\t}\n\n\t\t// There is no reason, I can find in the backbone code to be passing models to this - you could just use\n\t\t// `collection.get()`\n\t\t// I suppose it is for brevity, they do not have to check if the object is a model or raw attributes when looping\n\t\t// over the data provided in add/reset/set, it can just check if the model exists in the collection by passing the object or model\n\t\t// But to assume that the existence of an `attributes` property makes this a model is not good for us\n\t\tif (obj.attributes && this._isModel(obj)) {\n\t\t\tif (obj.cid && this._byId[obj.cid]) {\n\t\t\t\treturn this._byId[obj.cid];\n\t\t\t}\n\t\t\tobj = obj.attributes;\n\t\t}\n\t\t// At this point it should either by an id, cid or a raw object of attributes (set/reset/add)\n\t\t// `_byId` is an object indexed twice, once by id and then cid\n\t\t// If you are ever having issues with this method, check the state of `this._byId`.\n\t\treturn this._byId[obj] || this._byId[this.modelId(obj)];\n\t}\n\n\t/**\n\t * Add model to session storage\n\t * @note It will only store the attributes (and only the attributes which do not reference other objects directly)\n\t * This is because we can only store json strings in the local/session storage\n\t * @param {Netx.Model} model Instance of Netx.Model\n\t */\n\taddToLocalStorage(model) {\n\t\tif (!model || !this.localStorageKey) return;\n\t\t// Keep in bounds of this.maxStore\n\t\tthis.checkMaxStore();\n\t\t// Model key\n\t\tconst keyName = [this.localStorageKey, model.id].join('');\n\t\t// To persist or not\n\t\tconst persist = model.storeOptions.persist;\n\n\t\t// Set the value\n\t\t// TODO: implement this in the model itself? (model.toLocalStorage() or similar.)\n\t\tlocalStore.set(\n\t\t\tkeyName,\n\t\t\tthis.parseLocalStorageModelOut(_.clone(model.self())),\n\t\t);\n\t\t// Add to beginning of this.stored array\n\t\tthis.stored.unshift(model.id);\n\t\t// Keep until explicitly removed\n\t\tif (persist === true) {\n\t\t\tlocalStore.persist(keyName);\n\t\t}\n\t\t// Expires\n\t\telse if (_.isString(persist) || _.isNumber(persist)) {\n\t\t\tlocalStore.expire(keyName, persist);\n\t\t}\n\t}\n\n\t/**\n\t * Enforce this.maxStore\n\t * @method\n\t */\n\tcheckMaxStore() {\n\t\tif (!this.maxStore || this.stored.length < this.maxStore - 1) return;\n\n\t\t// Amount to rmeove\n\t\tconst count = this.stored.length - this.maxStore + 1;\n\t\t// Items to remove\n\t\tconst items = _.last(this.stored, count);\n\t\t// Loop over and remove them\n\t\t_.each(items, (id) => this.removeFromLocalStorage(this.get(id)));\n\t}\n\n\t/**\n\t * Clear out session storage for this.localStorageKey\n\t * @method\n\t */\n\tclearLocalStorage() {\n\t\tif (!this.localStorageKey) return;\n\n\t\t// Match all my model keys\n\t\tconst regexp = new RegExp(['^', this.localStorageKey, '.*'].join(''));\n\t\tlocalStore.remove(localStore.keys(regexp));\n\t\tthis.stored = [];\n\t}\n\n\t/**\n\t * Perform a deeper clone than the Backbone standard: also clone the collection's models.\n\t * @method\n\t */\n\tdeepClone() {\n\t\tconst clone = this.clone();\n\t\tclone.reset([], {silent: true});\n\t\tclone.set(this.map((model) => model.attributes));\n\n\t\t// Make sure our pagers match as well\n\t\t// todo: this would fail for collections\n\t\t// that don't create a pager on init\n\t\t// like netx-collection\n\t\tif (this.pager) {\n\t\t\tclone.pager.set({...this.pager.attributes});\n\t\t}\n\n\t\treturn clone;\n\t}\n\n\t/**\n\t * @method\n\t * @param {array} ids Model ids to delete\n\t */\n\tdeleteMultiple(ids) {\n\t\tif (ids.isCollection) {\n\t\t\tids = ids.ids();\n\t\t}\n\n\t\treturn $.when.apply(\n\t\t\t$,\n\t\t\tthis.chain() // .chain() lets us perform a stream of tasks.\n\t\t\t\t.filter((item) => ids.indexOf(item.id) > -1) // returns just the objects on the list.\n\t\t\t\t.invoke('destroy', {wait: true}) // calls 'destroy' on each one of those objects, waits for server response\n\t\t\t\t.value(), // returns an array of promises, one returned by each 'destroy' call.\n\t\t);\n\t}\n\n\t/**\n\t * Now that all model views contain the [data-nx-model-id] attribute on their elements,\n\t * this utility function can find a model given a DOM event from that model's view\n\t */\n\tgetModelIdFromEvent(e) {\n\t\tconst id = parseInt(\n\t\t\t$(e.target).closest('[data-nx-model-id]').attr('data-nx-model-id'),\n\t\t);\n\t\treturn this.get(id);\n\t}\n\n\t/**\n\t * Get size information on localStorage\n\t * http://blog.blakesimpson.co.uk/read/46-check-size-of-localstorage-usage-in-chrome\n\t * @method\n\t * @deprecate\n\t * @note not to be used heavily\n\t * @return {object} totals\n\t */\n\tgetLocalStorageSize() {\n\t\tlet amount = 0;\n\t\tlet total = 0;\n\t\tlet myTotal = 0;\n\t\tconst regexp = new RegExp(['^', this.localStorageKey, '.*'].join(''));\n\n\t\tfor (let x in localStorage) {\n\t\t\tamount = (localStorage[x].length * 2) / 1024 / 1024;\n\t\t\ttotal += amount;\n\t\t\tif (x.match(regexp)) myTotal += amount;\n\t\t}\n\n\t\tconsole.log('My total: ' + myTotal.toFixed(10) + ' MB');\n\t\tconsole.log('Total: ' + total.toFixed(10) + ' MB');\n\n\t\treturn {\n\t\t\tmyTotal: myTotal,\n\t\t\ttotal: total,\n\t\t};\n\t}\n\n\t/**\n\t * @method\n\t * @return {number} Total\n\t */\n\tgetTotal() {\n\t\tif (this.length && this.pager) {\n\t\t\tconst total = this.pager.get('itemTotal');\n\t\t\tif (total < this.length) {\n\t\t\t\treturn this.length;\n\t\t\t}\n\t\t\treturn total;\n\t\t}\n\n\t\tif (_.isFunction(this.assetCount)) {\n\t\t\treturn this.assetCount();\n\t\t}\n\n\t\treturn this.length;\n\t}\n\n\t/*\n\t * @method\n\t * @param {number} page Page number\n\t * @param {object} opts Options\n\t */\n\tgotoPage(page, opts) {\n\t\tif (page === this.curPage) {\n\t\t\treturn new $.Deferred().resolveWith(this);\n\t\t}\n\n\t\tthis.curPage = parseInt(page);\n\t\t// Getting a page for detail view\n\t\treturn this.fetch(_.extend({duplicateQueryPolicy: 'abort'}, opts));\n\t}\n\n\t/**\n\t * Return an array of the IDs of the models in this collection.\n\t * @method\n\t */\n\tids() {\n\t\treturn this.pluck(this.model.prototype.idAttribute);\n\t}\n\n\t/**\n\t * @method\n\t * @return {boolean}\n\t */\n\tisFiltered() {\n\t\treturn this.filterStr !== '' || this.filtered === true;\n\t}\n\n\t/**\n\t * Load session storage - happens at this.initialize\n\t * Looks for this.localStorageKey in sessionStorage and loads the data if available\n\t */\n\tloadLocalStorage() {\n\t\tif (!this.localStorageKey) return;\n\n\t\tthis.trigger('request:read', this, null);\n\n\t\t// Reset stored array\n\t\tthis.stored = [];\n\t\t// My model keys\n\t\tconst regexp = new RegExp(['^', this.localStorageKey, '.*'].join(''));\n\t\t// My stored models\n\t\tconst things = localStore.get(localStore.keys(regexp));\n\t\t// We have some things\n\t\tif (things && _.isArray(things)) {\n\t\t\t_.each(things, (t) => {\n\t\t\t\t// TODO: implement this in the model itself? (model.fromLocalStorage(t) or similar.)\n\t\t\t\tt = this.parseLocalStorageModelIn(t);\n\t\t\t\tif (!t) return;\n\t\t\t\t// Silent to avoid a loop\n\t\t\t\t// Collection hears model added- check to add to local storage - adds to local storage - check to add to loval storage - repeat repeat\n\t\t\t\t// I feel like adding an additional property isn't worth it when we have things like \"silent\" at our disposal\n\t\t\t\tthis.add(t, {silent: true});\n\t\t\t});\n\t\t\tthis.stored = this.ids();\n\t\t}\n\t\tthis.trigger('sync', this);\n\t}\n\n\t/**\n\t * Model was added to collection\n\t * @method\n\t * @param {Netx.Model} model Instance of Netx.Model\n\t */\n\tmodelAdded(model) {\n\t\tif (this.localStorageKey && model.storeOptions.persist) {\n\t\t\tthis.addToLocalStorage(model);\n\t\t}\n\t}\n\n\t/**\n\t * Model was changed in collection\n\t * @method\n\t * @param {Netx.Model} model Instance of Netx.Model\n\t */\n\tmodelChanged(model) {\n\t\tif (!this.localStorageKey) return;\n\n\t\t// Model key\n\t\tconst keyName = [this.localStorageKey, model.id].join('');\n\t\t// To persist or not\n\t\tconst persist = model.storeOptions.persist;\n\n\t\t// Set the value\n\t\tconst parsed = this.parseLocalStorageModelOut(_.clone(model.self()));\n\t\tif (!parsed) return;\n\n\t\tlocalStore.set(keyName, parsed);\n\t\t// Keep until explicitly removed\n\t\tif (persist === true) {\n\t\t\tlocalStore.persist(keyName);\n\t\t}\n\t\t// Expire\n\t\telse if (_.isString(persist) || _.isNumber(persist)) {\n\t\t\tlocalStore.expire(keyName, persist);\n\t\t}\n\t}\n\n\t/**\n\t * Model was removed from collection\n\t * @method\n\t * @param {Netx.Model} model Instance of Netx.Model\n\t */\n\tmodelRemoved(model) {\n\t\tif (!model || !this.localStorageKey) return;\n\n\t\tthis.removeFromLocalStorage(model);\n\t}\n\n\t/**\n\t * We often need to suggest a name for a new model. \"New Model\" works the first time, but\n\t * after that it's not a unique name any more, so we want to try \"New Model 2\", \"New Model 3\", et cetera,\n\t * until we find a good one.\n\t *\n\t * @method\n\t * @param {string} prefix Prefix of the model name (\"New Model\"), or i18n key of same (\"i18n.newModel\")\n\t * \t\t\t\t\t\t\t\t\t\t\t\t\t\t (i18n key should implement the numeric index via i18next plurals: http://i18next.com/translate/pluralSimple)\n\t * @param {string} attr The 'name' attribute of this model. If undefined, we'll try \"name\", \"title\" and \"label\" in that order.\n\t * @returns {string} Returns a unique name, not yet used by any model in this collection.\n\t */\n\tmakeUniqueName(prefix, attr) {\n\t\tlet index = 1;\n\t\tlet translate = false;\n\t\tlet title = prefix;\n\n\t\tif (prefix.match(/^i18n\\./)) {\n\t\t\ttranslate = true;\n\t\t\t// Translate prefix.\n\t\t\ttitle = i18n.t(prefix, {count: index});\n\n\t\t\t// If pluralization isn't working, we could get an endless loop.\n\t\t\t// Test that here:\n\t\t\tconst testTitle = i18n.t(prefix, {count: index + 1});\n\t\t\tif (title === testTitle) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"makeUniqueName: i18n key '\" + prefix + \"' is not pluralized.\",\n\t\t\t\t); // http://i18next.com/translate/pluralSimple\n\t\t\t\treturn title;\n\t\t\t}\n\t\t}\n\n\t\t// Check the easy case: there are no other models!\n\t\tif (!this.length) {\n\t\t\treturn title;\n\t\t}\n\n\t\t// If attr wasn't given, try to guess it.\n\t\tif (!attr) {\n\t\t\tif (this.at(0).has('name')) {\n\t\t\t\tattr = 'name';\n\t\t\t} else if (this.at(0).has('title')) {\n\t\t\t\tattr = 'title';\n\t\t\t} else if (this.at(0).has('label')) {\n\t\t\t\tattr = 'label';\n\t\t\t} else {\n\t\t\t\tthrow 'Undefined attr for model name';\n\t\t\t}\n\t\t}\n\n\t\t// If we can find a model matching this title, make a new title & try again.\n\t\tconst obj = {\n\t\t\t[attr]: title,\n\t\t};\n\t\twhile (this.findWhere(obj)) {\n\t\t\tindex++;\n\t\t\tif (translate) {\n\t\t\t\ttitle = i18n.t(prefix, {count: index});\n\t\t\t} else {\n\t\t\t\ttitle = prefix + ' ' + index;\n\t\t\t}\n\t\t\tobj[attr] = title;\n\t\t}\n\n\t\treturn title;\n\t}\n\n\t/**\n\t * Modify the model object that came back from local storage before inserting it into the collection\n\t * @method\n\t * @param {object} obj Model data object\n\t * @return {object} Model data\n\t */\n\tparseLocalStorageModelIn(obj) {\n\t\treturn obj;\n\t}\n\n\t/**\n\t * Modify the model object that is going to local storage before it does\n\t * @method\n\t * @param {object} obj Model attributes\n\t * @return {object} Model data\n\t */\n\tparseLocalStorageModelOut(obj) {\n\t\treturn obj;\n\t}\n\n\t/**\n\t * Remove model from session storage\n\t * @method\n\t * @param {Netx.Model} model Instance of Netx.Model\n\t */\n\tremoveFromLocalStorage(model) {\n\t\tif (!model || !this.localStorageKey) return;\n\n\t\t// Find by id in this.stored\n\t\tconst idx = _.indexOf(this.stored, model.id);\n\t\tif (idx > -1) {\n\t\t\tthis.stored.splice(idx, 1);\n\t\t}\n\t\tlocalStore.remove([this.localStorageKey, model.id].join(''));\n\t}\n\n\t/**\n\t * this.self() returns just the data in a collection that's reflected in the DAM.\n\t * It can be used in method definitions to omit models or model attributes that should *not* be synced.\n\t * We use it for cases where the data is structured differently in the\n\t * model than on the wire, and for models/collections that want to have additional attributes\n\t * for local-only reasons. .self() is intended to be called from method-definition functions,\n\t * when the API call is looking for a single JSON object to represent the entire collection.\n\t *\n\t * The default Netx.Collection.self() implemetation uses this.invoke() to call model.self() on each model,\n\t * and returns the resulting array.\n\t *\n\t * @return {object}\n\t * @method\n\t */\n\tself() {\n\t\treturn this.invoke('self');\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} str Filter\n\t */\n\tsetFilterStr(str) {\n\t\tstr = str != null ? str.toString() : '';\n\n\t\tif (this.filterStr === str) return new $.Deferred().resolve();\n\n\t\tthis.filterStr = str;\n\t\t// Reset to first page\n\t\tthis.pager.firstPage({fetch: false});\n\n\t\treturn this[this.preferredFetchMethod || 'fetch']({\n\t\t\tduplicateQueryPolicy: 'abort',\n\t\t});\n\t}\n\n\t/**\n\t * Set sort is to be used when sorting on the server with a `sortDTO`\n\t * Otherwise, use the standard backbone/backgrid sorting or override this method\n\t * @method\n\t * @param {string} field Field name\n\t * @param {string} order Order\n\t * @param {object} opts Request options\n\t */\n\tsetSort(field, order, opts) {\n\t\tif (!this.sorter) return;\n\t\tthis.sorter.setSort(field, order, opts);\n\t}\n\n\t/**\n\t * Subscribe to websocket\n\t * @method\n\t */\n\tsubscribe() {\n\t\treturn Model.prototype.subscribe.apply(this, arguments);\n\t}\n\n\t/**\n\t * Message received from websocket channel\n\t * @method\n\t * @param {object} data Message data\n\t */\n\tsubscriptionMessage(data) {\n\t\tconst model = this.get(data.id);\n\t\tswitch (data.action) {\n\t\t\tcase 'add':\n\t\t\t\t!model && this.add(data.dto);\n\t\t\t\tbreak;\n\t\t\tcase 'edit':\n\t\t\t\tmodel ? model.set(data.dto) : this.add(data.dto);\n\t\t\t\tbreak;\n\t\t\tcase 'delete':\n\t\t\t\tmodel && this.remove(model);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * Takes an autocomplete object and returns model with enough data\n\t * for a selection interface\n\t * @method\n\t * @param {object} data Data (an object of autocomplete data)\n\t * @return {module:core/lib/netx-model} Instance of `netx-model`\n\t * @example\n\t * .toSelectedItemFromAutocomplete({\n\t * id: \"1\",\n\t * text: \"Item label\"\n\t * });\n\t */\n\ttoSelectedItemFromAutocomplete(data, additionalAttrs = {}, opts = {}) {\n\t\tconst model = this.model;\n\t\tconst modelProto = model.prototype;\n\n\t\tlet id = parseInt(data.id);\n\t\tif (_.isNaN(id)) {\n\t\t\tid = data.id;\n\t\t}\n\t\t// This is where computed keys would be cool\n\t\treturn new model(\n\t\t\t{\n\t\t\t\t[modelProto.idAttribute]: id,\n\t\t\t\t[modelProto.titleAttribute]: data.text,\n\t\t\t\t...additionalAttrs,\n\t\t\t},\n\t\t\topts,\n\t\t);\n\t}\n\n\t/**\n\t * Unsubscribe from websocket\n\t * @method\n\t */\n\tunsubscribe() {\n\t\t// If models have an `unsubscribe` method, call them\n\t\tif (_.isFunction(this.model.prototype.unsubscribe)) {\n\t\t\tthis.invoke('unsubscribe');\n\t\t}\n\t\t// Super (of sorts)\n\t\treturn Model.prototype.unsubscribe.apply(this, arguments);\n\t}\n\n\t/**\n\t * @method\n\t */\n\tbatchJobComplete() {\n\t\treturn Model.prototype.batchJobComplete.apply(this, arguments);\n\t}\n\n\t/**\n\t * @method\n\t */\n\tbatchJobError() {\n\t\treturn Model.prototype.batchJobError.apply(this, arguments);\n\t}\n\n\t/**\n\t * @method\n\t */\n\tbatchJobProgress() {\n\t\treturn Model.prototype.batchJobProgress.apply(this, arguments);\n\t}\n\n\t/**\n\t * @method\n\t */\n\tgetRestLoadedMessage() {\n\t\treturn Model.prototype.getRestLoadedMessage.apply(this, arguments);\n\t}\n\n\t/**\n\t * @method\n\t */\n\tgetRestLoadingMessage() {\n\t\treturn Model.prototype.getRestLoadingMessage.apply(this, arguments);\n\t}\n\n\t/**\n\t * @method\n\t */\n\ttrackBatchJob() {\n\t\treturn Model.prototype.trackBatchJob.apply(this, arguments);\n\t}\n\n\t/**\n\t * A scoped version of jQuery.when(), that always uses 'this' as the context for the promise it returns.\n\t * It's also able to accept an array of promises, so we don't need to use .apply to make it go.\n\t * @method\n\t */\n\twhen() {\n\t\treturn Model.prototype.when.apply(this, arguments);\n\t}\n\n\t/**\n\t * Object Polling:\n\t * pollUntil() tells any model/collection to do something repeatedly until a conditional test passes,\n\t * emitting appropriate events along the way. Use this to follow DAM changes to certain object properties,\n\t * or to check status until a status change.\n\t *\n\t * @param function doneTest A function that returns true if polling should finish. (Required)\n\t * @param string eventPrefix Event string prefix for polling events. If undefined, no events are triggered.\n\t * @param function pollMethod A function that causes a poll. Must return a promise. Defaults to this.fetch;\n\t * @param number pollInterval Milliseconds between polls. Defaults to 500.\n\t * @method\n\t */\n\tpollUntil() {\n\t\treturn Model.prototype.pollUntil.apply(this, arguments);\n\t}\n\tpausePolling() {\n\t\treturn Model.prototype.pausePolling.apply(this, arguments);\n\t}\n\tresumePolling() {\n\t\treturn Model.prototype.resumePolling.apply(this, arguments);\n\t}\n\n\t//////////////////////////////////////////\n\t// LAZYLOADING\n\t//////////////////////////////////////////\n\t/**\n\t * @method\n\t * @param {number} index Index\n\t */\n\tcheckReachedBeginning(index) {\n\t\tthis.reachedBeginning = this.reachedBeginning || index === 0;\n\t\treturn this;\n\t}\n\n\t/**\n\t * @method\n\t * @param {number} index Index\n\t */\n\tcheckReachedEnd(index) {\n\t\tthis.reachedEnd =\n\t\t\tthis.reachedEnd ||\n\t\t\tindex + this.pager.get('pageSize') >= this.pager.get('itemTotal');\n\t\treturn this;\n\t}\n\n\t/**\n\t * @method\n\t */\n\tinitializeLazyLoad() {\n\t\tthis.reachedBeginning = this.reachedEnd = false;\n\t\tthis.lazyStartIndex = this.pager.get('startIndex');\n\t\tthis.lowestIndex = this.highestIndex = this.lazyStartIndex;\n\n\t\t// No routing\n\t\tthis.pager.set({\n\t\t\t// TODO: collections/models should not need to know about routes/routing\n\t\t\troutesToPage: false,\n\t\t});\n\n\t\tthis.checkReachedBeginning(this.lazyStartIndex)\n\t\t\t.checkReachedEnd(this.lazyStartIndex)\n\t\t\t.stopListening(this.pager, 'change:startIndex', this.startIndexUpdated)\n\t\t\t.listenTo(this.pager, 'change:startIndex', this.startIndexUpdated);\n\t}\n\n\t/**\n\t * @method\n\t * @param {boolean} forward Forward\n\t * @deprecate - unused\n\t * @return {number} Items loading\n\t */\n\tlazyLoadItems(forward) {\n\t\tif (\n\t\t\tthis.syncing ||\n\t\t\t(!forward && this.reachedBeginning) ||\n\t\t\t(forward && this.reachedEnd)\n\t\t)\n\t\t\treturn false;\n\n\t\tconst pageSize = this.pager.get('pageSize');\n\t\tconst page = forward\n\t\t\t? (this.highestIndex + pageSize) / pageSize + 1\n\t\t\t: (this.lowestIndex - pageSize) / pageSize + 1;\n\n\t\tif (page < 1 || page > this.pager.get('pageTotal')) return false;\n\n\t\tthis.lazyLoadedForward = forward;\n\n\t\t// Update pager\n\t\tthis.pager.set(\n\t\t\t{\n\t\t\t\tcurrentPage: page,\n\t\t\t},\n\t\t\t{\n\t\t\t\tat: forward ? this.length : 0,\n\t\t\t\tmerge: true,\n\t\t\t\tremove: false,\n\t\t\t\tsort: false,\n\t\t\t},\n\t\t);\n\n\t\t// Calculate items that will load\n\t\tif (this.pager.get('pageTotal')) {\n\t\t\tlet diff = page * pageSize - this.pager.get('itemTotal');\n\t\t\tif (diff < 0) diff = 0;\n\t\t\treturn pageSize - diff;\n\t\t}\n\n\t\treturn pageSize;\n\t}\n\n\t/**\n\t * @method\n\t * @param {module:app/models/pager} pager Pager\n\t * @param {number} startIndex Start index\n\t */\n\tstartIndexUpdated(pager, startIndex) {\n\t\t// Was not able to set at lazy load initialize\n\t\tif (this.lazyStartIndex == null) {\n\t\t\tthis.lazyStartIndex = startIndex;\n\t\t}\n\n\t\tif (this.lowestIndex == null || startIndex < this.lowestIndex) {\n\t\t\tthis.lowestIndex = startIndex;\n\t\t}\n\n\t\tif (this.highestIndex == null || startIndex > this.highestIndex) {\n\t\t\tthis.highestIndex = startIndex;\n\t\t}\n\n\t\tthis.checkReachedBeginning(startIndex);\n\t\tthis.checkReachedEnd(startIndex);\n\t}\n\t//////////////////////////////////////////\n\t// !LAZYLOADING\n\t//////////////////////////////////////////\n\n\t//////////////////////////////////////////\n\t// HOUSEKEEPING\n\t//////////////////////////////////////////\n\taddSubCollection() {\n\t\treturn Model.prototype.addSubCollection.apply(this, arguments);\n\t}\n\tremoveSubCollection() {\n\t\treturn Model.prototype.removeSubCollection.apply(this, arguments);\n\t}\n\taddSubModel() {\n\t\treturn Model.prototype.addSubModel.apply(this, arguments);\n\t}\n\tremoveSubModel() {\n\t\treturn Model.prototype.removeSubModel.apply(this, arguments);\n\t}\n\t/**\n\t * Severs all ties to the world so it can be eligible for garbage collection\n\t * @method\n\t */\n\tgarbageCollect() {\n\t\tthis._rpc && this._rpc.garbageCollect();\n\n\t\t// Let go of any websocket channels\n\t\tthis.unsubscribe();\n\t\t// Empty out models - see our reset override\n\t\tthis.reset([]);\n\t\t// Kill all event listeners\n\t\tthis.stopListening().off();\n\n\t\tif (this.pager) {\n\t\t\tthis.pager.garbageCollect();\n\t\t}\n\t\tdelete this.subModels;\n\n\t\t// Loop over sub collection and trigger their cleanup\n\t\tif (_.isObject(this.subCollections)) {\n\t\t\t_.each(this.subCollections, function (c) {\n\t\t\t\tc.garbageCollect();\n\t\t\t});\n\t\t\tdelete this.subCollections;\n\t\t}\n\n\t\tthis.garbageCollected = true;\n\n\t\treturn this;\n\t}\n\t//////////////////////////////////////////\n\t// !HOUSEKEEPING\n\t//////////////////////////////////////////\n\n\t// TODO: Implement the class method Load() for testing\n\t// see Netx.Model definition for implementation guidelines'\n\t//\n\t/**\n\t * @method\n\t * @static\n\t * unused\n\t */\n\tstatic Load(selection) {\n\t\tconst collection = new this();\n\t\tif (selection != null) {\n\t\t\tcollection.selection = selection;\n\t\t}\n\t\treturn collection.fetch().then(() => {\n\t\t\treturn collection;\n\t\t});\n\t}\n\n\t/** @type {boolean} */\n\tstatic get __isCollection__() {\n\t\treturn true;\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'Collection';\n\t}\n}\n\nexport default Collection;\n","/**\n * Netx.Model extends Backbone.Model, adding just a few handy methods.\n * @class\n * @extends Backbone.ES6Model\n */\n\nimport Backbone from 'backbone';\nimport Rpc from 'core-libs/backbone.rpc';\n\nimport {protectObjectProxy} from '@netx/core/utils/protectObjectProxy';\nimport {URL} from '@netx/core-next/url';\n// these are circular references\n// import {batchJobs} from '@netx/core-app/collections/singleton/batchJobs';\n// import {legacyWebsocket} from '@netx/core-app/collections/singleton/websocket';\n\n// Wrap an optional error callback with a fallback error event.\n// This is from the backbone.js file and allows us to override the save\n// method so that we can support rejecting promises when validation fails\nconst wrapError = (model, options) => {\n\tconst error = options.error;\n\toptions.error = function (resp) {\n\t\tif (error) error.call(options.context, model, resp, options);\n\t\tmodel.trigger('error', model, resp, options);\n\t};\n};\n\n// Setup ajv for data validation\nimport Ajv from 'ajv';\nconst ajv = new Ajv({\n\tallErrors: true,\n\tcoerceTypes: true,\n\t$data: true,\n\tmissingRefs: 'ignore',\n\tuseDefaults: 'empty',\n\tnullable: true,\n});\n\n/**\n * Get default values from schema\n * Used to define `this.defaults`\n * @function\n * @param {schema} schema Schema\n * @return {object} Defaults\n */\nconst getDefaultsFromSchema = (schema) => {\n\tconst {properties} = schema;\n\tconst defaults = {};\n\tfor (let key in properties) {\n\t\tif (properties.hasOwnProperty(key)) {\n\t\t\tconst defaultValue = properties[key].default;\n\t\t\tif (typeof defaultValue !== 'undefined') {\n\t\t\t\tdefaults[key] = defaultValue;\n\t\t\t}\n\t\t}\n\t}\n\treturn defaults;\n};\n\nconst BBModel = Backbone.Model;\n// Make a Model we can extend from in other classes\nclass ES6Model {\n\tget schema() {\n\t\treturn this.constructor.Schema;\n\t}\n\n\t/** @override */\n\tconstructor(attrs, opts) {\n\t\tconst schema = this.schema;\n\t\tif (schema) {\n\t\t\t// If we have not explicitely setup our own validation\n\t\t\t// validate via ajv and our provided schema\n\t\t\tif (!this.validate) {\n\t\t\t\tconst ValidateSchema = ajv.compile(schema);\n\t\t\t\tthis.validate = (attrs, opts) => {\n\t\t\t\t\tconst isValid = ValidateSchema(attrs);\n\t\t\t\t\treturn !isValid ? [...ValidateSchema.errors] : false;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Set our defaults based on the schema provided\n\t\t\t// If you are coming from the old backbone stuff and want to use schema and extend from another schema\n\t\t\t// you will need to do that in your schema file and not in the model \"defaults\" getter that we have\n\t\t\t// been using\n\t\t\tObject.defineProperty(this, 'defaults', {\n\t\t\t\tget() {\n\t\t\t\t\treturn getDefaultsFromSchema(schema);\n\t\t\t\t},\n\t\t\t\tconfigurable: false,\n\t\t\t});\n\t\t}\n\n\t\tBBModel.call(this, attrs, opts);\n\n\t\t// Always represent `id` on the model's attributes regardless of what the key actually is\n\t\t// I have yet to find a model that is utilizing a key of id for anything but the id\n\t\t// DEVNOTE: Setting this after call to backbone model as `this.attributes` does not exist until then\n\t\tif (schema && schema.primary !== 'id') {\n\t\t\tObject.defineProperty(this.attributes, 'id', {\n\t\t\t\tget: () => {\n\t\t\t\t\treturn this.id;\n\t\t\t\t},\n\t\t\t\tconfigurable: false,\n\t\t\t});\n\t\t}\n\t}\n}\n// Object.assign(ES6Model.prototype, BBModel.prototype);\n_.extend(ES6Model.prototype, BBModel.prototype);\nBackbone.ES6Model = ES6Model;\n\nclass Model extends ES6Model {\n\t/** @override */\n\tget idAttribute() {\n\t\tconst schema = this.schema;\n\t\t// The backbone way (so that we do not have to do every model at once)\n\t\t// Any model that does not use `id` will already be overriding this getter\n\t\tif (!schema) return 'id';\n\n\t\t// The new schema way\n\t\treturn schema.primary;\n\t}\n\n\t/** @type {boolean} */\n\tget isModel() {\n\t\treturn this.constructor.__isModel__;\n\t}\n\n\t// Whelp\n\t// Need to fix in backbone.rpc - the model get's a property of `syncing`\n\t// whether the call is a syncable (read) or not\n\t// And since our loading indication relies on the `request:read` event and the `sync` event\n\t// we will get false loading positives by checking `this.syncing`\n\t// So, check for the `read` method in our current calls list\n\tget isSyncing() {\n\t\treturn this._rpc && this.syncing && this._rpc.callsByName.read != null;\n\t}\n\n\t/**\n\t * The attribute key to find the model's \"title\"\n\t * @type {string}\n\t */\n\tget titleAttribute() {\n\t\treturn 'title';\n\t}\n\n\tget url() {\n\t\treturn URL.api;\n\t}\n\n\t// TODO: when we have switched all the way over to the schema pattern we can remove this\n\tget defaults() {\n\t\treturn {};\n\t}\n\n\t/** @type {array} */\n\tget clientAttrs() {\n\t\treturn [];\n\t}\n\n\t/** @type {object} */\n\tget xhrLoadedMessages() {\n\t\treturn {};\n\t}\n\n\t/** @type {object} */\n\tget xhrLoadingMessages() {\n\t\treturn {};\n\t}\n\n\t/** @type {object} */\n\tget methods() {\n\t\treturn {};\n\t}\n\n\t/** @type {object} */\n\tget parsers() {\n\t\treturn {};\n\t}\n\n\t/**\n\t * @method\n\t * @param {object} attrs Model attributes\n\t * @param {object} opts Model options\n\t */\n\tconstructor(attrs, opts = {}) {\n\t\tsuper(attrs, opts);\n\n\t\t// Init backbone.rpc if requested:\n\t\tconst rpc = opts.rpc != null ? opts.rpc : this.rpc;\n\t\tif (rpc === true) {\n\t\t\tthis._rpc = new Rpc();\n\t\t}\n\n\t\t/**\n\t\t * When a stored model should expire\n\t\t * Set to true to persist until explicitly deleted\n\t\t * https://github.com/ozantunca/locally\n\t\t * Forever/Milliseconds/TTL\n\t\t * @type {boolean|integer|string}\n\t\t * @default\n\t\t * @see Netx.Collection\n\t\t */\n\t\tthis.storeOptions = {\n\t\t\tpersist: false,\n\t\t};\n\t\t// Store options\n\t\tif (opts && _.isObject(opts.storeOptions)) {\n\t\t\tthis.storeOptions = _.extend({}, this.storeOptions, opts.storeOptions);\n\t\t\tdelete opts.storeOptions;\n\t\t}\n\n\t\t/**\n\t\t * If we defined the object _unsavedChanges on a Netx.Model, that\n\t\t * object will track every change between syncs. This is useful\n\t\t * for tracking unsaved local changes over time.\n\t\t */\n\t\t// On change events, store the changes.\n\t\tthis.listenTo(this, 'change', (model, options) => {\n\t\t\tif (!_.isObject(this._unsavedChanges)) return;\n\t\t\tif (options && options.silent) return;\n\t\t\t_.extend(this._unsavedChanges, model.changedAttributes());\n\t\t});\n\t\t// On sync events, flush the changes.\n\t\tthis.listenTo(this, 'sync', () => {\n\t\t\tthis.syncedOnce = true;\n\t\t\tif (_.isObject(this._unsavedChanges)) {\n\t\t\t\tthis._unsavedChanges = {};\n\t\t\t}\n\t\t});\n\n\t\t//////////////////////////////////////////\n\t\t// HOUSEKEEPING\n\t\t//////////////////////////////////////////\n\n\t\t// Where will store references to the collection we belong to. We use the _listenId and store only that\n\t\t// That way we are not creating any circular references and do not risk making our garbage collection\n\t\t// even more difficult to deal with in regards to our ghost models\n\t\t// On one hand- it is great to see details about the collection the model claims to belong to in cases\n\t\t// where you are not sure why it still belongs to one - but the cost of storing the actual collection\n\t\t// coul be that neither the model nor the collection ever get collected as the model is listening to some\n\t\t// global object and maintiaining a reference to a collection that should have been garbage collected\n\t\t// which then could be referencing other objects that would have otherwise been garbage collected and so on.\n\t\t// this.debugCollections = [];\n\t\tthis.collections = [];\n\t\t// Backbone never really anticipated (on purpose) that models\n\t\t// would create models and listen to other things (not self) (especially global variables like our dispatcher)\n\t\t// Cleanup\n\t\tthis.listenTo(this, 'remove', (model, collection, opts) => {\n\t\t\t// Each model that creates sub models should be listening for remove and then triggering the same on its sub models\n\t\t\t// That way everything gets cleaned up and memory leaks decline\n\t\t\tthis.removeCollectionReference(collection);\n\t\t});\n\t\tthis.listenTo(this, 'add', (model, collection, opts) => {\n\t\t\t// If we are not already storing a reference - store one\n\t\t\tthis.addCollectionReference(collection);\n\t\t});\n\t\t//////////////////////////////////////////\n\t\t// !HOUSEKEEPING\n\t\t//////////////////////////////////////////\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} perm Permission\n\t * @return {boolean} Allowed\n\t */\n\tallows(perm) {\n\t\tif (perm === 'read' || perm === 'r' || perm === 'download') return true;\n\n\t\tvar permitted = this.get('permission');\n\n\t\t// Nothing we can check\n\t\tif (!permitted) return true;\n\n\t\tswitch (perm) {\n\t\t\tcase 'd':\n\t\t\tcase 'delete':\n\t\t\t\treturn permitted === 'delete' || permitted === 'd';\n\t\t\tcase 'modify':\n\t\t\tcase 'w':\n\t\t\tcase 'edit':\n\t\t\tcase 'write':\n\t\t\t\treturn (\n\t\t\t\t\tpermitted === 'delete' ||\n\t\t\t\t\tpermitted === 'write' ||\n\t\t\t\t\tpermitted === 'd' ||\n\t\t\t\t\tpermitted === 'w'\n\t\t\t\t);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * @override\n\t * @param {Netx.Models.BatchJob} Batch job model\n\t */\n\tbatchJobComplete(batchJob) {\n\t\tvar args = batchJob.get('args') || [];\n\t\tthis.trigger.apply(this, ['complete', this, batchJob].concat(args));\n\t}\n\t/**\n\t * @override\n\t * @param {Netx.Models.BatchJob} Batch job model\n\t * @param {string} error Error\n\t */\n\tbatchJobError(batchJob, error) {\n\t\tvar args = batchJob.get('args') || [];\n\t\tthis.trigger.apply(this, ['error', this, error].concat(args));\n\t}\n\t/**\n\t * @override\n\t * @param {Netx.Models.BatchJob} Batch job model\n\t * @param {number} progress Progress\n\t */\n\tbatchJobProgress(batchJob, progress) {\n\t\tvar args = batchJob.get('args') || [];\n\t\tthis.trigger.apply(\n\t\t\tthis,\n\t\t\t['progress', this, batchJob, progress].concat(args),\n\t\t);\n\t}\n\n\t/**\n\t * There is a fun labels game we play with some of our objects; particularly users\n\t * We need to get our labels on the same page as what we might get from an autolookup\n\t * This method allows less than ideal models to modify how this label is gathered\n\t * @method\n\t * @return {string} Atuocomplete label\n\t */\n\tgetAutocompleteLabel() {\n\t\treturn this.getLabel();\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} method Method name\n\t */\n\tgetRestLoadedMessage(method) {\n\t\tvar messages = this.xhrLoadedMessages || {};\n\t\treturn messages[method];\n\t}\n\t/**\n\t * @method\n\t * @param {string} method Method name\n\t */\n\tgetRestLoadingMessage(method) {\n\t\tvar messages = this.xhrLoadingMessages || {};\n\t\treturn messages[method];\n\t}\n\n\t/**\n\t * this.self() returns just the attributes of a model that are reflected in the DAM;\n\t * it is used in method definitions to omit model attributes that should *not* be\n\t * synced. We use it for cases where the data is structured differently in the\n\t * model than on the wire, and for models that want to have additional attributes\n\t * for local-only reasons.\n\t *\n\t * The default implementation removes any/all client-only attributes defined in the optional array property this.clientAttrs,\n\t * and aggregates ny/all attributes defined in the optional array property this.gooAttrs\n\t * into a single attribute called 'goo'. If neither of those optional properties\n\t * is defined, this.self() returns all model attributes.\n\t * @return {object}\n\t * @method\n\t */\n\tself() {\n\t\t// If we have goo attrs, this will pack them. Otherwise it will return a clone of this.attributes.\n\t\tlet attrs = this.packAttrs();\n\n\t\tconst schema = this.schema;\n\t\t// If we have client-only attrs, omit them.\n\t\t// The new schema way\n\t\tif (schema) {\n\t\t\tattrs = _.omit(attrs, schema.clientSide);\n\t\t}\n\t\t// The old way\n\t\telse if (this.clientAttrs) {\n\t\t\tattrs = _.omit(attrs, this.clientAttrs);\n\t\t}\n\t\t// Cloning so we don't accidentally modify model properties while preparing attributes to be sent to RPC methods\n\t\treturn _.clone(attrs);\n\t}\n\n\t/**\n\t * this.packAttrs(), given an attributes object (usually this.attributes), returns the JSON string\n\t * representation of any/all model properties listed in this.gooAttrs.\n\t * It's used by this.self, when converting from the client-side to the server-side representation.\n\t * @param {string} goo an attributes object. If undefined, this.attributes is used.\n\t * @return {string}\n\t * @method\n\t */\n\tpackAttrs(ungooeyObj) {\n\t\tungooeyObj = ungooeyObj || this.attributes;\n\t\tif (this.gooAttrs) {\n\t\t\tvar clientGoo = JSON.stringify(_.pick(ungooeyObj, this.gooAttrs));\n\n\t\t\t// HACK around bugs in the DAM JSON parser: triple-escape escaped quotes!\n\t\t\tvar serverGoo = clientGoo.replace(/\"/g, '\\\\\"');\n\n\t\t\treturn _.extend({}, _.omit(ungooeyObj, this.gooAttrs), {goo: serverGoo});\n\t\t} else {\n\t\t\treturn ungooeyObj;\n\t\t}\n\t}\n\n\t/**\n\t * this.unpackAttrs(), given an object with packed goo, returns an unpacked version.\n\t * It's used by parsers converting from server-side to client-side representations.\n\t * @param {object} gooeyObj the goo-encoded object\n\t * @return {object} the goo-decoded version.\n\t */\n\tunpackAttrs(gooeyObj) {\n\t\tif (!(this.gooAttrs && gooeyObj && gooeyObj.goo)) {\n\t\t\t// do nothing if model defines no goo.\n\t\t\treturn gooeyObj;\n\t\t}\n\n\t\tvar serverGoo = gooeyObj.goo;\n\t\t// HACK around bugs in the DAM JSON parser: unescape triple-escaped quotes!\n\t\tvar clientGoo = serverGoo.replace(/\\\\\"/g, '\"');\n\n\t\t// with _.omit, delete the goo key\n\t\treturn _.omit(\n\t\t\t_.extend(\n\t\t\t\t{},\n\t\t\t\tgooeyObj,\n\t\t\t\t// with _.pick, only allow goo we've defined in .gooAttrs!\n\t\t\t\t_.pick(JSON.parse(clientGoo), this.gooAttrs),\n\t\t\t),\n\t\t\t'goo',\n\t\t);\n\t}\n\n\t/**\n\t * Overriding because we expect to get back a promise\n\t * when validation or an error in set occurs backbone just returns false\n\t * @override\n\t */\n\tsave(key, val, options) {\n\t\t// Handle both `\"key\", value` and `{key: value}` -style arguments.\n\t\tvar attrs;\n\t\tif (key == null || typeof key === 'object') {\n\t\t\tattrs = key;\n\t\t\toptions = val;\n\t\t} else {\n\t\t\t(attrs = {})[key] = val;\n\t\t}\n\n\t\toptions = _.extend({validate: true, parse: true}, options);\n\t\tvar wait = options.wait;\n\n\t\t// If we're not waiting and attributes exist, save acts as\n\t\t// `set(attr).save(null, opts)` with validation. Otherwise, check if\n\t\t// the model will be valid when the attributes, if any, are set.\n\t\tif (attrs && !wait) {\n\t\t\tif (!this.set(attrs, options)) {\n\t\t\t\tconst error = new Error(`Error setting data`);\n\t\t\t\treturn new $.Deferred().reject(error);\n\t\t\t\t// return false;\n\t\t\t}\n\t\t} else if (!this._validate(attrs, options)) {\n\t\t\tconst error = new Error(`Validation error`);\n\t\t\terror.details = this.validationError;\n\t\t\treturn new $.Deferred().reject(error);\n\t\t\t// return false;\n\t\t}\n\n\t\t// After a successful server-side save, the client is (optionally)\n\t\t// updated with the server-side state.\n\t\tvar model = this;\n\t\tvar success = options.success;\n\t\tvar attributes = this.attributes;\n\t\toptions.success = function (resp) {\n\t\t\t// Ensure attributes are restored during synchronous saves.\n\t\t\tmodel.attributes = attributes;\n\t\t\tvar serverAttrs = options.parse ? model.parse(resp, options) : resp;\n\t\t\tif (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n\t\t\tif (serverAttrs && !model.set(serverAttrs, options)) return false;\n\t\t\tif (success) success.call(options.context, model, resp, options);\n\t\t\tmodel.trigger('sync', model, resp, options);\n\t\t};\n\t\twrapError(this, options);\n\n\t\t// Set temporary attributes if `{wait: true}` to properly find new ids.\n\t\tif (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\n\t\tvar method = this.isNew() ? 'create' : options.patch ? 'patch' : 'update';\n\t\tif (method === 'patch' && !options.attrs) options.attrs = attrs;\n\t\tvar xhr = this.sync(method, this, options);\n\n\t\t// Restore attributes.\n\t\tthis.attributes = attributes;\n\n\t\treturn xhr;\n\t}\n\n\t/**\n\t * Keep track of any models or collections that may be attributes on the model\n\t * @override\n\t */\n\tset(key, val, options) {\n\t\tif (_.isObject(key)) {\n\t\t\t_.each(\n\t\t\t\tkey,\n\t\t\t\tfunction (v, k) {\n\t\t\t\t\tif (!v) return;\n\n\t\t\t\t\tif (v instanceof this.constructor) {\n\t\t\t\t\t\tthis.addSubModel(v);\n\t\t\t\t\t} else if (v && v.isModel) {\n\t\t\t\t\t\tthis.addSubCollection(v);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tthis,\n\t\t\t);\n\t\t} else if (val) {\n\t\t\tif (val instanceof this.constructor) {\n\t\t\t\tthis.addSubModel(val);\n\t\t\t} else if (val.isCollection) {\n\t\t\t\tthis.addSubCollection(val);\n\t\t\t}\n\t\t}\n\n\t\treturn super.set(key, val, options);\n\t}\n\n\t/**\n\t * @method\n\t * @return {object} Defaults\n\t */\n\tgetDefaults() {\n\t\treturn this.constructor.GetDefaults();\n\t}\n\n\t/**\n\t * @method\n\t * @return {number}\n\t */\n\tgetIndex() {\n\t\treturn this.collection ? this.collection.indexOf(this) : -1;\n\t}\n\n\t/**\n\t * A general-purpose function for getting a UI-compliant label for an object.\n\t * This function can & should be overridden in all child classes.\n\t * @method\n\t * @return {string} Label (title)\n\t */\n\tgetLabel() {\n\t\treturn this.get(this.titleAttribute);\n\t}\n\n\t/**\n\t * Object Polling:\n\t * pollUntil() tells any model/collection to do something repeatedly until a conditional test passes,\n\t * emitting appropriate events along the way. Use this to follow DAM changes to certain object properties,\n\t * or to check status until a status change.\n\t *\n\t * @param {function} doneTest A function that returns true if polling should finish. (Required)\n\t * @param {string} eventPrefix Event string prefix for polling events. If undefined, no events are triggered.\n\t * @param {function} pollMethod A function that causes a poll. Must return a promise. Defaults to this.fetch;\n\t * @param {number} pollInterval Milliseconds between polls. Defaults to 500.\n\t * @param {object} pollMethodOptions Options to pass to the RPC method\n\t * @method\n\t * @todo convert params to a single object so that we can add/remove options without needing to modify every piece of code that utilizes this method\n\t * (you know, unless they NEED to be updated)\n\t */\n\tpollUntil(\n\t\tdoneTest,\n\t\teventPrefix,\n\t\tpollMethod,\n\t\tpollInterval,\n\t\tpollMethodOptions,\n\t) {\n\t\t// Vars\n\t\tvar d = new $.Deferred(),\n\t\t\tself = this;\n\n\t\tif (!_.isFunction(doneTest)) {\n\t\t\tthrow new Error('pollUntil: doneTest argument is not a function.');\n\t\t}\n\n\t\tpollMethodOptions = pollMethodOptions || {};\n\t\tpollInterval = pollInterval || 500; // ms\n\n\t\tpollMethod =\n\t\t\tpollMethod ||\n\t\t\tfunction () {\n\t\t\t\tif (_.isFunction(self.fetch)) return self.fetch(pollMethodOptions);\n\t\t\t\tthrow new Error('default poll method (fetch) not defined.');\n\t\t\t};\n\n\t\tif (this._polling) {\n\t\t\t// We are already polling.\n\t\t\tconsole.warn('This instance is already polling');\n\t\t\treturn this._polling.promise();\n\t\t}\n\n\t\t// Method for when we're finished:\n\t\tvar finished = function () {\n\t\t\tself._polling.resolveWith(self);\n\t\t\tif (eventPrefix) {\n\t\t\t\tdispatcher.trigger.apply(\n\t\t\t\t\tdispatcher,\n\t\t\t\t\t[\n\t\t\t\t\t\teventPrefix +\n\t\t\t\t\t\t\t(self._stopPolling ? ':stoppedPolling' : ':donePolling'),\n\t\t\t\t\t].concat(_.toArray(arguments)),\n\t\t\t\t);\n\t\t\t}\n\t\t\tdelete self._polling;\n\t\t\tdelete self._pausedPolling;\n\t\t\tdelete self._stopPolling;\n\t\t};\n\n\t\ttry {\n\t\t\t// Pass undefined so that we may differentiate between the first test and the rest\n\t\t\tif (doneTest.apply(this, [undefined])) {\n\t\t\t\t// We don't even need to poll.\n\t\t\t\tfinished();\n\t\t\t\treturn d.promise();\n\t\t\t}\n\t\t} catch (ex) {\n\t\t\t// doneTest() might fail without proper arguments. If so, assume that means 'false'.\n\t\t\t// That means we're going to have to poll at least once in order to perform this test.\n\t\t}\n\n\t\tvar loop = function () {\n\t\t\tif (self._pausedPolling) {\n\t\t\t\t_.delay(loop, pollInterval);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tpollMethod.call(self, pollMethodOptions).then(\n\t\t\t\tfunction (response) {\n\t\t\t\t\t// For those cases that the server sends an error as a success\n\t\t\t\t\tif (_.isObject(response) && response.error) {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t'Server sent error as success. \\nModule :',\n\t\t\t\t\t\t\tself.module,\n\t\t\t\t\t\t\t'\\nModel :',\n\t\t\t\t\t\t\tself,\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn d.reject(\n\t\t\t\t\t\t\tnew Error(response.error.message || response.error),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (eventPrefix) {\n\t\t\t\t\t\tdispatcher.trigger.apply(\n\t\t\t\t\t\t\tdispatcher,\n\t\t\t\t\t\t\t[eventPrefix + ':polled'].concat(_.toArray(arguments)),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (this._stopPolling || doneTest.apply(self, arguments)) {\n\t\t\t\t\t\t// Done!\n\t\t\t\t\t\tfinished.apply(self, arguments);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_.delay(loop, pollInterval);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tfunction (err) {\n\t\t\t\t\tif (self._pausedPolling) {\n\t\t\t\t\t\t_.delay(loop, pollInterval);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\td.reject(err);\n\t\t\t\t\tif (eventPrefix) {\n\t\t\t\t\t\tdispatcher.trigger.apply(\n\t\t\t\t\t\t\tdispatcher,\n\t\t\t\t\t\t\t[eventPrefix + ':errorPolling', err.message].concat(\n\t\t\t\t\t\t\t\t_.toArray(arguments),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t); // use instead (becuase verbs are better?)\n\t\t\t\t\t\t// This would be nicer & more right:\n\t\t\t\t\t\t// dispatcher.applyTrigger( eventPrefix + ':errorPolling', arguments);\n\t\t\t\t\t}\n\t\t\t\t\tdelete this._polling;\n\t\t\t\t\tdelete this._pausedPolling;\n\t\t\t\t},\n\t\t\t);\n\t\t};\n\n\t\t// Save the deferred as this._polling, to show we're polling.\n\t\tthis._polling = d;\n\t\tif (eventPrefix) {\n\t\t\tdispatcher.trigger.apply(\n\t\t\t\tdispatcher,\n\t\t\t\t[eventPrefix + ':startedPolling'].concat(_.toArray(arguments)),\n\t\t\t);\n\t\t}\n\t\tloop();\n\n\t\treturn this._polling.promise();\n\t}\n\n\tpausePolling() {\n\t\tif (this._polling) {\n\t\t\tthis._pausedPolling = true;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tresumePolling() {\n\t\tif (this._polling) {\n\t\t\tthis._pausedPolling = false;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * stopPolling() halts any poll loop currently in process.\n\t */\n\tstopPolling() {\n\t\tif (this._polling) {\n\t\t\tthis._stopPolling = true;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} uuid UUID\n\t * @param {array} args Arguments\n\t * @return {Netx.Models.BatchJob}\n\t * @fires module:app#app:pollBatchJob\n\t */\n\ttrackBatchJob(uuid, args, pollInterval) {\n\t\t// Poll\n\t\tvar batchJob = Netx.batchJobs.get(uuid);\n\t\tif (!batchJob) {\n\t\t\tdispatcher.trigger(\n\t\t\t\t'app:pollBatchJob',\n\t\t\t\tuuid,\n\t\t\t\tnull,\n\t\t\t\tfalse,\n\t\t\t\targs,\n\t\t\t\tpollInterval,\n\t\t\t);\n\t\t\tbatchJob = Netx.batchJobs.get(uuid);\n\t\t}\n\t\tif (batchJob) {\n\t\t\tthis.listenToOnce(batchJob, 'complete', function (batchJob) {\n\t\t\t\tthis.stopListening(batchJob);\n\t\t\t\tthis.batchJobComplete(batchJob);\n\t\t\t});\n\t\t\tthis.listenToOnce(batchJob, 'error', function (batchJob, error) {\n\t\t\t\tthis.stopListening(batchJob);\n\t\t\t\tthis.batchJobError(batchJob, error);\n\t\t\t});\n\t\t\tthis.listenTo(\n\t\t\t\tbatchJob,\n\t\t\t\t'change:percentComplete',\n\t\t\t\tfunction (batchJob, progress) {\n\t\t\t\t\tthis.batchJobProgress(batchJob, progress);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\treturn batchJob;\n\t}\n\n\t/**\n\t * A scoped version of jQuery.when(), that always uses 'this' as the context for the promise it returns.\n\t * It's also able to accept an array of promises, so we don't need to use .apply to make it go.\n\t */\n\twhen() {\n\t\t// Vars\n\t\tvar d = new $.Deferred(),\n\t\t\tself = this,\n\t\t\tresolve = function () {\n\t\t\t\td.resolveWith(self, arguments);\n\t\t\t},\n\t\t\treject = function () {\n\t\t\t\td.rejectWith(self, arguments);\n\t\t\t},\n\t\t\tprogress = function () {\n\t\t\t\td.notifyWith(self, arguments);\n\t\t\t};\n\n\t\t// If the first argument is an array of promises, we ignore the others.\n\t\tvar arg0 = _.first(arguments);\n\t\tif (_.isArray(arg0) && arg0.length > 0) {\n\t\t\t$.when.apply($, arg0).then(resolve, reject, progress);\n\t\t} else {\n\t\t\t$.when.apply($, arguments).then(resolve, reject, progress);\n\t\t}\n\n\t\treturn d.promise();\n\t}\n\n\t//////////////////////////////////////////\n\t// HOUSEKEEPING\n\t//////////////////////////////////////////\n\t/**\n\t * Keep track of the collections I belong to\n\t * @method\n\t * @param {Netx.Collection} collection Collection\n\t */\n\taddCollectionReference(collection) {\n\t\tif (collection && this.collections) {\n\t\t\tif (_.indexOf(this.collections, collection._listenId) < 0) {\n\t\t\t\tif (!collection._listenId) return;\n\t\t\t\tthis.collections.push(collection._listenId);\n\t\t\t\t// this.debugCollections[ collection._listenId ] = collection;\n\t\t\t}\n\t\t}\n\t}\n\t/**\n\t * Keep track of the collections I belong to\n\t * @method\n\t * @param {Netx.Collection} collection Collection\n\t */\n\tremoveCollectionReference(collection) {\n\t\tif (this.collections) {\n\t\t\tif (collection) {\n\t\t\t\tvar idx = _.indexOf(this.collections, collection._listenId);\n\t\t\t\tif (idx > -1) {\n\t\t\t\t\tthis.collections.splice(idx, 1);\n\t\t\t\t\t// delete this.debugCollections[ collection._listenId ];\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Give it time and see if we may have been added to another collection before checking length\n\t\t\t_.defer(\n\t\t\t\t_.bind(function () {\n\t\t\t\t\tif (!this.collections.length) {\n\t\t\t\t\t\tthis.garbageCollect();\n\t\t\t\t\t}\n\t\t\t\t}, this),\n\t\t\t);\n\t\t}\n\t}\n\t/**\n\t * Call this when manually adding a sub collection\n\t * @method\n\t * @param {Netx.Collection} collection Collection to track\n\t */\n\taddSubCollection(collection) {\n\t\tif (collection) {\n\t\t\tif (!_.isObject(this.subCollections)) this.subCollections = {};\n\t\t\t// In very rare situations some collections do not have their _listenId yet\n\t\t\t// Defer seems to solve it and I cannot recreate any further\n\t\t\t_.defer(\n\t\t\t\t_.bind(function () {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.subCollections &&\n\t\t\t\t\t\t_.isUndefined(this.subCollections[collection._listenId])\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.subCollections[collection._listenId] = collection;\n\t\t\t\t\t}\n\t\t\t\t}, this),\n\t\t\t);\n\t\t}\n\t\treturn this;\n\t}\n\t/**\n\t * Call this when manually removing a sub collection\n\t * @method\n\t * @param {Netx.Collection} collection Collection to cleanup\n\t */\n\tremoveSubCollection(collection) {\n\t\tif (\n\t\t\tcollection &&\n\t\t\tcollection._listenId &&\n\t\t\t!_.isUndefined(this.subCollections[collection._listenId])\n\t\t) {\n\t\t\tcollection.garbageCollect();\n\t\t\tdelete this.subCollections[collection._listenId];\n\t\t}\n\t\treturn this;\n\t}\n\t/**\n\t * Call this when manually adding a sub model\n\t * @method\n\t * @param {Netx.Model} model Model to track\n\t */\n\taddSubModel(model) {\n\t\tif (!_.isObject(this.subModels)) this.subModels = {};\n\t\tif (_.isUndefined(this.subModels[model._listenId])) {\n\t\t\tthis.subModels[model._listenId] = model;\n\t\t}\n\t\treturn this;\n\t}\n\t/**\n\t * Call this when manually removing a sub model\n\t * @method\n\t * @param {Netx.Model} model Model to cleanup\n\t */\n\tremoveSubModel(model) {\n\t\tif (\n\t\t\tmodel &&\n\t\t\tmodel._listenId &&\n\t\t\t!_.isUndefined(this.subModels[model._listenId])\n\t\t) {\n\t\t\t// Hotfix for DAM-6402 -- revisit in 8.6 . This solves a mistaken assumption about references,\n\t\t\t// but it un-solves a memory leak ...\n\t\t\t// model.trigger('remove', model, null, null);\n\t\t\tdelete this.subModels[model._listenId];\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Subscribe to websocket\n\t * @method\n\t */\n\tsubscribe() {\n\t\tif (!this.socket) {\n\t\t\tif (this.roomName == null) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'`this.roomName` is not set. Cannot subscribe to websocket channel.',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tvar socket = (this.socket = Netx.websocket);\n\t\t\tthis.listenTo(\n\t\t\t\tsocket,\n\t\t\t\t'socket:message:' + this.roomName,\n\t\t\t\tthis.subscriptionMessage,\n\t\t\t);\n\t\t\tsocket.subscribe(this.roomName);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Message received from websocket channel\n\t * @method\n\t * @param {object} data Message data\n\t */\n\tsubscriptionMessage(data) {\n\t\tswitch (data.action) {\n\t\t\tcase 'edit':\n\t\t\t\tthis.set(data.dto);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * Unsubscribe from websocket\n\t * @method\n\t */\n\tunsubscribe() {\n\t\tif (this.socket) {\n\t\t\tif (this.roomName == null) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'`this.roomName` is not set. Cannot unsubscribe from websocket channel.',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.socket.unsubscribe(this.roomName);\n\t\t\tthis.stopListening(this.socket);\n\t\t\tthis.socket = false;\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Severs all ties to the world so it can be eligible for garbage collection\n\t * @method\n\t */\n\tgarbageCollect() {\n\t\tthis._rpc && this._rpc.garbageCollect();\n\n\t\t// Let go of any websocket channels\n\t\tthis.unsubscribe();\n\t\t// Let go of event listeners\n\t\tthis.stopListening().off();\n\t\tthis.clear();\n\n\t\t// Loop over sub models and trigger their cleanup\n\t\tif (_.isObject(this.subModels)) {\n\t\t\t// Hotfix for DAM-6402 -- ditto to above.\n\t\t\t// _.each( this.subModels, function( m ) {\n\t\t\t// \tm.trigger('remove', m, null, null);\n\t\t\t// } );\n\t\t\tdelete this.subModels;\n\t\t}\n\t\t// Loop over sub collection and trigger their cleanup\n\t\tif (_.isObject(this.subCollections)) {\n\t\t\t_.each(this.subCollections, function (c) {\n\t\t\t\tc.garbageCollect();\n\t\t\t});\n\t\t\tdelete this.subCollections;\n\t\t}\n\n\t\tthis.garbageCollected = true;\n\n\t\treturn this;\n\t}\n\t/**\n\t * Backbone.Model.destroy() returns false -- not a promise -- if the model is new;\n\t * it presumes the server doesn't have the model, and doesn't need to be contacted.\n\t *\n\t * That's reasonable ... but every other sync method always returns a promise,\n\t * and we've written all our code presuming destroy() always returns a promise,\n\t * so at this point we're making it Netx policy that Netx.Model.destroy()\n\t * _always_ returns a promise.\n\t *\n\t * @param {objct} opts sync args\n\t * @returns {Promise}\n\t */\n\tdestroy(opts) {\n\t\tconst retVal = super.destroy(opts);\n\t\tif (!_.isPromise(retVal)) {\n\t\t\treturn this.when(); // a pre-resolved promise with correct context.\n\t\t} else {\n\t\t\treturn retVal;\n\t\t}\n\t}\n\t//////////////////////////////////////////\n\t// !HOUSEKEEPING\n\t//////////////////////////////////////////\n\n\t/**\n\t * Our defaults could be an object or a function that returns an object\n\t * Do not make others figure this out everytime the defaults are neeeded\n\t * @method\n\t * @return {object} Model defaults (cloned so you do not risk polluting the prototype)\n\t */\n\tstatic GetDefaults() {\n\t\tif (!this.Schema) return this.prototype.defaults;\n\t\treturn getDefaultsFromSchema(this.Schema);\n\t}\n\n\t/**\n\t * The attribute key to find the model's \"title\"\n\t * @type {string}\n\t */\n\tstatic get TitleAttribute() {\n\t\treturn this.prototype.titleAttribute;\n\t}\n\n\t/**\n\t * Netx.Model.*.Load() (experimental) takes a unique ID and converts into a server populated model instance.\n\t * It returns a promise for the eventual object.\n\t * @param {number} id Id that corresponds to the model's idAttribute.\n\t * @todo Load() would be handy for a wide variety of collections.\n\t * To get it to all of them we'd need to add the Load class method to Netx.Collection.\n\t */\n\tstatic Load(id) {\n\t\t// Setting the idAttribute on instantiation does not work in Backbone.\n\t\t// So we must explicitly set idAttribute after the instance has been created\n\t\tconst a = new this();\n\t\tconst idAttr = this.prototype.idAttribute || 'id';\n\n\t\treturn a\n\t\t\t.set(idAttr, id)\n\t\t\t.fetch()\n\t\t\t.then(() => {\n\t\t\t\treturn a;\n\t\t\t});\n\t}\n\n\t/**\n\t * @method\n\t * @param {schema} schema Schema\n\t */\n\tstatic SetSchema(schema) {\n\t\tObject.defineProperty(this, 'Schema', {\n\t\t\tvalue: protectObjectProxy(schema),\n\t\t\tconfigurable: false,\n\t\t\twritable: false,\n\t\t});\n\t}\n\n\t/** @type {boolean} */\n\tstatic get __isModel__() {\n\t\treturn true;\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'Model';\n\t}\n}\n\nexport default Model;\n","/**\n * Given an object it will return a protected version that object\n * @param object Object\n * @return Object\n */\nexport const protectObjectProxy = >(\n\tobject: T,\n) => {\n\treturn new Proxy(object, {\n\t\t// Will return any object/arrays as their own copies\n\t\t// elminating the ability to pollute items in the object\n\t\tget(obj, prop) {\n\t\t\tconst value = obj[prop];\n\t\t\tif (typeof value === 'object') return JSON.parse(JSON.stringify(value));\n\t\t\treturn value;\n\t\t},\n\t\t// No setting\n\t\tset(obj, prop, value) {\n\t\t\treturn false;\n\t\t},\n\t});\n};\n\nexport default protectObjectProxy;\n","/**\n * Netx.Routers.App is the class of our sole router instance, Netx.router\n * @class\n * @param {object} opts Options\n * @extends Backbone.ES6Router\n * @todo: This is an interesting idea\n * http://stackoverflow.com/questions/25806608/how-to-detect-browser-back-button-event-cross-browser\n */\n\nimport _ from 'underscore';\nimport Backbone from 'backbone';\n// import Netx from '@netx/core/bootstrap';\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\nimport coreConfig from '@netx/core-next/config';\nimport {session} from '@netx/core-auth/collections/singleton/session';\nimport {escapeURI} from '@netx/core/utils/escapeURI';\nimport {unescapeURI} from '@netx/core/utils/unescapeURI';\n\n// base64 search routes, good times! ¯\\_(ツ)_/¯\n// we need to unescape and then re-escape since things get escaped automagically\n// by either the browser, backbone, or the two\n// note: need to trim and re-add the base route as that will get mangled in an escape\nconst BASE64_ROUTES_BASES = ['search/attribute/history/', 'search/advanced/'];\nconst routeIsBase64 = (route) =>\n\tBASE64_ROUTES_BASES.find((base) => route.includes(base));\nconst correctBase64RouteIfNeeded = (route) => {\n\tconst base = routeIsBase64(route);\n\tif (!base) return route;\n\treturn base + escapeURI(unescapeURI(route.replace(base, '')));\n};\n\n/**\n * Only the most recent interceptor will be used. The reason for allowing the setting this\n * way is to try and prevent one view creating while another is removing, and the removing one\n * removed its interceptor\n */\nconst routeInterceptors = new Map();\n\n/*****************\n * NetX extensions to Backbone.History:\n *\n * Certain parts of X7 need to know whether they're being executed in the context\n * of a route change. Backbone.History.isRouting() returns the boolean value of a flag\n * that is set when Backbone.History.loadUrl() begins, and cleared when it ends.\n *\n */\nconst History = Backbone.History;\nHistory.prototype.loadUrl = _.wrap(\n\tHistory.prototype.loadUrl,\n\tfunction (loadUrl) {\n\t\tthis._isRouting = true;\n\t\tvar args = _.rest(arguments);\n\t\tvar ret = loadUrl.apply(this, args);\n\t\tdelete this._isRouting;\n\t\treturn ret;\n\t},\n);\n\nHistory.prototype.isRouting = function () {\n\treturn this._isRouting || false;\n};\n\nconst Router = Backbone.Router;\nclass ES6Router {\n\t/** @override */\n\tconstructor(opts) {\n\t\tRouter.apply(this, arguments);\n\t}\n}\n_.extend(ES6Router.prototype, Router.prototype);\nBackbone.ES6Router = ES6Router;\n\nclass AppRouter extends ES6Router {\n\tready = false;\n\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\tsuper(opts);\n\n\t\t/** @type {array} */\n\t\tthis.history = [];\n\n\t\t/**\n\t\t * @type {number}\n\t\t * @default\n\t\t */\n\t\tthis.size = opts.size || 50;\n\n\t\tthis.listenTo(this, 'route', this.routeChanged);\n\t\t// listen for route paging from pager.js\n\t\tthis.listenTo(dispatcher, 'router:page', (page, routeContext) => {\n\t\t\tlet {hash} = window.location;\n\t\t\t// We need to escape things like `'` (%27) and ` ` (%20)\n\t\t\t// Our `routeContext` encodes, but only some things are encoded in the route by backbone, like spaces,\n\t\t\t// where things like apostrophes are not encoded by backbone ¯\\_(ツ)_/¯\n\t\t\tif (!unescapeURI(hash).includes(unescapeURI(routeContext))) return;\n\n\t\t\tif (!routeIsBase64(routeContext)) {\n\t\t\t\t// We have to handle this a bit specially - see the wonderful search controller\n\t\t\t\thash = hash.replace(/ /g, '%20');\n\t\t\t}\n\n\t\t\t// see notes about function\n\t\t\trouteContext = correctBase64RouteIfNeeded(routeContext);\n\n\t\t\tlet pageRoute = `/page/${page}`;\n\n\t\t\t// Do not specify a page in the hash if one was not specified already\n\t\t\t// (can end up in a loop if you use the browser's back button)\n\t\t\tif (page === 1 && !/page\\/\\d/.test(hash)) {\n\t\t\t\tpageRoute = '';\n\t\t\t}\n\n\t\t\tthis.navigate(`${routeContext}${pageRoute}`, true);\n\t\t});\n\n\t\t// USE RESPONSIBLY\n\t\t// Currently, \"routed\" only gets dispatched when {trigger:false} is not set.\n\t\t// This code is for skins, etc that have pieces that would like to know when the route changes\n\t\t// whether or not it was silenced.\n\t\t// A good example:\n\t\t// When you run a search and then navigate into an asset detail view- when done you close the detail\n\t\t// view and return to your search results... Rather than running the search over again we put the\n\t\t// search string back into the hash and silence the change.\n\t\t// @fires 'hash:changed' and provides newHash and oldHash (if you are into that sort of thing)\n\n\t\t// In IE originalEvent.newURL and originalEvent.oldURL are not a thing. We will fake it.\n\t\tif (_.isUndefined(this.oldHash)) {\n\t\t\tthis.oldHash = window.location.hash ? window.location.hash : '';\n\t\t}\n\t\t$(window).on('hashchange.router', (e) => {\n\t\t\tconst newHash = window.location.hash;\n\t\t\tdispatcher.trigger(\n\t\t\t\t'hash:changed',\n\t\t\t\tnewHash,\n\t\t\t\tthis.oldHash ? this.oldHash : '',\n\t\t\t);\n\t\t\tthis.oldHash = newHash;\n\t\t});\n\t}\n\n\t/**\n\t * Add route interceptor\n\t * Note: Only the most recent interceptor will be used. The reason for allowing the setting this\n\t * way is to try and prevent one view creating while another is removing, and the removing one\n\t * removed its interceptor\n\t * @param {string} key\n\t * @param {Function} func\n\t */\n\taddRouteInterceptor(key, func) {\n\t\trouteInterceptors.set(key, func);\n\t}\n\n\t/**\n\t * Remove route interceptor\n\t * @param {string} key\n\t * @param {Function} func\n\t */\n\tremoveRouteInterceptor(key) {\n\t\trouteInterceptors.delete(key);\n\t}\n\n\t/**\n\t * Rewind the route one step. Just like window.history.back(), except it also manages our\n\t * local history cache.\n\t *\n\t * WARNING: intersecting back() with push()/pop() can lead to unknown, probably-wrong behavior.\n\t * @param {object} opts Options\n\t */\n\tback(opts = {}) {\n\t\tif (this.history.length > 1) {\n\t\t\twindow.history.back();\n\t\t} else {\n\t\t\tthis.home(opts);\n\t\t}\n\t}\n\n\t/**\n\t * @param {string} page Page\n\t */\n\t// TODO: provide a proper 404 error here.\n\tdefaultRoute(page) {\n\t\tconsole.warn('The page you are trying to reach: %s, does not exist.', page);\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} route Route event (or route if ananymous function was used)\n\t */\n\trouteChanged(route) {\n\t\t// TODO: This is a band-aid until we can get some finer\n\t\t// control over our routes (white listing etc)\n\t\tconst validUnauthenticatedRoutes = [\n\t\t\t'auth:user:login',\n\t\t\t'auth:user:register:approvalNeeded',\n\t\t\t'auth:user:register',\n\t\t\t'auth:user:password:reset',\n\t\t\t'auth:user:password:change',\n\t\t\t'auth:user:sessionKey',\n\t\t\t// share request bundle will handle invalid token messaging\n\t\t\t'share:request',\n\t\t];\n\t\tif (\n\t\t\tcoreConfig.REQUIRE_LOGIN &&\n\t\t\t!session.authenticated() &&\n\t\t\t!_.contains(validUnauthenticatedRoutes, route)\n\t\t) {\n\t\t\t// If empty route send them to the login page\n\t\t\tif (route === '') {\n\t\t\t\tdispatcher.trigger('auth:session:invalid');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn window.location.reload();\n\t\t}\n\n\t\t// Maintains routing history. Keeps up to the value of 'this.size' in history.\n\t\t// Accessible from the history object where index 0 is the current route\n\t\tif (this.history.length >= this.size) {\n\t\t\tthis.history.pop();\n\t\t}\n\n\t\tconst oldRoute = this.history[0];\n\t\tif (Backbone.history.fragment != history[0]) {\n\t\t\tthis.history.unshift(Backbone.history.fragment);\n\t\t}\n\n\t\t// Triggers a decoupled 'routed' event that view instances can listen to\n\t\t// to perform custom tasks. Ex. Netx.views.assetDetailView listens to the\n\t\t// dispatcher for the 'routed' event and pauses the video player.\n\t\tdispatcher.trigger('routed', Backbone.history.fragment, oldRoute);\n\t}\n\n\t/**\n\t * Support promises\n\t * @override\n\t * @param {string} route Route\n\t * @param {string} name Route name\n\t * @param {function} callback Route collback\n\t */\n\troute(route, name, callback) {\n\t\tif (!_.isRegExp(route)) {\n\t\t\troute = this._routeToRegExp(route);\n\t\t}\n\t\tif (_.isFunction(name)) {\n\t\t\tcallback = name;\n\t\t\tname = '';\n\t\t}\n\t\tif (!callback) {\n\t\t\tcallback = this[name];\n\t\t}\n\n\t\tBackbone.history.route(route, (fragment) => {\n\t\t\tconst args = this._extractParameters(route, fragment);\n\n\t\t\tconst _route = () => {\n\t\t\t\t// Strip trailing lone slash `asset/3/` -> `asset/3`\n\t\t\t\tif (fragment.length - 1 === fragment.lastIndexOf('/')) {\n\t\t\t\t\tfragment = fragment.substr(0, fragment.length - 1);\n\t\t\t\t\twindow.location.hash = `#${fragment}`;\n\t\t\t\t}\n\n\t\t\t\tconst ret = this.execute(callback, args, name);\n\n\t\t\t\t// Execute route\n\t\t\t\tconst executeRoute = () => {\n\t\t\t\t\tthis.trigger.apply(this, [`route:${name}`].concat(args));\n\t\t\t\t\tthis.trigger('route', name, args);\n\t\t\t\t\tBackbone.history.trigger('route', this, name, args);\n\t\t\t\t};\n\n\t\t\t\tif (!_.isPromise(ret)) {\n\t\t\t\t\tret !== false && executeRoute();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tret.then((execute) => {\n\t\t\t\t\texecute !== false && executeRoute();\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (routeInterceptors.size) {\n\t\t\t\t// See note on `routeInterceptors`\n\t\t\t\trouteInterceptors.get(\n\t\t\t\t\tArray.from(routeInterceptors.keys())[routeInterceptors.size - 1],\n\t\t\t\t)(_route, fragment, name, args);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_route();\n\t\t});\n\t\treturn this;\n\t}\n\n\t/*\n\t * reroute() is useful in a route handler that wants to trigger a route;\n\t * it uses replaceState() to delete the intermediate route from the history.\n\t * @param {string} frag The url component\n\t * @param {object} opts Options for .navigate();\n\t */\n\treroute(frag, opts) {\n\t\t// Replace the #upload in the browser history so that the back button won't re-forward:\n\t\t// Note the blank 'state object' because I haven't found the doc on what that should contain;\n\t\t// I think it's up to us, but i hope Backbone isn't using it ...\n\t\thistory.replaceState({}, '', `#${frag}`);\n\n\t\t// Tidy up our local .history\n\t\tthis.history[0] = frag;\n\n\t\t// This will trigger the route, even though our href is here already:\n\t\tthis.navigate(frag, opts);\n\t}\n\n\t/**\n\t * Add a set of new routes to the routes we already have.\n\t * @param {object} routes Routes\n\t */\n\taddRoutes(routes) {\n\t\t// apparently, routes must be added in reverse order to their position in the object.\n\t\t_.keys(routes)\n\t\t\t.reverse()\n\t\t\t.forEach((routePattern) =>\n\t\t\t\tthis.route(routePattern, routes[routePattern]),\n\t\t\t);\n\t}\n\n\t/**\n\t * inCategory() parses the current route to see if it's a category route\n\t * @return {number} a route ID, or undefined if not a category route.\n\t */\n\tinCategory() {\n\t\tif (Backbone.history.fragment?.match(/category\\/(\\d+)/)) {\n\t\t\treturn parseInt(\n\t\t\t\tBackbone.history.fragment.match(/category\\/(\\d+)/)[1],\n\t\t\t\t10,\n\t\t\t);\n\t\t} else {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\t/**\n\t * push() and pop() have had problems.\n\t * New strategy: find the most recent route that does *not* match a pattern, and go to that.\n\t * @param {string} pattern Pattern\n\t * @param {object} opts Options\n\t */\n\texitRoute(pattern, opts = {}) {\n\t\tconst targetRoute = _.find(this.history, (r) => {\n\t\t\t// Only use match if RegExp was passed\n\t\t\tif (pattern instanceof RegExp) {\n\t\t\t\t// Find the first route that doesn't match this pattern\n\t\t\t\treturn !r.match(pattern);\n\t\t\t}\n\t\t\t// Otheriwse we do an exact comparison\n\t\t\treturn r !== pattern;\n\t\t});\n\n\t\tconst {force, ...sendOpts} = opts;\n\t\t// If there is no available history, or it happens to be the last route\n\t\t// use this.back(), it will fall back on home()\n\t\tif (!targetRoute || (!force && targetRoute === this.history[1])) {\n\t\t\tif (force && !targetRoute && this.history.length) return this.home();\n\t\t\treturn this.back({trigger: true});\n\t\t}\n\n\t\tthis.navigate(targetRoute || '', {trigger: true, ...sendOpts});\n\t}\n\n\t/**\n\t * Route to the HOME_ROUTE, or the null route if HOME_ROUTE is not defined.\n\t * If no options provided, we set {trigger: true} to actually fire the route handler -- which is what we usually want.\n\t * @param {object} opts Options\n\t */\n\thome(opts = {}) {\n\t\topts.trigger = opts.trigger !== false;\n\t\tthis.navigate(coreConfig.HOME_ROUTE || '#', opts);\n\t}\n}\n\nexport default AppRouter;\n","/***************\n * NetX extensions to Underscore's _ object, adding miscellaneous utility functions.\n * NOTE: Be sure to document new items in https://confluence.netx.net/display/DEV/X7+Library+Overrides%2C+Extensions+and+Mixins\n */\nimport _ from 'underscore';\nimport Modernizr from 'core-libs/modernizr/modernizr';\n\nimport {arrayToCsv, csvToArray} from '@netx/core-next/utils/array';\n\n/**\n * Convert arguments to array\n * @param {arguments} args Arguments\n * @return {array}\n */\nexport const argsToArray = (args) => {\n\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments\n\treturn args.length === 1 ? [args[0]] : Array.apply(null, args);\n};\n\n/**\n * Convert integer byte counts into human-readable strings\n * @param {number} bytes Bytes to be formatted\n * @param {boolean} floor Whether to Math.floor the return\n * @param {string} maxScale The maximum unit\n * @returns {string} converted bytes affixed with units\n */\nexport const bytes = (bytes, floor, maxScale) => {\n\tbytes = parseFloat((bytes || 0).toString());\n\tvar i = -1;\n\tvar byteUnits = ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n\tvar idx = _.indexOf(byteUnits, maxScale);\n\tif (idx > -1) {\n\t\ti = idx;\n\t\tbytes = bytes ? bytes / Math.pow(1000, idx + 1) : 0;\n\t} else {\n\t\tdo {\n\t\t\tbytes = bytes / 1000;\n\t\t\ti++;\n\t\t} while (bytes >= 1000);\n\t}\n\n\tif (bytes > 0) {\n\t\tif (floor) {\n\t\t\treturn Math.floor(bytes) + ' ' + byteUnits[i];\n\t\t} else {\n\t\t\t// We need more info when it comes to over a gig\n\t\t\tif (i > 1) {\n\t\t\t\treturn Math.max(bytes, 0.01).toFixed(2) + ' ' + byteUnits[i];\n\t\t\t} else {\n\t\t\t\treturn Math.max(bytes, 0.1).toFixed(1) + ' ' + byteUnits[i];\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn idx > -1 ? '0 ' + byteUnits[idx] : '0 kB';\n\t}\n};\n\n/**\n * Returns str without quotes and spaces commas\n * @param {string} str String to clean up\n * @returns {string} Clean spaced string\n */\nexport const cleanQuotes = (str) => {\n\treturn str.replace(/\"/g, '').replace(/,/g, ', ');\n};\n\n/**\n * @param {Date|number|string} d Date string\n * @returns {string} HTML date string (YYYY-MM-DD)\n */\nexport const dateToHTML = (d) => {\n\tif (!_.isUndefined(d) && d) {\n\t\t// Support milliseconds\n\t\tif (_.isNumber(d)) {\n\t\t\td = new Date(d);\n\t\t}\n\n\t\tif (d instanceof Date) {\n\t\t\treturn [\n\t\t\t\td.getFullYear(),\n\t\t\t\tpad(d.getMonth() + 1, 2),\n\t\t\t\tpad(d.getDate(), 2),\n\t\t\t].join('-');\n\t\t}\n\n\t\tvar temp = d.split('/');\n\t\tif (temp.length && temp[0].length === 4)\n\t\t\treturn d.replace(/(\\d+)\\/(\\d+)\\/(\\d+)/, '$1-$2-$3');\n\n\t\treturn d.replace(/(\\d+)\\/(\\d+)\\/(\\d+)/, '$3-$1-$2');\n\t}\n\treturn '';\n};\n\n/**\n * Escape asset attribute name\n * (Do what underscore's _.escape does, then encode any open & close parens as HTML entities.)\n *\n * @param {string} string Attribute name\n * @return {string} Escaped attribute name\n */\nexport const escapeAttributeName = (string) => {\n\tstring = _.escape(string);\n\tstring = string\n\t\t.replace(/\\(/g, '(')\n\t\t.replace(/\\)/g, ')')\n\t\t.replace(/\\[/g, '[')\n\t\t.replace(/\\]/g, ']');\n\treturn string;\n};\n\n/**\n * @param {object} exports module.exports\n * @param {array} actions Actions\n * @return {array} Extended actions\n */\nexport const extendActions = (exports, actions) => {\n\tvar _action;\n\t_.each(actions, function (action) {\n\t\t_action = _.findWhere(exports, {event: action.event});\n\t\t_action && _.extend(_action, action);\n\t});\n\treturn exports;\n};\n\n/**\n * Get the body of a function as string\n * https://stackoverflow.com/questions/3179861/javascript-get-function-body\n * @method\n * @param {function} func Function\n * @return {string} Function body\n */\nexport const getFunctionBody = (func) => {\n\tvar fstring = func.toString();\n\treturn fstring.substring(fstring.indexOf('{') + 1, fstring.lastIndexOf('}'));\n};\n\n/**\n * Returns a worker\n * @method\n * @param {function} func Worker function\n * @return {Worker} Worker\n */\nexport const getInlineWorker = (func) => {\n\tvar blob = new Blob([getFunctionBody(func)]);\n\n\tvar worker = new Worker(window.URL.createObjectURL(blob));\n\treturn worker;\n};\n\n/**\n * @param {mixed} value Value\n * @return {boolean}\n */\nexport const isEmptyValue = (value) => {\n\tif (Array.isArray(value)) {\n\t\treturn value.length === 0 || (value.length === 1 && value[0] === '');\n\t}\n\treturn value == null || (value + '').trim() === '';\n};\n\n/**\n * Is this a touch device and smaller than mobile-breakpoint-max?\n * @function\n * @param {boolean} testTouch Inlcude testing for touch\n */\nexport const isMobile = (testTocuh = true) => {\n\treturn (!testTocuh || Modernizr.touch) && window.innerWidth < 767;\n};\n\n/**\n * Returns str (perhaps representing an integer)\n * left-padded with zeroes to at least 'max' characters in width\n * example: pad(\"3\",4) == \"0003\"\n * @param {string} str String to pad\n * @param {integer} max The amount of '0's to pad to\n * @returns {string} Padded string\n */\nexport const pad = (str, max) => {\n\tstr = str + '';\n\twhile (str.length < max) {\n\t\tstr = '0' + str;\n\t}\n\treturn str;\n};\n\n/**\n * Provided with full dimensions and dimensions to fit, will return resized dimensions\n * @param {object} dimensions Full dimensions of thing to fit\n * @param {object} fitDimensions Dimensions to fit to\n * @return {object} Resized dimensions\n */\nexport const resizeToFit = (dimensions, fitDimensions) => {\n\tlet height = dimensions.height;\n\tlet width = dimensions.width;\n\tlet newDimensions = _.clone(dimensions);\n\n\tconst aspectRatio = dimensions.aspectRatio || width / height;\n\tconst maxWidth = fitDimensions.width;\n\tconst maxHeight = fitDimensions.height;\n\n\tif (maxHeight && maxWidth) {\n\t\tif (maxWidth < width) {\n\t\t\twidth = maxWidth;\n\t\t\theight = Math.round(width / aspectRatio);\n\t\t}\n\t\tif (maxHeight < height) {\n\t\t\theight = maxHeight;\n\t\t\twidth = Math.round(height * aspectRatio);\n\t\t}\n\t\t// Make a second pass to be sure our resize did not cause the height or width to exceed the fitDimensions\n\t\tif (maxHeight < height) {\n\t\t\theight = maxHeight;\n\t\t\twidth = Math.round(height * aspectRatio);\n\t\t}\n\t\tif (maxWidth < width) {\n\t\t\twidth = maxWidth;\n\t\t\theight = Math.round(width / aspectRatio);\n\t\t}\n\t\tnewDimensions = {\n\t\t\theight: height,\n\t\t\twidth: width,\n\t\t};\n\t}\n\treturn newDimensions;\n};\n\n/**\n * Unescape asset attribute name in form fields.\n * (Specifically, do everything underscore's _.unescape method does,\n * and also decode the HTML entities for open & close parens, if present.)\n *\n * @param {string} string Attribute name\n * @return {string} Unescaped attribute name\n */\nexport const unescapeAttributeName = (string) => {\n\tstring = _.unescape(string);\n\tstring = string\n\t\t.replace(/(/g, '(')\n\t\t.replace(/)/g, ')')\n\t\t.replace(/[/g, '[')\n\t\t.replace(/]/g, ']');\n\treturn string;\n};\n\n_.mixin({\n\tbytes,\n\n\t/**\n\t * @param {array|number} items Either an array of items or a number\n\t * @param {number} currentIndex Current index in items\n\t * @param {number} itemsToDisplay Number of items to display\n\t * @param {mixed} ellipsis What to use for ellipis\n\t * @returns {array} array of crumbs\n\t */\n\tcrumbs: function (items, currentIndex, itemsToDisplay, ellipsis) {\n\t\tcurrentIndex = parseInt(currentIndex) || 1;\n\t\titemsToDisplay = parseInt(itemsToDisplay) || 2;\n\t\tellipsis = ellipsis || '...';\n\n\t\tvar crumbArray = [],\n\t\t\ttotalItems = _.isArray(items) ? items.length : parseInt(items) || 0,\n\t\t\tfirstItem = 1;\n\n\t\tif (totalItems) {\n\t\t\t// Subtract 2 ( for 1 on each side ) then divide by 2\n\t\t\tvar adjacentCount = Math.floor((itemsToDisplay - 2) / 2),\n\t\t\t\tfirstAdjacentItem,\n\t\t\t\tlastAdjacentItem;\n\n\t\t\t// Page count must be greater than pages to display\n\t\t\tif (totalItems >= itemsToDisplay) {\n\t\t\t\tif (currentIndex <= adjacentCount + adjacentCount) {\n\t\t\t\t\tfirstAdjacentItem = firstItem;\n\t\t\t\t\tlastAdjacentItem = Math.min(\n\t\t\t\t\t\tfirstItem + adjacentCount + adjacentCount,\n\t\t\t\t\t\ttotalItems,\n\t\t\t\t\t);\n\t\t\t\t} else if (currentIndex > totalItems - adjacentCount - adjacentCount) {\n\t\t\t\t\tlastAdjacentItem = totalItems;\n\t\t\t\t\tfirstAdjacentItem = totalItems - adjacentCount - adjacentCount;\n\t\t\t\t} else {\n\t\t\t\t\tfirstAdjacentItem = currentIndex - adjacentCount;\n\t\t\t\t\tlastAdjacentItem = currentIndex + adjacentCount;\n\t\t\t\t}\n\n\t\t\t\tif (firstAdjacentItem > firstItem) {\n\t\t\t\t\tcrumbArray.push(_.isArray(items) ? items[firstItem - 1] : firstItem);\n\t\t\t\t\tif (firstAdjacentItem > firstItem + 1) {\n\t\t\t\t\t\tcrumbArray.push(ellipsis);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (var i = firstAdjacentItem; i <= lastAdjacentItem; i++) {\n\t\t\t\t\tcrumbArray.push(_.isArray(items) ? items[i - 1] : i);\n\t\t\t\t}\n\t\t\t\tif (lastAdjacentItem < totalItems) {\n\t\t\t\t\tif (lastAdjacentItem < totalItems - 1) {\n\t\t\t\t\t\tcrumbArray.push(ellipsis);\n\t\t\t\t\t}\n\t\t\t\t\tcrumbArray.push(\n\t\t\t\t\t\t_.isArray(items) ? items[totalItems - 1] : totalItems,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Just spit em all out\n\t\t\telse {\n\t\t\t\t_.times(totalItems, function (n) {\n\t\t\t\t\tcrumbArray.push(_.isArray(items) ? items[n] : n + 1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn crumbArray;\n\t},\n\n\t/**\n\t * isURL: returns true if a string is a valid URL.\n\t * @param {string} str the string to be tested\n\t * @return {boolean} Is URL\n\t */\n\tisURL: function (str) {\n\t\treturn !!_.matchURL(str);\n\t},\n\n\t/**\n\t * This is harder than it seems.\n\t * The following page shows a fairly complete test suite for regexp URL validation\n\t * using several popular internet options:\n\t *\n\t * \thttps://mathiasbynens.be/demo/url-regex\n\t *\n\t * isURL uses the only algorithm on this page that passed all tests --\n\t * \thttps://gist.github.com/dperini/729294 -- by Diego Perini\n\t *\n\t * @param {string} str the string to be tested\n\t * @return {array|null} the result of String.match()\n\t */\n\tmatchURL: function (str) {\n\t\treturn str.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^' +\n\t\t\t\t\t// protocol identifier\n\t\t\t\t\t'(?:(?:https?|ftp)://)' +\n\t\t\t\t\t// user:pass authentication\n\t\t\t\t\t'(?:\\\\S+(?::\\\\S*)?@)?' +\n\t\t\t\t\t'(?:' +\n\t\t\t\t\t// IP address exclusion\n\t\t\t\t\t// private & local networks\n\t\t\t\t\t'(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})' +\n\t\t\t\t\t'(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})' +\n\t\t\t\t\t'(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})' +\n\t\t\t\t\t// IP address dotted notation octets\n\t\t\t\t\t// excludes loopback network 0.0.0.0\n\t\t\t\t\t// excludes reserved space >= 224.0.0.0\n\t\t\t\t\t// excludes network & broacast addresses\n\t\t\t\t\t// (first & last IP address of each class)\n\t\t\t\t\t'(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])' +\n\t\t\t\t\t'(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}' +\n\t\t\t\t\t'(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))' +\n\t\t\t\t\t'|' +\n\t\t\t\t\t// host name\n\t\t\t\t\t'(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)' +\n\t\t\t\t\t// domain name\n\t\t\t\t\t'(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*' +\n\t\t\t\t\t// TLD identifier\n\t\t\t\t\t'(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))' +\n\t\t\t\t\t// TLD may end with dot\n\t\t\t\t\t'\\\\.?' +\n\t\t\t\t\t')' +\n\t\t\t\t\t// port number\n\t\t\t\t\t'(?::\\\\d{2,5})?' +\n\t\t\t\t\t// resource path\n\t\t\t\t\t'(?:[/?#]\\\\S*)?' +\n\t\t\t\t\t'$',\n\t\t\t\t'i',\n\t\t\t),\n\t\t);\n\t},\n\n\t/**\n\t * Determine if a string (or number) is numeric; different from _.isNumber, which just tests type\n\t * http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric\n\t * @param {*} String/Integer\n\t * @returns {bool} Whether or not it is a number to test\n\t */\n\tisNumeric: function (n) {\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\n\t},\n\n\t/**\n\t * @method\n\t * @param {string} str String to parse\n\t * @return {string} Parsed URL string\n\t */\n\tparseURLS: function (str) {\n\t\treturn (\n\t\t\tstr &&\n\t\t\tstr.replace(\n\t\t\t\t/(https?:\\/\\/.*?[^\\s|'|\"]+)/g,\n\t\t\t\t'$1',\n\t\t\t)\n\t\t);\n\t},\n\n\t/**\n\t * Convert a string \"true\"/\"false\" to boolean\n\t * @param {string} val String to convert\n\t * @returns {bool} The string as a boolean\n\t */\n\ttoBoolean: function (val) {\n\t\tif (val.toLowerCase() == 'false') return false;\n\t\treturn true;\n\t},\n\n\t/**\n\t * For historical reasons, the DAM sometimes encodes object data as an array of LabelValueBeans.\n\t * objectToLvbs and lvbsToObject are utilities to convert in and out of that format.\n\t * @param {object} obj Label value bean object to convert to array\n\t * @returns {array} Label value been object as array\n\t */\n\tobjectToLvbs: function (obj) {\n\t\treturn _.map(obj, function (v, l) {\n\t\t\treturn {label: l, value: v};\n\t\t});\n\t},\n\n\t/**\n\t * For historical reasons, the DAM sometimes encodes object data as an array of LabelValueBeans.\n\t * objectToLvbs and lvbsToObject are utilities to convert in and out of that format.\n\t * @param {array} lvb Label value bean array to convert to object\n\t * @returns {array} Label value been array as object\n\t */\n\tlvbsToObject: function (lvb) {\n\t\tif (_.isUndefined(lvb) || _.isNull(lvb)) return undefined; // undefined array == undefined object.\n\t\tif (!_.isArray(lvb)) lvb = [lvb]; // convert a single LVB into an array of one.\n\t\tif (lvb.length == 0) return {}; // empty array == empty object.\n\n\t\tvar memo = {};\n\t\t_.reduce(\n\t\t\tlvb,\n\t\t\tfunction (memo, b) {\n\t\t\t\tmemo[b.label] = b.value;\n\t\t\t\treturn memo;\n\t\t\t},\n\t\t\tmemo,\n\t\t);\n\t\treturn memo;\n\t},\n\n\t/**\n\t * An attempt at a utility function to turn a bean label-value array like [ {label: 'foo', value: 123 }, ... ] into\n\t * a more useful object like { foo: 123, ... }\n\t * NOTE: it expands into sub-objects when label has dots. or should. (see _dotExpand() above)\n\t * NOTE: this is destructive to the passed in array lv, as it would otherwise get set on the model\n\t * TODO: should this be done instead outside of this function? probably maybe.\n\t * @param {array} lv Bean label-value array\n\t * @returns {object} Bean label-value array as object\n\t */\n\tlvbsToDeepObject: function (lv) {\n\t\tvar obj = {};\n\t\tfor (var i = 0; i < lv.length; i++) {\n\t\t\tvar val = lv[i].value;\n\t\t\t//being outrageously bold here and assuming no string in user prefs wants to be literal \"true\" or \"false\"\n\t\t\t// if this turns out not to be the case, my apologies and this will have to do a case-by-case check on what to turn into boolean. :( -jon\n\t\t\tif (val == 'true' || val == 'false') val = _.toBoolean(val);\n\t\t\t_._dotExpand(obj, lv[i].label.split('.'), val);\n\t\t}\n\t\tlv.length = 0; //the destructive part\n\t\treturn obj;\n\t},\n\n\t/**\n\t * Really just a utility function for beanArrayToObject.\n\t * This will take (obj, [foo, bar, baz, fu], val) and alter obj to be: obj[foo][bar][baz][fu] = val (creating sub-objects iff necessary)\n\t * NOTE: this will alter/affect the passed-in obj, and the return value is only useful for recursing here\n\t * @param {object} obj Object to expand from array\n\t * @param {array} levels An array of levels which to expand the object to\n\t * @param {*} value The value to assign to this new object level\n\t */\n\t_dotExpand: function (obj, levels, value) {\n\t\tvar key = levels.shift();\n\n\t\t//trivial case where initial levels = [] ... just to do the right thing (i think?)\n\t\tif (_.isUndefined(key)) {\n\t\t\tobj = value;\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (levels.length === 0) {\n\t\t\tobj[key] = value;\n\t\t\treturn obj;\n\t\t}\n\n\t\t//still more levels to go, so lets make sure this has a home\n\t\tif (!obj[key]) obj[key] = {};\n\t\t//if (typeof obj[key] != 'object') return; //???????? TODO\n\n\t\treturn _._dotExpand(obj[key], levels, value);\n\t},\n\n\t/**\n\t * Complement to _dotExpand(). Will return an array of [{label: value}, {label: value},...] of leaf nodes\n\t * e.g. {a: {b: 1, c: 2}} -> [ {a.b: 1}, {a.c: 2} ]\n\t * @param {object} obj Object to collapse to an array\n\t * @returns {array} Collapsed object as an array\n\t */\n\t_dotCollapse: function (obj) {\n\t\tvar arr = [];\n\t\tvar o = {};\n\t\tfor (var key in obj) {\n\t\t\tif (typeof obj[key] == 'object') {\n\t\t\t\tvar r = _._dotCollapse(obj[key]);\n\t\t\t\tfor (var i = 0; i < r.length; i++) {\n\t\t\t\t\tfor (var rk in r[i]) {\n\t\t\t\t\t\t//should really only be one key but how to do this shorthand?\n\t\t\t\t\t\to = {};\n\t\t\t\t\t\to[key + '.' + rk] = r[i][rk];\n\t\t\t\t\t\tarr.push(o);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\to = {};\n\t\t\t\t/////////////TODO deal with conversion to boolean !?!\n\t\t\t\to[key] = obj[key];\n\t\t\t\tarr.push(o);\n\t\t\t}\n\t\t}\n\t\treturn arr;\n\t},\n\n\tdateToHTML,\n\n\t/**\n\t * The DAM (sometimes) stores dates on asset attributes in dd/mm/yyyy format, but HTML forms use yyyy-mm-dd format.\n\t * @param {string} d Date string\n\t * @returns {string} DAM date string\n\t */\n\tdateToDAM: function (d) {\n\t\tif (!_.isUndefined(d)) {\n\t\t\tvar temp = d.split('-');\n\t\t\tif (temp.length && temp[0].length === 4)\n\t\t\t\treturn d.replace(/(\\d+)-(\\d+)-(\\d+)/, '$1/$2/$3');\n\n\t\t\treturn d.replace(/(\\d+)-(\\d+)-(\\d+)/, '$3/$1/$2');\n\t\t}\n\t},\n\t/**\n\t * Provided with a date or time (in milliseconds), get a new date in the users timezone\n\t * If nothing is provided you will get now\n\t * @param {date|number} d Date or time\n\t * @return {date} Local date\n\t */\n\tdateToLocalTimezone: function (d) {\n\t\tif (!(d instanceof Date)) {\n\t\t\tif (_.isNumber(d)) {\n\t\t\t\td = new Date(d);\n\t\t\t} else {\n\t\t\t\treturn new Date();\n\t\t\t}\n\t\t}\n\n\t\tvar time = d.getTime(),\n\t\t\ttimezoneOffset = new Date().getTimezoneOffset() * 60 * 1000;\n\n\t\treturn new Date(time + timezoneOffset);\n\t},\n\t/**\n\t * The DAM stores timestamps on assets (and some other objects) in a completely different format:\n\t * yyyy-mm-dd hh:mm:ss.s\n\t * (.s == tenths of a second ... sometimes there and sometimes not)\n\t * This function takes one of those strings, and returns a JS Date object.\n\t * @param {string} d asset timestamp\n\t * @returns {Date} JS Date object\n\t */\n\tdateFromAsset: function (d) {\n\t\tvar t = d.match(/(\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)/);\n\t\tif (!t || !t.length) {\n\t\t\tthrow new Error(\"dateFromAsset: bad date '\" + d + \"'\");\n\t\t}\n\n\t\treturn new Date(t[1], t[2] - 1, t[3], t[4], t[5], t[6]);\n\t},\n\n\t/**\n\t * The opposite: turn a js Date object into a DAM asset timestamp\n\t * @param {Date} d A Date object. If omitted, we create one with the current time.\n\t * @param {boolean} omitTime Omit the time piece\n\t * @returns {string} asset timestamp in local timezone\n\t */\n\tdateToAsset: function (d, omitTime) {\n\t\td = d || new Date();\n\t\tvar ret =\n\t\t\td.getFullYear() +\n\t\t\t'-' +\n\t\t\tpad(d.getMonth() + 1, 2) +\n\t\t\t'-' +\n\t\t\tpad(d.getDate(), 2);\n\t\tif (!omitTime) {\n\t\t\tret +=\n\t\t\t\t' ' +\n\t\t\t\tpad(d.getHours(), 2) +\n\t\t\t\t':' +\n\t\t\t\tpad(d.getMinutes(), 2) +\n\t\t\t\t':' +\n\t\t\t\tpad(d.getSeconds(), 2) +\n\t\t\t\t'.0';\n\t\t}\n\t\treturn ret;\n\t},\n\n\t/**\n\t * Same thing, but in UTC.\n\t * @param {Date} d A Date object. If omitted, we create one with the current time.\n\t * @returns {string} asset timestamp in UTC\n\t */\n\tdateToAssetUTC: function (d) {\n\t\treturn [\n\t\t\td.getUTCFullYear(),\n\t\t\t'-',\n\t\t\tpad(d.getUTCMonth(), 2),\n\t\t\t'-',\n\t\t\tpad(d.getUTCDate(), 2),\n\t\t\t' ',\n\t\t\tpad(d.getUTCHours(), 2),\n\t\t\t':',\n\t\t\tpad(d.getUTCMinutes(), 2),\n\t\t\t':',\n\t\t\tpad(d.getUTCSeconds(), 2),\n\t\t\t'.0',\n\t\t].join('');\n\t},\n\n\t/**\n\t * Convert string date 'yyyy-mm-dd' to JavaScript Date object\n\t * @param {string} dateString Date string formatted 'yyyy-mm-dd'\n\t * @returns {date} JavaScript Date object\n\t */\n\tdateFromString: function (d) {\n\t\t// Try with \"-\"\n\t\tvar t = d.match(/(\\d+)-(\\d+)-(\\d+)/);\n\t\tif (!t || !t.length) {\n\t\t\t// Try with \"/\"\n\t\t\tt = d.match(/(\\d+)\\/(\\d+)\\/(\\d+)/);\n\t\t\tif (!t || !t.length) {\n\t\t\t\tthrow new Error(\"dateFromString: bad date '\" + d + \"'\");\n\t\t\t}\n\t\t}\n\n\t\tvar nd = new Date(t[1], t[2] - 1, t[3]);\n\t\treturn nd;\n\t},\n\t/**\n\t * Convert month integer to month name string\n\t * @param {integer} m Month from 0 - 11\n\t * @returns {string} month name\n\t */\n\tgetMonthString: function (m) {\n\t\tif (!_.isUndefined(m) && m < 12 && m > -1) {\n\t\t\tvar months = [\n\t\t\t\t'January',\n\t\t\t\t'February',\n\t\t\t\t'March',\n\t\t\t\t'April',\n\t\t\t\t'May',\n\t\t\t\t'June',\n\t\t\t\t'July',\n\t\t\t\t'August',\n\t\t\t\t'September',\n\t\t\t\t'October',\n\t\t\t\t'November',\n\t\t\t\t'December',\n\t\t\t];\n\t\t\treturn months[m];\n\t\t}\n\t\treturn '';\n\t},\n\t/**\n\t * Convert day integer to day name string\n\t * @param {integer} d Day from 0 - 6\n\t * @returns {string} day name\n\t */\n\tgetDayString: function (d) {\n\t\tif (!_.isUndefined(d) && d < 7 && d > -1) {\n\t\t\tvar days = [\n\t\t\t\t'Sunday',\n\t\t\t\t'Monday',\n\t\t\t\t'Tuesday',\n\t\t\t\t'Wednesday',\n\t\t\t\t'Thursday',\n\t\t\t\t'Friday',\n\t\t\t\t'Saturday',\n\t\t\t];\n\t\t\treturn days[d];\n\t\t}\n\t\treturn '';\n\t},\n\t/**\n\t * Convert integer to a stylized string (1000000 -> \"1,000,000\")\n\t * @param {integer} number Number you want formatted\n\t * @returns {string} formatted number string\n\t */\n\tformatNumber: function (number) {\n\t\treturn number.toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, '$1,');\n\t},\n\t/**\n\t * The jQuery Promise implementation uses some crazy internal class-hackery\n\t * such that 'instanceof' is useless for detecting either $.Promise or $.Deferred classes.\n\t * This is our go-to pattern for detecting either thing:\n\t * Is it an object with a then() function?\n\t * (Please update as the pattern improves, or we use more/different Promise libraries.)\n\t *\n\t * @param {object} obj Something that is or is not a promise\n\t * @returns {boolean} True if a promise was passed\n\t */\n\tisPromise: function (obj) {\n\t\treturn obj && _.isFunction(obj.then);\n\t},\n\n\t/**\n\t * Takes an array and moves item at index to another index\n\t * @param {Array} array Array that in being modified\n\t * @param {Int} fromIndex Index of item that is being moved\n\t * @param {Int} toIndex Index where item should be placed\n\t */\n\tmove: function (array, fromIndex, toIndex) {\n\t\tarray.splice(toIndex, 0, array.splice(fromIndex, 1)[0]);\n\t\treturn array;\n\t},\n\t/**\n\t * Convert milliseconds to a date string yyyy-mm-dd\n\t * @param {string|number} ms Milliseconds\n\t * @return {string} Date str\n\t */\n\tmillisecondsToDateStr: function (ms) {\n\t\tms = parseInt(ms) || 0;\n\t\tif (ms) {\n\t\t\treturn new Date(ms).toISOString().substring(0, 10);\n\t\t}\n\t\treturn '';\n\t},\n\t/**\n\t * Convert milliseconds to a date string `November 30, 2016 (13:55:42)`\n\t * @param {string|number} ms Milliseconds\n\t * @return {string} Date str\n\t */\n\tmillisecondsToFullDateStr: function (ms) {\n\t\tms = parseInt(ms) || 0;\n\t\tif (ms) {\n\t\t\tvar date = new Date(ms);\n\t\t\treturn (\n\t\t\t\t_.getMonthString(date.getMonth()) +\n\t\t\t\t' ' +\n\t\t\t\tdate.getDate() +\n\t\t\t\t', ' +\n\t\t\t\tdate.getFullYear() +\n\t\t\t\t' (' +\n\t\t\t\tpad(date.getHours(), 2) +\n\t\t\t\t':' +\n\t\t\t\tpad(date.getMinutes(), 2) +\n\t\t\t\t':' +\n\t\t\t\tpad(date.getSeconds(), 2) +\n\t\t\t\t')'\n\t\t\t);\n\t\t}\n\t\treturn '';\n\t},\n\t/**\n\t * Convert milliseconds to a time string hh::mm::ss.ms\n\t * @param {string|number} ms Milliseconds\n\t * @return {string} Time str\n\t */\n\tmillisecondsToTimeStr: function (ms) {\n\t\t// Vars\n\t\tvar floor = Math.floor,\n\t\t\ttime = parseInt(ms),\n\t\t\thour,\n\t\t\tminute,\n\t\t\tsecond;\n\n\t\thour = floor(time / 3600000);\n\t\ttime -= hour * 3600000;\n\t\tminute = floor(time / 60000);\n\t\ttime -= floor(minute * 60000);\n\t\tsecond = floor(time / 1000);\n\t\ttime -= floor(second * 1000);\n\n\t\treturn (\n\t\t\tpad(hour, 2) +\n\t\t\t':' +\n\t\t\tpad(minute, 2) +\n\t\t\t':' +\n\t\t\tpad(second, 2) +\n\t\t\t'.' +\n\t\t\tpad(time, 3)\n\t\t);\n\t},\n\t/**\n\t * Convert string to first letter capitalized. You might recognize me from PHP.\n\t * @param {string} str String to have the first letter capitalized\n\t * @returns {string} String with first letter capitalized\n\t */\n\tucfirst: function (str) {\n\t\tif (!_.isUndefined(str)) {\n\t\t\tif (str.length > 1) {\n\t\t\t\treturn str.charAt(0).toUpperCase() + str.substring(1);\n\t\t\t} else {\n\t\t\t\treturn str.toUpperCase();\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t},\n\t/**\n\t * You can't have one without the other ... Lowercase the first character of a string.\n\t * @param {string} str String needing decapitalization\n\t * @returns {string} String with the first letter lowercased.\n\t */\n\tlcfirst: function (str) {\n\t\tif (_.isUndefined(str)) {\n\t\t\treturn str;\n\t\t}\n\t\tif (str.length > 1) {\n\t\t\treturn str.slice(0, 1).toLowerCase() + str.slice(1);\n\t\t} else {\n\t\t\treturn str.toLowerCase();\n\t\t}\n\t},\n\t/**\n\t * Convert string to a proper camelCased string\n\t * @param {string} str String you want camelCased\n\t * @returns {string} camelCased string\n\t */\n\ttoCamelCase: function (str) {\n\t\tif (_.isUndefined(str)) {\n\t\t\t//console.warn('undefined argument');\n\t\t\treturn undefined;\n\t\t}\n\t\tstr = str.toString();\n\t\t// First check if the first character is alphanumeric and strip it if it is not\n\t\t// Otherwise we will end up with a capital first word once non alphanumeric characters are removed\n\t\t// We dont' want to remove all of them yet as things like underscors and dashes symbolize a need for a new capitalized word\n\t\tstr = str.replace(/^[\\W]+/g, '');\n\n\t\t// Characters we will consider as markers for new words\n\t\tvar newWordCharacters = new RegExp(/[-_ .](.)/g);\n\t\tvar stripCharacters = new RegExp(/[\\W_]+/g);\n\n\t\t// Then check if we have capital letters already (\"GEO\", \"NLO / Country\", \"FileType\", etc)\n\t\tvar capitalizedArray = str.match(/([A-Z]?[^A-Z]*)/g).slice(0, -1);\n\t\tvar newStr = '';\n\n\t\t// If we have more than one capital letter we need to do and check some things ourselves\n\t\tif (capitalizedArray.length > 1) {\n\t\t\tfor (var i = 0, c = capitalizedArray.length; i < c; i++) {\n\t\t\t\t// If we are not at the last index\n\t\t\t\t// and this char is capital\n\t\t\t\t// and next char is capital as well\n\t\t\t\t// this maintains all cap words in the string\n\t\t\t\tif (\n\t\t\t\t\ti < c - 1 &&\n\t\t\t\t\tcapitalizedArray[i].toUpperCase() === capitalizedArray[i] &&\n\t\t\t\t\tcapitalizedArray[i + 1].toUpperCase() === capitalizedArray[i + 1]\n\t\t\t\t) {\n\t\t\t\t\tnewStr += capitalizedArray[i];\n\t\t\t\t} else {\n\t\t\t\t\t// If this is the first word and it contains a new word chartacter as defined above\n\t\t\t\t\tif (!i && newWordCharacters.test(capitalizedArray[i])) {\n\t\t\t\t\t\tcapitalizedArray[i] = capitalizedArray[i]\n\t\t\t\t\t\t\t.replace(newWordCharacters, function ($1) {\n\t\t\t\t\t\t\t\treturn $1.toUpperCase();\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.replace(/^(.)/, function ($1) {\n\t\t\t\t\t\t\t\treturn $1.toLowerCase();\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.replace(stripCharacters, '');\n\n\t\t\t\t\t\tnewStr += capitalizedArray[i];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// If it is the first word then we want it lowercase\n\t\t\t\t\t\tif (!i) {\n\t\t\t\t\t\t\tnewStr += capitalizedArray[i]\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[\\W_]+/g, '');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnewStr += capitalizedArray[i]\n\t\t\t\t\t\t\t\t.replace(newWordCharacters, function ($1) {\n\t\t\t\t\t\t\t\t\treturn $1.toUpperCase();\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.replace(stripCharacters, '');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn newStr.replace(/[\\W_]+/g, '');\n\t\t}\n\n\t\t// If we are here than this is a standard camelCase issue\n\t\treturn str\n\t\t\t.replace(newWordCharacters, function ($1) {\n\t\t\t\treturn $1.toUpperCase();\n\t\t\t})\n\t\t\t.replace(/^(.)/, function ($1) {\n\t\t\t\treturn $1.toLowerCase();\n\t\t\t})\n\t\t\t.replace(/[\\W_]+/g, '');\n\t},\n\n\t/**\n\t * Convert a camel cased string and returns an underscored string\n\t * @param {string} str camelCased string you want under_scored\n\t * @returns {string} under_scored string\n\t */\n\tcamelCaseToUnderscore: function (str) {\n\t\tif (typeof str !== 'undefined') {\n\t\t\treturn str.replace(/([A-Z])/g, function ($1) {\n\t\t\t\treturn '_' + $1.toLowerCase();\n\t\t\t});\n\t\t}\n\t\treturn '';\n\t},\n\n\t/**\n\t * Convert a camel cased string and returns an dashed string\n\t * @param {string} str camelCased string you want dash-ed\n\t * @returns {string} dash-ed string\n\t */\n\tcamelCaseToDash: function (str) {\n\t\tif (typeof str !== 'undefined') {\n\t\t\treturn str.replace(/([A-Z])/g, function ($1) {\n\t\t\t\treturn '-' + $1.toLowerCase();\n\t\t\t});\n\t\t}\n\t\treturn '';\n\t},\n\n\t/**\n\t * Convert a camel cased string to a titled string\n\t * @param {string} str camelCased string you want To Turn Into A Titled String\n\t * @returns {string} titlelized string\n\t */\n\tcamelCaseToTitle: function (str) {\n\t\tif (typeof str !== 'undefined') {\n\t\t\tvar _str = _.ucfirst(\n\t\t\t\tstr.replace(/([A-Z])/g, function ($1) {\n\t\t\t\t\treturn ' ' + _.ucfirst($1.toLowerCase());\n\t\t\t\t}),\n\t\t\t);\n\t\t\tif (!_str.includes(' ')) {\n\t\t\t\t_str = _str.toUpperCase();\n\t\t\t}\n\t\t\treturn _str;\n\t\t}\n\t\treturn '';\n\t},\n\t/**\n\t * Given a collection, an array of models, an array of objects or a single object,\n\t * return a Backbone.Collection of the given class.\n\t * @param {*} obj Item to be converted to Collection.\n\t * @param {Object} targetClass Target Collection type -- a Backbone class extended from Backbone.Collection.\n\t * @param {Object} classOptions Any Backbone options to pass to the collection instantiation call.\n\t */\n\ttoCollection: function (obj, targetClass, classOptions) {\n\t\tif (_.isUndefined(targetClass)) {\n\t\t\tthrow new Error('Undefined target class');\n\t\t}\n\n\t\t// If we got an undefined object but a defined class,\n\t\t// return an empty collection of that class.\n\t\tif (_.isUndefined(obj)) {\n\t\t\treturn new targetClass([], classOptions);\n\t\t}\n\n\t\t// Maybe obj needs no conversion?\n\t\tif (obj instanceof targetClass) {\n\t\t\treturn obj;\n\t\t}\n\n\t\t// if obj is an array of models or bare objects, Backbone will convert it as needed.\n\t\tif (_.isArray(obj)) {\n\t\t\t//return new targetClass( obj, classOptions );\n\t\t\treturn new targetClass(\n\t\t\t\t_.map(obj, function (item) {\n\t\t\t\t\t// Don't process models.\n\t\t\t\t\tif (item.isModel) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t\t// Let Backbone convert bare objects into models.\n\t\t\t\t\tif (_.isObject(item)) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t\tif (_.isNumeric(item)) {\n\t\t\t\t\t\t// Convert objectIds into objects.\n\t\t\t\t\t\tvar model = new targetClass.prototype.model();\n\t\t\t\t\t\t// Fetch them, too.\n\t\t\t\t\t\tmodel.set(model.idAttribute, item);\n\t\t\t\t\t\tmodel.fetch();\n\t\t\t\t\t\treturn model;\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tclassOptions,\n\t\t\t);\n\t\t}\n\n\t\t// TODO: this is a troublesome mixin and will no longer work as models are defined at constructor time\n\n\t\t// If obj is a Model of the correct type, it just needs wrapping.\n\t\t// If obj is a bare object, Backbone will convert it to the correct type.\n\t\tif (obj instanceof targetClass.prototype.model || _.isObject(obj)) {\n\t\t\treturn new targetClass([obj], classOptions);\n\t\t}\n\n\t\tthrow new Error(\"can't convert \" + obj + ' to class ' + targetClass);\n\t},\n\n\t/**\n\t * Given a DOM object, a jQuery object, a jQuery selector or a DOM ID\n\t * return a jQuery object.\n\t * @param {*} obj Item to be converted to jQuery object\n\t * @returns jQuery object\n\t */\n\ttoJQ: function (obj) {\n\t\tif (typeof obj === 'string') {\n\t\t\t/*\n\t\t\t * Upgrading this to handle a selector is easy, but most of the system still passes bare IDs.\n\t\t\t * The following bit of logic tries to avoid excess query work:\n\t\t\t */\n\t\t\tvar jqObj = [];\n\n\t\t\t// this string of yours ... is it a jquery selector?\n\t\t\tif (obj.search(/[#.]/)) {\n\t\t\t\t// does it have id or class selector sigils?\n\t\t\t\tjqObj = $(obj);\n\t\t\t}\n\n\t\t\t// if that failed (or wasn't tried), try backwards-compability: we used to accept a bare element ID\n\t\t\tif (jqObj.length === 0 && obj.indexOf('#') === -1) {\n\t\t\t\tjqObj = $('#' + obj);\n\t\t\t}\n\t\t\t// if that failed, maybe it's a selector after all.\n\t\t\tif (jqObj.length === 0) {\n\t\t\t\tjqObj = $(obj);\n\t\t\t}\n\n\t\t\tobj = jqObj;\n\t\t} else if (typeof obj === 'object') {\n\t\t\tif (obj.nodeType) {\n\t\t\t\tobj = $(obj);\n\t\t\t} else if (typeof obj.jquery === 'string') {\n\t\t\t\t// already jQuery. leave it alone\n\t\t\t\treturn obj;\n\t\t\t} else {\n\t\t\t\tconsole.warn('toJQ received bogus object: ', obj);\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.warn('toJQ received bogus argument: ', obj);\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t/**\n\t * Convert various things (an assetId, an asset model, or an array of either)\n\t * to an array of 1 or more assetIDs.\n\t *\n\t * 'assets' may be integer assetIDs or full-on asset models,\n\t * and it can be either an array of them or just one.\n\t * @param {*} assets Array of assetIDs or asset models\n\t * @returns {array} A tidy array of assets\n\t */\n\ttidyAssetList: function (assets) {\n\t\tif (_.isArguments(assets)) {\n\t\t\tassets = _.rest(assets, 0);\n\t\t} else if (!_.isArray(assets)) {\n\t\t\tassets = [assets];\n\t\t}\n\n\t\tvar tidyAssets = [];\n\n\t\t_.each(assets, function (a, idx, all) {\n\t\t\tif (_.isObject(a)) {\n\t\t\t\ttidyAssets.push(a.id);\n\t\t\t} else {\n\t\t\t\ttidyAssets.push(a);\n\t\t\t}\n\t\t});\n\n\t\treturn tidyAssets;\n\t},\n\n\t/**\n\t * Determine where to place a pop-up context menu; takes the click event and a menu element\n\t * @param {event} e MouseEvent\n\t * @param {object} $menu jQuery object for the context menu\n\t * @returns {object} Position\n\t */\n\tgetMenuPosition: function (e, $menu) {\n\t\t$menu = _.toJQ($menu);\n\n\t\tvar mouseX = e.clientX,\n\t\t\tmouseY = e.clientY,\n\t\t\tboundsX = $(window).width(),\n\t\t\tboundsY = $(window).height(),\n\t\t\tmenuWidth = $menu.find('.dropdown-menu').outerWidth(),\n\t\t\tmenuHeight = $menu.find('.dropdown-menu [role=\"menu\"]').outerHeight(),\n\t\t\ttp = {position: 'absolute'},\n\t\t\tY,\n\t\t\tX;\n\n\t\tif (mouseX == null) mouseX = e.pageX;\n\t\tif (mouseY == null) mouseY = e.pageY;\n\n\t\t// If menu is going to be cutoff at bottom of screen, move it up\n\t\t// The +15 is for padding, otherwise menu can open right to the bottom\n\t\t// of the screen and look cutoff, even though it isn't\n\t\tif (mouseY + menuHeight + 15 > boundsY) {\n\t\t\tY = {top: mouseY - menuHeight + $(window).scrollTop()};\n\t\t} else {\n\t\t\tY = {top: mouseY + $(window).scrollTop()};\n\t\t}\n\n\t\t// If menu is going ot be cutoff at right of screen, move it left\n\t\tif (mouseX + menuWidth > boundsX && mouseX - menuWidth > 0) {\n\t\t\tX = {left: mouseX - menuWidth + $(window).scrollLeft()};\n\t\t} else {\n\t\t\tX = {left: mouseX + $(window).scrollLeft()};\n\t\t}\n\n\t\t// Adjust the position of the menu by its offset parent position.\n\t\tvar selectorPosition = $menu.offsetParent().offset();\n\t\tX.left = X.left - selectorPosition.left;\n\t\tY.top = Y.top - selectorPosition.top;\n\n\t\treturn $.extend(tp, Y, X);\n\t},\n\n\t/**\n\t * Utils to convert back & forth between the DAM's quoted-csv format for multiselects <-> a normal array.\n\t * TODO: escape and unescape double-quotes!\n\t * @param {string} csv CSV string\n\t * @returns {array} CSV as array\n\t */\n\tcsvToArray,\n\n\t/**\n\t * Utils to convert back & forth between the DAM's quoted-csv format for multiselects <-> a normal array.\n\t * TODO: escape and unescape double-quotes and commas!\n\t * @param {array} array Array to convert to CSV string\n\t * @returns {string} Array as CSV string\n\t */\n\tarrayToCsv,\n\n\t// Color utilities\n\t/**\n\t * Convert a color to a new shade\n\t * @param {hex} color Hex color '#000000'\n\t * @param {integer} percent Percentage of shading as an integer\n\t * @returns {hex} New shade of color '#000000'\n\t */\n\tshadeColor: function (color, percent) {\n\t\tvar R = parseInt(color.substring(1, 3), 16),\n\t\t\tG = parseInt(color.substring(3, 5), 16),\n\t\t\tB = parseInt(color.substring(5, 7), 16);\n\n\t\tR = parseInt((R * (100 + percent)) / 100);\n\t\tG = parseInt((G * (100 + percent)) / 100);\n\t\tB = parseInt((B * (100 + percent)) / 100);\n\n\t\tR = R < 255 ? R : 255;\n\t\tG = G < 255 ? G : 255;\n\t\tB = B < 255 ? B : 255;\n\n\t\tvar RR = R.toString(16).length == 1 ? '0' + R.toString(16) : R.toString(16),\n\t\t\tGG = G.toString(16).length == 1 ? '0' + G.toString(16) : G.toString(16),\n\t\t\tBB = B.toString(16).length == 1 ? '0' + B.toString(16) : B.toString(16);\n\n\t\treturn '#' + RR + GG + BB;\n\t},\n\n\t/**\n\t * Convert Hex color to RGB color\n\t * @param {hex} color Hex color to be converted to RGB\n\t * @returns {object} RGB color '{ r: 0, g: 0, b: 0 }'\n\t */\n\thexToRgb: function (hex) {\n\t\tvar result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\t\treturn result\n\t\t\t? {\n\t\t\t\t\tr: parseInt(result[1], 16),\n\t\t\t\t\tg: parseInt(result[2], 16),\n\t\t\t\t\tb: parseInt(result[3], 16),\n\t\t\t }\n\t\t\t: {r: 0, g: 0, b: 0};\n\t},\n\t/**\n\t * Convert RGB color to HSL color\n\t * @param {hex} color Hex color to be converted to RGB\n\t * @returns {object} HSL color '{ h: 0, s: 0, l: 0 }'\n\t */\n\n\trgbToHsl: function (rgb) {\n\t\tvar r = rgb[0],\n\t\t\tg = rgb[1],\n\t\t\tb = rgb[2];\n\n\t\t// DEVNOTE: eslint flags this as an error -- https://github.com/eslint/eslint/blob/master/docs/rules/no-sequences.md\n\t\t(r /= 255), (g /= 255), (b /= 255);\n\t\t// Any reason not to use semicolons instead of commas here? -m-\n\n\t\tvar max = Math.max(r, g, b),\n\t\t\tmin = Math.min(r, g, b),\n\t\t\th,\n\t\t\ts,\n\t\t\tl = (max + min) / 2;\n\n\t\tif (max == min) {\n\t\t\th = s = 0; // achromatic\n\t\t} else {\n\t\t\tvar d = max - min;\n\t\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\t\t\tswitch (max) {\n\t\t\t\tcase r:\n\t\t\t\t\th = (g - b) / d + (g < b ? 6 : 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase g:\n\t\t\t\t\th = (b - r) / d + 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase b:\n\t\t\t\t\th = (r - g) / d + 4;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\th /= 6;\n\t\t}\n\t\treturn {h: h, s: s, l: l};\n\t},\n\n\t/**\n\t * I feel I must me missing something here. Is it really the case that\n\t * neither JS, jQuery or underscore have a function to parse the URI query string\n\t * into an object? Please prove me wrong. -m-\n\t */\n\tparseQuery: function () {\n\t\treturn (\n\t\t\t_.chain(\n\t\t\t\t// get the query string (if any) without the leading ?\n\t\t\t\twindow.location.search\n\t\t\t\t\t.slice(1)\n\t\t\t\t\t// chop it up by &\n\t\t\t\t\t.split('&'),\n\t\t\t)\n\t\t\t\t// clean out any weird undefined stuff\n\t\t\t\t.compact()\n\t\t\t\t// chop each string into a tuple by its equals (if any)\n\t\t\t\t.map(function (item) {\n\t\t\t\t\tif (item) return item.split('=');\n\t\t\t\t})\n\t\t\t\t// uri-decode the values, if any\n\t\t\t\t// (NOTE: not sure if i'm supposed to decode the keys or not. There is no standard, apparently ...)\n\t\t\t\t.map(function (array) {\n\t\t\t\t\treturn array.length == 2 ? [array[0], decodeURI(array[1])] : array;\n\t\t\t\t})\n\t\t\t\t// Make that an object.\n\t\t\t\t.object()\n\t\t\t\t.value()\n\t\t);\n\t},\n\n\t/**\n\t * This seems like something underscore would have, but it doesn't:\n\t * http://stackoverflow.com/questions/8747561/is-there-any-way-to-rename-js-object-keys-using-underscore-js\n\t */\n\tmapKeys: function (obj, map) {\n\t\tvar result = {};\n\t\t_.chain(obj)\n\t\t\t.keys()\n\t\t\t.each(function (key) {\n\t\t\t\tvar newKey;\n\t\t\t\tif (_.isFunction(map)) {\n\t\t\t\t\tnewKey = map(key) || key;\n\t\t\t\t} else {\n\t\t\t\t\tnewKey = map[key] || key;\n\t\t\t\t}\n\t\t\t\tresult[newKey] = obj[key];\n\t\t\t});\n\t\treturn result;\n\t},\n});\n\nexport default _;\n","import Netx from '../bootstrap';\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\nimport View from './netx-view';\nimport _ from 'underscore';\nimport {logger} from '@netx/core-next';\n\nimport type AppView from '@netx/core-app/models/appView';\nimport type Collection from '@netx/core/lib/netx-collection';\nimport type Model from '@netx/core/lib/netx-model';\n\nimport {FindLegacyAction} from '@netx/core/legacyActionManager';\nimport {appRouter} from '@netx/core-next/instance/router';\nexport {isPortal, protectObjectProxy} from '../utils';\n\nexport const getViewModel = (\n\tview: View>,\n): TModel | undefined => {\n\tconst viewData = view.data || {};\n\tlet model = viewData.model || view.model;\n\tif (model && model.isAppView) {\n\t\tmodel = model.viewModel as TModel;\n\t}\n\treturn !model ? undefined : (model as TModel);\n};\n\nexport const getViewCollection = (\n\tview: View,\n): TCollection | undefined => {\n\tconst viewData = view.data || {};\n\tconst collection = viewData.collection || view.collection;\n\treturn !collection ? undefined : (collection as TCollection);\n};\n\nexport const performAction = (actionStr: string, actionArgs: any[] = []) => {\n\tlogger.silly('utils/performAction', actionStr);\n\n\tconst action = FindLegacyAction(actionStr);\n\tif (!action) throw new Error(`'${actionStr}' is not a registered action`);\n\n\t// Generic handler for all Action clicks:\n\tif (action.fake) {\n\t\tlogger.warn(`The action '${action.event}' has not been registered`);\n\t}\n\t// or else, if the action itself defined a wrapper, run the arguments through that.\n\telse if (_.isFunction(action.wrapper)) {\n\t\tactionArgs = action.wrapper.apply(this, actionArgs);\n\t\tif (!_.isArray(actionArgs)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Action wrapper for '${action.event}' did not return an array`,\n\t\t\t);\n\t\t}\n\t}\n\n\t// close any/all open dropdown menus\n\tdispatcher.trigger('app:close:menus');\n\n\t// If this action has a route, route to it\n\tif (_.isFunction(action.route)) {\n\t\t// route can be a function that takes args & returns a string\n\t\tappRouter.navigate(action.route.apply(action, actionArgs) as string, true);\n\t} else if (_.isString(action.route)) {\n\t\t// it can also be a plain string.\n\t\t// TODO: such actions could be rendered as simple hrefs that can be enabled/disabled, so the browser can do this part ...\n\t\tappRouter.navigate(action.route, true);\n\t}\n\t// If this action has a link, send the browser to it.\n\t// (Again, this could have been rendered as a simple href ...)\n\telse if (_.isString(action.link)) {\n\t\t// a link could be of the format \"#route\", or \"/other/site/on/this/host\" or even \"http://google.com\"\n\t\twindow.location = action.link;\n\t}\n\t// If no view & no route, trigger this action's event\n\telse {\n\t\tactionArgs.unshift(action.event);\n\t\tdispatcher.trigger.apply(dispatcher, actionArgs as unknown as any);\n\t}\n};\n\nexport const isTouchEnabled = () =>\n\t'ontouchstart' in window || navigator?.maxTouchPoints > 0;\n\nexport default {\n\tgetViewCollection,\n\tgetViewModel,\n\tperformAction,\n};\n","export const caseInsensitiveStringIncludes = (str: string, includes: string) =>\n\tstr.toLocaleLowerCase().includes(includes.toLowerCase());\n\nexport default caseInsensitiveStringIncludes;\n","/**\n * Escape special characters in the URI function escapes [']\n * @param str URI string to be escaped\n * @return Escaped URI string\n */\nexport const escapeURI = (str: string) => {\n\treturn encodeURIComponent(str).replace(\"'\", '%27');\n};\n\nexport default escapeURI;\n","export const normalizeFileType = (fileType?: string, fileName?: string) => {\n\tfileType = fileType || 'unknown';\n\tconst fileTypePieces = fileType.split('/');\n\tif (fileTypePieces[1]) fileType = fileTypePieces[1];\n\tswitch (fileType) {\n\t\tcase 'mpeg':\n\t\t\tif (fileName?.endsWith('.mp3')) return 'mp3';\n\t}\n\treturn fileType.replace(/^x-/, '');\n};\n\nexport default normalizeFileType;\n","import {normalizeFileType} from './normalizeFileType';\n\nexport const getGenericIconUrl = (fileType?: string, fileName?: string) => {\n\treturn `/icons/${normalizeFileType(fileType, fileName).toLowerCase()}.png`;\n};\n\nexport default getGenericIconUrl;\n","/**\n * Given an object, will return a query params string\n * @param obj Object\n * @return Query params\n * @example\n * getURLQueryFromObject({foo: 'bar', moo: 'iar'}): \"?foo=bar&moo=iar\"\n */\nexport const getURLQueryFromObject = (\n\tobj: Record = {},\n) => {\n\treturn obj\n\t\t? Object.entries(obj).reduce(\n\t\t\t\t(accum, [key, value], index) =>\n\t\t\t\t\taccum +\n\t\t\t\t\t((!index ? `?` : `&`) + `${key}=${encodeURIComponent(value)}`),\n\t\t\t\t'',\n\t\t )\n\t\t: '';\n};\n\nexport default getURLQueryFromObject;\n","/**\n * Append query params to url string\n * @param url URL\n * @param queryParams Query params\n * @returns New URL string\n * @example\n * appendQueryObjectToURL(\"https://lorem.ipsum\", {\"foo\": \"bar\"});\n * // => https://lorem.ipsum/?foo=bar\n * appendQueryObjectToURL(\"https://lorem.ipsum/?dolar=sit\", {\"foo\": \"bar\"});\n * // => https://lorem.ipsum/?dolar=sit&foo=bar\n */\nexport const appendQueryObjectToURL = (\n\turl: string,\n\tqueryParams?: Record,\n) => {\n\tif (queryParams == null) return url;\n\n\tconst _url = new URL(url);\n\tObject.entries(queryParams).forEach(([key, value]) =>\n\t\t_url.searchParams.append(key, value.toString()),\n\t);\n\treturn _url.toString();\n};\n\nexport default appendQueryObjectToURL;\n","export const createSyntheticEvent = (\n\tevent: E,\n): React.SyntheticEvent => {\n\tlet isDefaultPrevented = false;\n\tlet isPropagationStopped = false;\n\tconst preventDefault = () => {\n\t\tisDefaultPrevented = true;\n\t\tevent.preventDefault();\n\t};\n\tconst stopPropagation = () => {\n\t\tisPropagationStopped = true;\n\t\tevent.stopPropagation();\n\t};\n\treturn {\n\t\t...((event as any).key != null\n\t\t\t? {\n\t\t\t\t\tkey: (event as any).key as string,\n\t\t\t\t\tmetaKey: (event as any).metaKey as boolean,\n\t\t\t\t\tshiftKey: (event as any).shiftKey as boolean,\n\t\t\t }\n\t\t\t: {}),\n\t\tnativeEvent: event,\n\t\tcurrentTarget: event.currentTarget as EventTarget & T,\n\t\ttarget: event.target as EventTarget & T,\n\t\tbubbles: event.bubbles,\n\t\tcancelable: event.cancelable,\n\t\tdefaultPrevented: event.defaultPrevented,\n\t\teventPhase: event.eventPhase,\n\t\tisTrusted: event.isTrusted,\n\t\tpreventDefault,\n\t\tisDefaultPrevented: () => isDefaultPrevented,\n\t\tstopPropagation,\n\t\tisPropagationStopped: () => isPropagationStopped,\n\t\tpersist: () => {},\n\t\ttimeStamp: event.timeStamp,\n\t\ttype: event.type,\n\t};\n};\n","export const dateToHTML = (d: Date | string | number) => {\n\tif (!d) return '';\n\n\t// Support milliseconds\n\tif (typeof d === 'number') d = new Date(d);\n\n\tif (d instanceof Date) {\n\t\treturn [\n\t\t\td.getFullYear(),\n\t\t\t(d.getMonth() + 1).toString().padStart(2, '0'),\n\t\t\td.getDate().toString().padStart(2, '0'),\n\t\t].join('-');\n\t}\n\n\tconst temp = d.split('/');\n\tif (temp.length && temp[0].length === 4)\n\t\treturn d.replace(/(\\d+)\\/(\\d+)\\/(\\d+)/, '$1-$2-$3');\n\n\treturn d.replace(/(\\d+)\\/(\\d+)\\/(\\d+)/, '$3-$1-$2');\n};\n\nexport default dateToHTML;\n","export const getDuplicateName = (name?: string) => {\n\tif (!name) return '';\n\tconst m = name.match(/.*(\\(\\d+\\))$/);\n\tif (m === null) return `${name} (1)`; // no match, so this is the first duplicate\n\treturn `${name.slice(0, -m[1].length)}(${\n\t\tparseInt(m[1].slice(1, -1), 10) + 1\n\t})`;\n};\n\nexport default getDuplicateName;\n","import {parse} from 'date-fns';\n\nexport const getIsoLongDateFromIsoShortDate = (value?: string | null) => {\n\treturn value == null\n\t\t? null\n\t\t: parse(value, 'yyyy-MM-dd', new Date()).toISOString();\n};\n\nexport default getIsoLongDateFromIsoShortDate;\n","import {format, parseISO} from 'date-fns';\n\nexport const getIsoShortDateFromIsoLongDate = (value?: string | null) => {\n\treturn value == null ? value : format(parseISO(value), 'yyyy-MM-dd');\n};\n\nexport default getIsoShortDateFromIsoLongDate;\n","export const getNormalizedHexColor = (color: any) => {\n\tif (typeof color !== 'string') return color;\n\tif ((color.length === 4 || color.length === 7) && color.match(/^#/))\n\t\treturn color;\n\treturn `#${color}`;\n};\n\nexport default getNormalizedHexColor;\n","import {Events} from 'backbone';\n\n/**\n * Register a backbone event and return a function to unregister it.\n * @param thing Backbone collection/model/view/dispatcher (anything that extends `Backbone.Events`)\n * @param event Event name\n * @param cb Event callback\n * @returns Function to unregister the event\n *\n * @example\n * ```ts\n * const unregister = registerBackboneEvent(collection, 'add', (model) => {...});\n * unregister();\n * ```\n */\nexport const registerBackboneEvent = (\n\tthing: T,\n\tevent: string,\n\tcb: (...args: any) => void,\n) => {\n\tthing.on(event, cb);\n\treturn () => thing.off(event, cb);\n};\n\nexport default registerBackboneEvent;\n","import React from 'react';\n\nexport type StopPropagationArgs = {\n\tpreventDefault?: boolean;\n};\n\nexport const stopPropagation = (\n\tevent: E,\n) => {\n\tevent.stopPropagation();\n\tevent.preventDefault();\n};\n\nexport default stopPropagation;\n","import {emptyValueSymbol} from '@netx/core-attribute/constants';\n\n/**\n * @param value Value\n * @return Is empty value\n */\nexport const isEmptyValue = (value: any) => {\n\tif (value === emptyValueSymbol) return true;\n\tif (value === void 0 || value == null) return true;\n\tif (value.length === 0) return true;\n\tif (typeof value === 'string' && value.trim() === '') return true;\n\tif (Array.isArray(value) && value[0] === '') return true;\n\treturn false;\n};\n\nexport default isEmptyValue;\n","/**\n * Check if the app is at a portal endpoint\n */\nexport const isPortal = () => {\n\t// todo: yarn watch:portal does not have /portals\n\treturn window.location.pathname.match(/^\\/portals\\//) != null;\n};\n\nexport default isPortal;\n","// NOTE: if we trigger a download via window.location, safari (15.2, and maybe a little earlier) will interupt any outgoing calls\n// in cases of things like checking out an asset, we refetch the asset at the same time we are triggering the download - the `getAssetBean`\n// call is interupted and the fetch never goes through (in fact throws a generic error because the call was not resolved)\n\n/**\n * Will trigger a download in the borwser for the provided link\n * @param link\n */\nexport const openDownloadLink = (link: string) => {\n\t// Safari (at least v15.2) ¯\\_(ツ)_/¯\n\t// window.location = link;\n\tconst anchor = document.createElement('a');\n\tanchor.setAttribute('download', '');\n\tanchor.href = link;\n\tdocument.body.appendChild(anchor);\n\tanchor.click();\n\tanchor.remove();\n};\n\nexport default openDownloadLink;\n","/**\n * Purge elements from an array of elements\n * @param els Elements selected\n * @param purgeEls Elements to be purged from\n * @returns Elements after purging\n *\n * @example\n * ```ts\n * const els = document.querySelectorAll('.el');\n * const purgeEls = document.querySelectorAll('.purge-el');\n * const newEls = purgeEls(els, purgeEls);\n * ```\n */\nexport const purgeEls = (els: Element[], purgeEls: Element[]) => {\n\tconst purgeCount = purgeEls.length;\n\tif (purgeCount === 0) return els;\n\n\treturn els.filter((el) => {\n\t\tfor (let i = 0; i < purgeCount; i++) {\n\t\t\tif (purgeEls[i].contains(el)) return false;\n\t\t}\n\t\treturn true;\n\t});\n};\n\nexport default purgeEls;\n","import _ from 'underscore';\n\n/**\n * Unescape asset attribute name in form fields.\n * (Specifically, do everything underscore's _.unescape method does,\n * and also decode the HTML entities for open & close parens, if present.)\n *\n * @param {string} string Attribute name\n * @return {string} Unescaped attribute name\n */\nexport const unescapeAttributeName = (string: string) => {\n\tstring = _.unescape(string);\n\tstring = string\n\t\t.replace(/(/g, '(')\n\t\t.replace(/)/g, ')')\n\t\t.replace(/[/g, '[')\n\t\t.replace(/]/g, ']');\n\treturn string;\n};\n\nexport default unescapeAttributeName;\n","/**\n * Unescape special characters in the URI function unescape [%27]\n * @param {string} str URI string to be unescaped\n * @return {string} Unescaped URI string\n */\nexport const unescapeURI = (str: string) => {\n\treturn decodeURIComponent(str.replace('%27', \"'\"));\n};\n\nexport default unescapeURI;\n","import React, {useEffect} from 'react';\nimport clsx from 'clsx';\nimport {i18n} from '@netx/core/i18n';\nimport {Skeleton} from '@mui/material';\nimport {styled} from './styled';\nimport {composeClasses} from './utils/composeClasses';\nimport {useTheme} from './hooks';\nimport type {WithClasses} from './types';\nimport useDispatcher from '@netx/core-components/hooks/useDispatcher';\nimport useImageLoader from '@netx/core-components/hooks/useImageLoader';\nimport {URL} from '@netx/core-next/url';\n\nimport {\n\tlogoClasses,\n\tgetLogoUtilityClass,\n\tLogoClasses,\n\tLOGO_CLASS_NAME,\n} from './logoClasses';\nimport {useConstCallback} from '../hooks/useEvent';\n\ntype LogoOwnerState = WithClasses;\n\nconst useUtilityClasses = (ownerState: LogoOwnerState) => {\n\tconst {classes} = ownerState;\n\tconst slots = {\n\t\troot: ['root'],\n\t\timage: ['image'],\n\t\tskeleton: ['skeleton'],\n\t};\n\treturn composeClasses(slots, getLogoUtilityClass, classes);\n};\n\nconst LogoRoot = styled('div', {\n\tname: LOGO_CLASS_NAME,\n\tslot: 'Root',\n})(({theme}) => ({\n\tflex: '0 0 auto',\n\tmaxHeight: 42,\n}));\n\nconst LogoImage = styled('img', {\n\tname: LOGO_CLASS_NAME,\n\tslot: 'Image',\n})(({theme}) => ({\n\tmaxHeight: 42,\n\tmaxWidth: '100%',\n\twidth: 'auto',\n\theight: 'auto',\n\t[theme.breakpoints.down('sm')]: {\n\t\tmaxHeight: 32,\n\t},\n}));\n\nconst LogoSkeleton = styled(Skeleton, {\n\tname: LOGO_CLASS_NAME,\n\tslot: 'Skeleton',\n})(({theme}) => ({\n\tborderRadius: 4,\n\twidth: 116,\n\theight: 42,\n\t[theme.breakpoints.down('sm')]: {\n\t\theight: 32,\n\t\twidth: 88,\n\t},\n}));\n\nexport type LogoProps = WithClasses;\n\nexport const LogoPrimitive = ({classes: _classes, className}: LogoProps) => {\n\tconst theme = useTheme();\n\tconst imageLoader = useImageLoader();\n\n\tconst classes = useUtilityClasses({\n\t\tclasses: _classes,\n\t\tclassName,\n\t});\n\n\tconst handleLogoUpdate = useConstCallback(() => {\n\t\tconst logoUrl =\n\t\t\tURL.themeLogo ||\n\t\t\t(theme.palette.mode === 'dark' ? URL.logoDark : URL.logoLight);\n\t\timageLoader.load(`${logoUrl}?cb=${Date.now()}`);\n\t});\n\n\tuseEffect(() => {\n\t\thandleLogoUpdate();\n\t}, [theme.palette.mode]);\n\n\tuseDispatcher('app:system:branding:updated', handleLogoUpdate);\n\tuseDispatcher('app:system:branding:reset:confirmed', handleLogoUpdate);\n\n\treturn (\n\t\t\n\t\t\t{imageLoader.src ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport const Logo = LogoPrimitive;\n\nexport default Logo;\n","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\n\n// prepend: true moves MUI styles to the top of the so they're loaded first.\n// It allows developers to easily override MUI styles with other styling solutions, like CSS modules.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nlet cache;\nif (typeof document === 'object') {\n cache = createCache({\n key: 'css',\n prepend: true\n });\n}\nexport default function StyledEngineProvider(props) {\n const {\n injectFirst,\n children\n } = props;\n return injectFirst && cache ? /*#__PURE__*/_jsx(CacheProvider, {\n value: cache,\n children: children\n }) : children;\n}\nprocess.env.NODE_ENV !== \"production\" ? StyledEngineProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * By default, the styles are injected last in the element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override MUI's styles, set this prop.\n */\n injectFirst: PropTypes.bool\n} : void 0;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';\nimport { exactProp } from '@mui/utils';\nimport { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';\nimport useThemeWithoutDefault from '../useThemeWithoutDefault';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst EMPTY_THEME = {};\nfunction useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {\n return React.useMemo(() => {\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(resolvedTheme);\n const result = themeId ? _extends({}, upperTheme, {\n [themeId]: mergedTheme\n }) : mergedTheme;\n // must return a function for the private theme to NOT merge with the upper theme.\n // see the test case \"use provided theme from a callback\" in ThemeProvider.test.js\n if (isPrivate) {\n return () => result;\n }\n return result;\n }\n return themeId ? _extends({}, upperTheme, {\n [themeId]: localTheme\n }) : _extends({}, upperTheme, localTheme);\n }, [themeId, upperTheme, localTheme, isPrivate]);\n}\n\n/**\n * This component makes the `theme` available down the React tree.\n * It should preferably be used at **the root of your component tree**.\n *\n * // existing use case\n * // theme scoping\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme,\n themeId\n } = props;\n const upperTheme = useThemeWithoutDefault(EMPTY_THEME);\n const upperPrivateTheme = usePrivateTheme() || EMPTY_THEME;\n if (process.env.NODE_ENV !== 'production') {\n if (upperTheme === null && typeof localTheme === 'function' || themeId && upperTheme && !upperTheme[themeId] && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);\n const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);\n return /*#__PURE__*/_jsx(MuiThemeProvider, {\n theme: privateTheme,\n children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {\n value: engineTheme,\n children: children\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n /**\n * The design system's unique id for getting the corresponded theme when there are multiple design systems.\n */\n themeId: PropTypes.string\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as SystemThemeProvider } from '@mui/system';\nimport THEME_ID from './identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ThemeProvider(_ref) {\n let {\n theme: themeInput\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const scopedTheme = themeInput[THEME_ID];\n return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {\n themeId: scopedTheme ? THEME_ID : undefined,\n theme: scopedTheme || themeInput\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;","import React, {\n\tuseEffect,\n\tuseState,\n\tuseCallback,\n\ttype PropsWithChildren,\n} from 'react';\nimport _ from 'underscore';\nimport {i18n} from '@netx/core-next/locales';\nimport {createTheme, type PaletteMode} from '@mui/material';\nimport StylesEngineProvider from '@mui/material/StyledEngineProvider';\nimport {ThemeProvider} from '@mui/material/styles';\nimport {StylesProvider} from '@mui/styles';\nimport {getThemeMode} from '@netx/core/css';\nimport {useDispatcher} from '@netx/core-components/hooks/useDispatcher';\nimport {getComponentOverrides} from './utils/getComponentOverrides';\nimport {getThemeMixins} from './utils/getThemeMixins';\nimport {getThemePalette} from './utils/getThemePalette';\nimport type {Theme} from './types';\n\nexport const baseTheme = (type: PaletteMode = 'light', demo = false) =>\n\tcreateTheme(\n\t\t{\n\t\t\tmixins: getThemeMixins(type, {demo}),\n\t\t\tpalette: getThemePalette(type, {demo}),\n\t\t\tcomponents: getComponentOverrides(type, {demo}),\n\t\t},\n\t\t[i18n.language],\n\t);\n\n/** netx theme */\nconst NetxTheme = ({children}: PropsWithChildren<{}>) => {\n\tconst [theme, setTheme] = useState(() => baseTheme(getThemeMode()));\n\n\tuseDispatcher(\n\t\t'theme:toggled',\n\t\tuseCallback((themeMode: PaletteMode) => setTheme(baseTheme(themeMode)), []),\n\t);\n\n\tuseDispatcher(\n\t\t'theme:toggled',\n\t\tuseCallback((themeMode: PaletteMode) => setTheme(baseTheme(themeMode)), []),\n\t);\n\n\tuseDispatcher(\n\t\t'css:variable:updated',\n\t\tuseCallback(\n\t\t\t_.debounce(() => setTheme(baseTheme(getThemeMode())), 150),\n\t\t\t[],\n\t\t),\n\t);\n\n\tuseEffect(() => {\n\t\tconst listener = (lng: string) => setTheme(baseTheme(getThemeMode()));\n\t\ti18n.on('languageChanged', listener);\n\t\treturn () => {\n\t\t\ti18n.off('languageChanged', listener);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default NetxTheme;\n","import React from 'react';\nimport type {PaletteMode} from '@mui/material';\nimport type {Components, Theme} from '@mui/material/styles';\nimport {defaultMuiTheme} from '../defaults';\nimport {getOutlinedBorderColor} from './getOutlinedBorderColor';\nimport {getPlaceholderOpacity} from './getPlaceholderOpacity';\nimport {getStylePropertyFn} from './getStylePropertyFn';\n\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faAngleDown} from '@fortawesome/pro-solid-svg-icons';\n\nexport const getComponentOverrides = (\n\tmode: PaletteMode,\n\topts?: {demo?: boolean},\n): Components> => {\n\tconst getStyleProperty = getStylePropertyFn(mode, opts);\n\tconst outlinedBorderColor = getOutlinedBorderColor(mode);\n\tconst placeholderVisible = getPlaceholderOpacity(mode);\n\n\tconst light = mode === 'light';\n\n\treturn {\n\t\tMuiAccordionSummary: {\n\t\t\tdefaultProps: {\n\t\t\t\texpandIcon: ,\n\t\t\t},\n\t\t\tstyleOverrides: {\n\t\t\t\texpandIconWrapper: {\n\t\t\t\t\tcolor: getStyleProperty('text-primary-on-background'),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiAlert: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tfontSize: '14px',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiAutocomplete: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\t// Show pointer cursor if not focused\n\t\t\t\t\t'& [class*=\"MuiInputBase-root\"]:not([class*=\"Mui-focused\"])': {\n\t\t\t\t\t\t'&, & input': {\n\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'&.MuiAutocomplete-hasPopupIcon .MuiOutlinedInput-root': {\n\t\t\t\t\t\tpaddingRight: 42,\n\t\t\t\t\t},\n\t\t\t\t\t'& [class*=\"MuiInputLabel-root\"]': {\n\t\t\t\t\t\tmaxWidth: 'calc(100% - 56px)',\n\t\t\t\t\t\t'&:not([class*=\"MuiInputLabel-outlined\"])': {\n\t\t\t\t\t\t\tpaddingLeft: 16,\n\t\t\t\t\t\t\t'& + .MuiInput-root .MuiInput-input': {\n\t\t\t\t\t\t\t\tpaddingLeft: 16,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'&[class*=\"MuiInputLabel-shrink\"]': {\n\t\t\t\t\t\t\t\tpaddingLeft: 22,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'&[class*=\"MuiInputLabel-outlined\"]': {\n\t\t\t\t\t\t\t'&[class*=\"MuiInputLabel-shrink\"]': {\n\t\t\t\t\t\t\t\ttransform: `translate(14px, -6px) scale(0.75)`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tgroupUl: {\n\t\t\t\t\t'& .MuiAutocomplete-option': {\n\t\t\t\t\t\tpaddingLeft: defaultMuiTheme.spacing(2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnoOptions: {\n\t\t\t\t\tfontSize: 16,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiAvatar: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\t// Fix: in safari the image escapes the border-radius overflow until the transition\n\t\t\t\t\t// is complete\n\t\t\t\t\tWebkitMaskImage: '-webkit-radial-gradient(white, black)',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiButton: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tflex: '0 0 auto',\n\t\t\t\t\t// Messes with translations\n\t\t\t\t\ttextTransform: 'unset',\n\t\t\t\t\t'& p': {\n\t\t\t\t\t\tcolor: 'inherit',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ticonSizeMedium: {\n\t\t\t\t\t'& > *:first-of-type.svg-inline--fa': {\n\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiButtonBase: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tfontSize: '24px',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiCheckbox: {\n\t\t\tstyleOverrides: {\n\t\t\t\tsizeMedium: {\n\t\t\t\t\t'& svg': {\n\t\t\t\t\t\twidth: 24,\n\t\t\t\t\t\theight: 24,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiChip: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t'& span': {\n\t\t\t\t\t\tdisplay: 'inline-block',\n\t\t\t\t\t\tflex: '1 1 auto',\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\ttextOverflow: 'ellipsis',\n\t\t\t\t\t},\n\t\t\t\t\t'& svg': {\n\t\t\t\t\t\tflex: '0 0 auto',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiFilledInput: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tbackgroundColor: light\n\t\t\t\t\t\t? `rgba(0, 0, 0, 0.025)`\n\t\t\t\t\t\t: `rgba(255, 255, 255, 0.04)`,\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tbackgroundColor: light\n\t\t\t\t\t\t\t? `rgba(0, 0, 0, 0.04)`\n\t\t\t\t\t\t\t: `rgba(255, 255, 255, 0.08)`,\n\t\t\t\t\t},\n\t\t\t\t\t'&$focused': {\n\t\t\t\t\t\tbackgroundColor: light\n\t\t\t\t\t\t\t? `rgba(0, 0, 0, 0.04)`\n\t\t\t\t\t\t\t: `rgba(255, 255, 255, 0.08)`,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiFormHelperText: {\n\t\t\tdefaultProps: {\n\t\t\t\tvariant: 'outlined',\n\t\t\t},\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tfontSize: '12px',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiIconButton: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\t'&:not([class*=\"MuiSwitch-switchBase\"]) svg:not(.svg-inline--fa)': {\n\t\t\t\t\t\tminHeight: 24,\n\t\t\t\t\t\tminWidth: 24,\n\t\t\t\t\t},\n\t\t\t\t\t// FontAwesome icons are just too dang big\n\t\t\t\t\t'& .svg-inline--fa': {\n\t\t\t\t\t\theight: 16,\n\t\t\t\t\t\twidth: 16,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tedgeEnd: {\n\t\t\t\t\tmarginRight: -defaultMuiTheme.spacing(2),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiInputLabel: {\n\t\t\t// defaultProps: {\n\t\t\t// \tshrink: true,\n\t\t\t// },\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tmaxWidth: 'calc(100% - 20px)',\n\t\t\t\t\ttextOverflow: 'ellipsis',\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\twordBreak: 'break-all',\n\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\tminHeight: 18,\n\t\t\t\t\t'&:not([class*=\"MuiInputLabel-outlined\"]):not([class*=\"MuiInputLabel-filled\"])':\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpaddingLeft: defaultMuiTheme.spacing(2),\n\t\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tfilled: {\n\t\t\t\t\tcolor: light ? `rgba(0, 0, 0, 0.64)` : undefined,\n\t\t\t\t},\n\t\t\t\tshrink: {\n\t\t\t\t\tmaxWidth: 'calc(100% * 1.25 - 15px) !important',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiInputBase: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\t// TODO: the override styles for `MuiOutlinedInput` below are not working\n\t\t\t\t\t// there is a bug ticket for this\n\t\t\t\t\t'@media (hover: none)': {\n\t\t\t\t\t\t'& .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline': {\n\t\t\t\t\t\t\tborderColor: outlinedBorderColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'& .MuiOutlinedInput-notchedOutline': {\n\t\t\t\t\t\tborderColor: outlinedBorderColor,\n\t\t\t\t\t\t'& legend': {\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'&.MuiInput-underline': {\n\t\t\t\t\t\t'& input': {\n\t\t\t\t\t\t\tpaddingLeft: defaultMuiTheme.spacing(1.5),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinput: {\n\t\t\t\t\t'&::-webkit-input-placeholder': placeholderVisible,\n\t\t\t\t\t'&::-moz-placeholder': placeholderVisible,\n\t\t\t\t\t'&:-ms-input-placeholder': placeholderVisible,\n\t\t\t\t\t'&::-ms-input-placeholder': placeholderVisible,\n\t\t\t\t\t'label[data-shrink=false] + $formControl &': {\n\t\t\t\t\t\t'&:focus::-webkit-input-placeholder': placeholderVisible,\n\t\t\t\t\t\t'&:focus::-moz-placeholder': placeholderVisible,\n\t\t\t\t\t\t'&:focus::-ms-input-placeholder': placeholderVisible,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiOutlinedInput: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\t// Reset on touch devices, it doesn't add specificity\n\t\t\t\t\t'@media (hover: none)': {\n\t\t\t\t\t\t'&:hover $notchedOutline': {\n\t\t\t\t\t\t\tborderColor: outlinedBorderColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnotchedOutline: {\n\t\t\t\t\tborderColor: outlinedBorderColor,\n\t\t\t\t\t'& legend': {\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiPaper: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tbackgroundImage: 'none',\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefaultProps: {\n\t\t\t\televation: light ? 2 : 5,\n\t\t\t},\n\t\t},\n\t\tMuiSelect: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t'& ~ svg': {\n\t\t\t\t\t\t\topacity: 0.5,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiStepLabel: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t'& .MuiStepIcon-text': {\n\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t},\n\t\t\t\t\t'& svg': {\n\t\t\t\t\t\twidth: 24,\n\t\t\t\t\t\theight: 24,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\tfontSize: 14,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiTab: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\t// Messes with translations\n\t\t\t\t\ttextTransform: 'unset',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiTextField: {\n\t\t\tdefaultProps: {\n\t\t\t\tvariant: 'outlined',\n\t\t\t\tsize: 'small',\n\t\t\t},\n\t\t},\n\t\tMuiTooltip: {\n\t\t\tstyleOverrides: {\n\t\t\t\ttooltip: {\n\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiTypography: {\n\t\t\tstyleOverrides: {\n\t\t\t\troot: {\n\t\t\t\t\tMozOsxFontSmoothing: 'grayscale',\n\t\t\t\t\tWebkitFontSmoothing: 'antialiased',\n\t\t\t\t},\n\t\t\t\t// TODO: For the font size descepency between theme and portal\n\t\t\t\t// using the 'px' value over 'rem' until we rectify\n\t\t\t\tbody1: {\n\t\t\t\t\tfontSize: '16px',\n\t\t\t\t},\n\t\t\t\tbody2: {\n\t\t\t\t\tfontSize: '14px',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\tfontSize: '12px',\n\t\t\t\t},\n\t\t\t\th5: {\n\t\t\t\t\tfontSize: '24px',\n\t\t\t\t},\n\t\t\t\th6: {\n\t\t\t\t\tfontSize: '20px',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n};\n","import type {PaletteMode} from '@mui/material';\n\nexport const getPlaceholderOpacity = (mode: PaletteMode = 'light') => {\n\t// We need to get better contrast for accessibility\n\t// 0.618 gets us the exact color that the browser placeholder default color is\n\t// increaased the dark by .05 as well\n\treturn {opacity: mode === 'light' ? 0.618 : 0.55};\n};\n","import {useCallback, useEffect, useRef, useState} from 'react';\nimport {unstable_batchedUpdates} from 'react-dom';\nimport useComponentIsMounted from './useComponentIsMounted';\n\nconst loadRegular = (src: string) => {\n\t// let cancelled = false;\n\tconst image = new Image();\n\tconst p = new Promise((resolve, reject) => {\n\t\timage.onload = () => {\n\t\t\t//if (cancelled) return;\n\t\t\tif (!image.naturalHeight && !image.naturalWidth)\n\t\t\t\treject(new Error('image not found'));\n\t\t\tresolve(image);\n\t\t};\n\t\timage.onerror = (err) => {\n\t\t\treject(err);\n\t\t\t//!cancelled && reject(err);\n\t\t};\n\t\timage.src = src;\n\t});\n\treturn {\n\t\tpromise: p,\n\t\tcancel: () => {\n\t\t\t// cancelled = true;\n\t\t\t// image.src = '';\n\t\t},\n\t};\n};\n\n/**\n * @depreacted\n */\nexport const useImageLoader = (\n\tdisableXHR = false,\n\tonLoaded?: (src: string) => void,\n) => {\n\tconst [, setFallbackUrls] = useState([]);\n\tconst [error, setError] = useState();\n\tconst [loading, setLoading] = useState(false);\n\tconst [progress, setProgress] = useState(0);\n\tconst [src, setSrc] = useState();\n\tconst [url, setUrl] = useState();\n\tconst lastUrlRef = useRef();\n\n\tconst {act} = useComponentIsMounted();\n\n\tconst currentlyLoadingUrl = useRef(url);\n\tconst disableXHRRef = useRef(disableXHR);\n\tconst loadingRegularCancel = useRef<() => void | undefined>();\n\tconst onLoadedRef = useRef(onLoaded);\n\tconst xmlHttpRef = useRef();\n\n\tdisableXHRRef.current = disableXHR;\n\tonLoadedRef.current = onLoaded;\n\n\tconst cancelLoad = useCallback(() => {\n\t\tact(() => setLoading(false));\n\t\txmlHttpRef.current?.abort();\n\t\txmlHttpRef.current = undefined;\n\t\tloadingRegularCancel.current?.();\n\t\tloadingRegularCancel.current = undefined;\n\t}, []);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tcancelLoad();\n\t\t};\n\t}, []);\n\n\t// On each error, move on tothe next fallback url\n\tuseEffect(() => {\n\t\tif (error == null) return;\n\t\tact(() => {\n\t\t\tconsole.warn('trying fallback if available');\n\t\t\tsetFallbackUrls((fallbackUrls) => {\n\t\t\t\tif (!fallbackUrls.length) {\n\t\t\t\t\tconsole.warn('fallback unavailable');\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t\treturn fallbackUrls;\n\t\t\t\t}\n\t\t\t\tconst _fallbackUrls = [...fallbackUrls];\n\t\t\t\tsetUrl(_fallbackUrls.shift());\n\t\t\t\treturn _fallbackUrls;\n\t\t\t});\n\t\t});\n\t}, [error]);\n\n\t// When it is time to load the image\n\tuseEffect(() => {\n\t\tcurrentlyLoadingUrl.current = url;\n\n\t\tif (!url) return;\n\n\t\tsetError(undefined);\n\n\t\tcancelLoad();\n\n\t\tif (disableXHRRef.current) {\n\t\t\tsetLoading(true);\n\t\t\tconst _loadRegular = loadRegular(url);\n\t\t\tloadingRegularCancel.current = _loadRegular.cancel;\n\t\t\t_loadRegular.promise\n\t\t\t\t.then((image) => {\n\t\t\t\t\tact(() => {\n\t\t\t\t\t\tonLoadedRef.current?.(url);\n\t\t\t\t\t\tsetSrc(url);\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((error) =>\n\t\t\t\t\tact(() => {\n\t\t\t\t\t\tsetError(error);\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.finally(() =>\n\t\t\t\t\tact(() => {\n\t\t\t\t\t\tloadingRegularCancel.current = undefined;\n\t\t\t\t\t\tunstable_batchedUpdates(() => {\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tsetUrl(undefined);\n\t\t\t\t\t\t});\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst xmlHTTP = (xmlHttpRef.current = new XMLHttpRequest());\n\t\txmlHTTP.open('GET', url, true);\n\t\txmlHTTP.responseType = 'arraybuffer';\n\n\t\txmlHTTP.onerror = (e) =>\n\t\t\tact(() => setError('Error communicating with server'));\n\n\t\txmlHTTP.onload = (e) =>\n\t\t\tact(() => {\n\t\t\t\tif (xmlHTTP.status !== 200) {\n\t\t\t\t\tsetError('Error downloading image');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst headers = xmlHTTP.getAllResponseHeaders();\n\t\t\t\tconst matchMime = headers.match(/^Content-Type\\:\\s*(.*?)$/im);\n\t\t\t\tconst blob = new Blob([xmlHTTP.response], {\n\t\t\t\t\ttype: matchMime ? matchMime[1] : 'image/jpg',\n\t\t\t\t});\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tact(() => {\n\t\t\t\t\t\t\tlastUrlRef.current &&\n\t\t\t\t\t\t\t\twindow.URL.revokeObjectURL(lastUrlRef.current);\n\t\t\t\t\t\t\tconst url = (lastUrlRef.current =\n\t\t\t\t\t\t\t\twindow.URL.createObjectURL(blob));\n\t\t\t\t\t\t\tonLoadedRef.current?.(url);\n\t\t\t\t\t\t\tunstable_batchedUpdates(() => {\n\t\t\t\t\t\t\t\tsetSrc(url);\n\t\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\t\tsetUrl(undefined);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}),\n\t\t\t\t\t200,\n\t\t\t\t);\n\t\t\t});\n\n\t\txmlHTTP.onloadend = () =>\n\t\t\tact(() => {\n\t\t\t\tsetProgress(100);\n\t\t\t\txmlHttpRef.current = undefined;\n\t\t\t});\n\n\t\txmlHTTP.onloadstart = () => act(() => setProgress(0));\n\n\t\txmlHTTP.onprogress = (e) =>\n\t\t\tact(() => {\n\t\t\t\tif (!e.lengthComputable) return;\n\t\t\t\tsetProgress((e.loaded / e.total) * 100);\n\t\t\t});\n\n\t\tsetLoading(true);\n\t\txmlHTTP.send();\n\t}, [url]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tlastUrlRef.current && window.URL.revokeObjectURL(lastUrlRef.current);\n\t\t};\n\t}, []);\n\n\tconst load = useCallback((url: string | string[]) => {\n\t\tif (!Array.isArray(url)) url = [url];\n\n\t\tconst _url = url.shift();\n\t\tif (!_url) return;\n\n\t\t// only cancel the current load if the requested url differs from what was already loading\n\t\tif (currentlyLoadingUrl.current && _url !== currentlyLoadingUrl.current) {\n\t\t\tcancelLoad();\n\t\t}\n\n\t\tunstable_batchedUpdates(() => {\n\t\t\tsetSrc(undefined);\n\t\t\tsetLoading(false);\n\t\t\tsetError(undefined);\n\t\t\tsetFallbackUrls(url as string[]);\n\t\t\tsetUrl(_url);\n\t\t});\n\t}, []);\n\n\treturn {\n\t\terror,\n\t\tloading,\n\t\tprogress,\n\t\tsrc,\n\n\t\tload,\n\t};\n};\n\nexport default useImageLoader;\n","function toVal(mix) {\n\tvar k, y, str='';\n\n\tif (typeof mix === 'string' || typeof mix === 'number') {\n\t\tstr += mix;\n\t} else if (typeof mix === 'object') {\n\t\tif (Array.isArray(mix)) {\n\t\t\tfor (k=0; k < mix.length; k++) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tif (y = toVal(mix[k])) {\n\t\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\t\tstr += y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (k in mix) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\tstr += k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn str;\n}\n\nexport default function () {\n\tvar i=0, tmp, x, str='';\n\twhile (i < arguments.length) {\n\t\tif (tmp = arguments[i++]) {\n\t\t\tif (x = toVal(tmp)) {\n\t\t\t\tstr && (str += ' ');\n\t\t\t\tstr += x\n\t\t\t}\n\t\t}\n\t}\n\treturn str;\n}\n","function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n}\n\nfunction timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n}\n\nfunction dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/);\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","var MILLISECONDS_IN_MINUTE = 60000;\n\nfunction getDateMillisecondsPart(date) {\n return date.getTime() % MILLISECONDS_IN_MINUTE;\n}\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\n\n\nexport default function getTimezoneOffsetInMilliseconds(dirtyDate) {\n var date = new Date(dirtyDate.getTime());\n var baseTimezoneOffset = Math.ceil(date.getTimezoneOffset());\n date.setSeconds(0, 0);\n var hasNegativeUTCOffset = baseTimezoneOffset > 0;\n var millisecondsPartOfTimezoneOffset = hasNegativeUTCOffset ? (MILLISECONDS_IN_MINUTE + getDateMillisecondsPart(date)) % MILLISECONDS_IN_MINUTE : getDateMillisecondsPart(date);\n return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset;\n}","import toDate from '../../toDate/index.js';\nimport startOfUTCISOWeek from '../startOfUTCISOWeek/index.js';\nimport startOfUTCISOWeekYear from '../startOfUTCISOWeekYear/index.js';\nimport requiredArgs from '../requiredArgs/index.js';\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import getUTCISOWeekYear from '../getUTCISOWeekYear/index.js';\nimport startOfUTCISOWeek from '../startOfUTCISOWeek/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from '../../toDate/index.js';\nimport startOfUTCISOWeek from '../startOfUTCISOWeek/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import toDate from '../../toDate/index.js';\nimport startOfUTCWeek from '../startOfUTCWeek/index.js';\nimport startOfUTCWeekYear from '../startOfUTCWeekYear/index.js';\nimport requiredArgs from '../requiredArgs/index.js';\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toInteger from '../toInteger/index.js';\nimport getUTCWeekYear from '../getUTCWeekYear/index.js';\nimport startOfUTCWeek from '../startOfUTCWeek/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function startOfUTCWeekYear(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate);\n var year = getUTCWeekYear(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, dirtyOptions);\n return date;\n}","import toInteger from '../toInteger/index.js';\nimport toDate from '../../toDate/index.js';\nimport startOfUTCWeek from '../startOfUTCWeek/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCWeekYear(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, dirtyOptions);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://git.io/fxCyr\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://git.io/fxCyr\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://git.io/fxCyr\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://git.io/fxCyr\"));\n }\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import toDate from '../../toDate/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toInteger from '../toInteger/index.js';\nimport toDate from '../../toDate/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function startOfUTCWeek(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}","import addLeadingZeros from '../../addLeadingZeros/index.js';\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function (date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function (date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function (date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function (date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function (date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function (date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function (date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function (date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function (date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import lightFormatters from '../lightFormatters/index.js';\nimport getUTCDayOfYear from '../../../_lib/getUTCDayOfYear/index.js';\nimport getUTCISOWeek from '../../../_lib/getUTCISOWeek/index.js';\nimport getUTCISOWeekYear from '../../../_lib/getUTCISOWeekYear/index.js';\nimport getUTCWeek from '../../../_lib/getUTCWeek/index.js';\nimport getUTCWeekYear from '../../../_lib/getUTCWeekYear/index.js';\nimport addLeadingZeros from '../../addLeadingZeros/index.js';\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n /*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\n};\nvar formatters = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function (date, token) {\n var isoWeekYear = getUTCISOWeekYear(date); // Padding\n\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function (date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function (date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function (date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function (date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function (date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function (date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function (date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return lightFormatters.m(date, token);\n },\n // Second\n s: function (date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\nexport default formatters;","import toDate from '../../toDate/index.js';\nimport requiredArgs from '../requiredArgs/index.js';\nvar MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","import isValid from '../isValid/index.js';\nimport defaultLocale from '../locale/en-US/index.js';\nimport subMilliseconds from '../subMilliseconds/index.js';\nimport toDate from '../toDate/index.js';\nimport formatters from '../_lib/format/formatters/index.js';\nimport longFormatters from '../_lib/format/longFormatters/index.js';\nimport getTimezoneOffsetInMilliseconds from '../_lib/getTimezoneOffsetInMilliseconds/index.js';\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from '../_lib/protectedTokens/index.js';\nimport toInteger from '../_lib/toInteger/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js'; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | a..aaa | AM, PM | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 0001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 05/29/1453 | 7 |\n * | | PP | May 29, 1453 | 7 |\n * | | PPP | May 29th, 1453 | 7 |\n * | | PPPP | Sunday, May 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 |\n * | | PPpp | May 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | May 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 9. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The second argument is now required for the sake of explicitness.\n *\n * ```javascript\n * // Before v2.0.0\n * format(new Date(2016, 0, 1))\n *\n * // v2.0.0 onward\n * format(new Date(2016, 0, 1), \"yyyy-MM-dd'T'HH:mm:ss.SSSxxx\")\n * ```\n *\n * - New format string API for `format` function\n * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.\n *\n * - Characters are now escaped using single quote symbols (`'`) instead of square brackets.\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n var locale = options.locale || defaultLocale;\n var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = toDate(dirtyDate);\n\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong, formatterOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = formatters[firstCharacter];\n\n if (formatter) {\n if (!options.useAdditionalWeekYearTokens && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, dirtyDate);\n }\n\n if (!options.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, dirtyDate);\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}","import toDate from '../toDate/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now `isValid` doesn't throw an exception\n * if the first argument is not an instance of Date.\n * Instead, argument is converted beforehand using `toDate`.\n *\n * Examples:\n *\n * | `isValid` argument | Before v2.0.0 | v2.0.0 onward |\n * |---------------------------|---------------|---------------|\n * | `new Date()` | `true` | `true` |\n * | `new Date('2016-01-01')` | `true` | `true` |\n * | `new Date('')` | `false` | `false` |\n * | `new Date(1488370835081)` | `true` | `true` |\n * | `new Date(NaN)` | `false` | `false` |\n * | `'2016-01-01'` | `TypeError` | `false` |\n * | `''` | `TypeError` | `false` |\n * | `1488370835081` | `TypeError` | `true` |\n * | `NaN` | `TypeError` | `false` |\n *\n * We introduce this change to make *date-fns* consistent with ECMAScript behavior\n * that try to coerce arguments to the expected type\n * (which is also the case with other *date-fns* functions).\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\n\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n return !isNaN(date);\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nexport default function formatDistance(token, count, options) {\n options = options || {};\n var result;\n\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n}","export default function buildFormatLongFn(args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index.js';\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","export default function buildMatchPatternFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var matchResult = string.match(args.matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n\n if (!parseResult) {\n return null;\n }\n\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nexport default function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n}","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index];\n };\n}","export default function buildMatchFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var value;\n\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n}","import formatDistance from './_lib/formatDistance/index.js';\nimport formatLong from './_lib/formatLong/index.js';\nimport formatRelative from './_lib/formatRelative/index.js';\nimport localize from './_lib/localize/index.js';\nimport match from './_lib/match/index.js';\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index.js';\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.\n // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n // Generally, formatted dates should look like they are in the middle of a sentence,\n // e.g. in Spanish language the weekdays and months should be in the lowercase.\n\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber(dirtyNumber, _dirtyOptions) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index.js';\nimport buildMatchFn from '../../../_lib/buildMatchFn/index.js';\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","export default function assign(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (dirtyObject.hasOwnProperty(property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}","import toInteger from '../toInteger/index.js';\nimport toDate from '../../toDate/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function setUTCDay(dirtyDate, dirtyDay, dirtyOptions) {\n requiredArgs(2, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}","import getUTCWeekYear from '../../../_lib/getUTCWeekYear/index.js';\nimport setUTCDay from '../../../_lib/setUTCDay/index.js';\nimport setUTCISODay from '../../../_lib/setUTCISODay/index.js';\nimport setUTCISOWeek from '../../../_lib/setUTCISOWeek/index.js';\nimport setUTCWeek from '../../../_lib/setUTCWeek/index.js';\nimport startOfUTCISOWeek from '../../../_lib/startOfUTCISOWeek/index.js';\nimport startOfUTCWeek from '../../../_lib/startOfUTCWeek/index.js';\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar MILLISECONDS_IN_SECOND = 1000;\nvar numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n\n};\nvar timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};\n\nfunction parseNumericPattern(pattern, string, valueCallback) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n var value = parseInt(matchResult[0], 10);\n return {\n value: valueCallback ? valueCallback(value) : value,\n rest: string.slice(matchResult[0].length)\n };\n}\n\nfunction parseTimezonePattern(pattern, string) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null;\n } // Input is 'Z'\n\n\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: string.slice(1)\n };\n }\n\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * MILLISECONDS_IN_SECOND),\n rest: string.slice(matchResult[0].length)\n };\n}\n\nfunction parseAnyDigitsSigned(string, valueCallback) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, string, valueCallback);\n}\n\nfunction parseNDigits(n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, string, valueCallback);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, string, valueCallback);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, string, valueCallback);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, string, valueCallback);\n\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), string, valueCallback);\n }\n}\n\nfunction parseNDigitsSigned(n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, string, valueCallback);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, string, valueCallback);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, string, valueCallback);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, string, valueCallback);\n\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), string, valueCallback);\n }\n}\n\nfunction dayPeriodEnumToHours(enumValue) {\n switch (enumValue) {\n case 'morning':\n return 4;\n\n case 'evening':\n return 17;\n\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\n\nfunction normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0; // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // User for validation\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\n\n\nvar parsers = {\n // Era\n G: {\n priority: 140,\n parse: function (string, token, match, _options) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(string, {\n width: 'abbreviated'\n }) || match.era(string, {\n width: 'narrow'\n });\n // A, B\n\n case 'GGGGG':\n return match.era(string, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return match.era(string, {\n width: 'wide'\n }) || match.era(string, {\n width: 'abbreviated'\n }) || match.era(string, {\n width: 'narrow'\n });\n }\n },\n set: function (date, flags, value, _options) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['R', 'u', 't', 'T']\n },\n // Year\n y: {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n priority: 130,\n parse: function (string, token, match, _options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n\n switch (token) {\n case 'y':\n return parseNDigits(4, string, valueCallback);\n\n case 'yo':\n return match.ordinalNumber(string, {\n unit: 'year',\n valueCallback: valueCallback\n });\n\n default:\n return parseNDigits(token.length, string, valueCallback);\n }\n },\n validate: function (_date, value, _options) {\n return value.isTwoDigitYear || value.year > 0;\n },\n set: function (date, flags, value, _options) {\n var currentYear = date.getUTCFullYear();\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']\n },\n // Local week-numbering year\n Y: {\n priority: 130,\n parse: function (string, token, match, _options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n\n switch (token) {\n case 'Y':\n return parseNDigits(4, string, valueCallback);\n\n case 'Yo':\n return match.ordinalNumber(string, {\n unit: 'year',\n valueCallback: valueCallback\n });\n\n default:\n return parseNDigits(token.length, string, valueCallback);\n }\n },\n validate: function (_date, value, _options) {\n return value.isTwoDigitYear || value.year > 0;\n },\n set: function (date, flags, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n },\n incompatibleTokens: ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']\n },\n // ISO week-numbering year\n R: {\n priority: 130,\n parse: function (string, token, _match, _options) {\n if (token === 'R') {\n return parseNDigitsSigned(4, string);\n }\n\n return parseNDigitsSigned(token.length, string);\n },\n set: function (_date, _flags, value, _options) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear);\n },\n incompatibleTokens: ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']\n },\n // Extended year\n u: {\n priority: 130,\n parse: function (string, token, _match, _options) {\n if (token === 'u') {\n return parseNDigitsSigned(4, string);\n }\n\n return parseNDigitsSigned(token.length, string);\n },\n set: function (date, _flags, value, _options) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']\n },\n // Quarter\n Q: {\n priority: 120,\n parse: function (string, token, match, _options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, string);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return match.ordinalNumber(string, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return match.quarter(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return match.quarter(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 4;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Stand-alone quarter\n q: {\n priority: 120,\n parse: function (string, token, match, _options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, string);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return match.ordinalNumber(string, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return match.quarter(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return match.quarter(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 4;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Month\n M: {\n priority: 110,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return parseNumericPattern(numericPatterns.month, string, valueCallback);\n // 01, 02, ..., 12\n\n case 'MM':\n return parseNDigits(2, string, valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return match.ordinalNumber(string, {\n unit: 'month',\n valueCallback: valueCallback\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return match.month(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return match.month(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Stand-alone month\n L: {\n priority: 110,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return parseNumericPattern(numericPatterns.month, string, valueCallback);\n // 01, 02, ..., 12\n\n case 'LL':\n return parseNDigits(2, string, valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return match.ordinalNumber(string, {\n unit: 'month',\n valueCallback: valueCallback\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return match.month(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return match.month(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Local week of year\n w: {\n priority: 100,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, string);\n\n case 'wo':\n return match.ordinalNumber(string, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 53;\n },\n set: function (date, _flags, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options);\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']\n },\n // ISO week of year\n I: {\n priority: 100,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, string);\n\n case 'Io':\n return match.ordinalNumber(string, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 53;\n },\n set: function (date, _flags, value, options) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value, options), options);\n },\n incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']\n },\n // Day of the month\n d: {\n priority: 90,\n subPriority: 1,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, string);\n\n case 'do':\n return match.ordinalNumber(string, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (date, value, _options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Day of year\n D: {\n priority: 90,\n subPriority: 1,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, string);\n\n case 'Do':\n return match.ordinalNumber(string, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (date, value, _options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']\n },\n // Day of week\n E: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['D', 'i', 'e', 'c', 't', 'T']\n },\n // Local day of week\n e: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return parseNDigits(token.length, string, valueCallback);\n // 3rd\n\n case 'eo':\n return match.ordinalNumber(string, {\n unit: 'day',\n valueCallback: valueCallback\n });\n // Tue\n\n case 'eee':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']\n },\n // Stand-alone local day of week\n c: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return parseNDigits(token.length, string, valueCallback);\n // 3rd\n\n case 'co':\n return match.ordinalNumber(string, {\n unit: 'day',\n valueCallback: valueCallback\n });\n // Tue\n\n case 'ccc':\n return match.day(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']\n },\n // ISO day of week\n i: {\n priority: 90,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n if (value === 0) {\n return 7;\n }\n\n return value;\n };\n\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, string);\n // 2nd\n\n case 'io':\n return match.ordinalNumber(string, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // T\n\n case 'iiiii':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // Tu\n\n case 'iiiiii':\n return match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // Tuesday\n\n case 'iiii':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 7;\n },\n set: function (date, _flags, value, options) {\n date = setUTCISODay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']\n },\n // AM or PM\n a: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['b', 'B', 'H', 'K', 'k', 't', 'T']\n },\n // AM, PM, midnight\n b: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'B', 'H', 'K', 'k', 't', 'T']\n },\n // in the morning, in the afternoon, in the evening, at night\n B: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 't', 'T']\n },\n // Hour [1-12]\n h: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, string);\n\n case 'ho':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 12;\n },\n set: function (date, _flags, value, _options) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n },\n incompatibleTokens: ['H', 'K', 'k', 't', 'T']\n },\n // Hour [0-23]\n H: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, string);\n\n case 'Ho':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 23;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'K', 'k', 't', 'T']\n },\n // Hour [0-11]\n K: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, string);\n\n case 'Ko':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'H', 'k', 't', 'T']\n },\n // Hour [1-24]\n k: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, string);\n\n case 'ko':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 24;\n },\n set: function (date, _flags, value, _options) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'H', 'K', 't', 'T']\n },\n // Minute\n m: {\n priority: 60,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, string);\n\n case 'mo':\n return match.ordinalNumber(string, {\n unit: 'minute'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 59;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Second\n s: {\n priority: 50,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, string);\n\n case 'so':\n return match.ordinalNumber(string, {\n unit: 'second'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 59;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCSeconds(value, 0);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Fraction of second\n S: {\n priority: 30,\n parse: function (string, token, _match, _options) {\n var valueCallback = function (value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n\n return parseNDigits(token.length, string, valueCallback);\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMilliseconds(value);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Timezone (ISO-8601. +00:00 is `'Z'`)\n X: {\n priority: 10,\n parse: function (string, token, _match, _options) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string);\n\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, string);\n\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string);\n\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string);\n\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string);\n }\n },\n set: function (date, flags, value, _options) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n },\n incompatibleTokens: ['t', 'T', 'x']\n },\n // Timezone (ISO-8601)\n x: {\n priority: 10,\n parse: function (string, token, _match, _options) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string);\n\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, string);\n\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string);\n\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string);\n\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string);\n }\n },\n set: function (date, flags, value, _options) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n },\n incompatibleTokens: ['t', 'T', 'X']\n },\n // Seconds timestamp\n t: {\n priority: 40,\n parse: function (string, _token, _match, _options) {\n return parseAnyDigitsSigned(string);\n },\n set: function (_date, _flags, value, _options) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n },\n incompatibleTokens: '*'\n },\n // Milliseconds timestamp\n T: {\n priority: 20,\n parse: function (string, _token, _match, _options) {\n return parseAnyDigitsSigned(string);\n },\n set: function (_date, _flags, value, _options) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n },\n incompatibleTokens: '*'\n }\n};\nexport default parsers;","import toInteger from '../toInteger/index.js';\nimport toDate from '../../toDate/index.js';\nimport getUTCWeek from '../getUTCWeek/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function setUTCWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}","import toInteger from '../toInteger/index.js';\nimport toDate from '../../toDate/index.js';\nimport getUTCISOWeek from '../getUTCISOWeek/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}","import toInteger from '../toInteger/index.js';\nimport toDate from '../../toDate/index.js';\nimport requiredArgs from '../requiredArgs/index.js'; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function setUTCISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var day = toInteger(dirtyDay);\n\n if (day % 7 === 0) {\n day = day - 7;\n }\n\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}","import defaultLocale from '../locale/en-US/index.js';\nimport subMilliseconds from '../subMilliseconds/index.js';\nimport toDate from '../toDate/index.js';\nimport assign from '../_lib/assign/index.js';\nimport longFormatters from '../_lib/format/longFormatters/index.js';\nimport getTimezoneOffsetInMilliseconds from '../_lib/getTimezoneOffsetInMilliseconds/index.js';\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from '../_lib/protectedTokens/index.js';\nimport toInteger from '../_lib/toInteger/index.js';\nimport parsers from './_lib/parsers/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\nvar TIMEZONE_UNIT_PRIORITY = 10; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 0001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Old `parse` was renamed to `toDate`.\n * Now `parse` is a new function which parses a string using a provided format.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * toDate('2016-01-01')\n * parse('2016-01-01', 'yyyy-MM-dd', new Date())\n * ```\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\n\nexport default function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, dirtyOptions) {\n requiredArgs(3, arguments);\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var options = dirtyOptions || {};\n var locale = options.locale || defaultLocale;\n\n if (!locale.match) {\n throw new RangeError('locale must contain match property');\n }\n\n var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale // If timezone isn't specified, it will be set to the system timezone\n\n };\n var setters = [{\n priority: TIMEZONE_UNIT_PRIORITY,\n subPriority: -1,\n set: dateToSystemTimezone,\n index: 0\n }];\n var i;\n var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong, subFnOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp);\n var usedTokens = [];\n\n for (i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (!options.useAdditionalWeekYearTokens && isProtectedWeekYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n\n if (!options.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = void 0;\n\n for (var _i = 0; _i < usedTokens.length; _i++) {\n var usedToken = usedTokens[_i].token;\n\n if (incompatibleTokens.indexOf(usedToken) !== -1 || usedToken === firstCharacter) {\n incompatibleToken = usedTokens[_i];\n break;\n }\n }\n\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.parse(dateString, token, locale.match, subFnOptions);\n\n if (!parseResult) {\n return new Date(NaN);\n }\n\n setters.push({\n priority: parser.priority,\n subPriority: parser.subPriority || 0,\n set: parser.set,\n validate: parser.validate,\n value: parseResult.value,\n index: setters.length\n });\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n } // Replace two single quote characters with one single quote character\n\n\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n } // Cut token from string, or, if string doesn't match the token, return Invalid Date\n\n\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return new Date(NaN);\n }\n }\n } // Check if the remaining input contains something other than whitespace\n\n\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).sort(function (a, b) {\n return b.subPriority - a.subPriority;\n });\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = toDate(dirtyReferenceDate);\n\n if (isNaN(date)) {\n return new Date(NaN);\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/37\n\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n\n for (i = 0; i < uniquePrioritySetters.length; i++) {\n var setter = uniquePrioritySetters[i];\n\n if (setter.validate && !setter.validate(utcDate, setter.value, subFnOptions)) {\n return new Date(NaN);\n }\n\n var result = setter.set(utcDate, flags, setter.value, subFnOptions); // Result is tuple (date, flags)\n\n if (result[0]) {\n utcDate = result[0];\n assign(flags, result[1]); // Result is date\n } else {\n utcDate = result;\n }\n }\n\n return utcDate;\n}\n\nfunction dateToSystemTimezone(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}","import toInteger from '../_lib/toInteger/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The previous `parse` implementation was renamed to `parseISO`.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * parseISO('2016-01-01')\n * ```\n *\n * - `parseISO` now validates separate date and time values in ISO-8601 strings\n * and returns `Invalid Date` if the date is invalid.\n *\n * ```javascript\n * parseISO('2018-13-32')\n * //=> Invalid Date\n * ```\n *\n * - `parseISO` now doesn't fall back to `new Date` constructor\n * if it fails to parse a string argument. Instead, it returns `Invalid Date`.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nexport default function parseISO(argument, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : toInteger(options.additionalDigits);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (isNaN(date) || !date) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time) || time === null) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n\n var result = new Date(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate(), dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n result.setFullYear(dirtyDate.getUTCFullYear());\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString; // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: null\n };\n var year = captures[1] && parseInt(captures[1]);\n var century = captures[2] && parseInt(captures[2]);\n return {\n year: century == null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return null;\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return null;\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return null; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","import toInteger from '../_lib/toInteger/index.js';\nimport addMilliseconds from '../addMilliseconds/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toInteger from '../_lib/toInteger/index.js';\nimport toDate from '../toDate/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","import requiredArgs from '../_lib/requiredArgs/index.js';\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!./jquery.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../../expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"$\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"$\"] = ___EXPOSE_LOADER_IMPORT___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"jQuery\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"jQuery\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!./backbone.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../../../node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\n___EXPOSE_LOADER_GLOBAL_THIS___[\"Backbone\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!./modernizr.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../../../../node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"Modernizr\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"Modernizr\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!./underscore.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../../../node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"_\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"_\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","\"use strict\";\n\n// eslint-disable-next-line func-names\nmodule.exports = function () {\n if (typeof globalThis === \"object\") {\n return globalThis;\n }\n\n var g;\n\n try {\n // This works if eval is allowed (see CSP)\n // eslint-disable-next-line no-new-func\n g = this || new Function(\"return this\")();\n } catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") {\n return window;\n } // This works if the self reference is available\n\n\n if (typeof self === \"object\") {\n return self;\n } // This works if the global reference is available\n\n\n if (typeof global !== \"undefined\") {\n return global;\n }\n }\n\n return g;\n}();","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\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 return true;\n }\n\n\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\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","'use strict';\n\nmodule.exports = function (data, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (node) {\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n if (node === undefined) return;\n if (typeof node == 'number') return isFinite(node) ? '' + node : 'null';\n if (typeof node !== 'object') return JSON.stringify(node);\n\n var i, out;\n if (Array.isArray(node)) {\n out = '[';\n for (i = 0; i < node.length; i++) {\n if (i) out += ',';\n out += stringify(node[i]) || 'null';\n }\n return out + ']';\n }\n\n if (node === null) return 'null';\n\n if (seen.indexOf(node) !== -1) {\n if (cycles) return JSON.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n\n var seenIndex = seen.push(node) - 1;\n var keys = Object.keys(node).sort(cmp && cmp(node));\n out = '';\n for (i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node[key]);\n\n if (!value) continue;\n if (out) out += ',';\n out += JSON.stringify(key) + ':' + value;\n }\n seen.splice(seenIndex, 1);\n return '{' + out + '}';\n })(data);\n};\n","var topLevel = typeof global !== 'undefined' ? global :\n typeof window !== 'undefined' ? window : {}\nvar minDoc = require('min-document');\n\nvar doccy;\n\nif (typeof document !== 'undefined') {\n doccy = document;\n} else {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n}\n\nmodule.exports = doccy;\n","var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\"){\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexport var isBrowser = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document.nodeType === 9;\n\nexport default isBrowser;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar defaults = {\n tName: 't',\n i18nName: 'i18n',\n handleName: 'localize',\n selectorAttr: 'data-i18n',\n targetAttr: 'i18n-target',\n optionsAttr: 'i18n-options',\n useOptionsAttr: false,\n parseDefaultValueFromContent: true\n};\n\nfunction init(i18next, $) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\n options = _extends({}, defaults, options);\n\n function parse(ele, key, opts) {\n if (key.length === 0) return;\n\n var attr = 'text';\n\n if (key.indexOf('[') === 0) {\n var parts = key.split(']');\n key = parts[1];\n attr = parts[0].substr(1, parts[0].length - 1);\n }\n\n if (key.indexOf(';') === key.length - 1) {\n key = key.substr(0, key.length - 2);\n }\n\n function extendDefault(o, val) {\n if (!options.parseDefaultValueFromContent) return o;\n return _extends({}, o, { defaultValue: val });\n }\n\n if (attr === 'html') {\n ele.html(i18next.t(key, extendDefault(opts, ele.html())));\n } else if (attr === 'text') {\n ele.text(i18next.t(key, extendDefault(opts, ele.text())));\n } else if (attr === 'prepend') {\n ele.prepend(i18next.t(key, extendDefault(opts, ele.html())));\n } else if (attr === 'append') {\n ele.append(i18next.t(key, extendDefault(opts, ele.html())));\n } else if (attr.indexOf('data-') === 0) {\n var dataAttr = attr.substr('data-'.length);\n var translated = i18next.t(key, extendDefault(opts, ele.data(dataAttr)));\n\n // we change into the data cache\n ele.data(dataAttr, translated);\n // we change into the dom\n ele.attr(attr, translated);\n } else {\n ele.attr(attr, i18next.t(key, extendDefault(opts, ele.attr(attr))));\n }\n }\n\n function localize(ele, opts) {\n var key = ele.attr(options.selectorAttr);\n if (!key && typeof key !== 'undefined' && key !== false) key = ele.text() || ele.val();\n if (!key) return;\n\n var target = ele,\n targetSelector = ele.data(options.targetAttr);\n\n if (targetSelector) target = ele.find(targetSelector) || ele;\n\n if (!opts && options.useOptionsAttr === true) opts = ele.data(options.optionsAttr);\n\n opts = opts || {};\n\n if (key.indexOf(';') >= 0) {\n var keys = key.split(';');\n\n $.each(keys, function (m, k) {\n // .trim(): Trim the comma-separated parameters on the data-i18n attribute.\n if (k !== '') parse(target, k.trim(), opts);\n });\n } else {\n parse(target, key, opts);\n }\n\n if (options.useOptionsAttr === true) {\n var clone = {};\n clone = _extends({ clone: clone }, opts);\n\n delete clone.lng;\n ele.data(options.optionsAttr, clone);\n }\n }\n\n function handle(opts) {\n return this.each(function () {\n // localize element itself\n localize($(this), opts);\n\n // localize children\n var elements = $(this).find('[' + options.selectorAttr + ']');\n elements.each(function () {\n localize($(this), opts);\n });\n });\n };\n\n // $.t $.i18n shortcut\n $[options.tName] = i18next.t.bind(i18next);\n $[options.i18nName] = i18next;\n\n // selector function $(mySelector).localize(opts);\n $.fn[options.handleName] = handle;\n}\n\nexports.default = {\n init: init\n};","module.exports = require('./dist/commonjs/index.js').default;\n","/*!\n * jQuery JavaScript Library v3.5.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2020-05-04T22:49Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML