@rocket.chat/livechat 1.12.1 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +0 -4
  3. package/build/{0.chunk.85c58.js → 0.chunk.44660.js} +2 -2
  4. package/build/{0.chunk.85c58.js.map → 0.chunk.44660.js.map} +1 -1
  5. package/build/10.chunk.3443b.js +2 -0
  6. package/build/10.chunk.3443b.js.map +1 -0
  7. package/build/11.chunk.ccd77.js +2 -0
  8. package/build/11.chunk.ccd77.js.map +1 -0
  9. package/build/12.chunk.4f6f3.js +2 -0
  10. package/build/12.chunk.4f6f3.js.map +1 -0
  11. package/build/13.chunk.7f2df.js +2 -0
  12. package/build/13.chunk.7f2df.js.map +1 -0
  13. package/build/14.chunk.02269.js +2 -0
  14. package/build/14.chunk.02269.js.map +1 -0
  15. package/build/15.chunk.df585.js +2 -0
  16. package/build/15.chunk.df585.js.map +1 -0
  17. package/build/16.chunk.7e69f.js +2 -0
  18. package/build/16.chunk.7e69f.js.map +1 -0
  19. package/build/17.chunk.beee1.js +2 -0
  20. package/build/17.chunk.beee1.js.map +1 -0
  21. package/build/18.chunk.d1b79.js +2 -0
  22. package/build/18.chunk.d1b79.js.map +1 -0
  23. package/build/19.chunk.d25ee.js +2 -0
  24. package/build/19.chunk.d25ee.js.map +1 -0
  25. package/build/20.chunk.c2815.js +2 -0
  26. package/build/20.chunk.c2815.js.map +1 -0
  27. package/build/21.chunk.da88a.js +2 -0
  28. package/build/21.chunk.da88a.js.map +1 -0
  29. package/build/22.chunk.811ae.js +2 -0
  30. package/build/22.chunk.811ae.js.map +1 -0
  31. package/build/23.chunk.a26ea.js +2 -0
  32. package/build/23.chunk.a26ea.js.map +1 -0
  33. package/build/24.chunk.cc050.js +2 -0
  34. package/build/24.chunk.cc050.js.map +1 -0
  35. package/build/25.chunk.c5dc7.js +2 -0
  36. package/build/25.chunk.c5dc7.js.map +1 -0
  37. package/build/26.chunk.5cef7.js +2 -0
  38. package/build/26.chunk.5cef7.js.map +1 -0
  39. package/build/27.chunk.6c057.js +2 -0
  40. package/build/27.chunk.6c057.js.map +1 -0
  41. package/build/28.chunk.7e892.js +2 -0
  42. package/build/28.chunk.7e892.js.map +1 -0
  43. package/build/29.chunk.594c2.js +2 -0
  44. package/build/29.chunk.594c2.js.map +1 -0
  45. package/build/30.chunk.2d343.js +2 -0
  46. package/build/30.chunk.2d343.js.map +1 -0
  47. package/build/31.chunk.a7fe1.js +2 -0
  48. package/build/31.chunk.a7fe1.js.map +1 -0
  49. package/build/32.chunk.6b54e.js +2 -0
  50. package/build/32.chunk.6b54e.js.map +1 -0
  51. package/build/33.chunk.c2c0b.js +2 -0
  52. package/build/33.chunk.c2c0b.js.map +1 -0
  53. package/build/34.chunk.89340.js +2 -0
  54. package/build/34.chunk.89340.js.map +1 -0
  55. package/build/35.chunk.07076.js +2 -0
  56. package/build/35.chunk.07076.js.map +1 -0
  57. package/build/36.chunk.ed8df.js +2 -0
  58. package/build/36.chunk.ed8df.js.map +1 -0
  59. package/build/37.chunk.3bb4b.js +2 -0
  60. package/build/37.chunk.3bb4b.js.map +1 -0
  61. package/build/38.chunk.92513.js +2 -0
  62. package/build/38.chunk.92513.js.map +1 -0
  63. package/build/39.chunk.519ac.js +2 -0
  64. package/build/39.chunk.519ac.js.map +1 -0
  65. package/build/4.chunk.4eded.js +25 -0
  66. package/build/4.chunk.4eded.js.map +1 -0
  67. package/build/4.chunk.df723.css +3 -0
  68. package/build/4.chunk.df723.css.map +1 -0
  69. package/build/40.chunk.8b99d.js +2 -0
  70. package/build/40.chunk.8b99d.js.map +1 -0
  71. package/build/41.chunk.b760c.js +2 -0
  72. package/build/41.chunk.b760c.js.map +1 -0
  73. package/build/42.chunk.1f197.js +2 -0
  74. package/build/42.chunk.1f197.js.map +1 -0
  75. package/build/43.chunk.50b99.js +2 -0
  76. package/build/43.chunk.50b99.js.map +1 -0
  77. package/build/44.chunk.98ae5.js +2 -0
  78. package/build/44.chunk.98ae5.js.map +1 -0
  79. package/build/45.chunk.cd848.js +2 -0
  80. package/build/45.chunk.cd848.js.map +1 -0
  81. package/build/46.chunk.2a99c.js +2 -0
  82. package/build/46.chunk.2a99c.js.map +1 -0
  83. package/build/47.chunk.25d73.js +2 -0
  84. package/build/47.chunk.25d73.js.map +1 -0
  85. package/build/48.chunk.dab54.js +2 -0
  86. package/build/48.chunk.dab54.js.map +1 -0
  87. package/build/49.chunk.4fa9c.js +2 -0
  88. package/build/49.chunk.4fa9c.js.map +1 -0
  89. package/build/{63.chunk.6df1c.css → 5.chunk.64645.css} +4 -4
  90. package/build/5.chunk.64645.css.map +1 -0
  91. package/build/5.chunk.bf9f3.js +2 -0
  92. package/build/5.chunk.bf9f3.js.map +1 -0
  93. package/build/50.chunk.e7b89.js +2 -0
  94. package/build/50.chunk.e7b89.js.map +1 -0
  95. package/build/51.chunk.2ccf2.js +2 -0
  96. package/build/51.chunk.2ccf2.js.map +1 -0
  97. package/build/52.chunk.0f323.js +2 -0
  98. package/build/52.chunk.0f323.js.map +1 -0
  99. package/build/53.chunk.242c6.js +2 -0
  100. package/build/53.chunk.242c6.js.map +1 -0
  101. package/build/54.chunk.9b29d.js +2 -0
  102. package/build/54.chunk.9b29d.js.map +1 -0
  103. package/build/55.chunk.20aa8.js +2 -0
  104. package/build/55.chunk.20aa8.js.map +1 -0
  105. package/build/56.chunk.fba82.js +2 -0
  106. package/build/56.chunk.fba82.js.map +1 -0
  107. package/build/57.chunk.ab22c.js +2 -0
  108. package/build/57.chunk.ab22c.js.map +1 -0
  109. package/build/58.chunk.d7b58.js +2 -0
  110. package/build/58.chunk.d7b58.js.map +1 -0
  111. package/build/59.chunk.8f0e3.js +2 -0
  112. package/build/59.chunk.8f0e3.js.map +1 -0
  113. package/build/6.chunk.2cf25.js +2 -0
  114. package/build/6.chunk.2cf25.js.map +1 -0
  115. package/build/60.chunk.1dfcf.js +2 -0
  116. package/build/60.chunk.1dfcf.js.map +1 -0
  117. package/build/61.chunk.0bdb1.js +2 -0
  118. package/build/61.chunk.0bdb1.js.map +1 -0
  119. package/build/62.chunk.b2b78.js +2 -0
  120. package/build/62.chunk.b2b78.js.map +1 -0
  121. package/build/7.chunk.d256d.js +2 -0
  122. package/build/7.chunk.d256d.js.map +1 -0
  123. package/build/8.chunk.68b72.js +2 -0
  124. package/build/8.chunk.68b72.js.map +1 -0
  125. package/build/9.chunk.a1a7d.js +2 -0
  126. package/build/9.chunk.a1a7d.js.map +1 -0
  127. package/build/bundle.ce55a.js +2 -0
  128. package/build/bundle.ce55a.js.map +1 -0
  129. package/build/index.html +1 -1
  130. package/build/polyfills.b843f.js +2 -0
  131. package/build/polyfills.b843f.js.map +1 -0
  132. package/build/rocketchat-livechat.min.js +1 -1
  133. package/build/rocketchat-livechat.min.js.map +1 -1
  134. package/build/vendors~bundle.chunk.8a189.js +2 -0
  135. package/build/vendors~bundle.chunk.8a189.js.map +1 -0
  136. package/package.json +6 -10
  137. package/build/62.chunk.0e20e.js +0 -25
  138. package/build/62.chunk.0e20e.js.map +0 -1
  139. package/build/62.chunk.a8a84.css +0 -3
  140. package/build/62.chunk.a8a84.css.map +0 -1
  141. package/build/63.chunk.11325.js +0 -2
  142. package/build/63.chunk.11325.js.map +0 -1
  143. package/build/63.chunk.6df1c.css.map +0 -1
  144. package/build/bundle.dfe86.js +0 -2
  145. package/build/bundle.dfe86.js.map +0 -1
  146. package/build/i18n.af.chunk.08d33.js +0 -2
  147. package/build/i18n.af.chunk.08d33.js.map +0 -1
  148. package/build/i18n.ar.chunk.d2aee.js +0 -2
  149. package/build/i18n.ar.chunk.d2aee.js.map +0 -1
  150. package/build/i18n.az.chunk.8370d.js +0 -2
  151. package/build/i18n.az.chunk.8370d.js.map +0 -1
  152. package/build/i18n.be_BY.chunk.86e83.js +0 -2
  153. package/build/i18n.be_BY.chunk.86e83.js.map +0 -1
  154. package/build/i18n.bg.chunk.1e460.js +0 -2
  155. package/build/i18n.bg.chunk.1e460.js.map +0 -1
  156. package/build/i18n.bs.chunk.6e250.js +0 -2
  157. package/build/i18n.bs.chunk.6e250.js.map +0 -1
  158. package/build/i18n.ca.chunk.faf8f.js +0 -2
  159. package/build/i18n.ca.chunk.faf8f.js.map +0 -1
  160. package/build/i18n.cs.chunk.8909a.js +0 -2
  161. package/build/i18n.cs.chunk.8909a.js.map +0 -1
  162. package/build/i18n.cy.chunk.4f4e8.js +0 -2
  163. package/build/i18n.cy.chunk.4f4e8.js.map +0 -1
  164. package/build/i18n.da.chunk.236ec.js +0 -2
  165. package/build/i18n.da.chunk.236ec.js.map +0 -1
  166. package/build/i18n.de.chunk.e4f16.js +0 -2
  167. package/build/i18n.de.chunk.e4f16.js.map +0 -1
  168. package/build/i18n.de_AT.chunk.5cce7.js +0 -2
  169. package/build/i18n.de_AT.chunk.5cce7.js.map +0 -1
  170. package/build/i18n.de_IN.chunk.4a675.js +0 -2
  171. package/build/i18n.de_IN.chunk.4a675.js.map +0 -1
  172. package/build/i18n.default.chunk.d38bc.js +0 -2
  173. package/build/i18n.default.chunk.d38bc.js.map +0 -1
  174. package/build/i18n.el.chunk.5e10b.js +0 -2
  175. package/build/i18n.el.chunk.5e10b.js.map +0 -1
  176. package/build/i18n.en.chunk.20190.js +0 -2
  177. package/build/i18n.en.chunk.20190.js.map +0 -1
  178. package/build/i18n.eo.chunk.09c53.js +0 -2
  179. package/build/i18n.eo.chunk.09c53.js.map +0 -1
  180. package/build/i18n.es.chunk.d6e3e.js +0 -2
  181. package/build/i18n.es.chunk.d6e3e.js.map +0 -1
  182. package/build/i18n.et.chunk.4de15.js +0 -2
  183. package/build/i18n.et.chunk.4de15.js.map +0 -1
  184. package/build/i18n.eu.chunk.ecac6.js +0 -2
  185. package/build/i18n.eu.chunk.ecac6.js.map +0 -1
  186. package/build/i18n.fa.chunk.33ea7.js +0 -2
  187. package/build/i18n.fa.chunk.33ea7.js.map +0 -1
  188. package/build/i18n.fi.chunk.ed245.js +0 -2
  189. package/build/i18n.fi.chunk.ed245.js.map +0 -1
  190. package/build/i18n.fr.chunk.72380.js +0 -2
  191. package/build/i18n.fr.chunk.72380.js.map +0 -1
  192. package/build/i18n.he.chunk.b5d14.js +0 -2
  193. package/build/i18n.he.chunk.b5d14.js.map +0 -1
  194. package/build/i18n.hr.chunk.da229.js +0 -2
  195. package/build/i18n.hr.chunk.da229.js.map +0 -1
  196. package/build/i18n.hu.chunk.71d46.js +0 -2
  197. package/build/i18n.hu.chunk.71d46.js.map +0 -1
  198. package/build/i18n.id.chunk.29d3f.js +0 -2
  199. package/build/i18n.id.chunk.29d3f.js.map +0 -1
  200. package/build/i18n.it.chunk.c2281.js +0 -2
  201. package/build/i18n.it.chunk.c2281.js.map +0 -1
  202. package/build/i18n.ja.chunk.af075.js +0 -2
  203. package/build/i18n.ja.chunk.af075.js.map +0 -1
  204. package/build/i18n.km.chunk.001d6.js +0 -2
  205. package/build/i18n.km.chunk.001d6.js.map +0 -1
  206. package/build/i18n.ko.chunk.71385.js +0 -2
  207. package/build/i18n.ko.chunk.71385.js.map +0 -1
  208. package/build/i18n.ku.chunk.c3eb1.js +0 -2
  209. package/build/i18n.ku.chunk.c3eb1.js.map +0 -1
  210. package/build/i18n.lo.chunk.04e5e.js +0 -2
  211. package/build/i18n.lo.chunk.04e5e.js.map +0 -1
  212. package/build/i18n.lt.chunk.708c9.js +0 -2
  213. package/build/i18n.lt.chunk.708c9.js.map +0 -1
  214. package/build/i18n.lv.chunk.6d596.js +0 -2
  215. package/build/i18n.lv.chunk.6d596.js.map +0 -1
  216. package/build/i18n.mn.chunk.08885.js +0 -2
  217. package/build/i18n.mn.chunk.08885.js.map +0 -1
  218. package/build/i18n.ms_MY.chunk.e4d84.js +0 -2
  219. package/build/i18n.ms_MY.chunk.e4d84.js.map +0 -1
  220. package/build/i18n.nl.chunk.2d58f.js +0 -2
  221. package/build/i18n.nl.chunk.2d58f.js.map +0 -1
  222. package/build/i18n.no.chunk.ca563.js +0 -2
  223. package/build/i18n.no.chunk.ca563.js.map +0 -1
  224. package/build/i18n.pl.chunk.ed604.js +0 -2
  225. package/build/i18n.pl.chunk.ed604.js.map +0 -1
  226. package/build/i18n.pt.chunk.01cc7.js +0 -2
  227. package/build/i18n.pt.chunk.01cc7.js.map +0 -1
  228. package/build/i18n.pt_BR.chunk.f19ec.js +0 -2
  229. package/build/i18n.pt_BR.chunk.f19ec.js.map +0 -1
  230. package/build/i18n.ro.chunk.9cf19.js +0 -2
  231. package/build/i18n.ro.chunk.9cf19.js.map +0 -1
  232. package/build/i18n.ru.chunk.2d85c.js +0 -2
  233. package/build/i18n.ru.chunk.2d85c.js.map +0 -1
  234. package/build/i18n.sk_SK.chunk.7f4d6.js +0 -2
  235. package/build/i18n.sk_SK.chunk.7f4d6.js.map +0 -1
  236. package/build/i18n.sl_SI.chunk.6da5e.js +0 -2
  237. package/build/i18n.sl_SI.chunk.6da5e.js.map +0 -1
  238. package/build/i18n.sq.chunk.5d8ef.js +0 -2
  239. package/build/i18n.sq.chunk.5d8ef.js.map +0 -1
  240. package/build/i18n.sr.chunk.9a9af.js +0 -2
  241. package/build/i18n.sr.chunk.9a9af.js.map +0 -1
  242. package/build/i18n.sv.chunk.df5e8.js +0 -2
  243. package/build/i18n.sv.chunk.df5e8.js.map +0 -1
  244. package/build/i18n.ta_IN.chunk.23af3.js +0 -2
  245. package/build/i18n.ta_IN.chunk.23af3.js.map +0 -1
  246. package/build/i18n.th_TH.chunk.8edef.js +0 -2
  247. package/build/i18n.th_TH.chunk.8edef.js.map +0 -1
  248. package/build/i18n.tr.chunk.30da9.js +0 -2
  249. package/build/i18n.tr.chunk.30da9.js.map +0 -1
  250. package/build/i18n.ug.chunk.c2454.js +0 -2
  251. package/build/i18n.ug.chunk.c2454.js.map +0 -1
  252. package/build/i18n.uk.chunk.94864.js +0 -2
  253. package/build/i18n.uk.chunk.94864.js.map +0 -1
  254. package/build/i18n.vi_VN.chunk.90fbd.js +0 -2
  255. package/build/i18n.vi_VN.chunk.90fbd.js.map +0 -1
  256. package/build/i18n.zh.chunk.41911.js +0 -2
  257. package/build/i18n.zh.chunk.41911.js.map +0 -1
  258. package/build/i18n.zh_HK.chunk.10734.js +0 -2
  259. package/build/i18n.zh_HK.chunk.10734.js.map +0 -1
  260. package/build/i18n.zh_TW.chunk.28ec3.js +0 -2
  261. package/build/i18n.zh_TW.chunk.28ec3.js.map +0 -1
  262. package/build/polyfills.db442.js +0 -2
  263. package/build/polyfills.db442.js.map +0 -1
  264. package/build/vendors~bundle.chunk.d6e62.js +0 -2
  265. package/build/vendors~bundle.chunk.d6e62.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/icons/arrowDown.svg","webpack:///./src/icons/close.svg","webpack:///./node_modules/date-fns/locale sync ^\\.\\/.*\\/index\\.js$","webpack:///./src/components/Button/styles.scss?e879","webpack:///./src/components/ButtonGroup/styles.scss?c648","webpack:///./src/components/Modal/styles.scss?a4d6","webpack:///./src/icons/phone.svg","webpack:///./src/icons/phoneOff.svg","webpack:///./src/components/Avatar/styles.scss?5f50","webpack:///./src/components/Composer/styles.scss?9244","webpack:///./src/components/Composer/ComposerAction/styles.scss?cedc","webpack:///./src/components/Composer/ComposerActions/styles.scss?5325","webpack:///./src/components/FilesDropTarget/styles.scss?fc15","webpack:///./src/components/Popover/styles.scss?c2aa","webpack:///./src/components/Menu/styles.scss?f59d","webpack:///./src/components/Footer/logo.svg","webpack:///./src/components/Footer/styles.scss?32ee","webpack:///./src/components/Messages/MessageBubble/styles.scss?89d3","webpack:///./src/components/Messages/AudioAttachment/styles.scss?814d","webpack:///./src/icons/download.svg","webpack:///./src/icons/doc.svg","webpack:///./src/icons/file.svg","webpack:///./src/icons/pdf.svg","webpack:///./src/icons/ppt.svg","webpack:///./src/icons/sheet.svg","webpack:///./src/icons/zip.svg","webpack:///./src/components/Messages/FileAttachment/styles.scss?a928","webpack:///./src/components/Messages/ImageAttachment/styles.scss?6ab2","webpack:///./src/components/Messages/MessageAvatars/styles.scss?eb1d","webpack:///./src/components/uiKit/message/ActionsBlock/styles.scss?0449","webpack:///./src/components/uiKit/message/ButtonElement/styles.scss?d8d9","webpack:///./src/components/uiKit/message/ContextBlock/styles.scss?ab3b","webpack:///./src/components/Form/DateInput/styles.scss?63b1","webpack:///./src/components/uiKit/message/DividerBlock/styles.scss?0862","webpack:///./src/components/uiKit/message/ImageBlock/styles.scss?0af6","webpack:///./src/components/uiKit/message/ImageElement/styles.scss?1ad6","webpack:///./src/components/uiKit/message/Mrkdwn/styles.scss?1c47","webpack:///./src/icons/kebab.svg","webpack:///./src/components/uiKit/message/OverflowElement/styles.scss?e564","webpack:///./src/components/uiKit/message/PlainText/styles.scss?8b88","webpack:///./src/components/uiKit/message/SectionBlock/styles.scss?915f","webpack:///./src/components/Form/SelectInput/styles.scss?d31b","webpack:///./src/components/uiKit/message/StaticSelectElement/styles.scss?1a25","webpack:///./src/components/Messages/MessageBlocks/styles.scss?d18f","webpack:///./src/components/Messages/MessageContainer/styles.scss?b767","webpack:///./src/components/Messages/MessageContent/styles.scss?7fd5","webpack:///./src/components/Messages/MessageText/styles.scss?77b8","webpack:///./src/components/Messages/MessageTime/styles.scss?e3f7","webpack:///./src/components/Messages/VideoAttachment/styles.scss?103f","webpack:///./src/icons/video.svg","webpack:///./src/components/Messages/MessageSeparator/styles.scss?5a59","webpack:///./src/components/Messages/TypingDots/styles.scss?4a53","webpack:///./src/components/Messages/MessageList/styles.scss?e3b6","webpack:///./src/icons/arrowUp.svg","webpack:///./src/icons/bell.svg","webpack:///./src/icons/bellOff.svg","webpack:///./src/icons/chat.svg","webpack:///./src/icons/newWindow.svg","webpack:///./src/components/Alert/styles.scss?e36a","webpack:///./src/components/Header/styles.scss?0b36","webpack:///./src/components/Tooltip/styles.scss?62eb","webpack:///./src/components/Screen/styles.scss?46d4","webpack:///./src/icons/change.svg","webpack:///./src/icons/finish.svg","webpack:///./src/icons/plus.svg","webpack:///./src/icons/remove.svg","webpack:///./src/icons/send.svg","webpack:///./src/icons/smile.svg","webpack:///./src/routes/Chat/styles.scss?63e2","webpack:///./src/routes/ChatFinished/styles.scss?c909","webpack:///./src/routes/GDPRAgreement/styles.scss?160a","webpack:///./src/components/Form/FormField/styles.scss?32f2","webpack:///./src/components/Form/TextInput/styles.scss?b2d7","webpack:///./src/components/Form/PasswordInput/styles.scss?26c9","webpack:///./src/routes/LeaveMessage/styles.scss?de8e","webpack:///./src/routes/Register/styles.scss?b6b1","webpack:///./src/routes/SwitchDepartment/styles.scss?6c41","webpack:///./src/routes/TriggerMessage/styles.scss?d360","webpack:///./src/history.js","webpack:///./src/api.js","webpack:///./src/lib/random.js","webpack:///./src/widget.js","webpack:///./src/lib/parentCall.js","webpack:///./src/store/Store.js","webpack:///./src/store/index.js","webpack:///./src/lib/constants.js","webpack:///./src/components/helpers.js","webpack:///./src/lib/main.js","webpack:///./src/components/Calls/CallStatus.js","webpack:///./src/lib/locale.js","webpack:///./src/lib/api.js","webpack:///./src/lib/commands.js","webpack:///./src/lib/threads.js","webpack:///./src/components/Button/index.js","webpack:///./src/components/ButtonGroup/index.js","webpack:///./src/components/Modal/component.js","webpack:///./src/components/Modal/manager.js","webpack:///./src/lib/transcript.js","webpack:///./src/lib/room.js","webpack:///./src/lib/connection.js","webpack:///./src/lib/customFields.js","webpack:///./src/lib/triggers.js","webpack:///./src/lib/hooks.js","webpack:///./src/lib/userPresence.js","webpack:///./src/components/Calls/CallIFrame.js","webpack:///./src/components/Avatar/index.js","webpack:///./src/components/Calls/CallNotification.js","webpack:///./src/components/Composer/ComposerAction/index.js","webpack:///./src/components/Composer/ComposerActions/index.js","webpack:///./src/components/Composer/index.js","webpack:///./src/components/FilesDropTarget/index.js","webpack:///./src/components/Popover/index.js","webpack:///./src/components/Menu/index.js","webpack:///./src/components/Footer/index.js","webpack:///./src/components/Messages/MessageBubble/index.js","webpack:///./src/components/Messages/AudioAttachment/index.js","webpack:///./src/components/Messages/FileAttachmentIcon/index.js","webpack:///./src/components/Messages/FileAttachment/index.js","webpack:///./src/components/Messages/ImageAttachment/index.js","webpack:///./src/components/Messages/MessageAvatars/index.js","webpack:///./src/lib/uiKit.js","webpack:///./src/components/uiKit/message/Surface.js","webpack:///./src/components/uiKit/message/Block.js","webpack:///./src/components/uiKit/message/ActionsBlock/index.js","webpack:///./src/components/uiKit/message/ButtonElement/index.js","webpack:///./src/components/uiKit/message/ContextBlock/index.js","webpack:///./src/components/Form/DateInput/index.js","webpack:///./src/components/uiKit/message/DatePickerElement/index.js","webpack:///./src/components/uiKit/message/DividerBlock/index.js","webpack:///./src/components/uiKit/message/ImageBlock/index.js","webpack:///./src/components/uiKit/message/ImageElement/index.js","webpack:///./src/components/Emoji/ascii.js","webpack:///./src/components/Emoji/emojis.js","webpack:///./src/components/Emoji/shortnameToUnicode.js","webpack:///./src/components/Messages/MessageText/emoji.js","webpack:///./src/components/Messages/MessageText/markdown.js","webpack:///./src/components/uiKit/message/Mrkdwn/index.js","webpack:///./src/components/uiKit/message/OverflowElement/index.js","webpack:///./src/components/uiKit/message/PlainText/index.js","webpack:///./src/components/uiKit/message/SectionBlock/index.js","webpack:///./src/components/Form/SelectInput/index.js","webpack:///./src/components/uiKit/message/StaticSelectElement/index.js","webpack:///./src/components/uiKit/message/index.js","webpack:///./src/components/Messages/MessageBlocks/index.js","webpack:///./src/components/Messages/MessageContainer/index.js","webpack:///./src/components/Messages/MessageContent/index.js","webpack:///./src/components/Messages/MessageText/index.js","webpack:///./src/components/Messages/MessageTime/index.js","webpack:///./src/components/Messages/VideoAttachment/index.js","webpack:///./src/components/Messages/Message/index.js","webpack:///./src/components/Messages/constants.js","webpack:///./src/components/Calls/JoinCallButton.js","webpack:///./src/components/Messages/MessageSeparator/index.js","webpack:///./src/components/Messages/TypingDots/index.js","webpack:///./src/components/Messages/TypingIndicator/index.js","webpack:///./src/components/Messages/MessageList/index.js","webpack:///./src/components/Alert/index.js","webpack:///./src/components/Header/index.js","webpack:///./src/components/Sound/index.js","webpack:///./src/components/Tooltip/index.js","webpack:///./src/components/Screen/index.js","webpack:///./src/routes/Chat/component.js","webpack:///./src/routes/Chat/container.js","webpack:///./src/routes/ChatFinished/component.js","webpack:///./src/routes/ChatFinished/container.js","webpack:///./src/routes/GDPRAgreement/component.js","webpack:///./src/routes/GDPRAgreement/container.js","webpack:///./src/components/Form/FormField/index.js","webpack:///./src/components/Form/TextInput/index.js","webpack:///./src/components/Form/PasswordInput/index.js","webpack:///./src/components/Form/index.js","webpack:///./src/routes/LeaveMessage/component.js","webpack:///./src/routes/LeaveMessage/container.js","webpack:///./src/routes/Register/component.js","webpack:///./src/routes/Register/container.js","webpack:///./src/routes/SwitchDepartment/component.js","webpack:///./src/routes/SwitchDepartment/container.js","webpack:///./src/routes/TriggerMessage/component.js","webpack:///./src/routes/TriggerMessage/container.js","webpack:///./src/components/App/index.js","webpack:///./src/i18n/index.js","webpack:///./src/components/Calls/styles.scss?a7cc"],"names":["preact","hooks","module","exports","attributes","content","props","ref","useRef","useEffect","div","document","createElement","innerHTML","source","firstChild","dest","current","appendChild","h","Object","assign","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","history","createMemoryHistory","host","window","SERVER_URL","queryString","parse","location","search","serverUrl","useSsl","match","Livechat","LivechatClient","protocol","UNMISTAKABLE_CHARS","chooseElement","arrayOrString","array","index","Math","floor","Uint32Array","crypto","getRandomValues","length","substr","createRandomString","charsCount","alphabet","Array","from","join","createToken","WordArray","random","toString","Hex","log","RocketChat","_","widget","iframe","scrollPosition","widget_height","config","hookQueue","ready","smallScreen","validCallbacks","callbacks","mitt","registerCallback","eventName","fn","indexOf","on","emitCallback","data","emit","callHook","action","params","push","src","args","contentWindow","postMessage","updateWidgetStyle","isOpened","documentElement","scrollTop","body","classList","add","remove","style","left","height","width","WIDGET_MARGIN","openWidget","dataset","state","focus","closeWidget","api","popup","forEach","hookParams","apply","this","minimizeWindow","restoreWindow","closed","close","openPopout","open","url","lastIndexOf","resizeWidget","removeWidget","removeChild","callback","showWidget","display","hideWidget","resetDocumentStyle","setFullScreenDocumentMobile","pageVisited","change","JSON","stringify","title","setCustomField","key","value","overwrite","setTheme","theme","setDepartment","department","setBusinessUnit","businessUnit","setGuestToken","token","setGuestName","name","setGuestEmail","email","registerGuest","guest","setAgent","agent","setLanguage","language","currentPage","href","init","className","position","maxHeight","bottom","right","zIndex","container","allowTransparency","border","backgroundColor","handleMediaQueryTest","matches","mediaQueryList","matchMedia","addListener","createWidget","addEventListener","msg","undefined","concat","setInterval","initRocket","console","warn","queue","parentCall","method","parent","c","call","livechat","initialize","hasOwnProperty","isArray","clearDepartment","maximizeWidget","minimizeWidget","clearBusinessUnit","onChatMaximized","onChatMinimized","onChatStarted","onChatEnded","onPrechatFormSubmit","onOfflineFormSubmit","onWidgetShown","onWidgetHidden","onAssignAgent","onAgentStatusChange","onQueuePositionChange","onServiceOffline","runCallbackEventEmitter","callbackName","includes","localStorage","sessionStorage","initialState","typing","messages","settings","triggers","departments","resources","user","sound","enabled","play","visible","gdpr","accepted","alerts","minimized","unread","incomingCallAlert","ongoingCall","store","storedState","localStorageKey","dontPersist","getItem","_state","newValue","reload","setStoredState","sessionId","setItem","openSessionIds","setState","triggered","filter","session","persistable","partialState","prevState","persist","propName","nonPeristable","ignoredKey","StoreContext","createContext","Provider","dispatch","bind","handleStoreChange","render","children","off","Component","displayName","Consumer","flatMap","arr","mapFunc","result","entries","x","createClassName","styles","elementName","modifiers","classes","modifierKey","modifierValue","asyncForEach","debounce","func","delay","inDebounce","f","context","clearTimeout","setTimeout","stop","throttle","limit","inThrottle","getInsertIndex","item","ranking","order","min","max","guess","guessedOrder","upsert","predicate","findIndex","splice","getSecureCookieSettings","setInitCookies","cookie","setCookies","rid","getAvatarUrl","username","client","msgTypesNotRendered","canRenderMessage","t","getAttachmentUrl","sortArrayByColumn","column","inverted","sort","a","b","parseOfflineMessage","fields","origin","normalizeDOMRect","top","visibility","hidden","removeListener","removeEventListener","msHidden","webkitHidden","MemoizedComponent","nextProps","memo","component","isActiveSession","resolveDate","dateInput","Date","$date","parseISO","escapeMap","'","escapeRegex","RegExp","escapeHtml","mem","string","replace","plainText","plain","html","updateBusinessUnit","newBusinessUnit","existingConfig","unsetSinglePropInStateByName","loadConfig","credentials","room","queueInfo","hiddenInfo","noMoreMessages","processUnread","lastReadMessageId","renderedMessages","message","lastReadMessageIndex","_id","unreadMessages","slice","lastReadMessage","alertMessage","I18n","one","other","count","since","format","ts","alert","constants","success","timeout","newAlerts","CallStatus","isCallOngoing","callStatus","browserLanguage","navigator","userLanguage","configLanguage","setWidgetLanguage","changeLocale","languageString","split","languageCode","countryCode","toLowerCase","toUpperCase","normalizeAgent","agentData","status","normalizeQueueAlert","spot","estimatedWaitTimeSeconds","locale","supportedLocales","fullLanguage","find","lng","require","getDateFnsLocale","estimatedWaitTime","formatDistance","setSeconds","Commands","connecting","addParentMessage","parentMessage","parentMessages","tmid","isThreadMessage","replies","findParentMessage","reason","error","normalizeThreadMessage","attachments","threadMsg","text","normalizeMessage","normalizeMessages","Promise","all","handleMouseUp","target","blur","Button","submit","disabled","outline","nude","danger","secondary","stack","small","loading","badge","icon","onClick","img","type","onMouseUp","aria-label","backgroundImage","ButtonGroup","toChildArray","child","cloneElement","Modal","handleKeyDown","triggerDismiss","handleTouchStart","dismissByOverlay","handleMouseDown","onDismiss","mounted","animated","onTouchStart","onMouseDown","Number","isFinite","defaultProps","Message","Confirm","confirmButtonText","cancelButtonText","onConfirm","onCancel","Alert","buttonText","handleButton","modal","promptTranscript","transcriptMessage","visitorEmails","address","ModalManager","then","requestTranscript","handleTranscript","transcript","commands","closeChat","transcriptRequested","clearLocalStorageWhenChatEnded","undocked","expanded","initial","route","processIncomingCallMessage","show","callProvider","callerUsername","u","time","callId","customFields","jitsiCallUrl","processMessage","webRtcCallEndTs","doPlaySound","initRoom","unsubscribeAll","servedBy","subscribeRoom","roomAgent","onAgentChange","transformAgentInformationOnMessage","agentHiddenInfo","onTyping","isTyping","onMessage","toISOString","editedAt","self","timer","connectedListener","disconnectedListener","getGreetingMessages","trigger","getLatestCallMessage","pop","loadMessages","storedMessages","previousMessages","rawMessages","reverse","lastMessage","latestCallMessage","loadMoreMessages","moreMessages","defaultRoomParams","defaultAgent","agentId","initiated","livechatDisconnectedAlertId","livechatConnectedAlertId","l","Connection","connect","clearListeners","addListeners","clearAlerts","reconnect","displayAlert","handleConnected","handleDisconnected","onStreamData","instance","CustomFields","_initiated","_started","_queue","processCustomFields","sendCustomField","agentPromise","Triggers","_requests","_triggers","_enabled","firedTriggers","triggerId","skip","processTriggers","actions","triggerAction","reject","sender","now","nextAgent","runOnce","request","conditions","condition","hrefRegExp","fire","parseInt","newTriggers","createOrUpdateGuest","grantVisitor","visitor","updateIframeGuestData","guestData","info","processRequest","sendVisitorNavigation","pageInfo","color","fontColor","iconColor","offlineTitle","dept","dep","trim","existingBusinessUnit","setExpanded","localToken","onNewMessage","event","Hooks","oldStatus","docActivityEvents","userPrensence","reset","stopEvents","stopTimer","startTimer","setAway","startEvents","setOnline","updateVisitorStatus","CallIframe","handleIframeClose","expandCall","allow","Avatar","errored","handleError","large","description","nobg","alt","onError","CallNotification","useState","setShow","callInNewTab","acceptClick","updateCallStatus","innerWidth","innerHeight","declineClick","notifyCallDeclined","ComposerAction","ComposerActions","replaceCaret","el","findLastTextNode","node","nodeType","Node","TEXT_NODE","childNodes","i","textNode","isTargetFocused","activeElement","nodeValue","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","HTMLElement","Composer","handleRef","handleInput","onChange","inputLock","innerText","handleKeypress","onSubmit","which","shiftKey","preventDefault","handlePaste","onUpload","clipboardData","items","files","kind","test","getAsFile","getAsString","pasteText","handleDrop","dataTransfer","handleClick","handleEmojiClick","queryCommandSupported","execCommand","getRangeAt","deleteContents","createTextNode","insertNode","selectNodeContents","selection","pre","post","placeholder","contentEditable","onInput","onKeypress","onPaste","onDrop","onCompositionStart","handleInputLock","onCompositionEnd","handleNotifyEmojiSelect","notifyEmojiSelect","nextValue","limitTextLength","emoji","caretPosition","getCaretPosition","oldText","newText","moveCursorToEndAndFocus","endIndex","setPos","set","element","doc","ownerDocument","win","defaultView","parentWindow","rangeCount","preCaretRange","cloneRange","setEnd","endContainer","endOffset","textRange","preCaretTextRange","createTextRange","moveToElementText","setEndPoint","locked","escapeForRegExp","FilesDropTarget","dragLevel","handleInputRef","input","handleDragOver","handleDragEnter","handleDragLeave","handleUpload","handleInputChange","currentTarget","accept","multiple","filteredFiles","acceptMatchers","acceptString","charAt","matchTypeOnly","exec","file","some","acceptMatcher","browse","click","overlayed","overlayText","data-overlay-text","onDragOver","onDragEnter","onDragLeave","dragover","PopoverContext","PopoverOverlay","PopoverContainer","renderer","overlayBounds","triggerBounds","overlayRef","base","getBoundingClientRect","dismiss","handleOverlayGesture","handleOverlayRef","overlayProps","PopoverTrigger","Menu","placement","PopoverMenuWrapper","menuRef","closest","menu__item","onClickCapture","menuBounds","menuWidth","menuHeight","rightSpace","bottomSpace","PopoverMenu","Group","Item","primary","Popover","Footer","FooterContent","PoweredBy","rel","role","OptionsTrigger","FooterOptions","CharCounter","textLength","highlight","MessageBubble","inverse","quoted","system","AudioAttachment","messageBubbleProps","controls","FileAttachmentIcon","extension","Icon","PDFIcon","DocIcon","PPTIcon","SheetIcon","ZipIcon","FileIcon","FileAttachment","download","ImageAttachment","MessageAvatars","avatarResolver","usernames","UIKitInteractionType","MODAL_OPEN","MODAL_CLOSE","MODAL_UPDATE","ERRORS","UIKitIncomingInteractionType","UIKitIncomingInteractionContainerType","triggersId","Map","invalidateTriggerId","appId","get","delete","generateTriggerId","createRandomId","handlePayloadUserInteraction","has","view","viewId","MODAL_ClOSE","actionId","mid","payload","race","fetch","encodeURI","getBody","headers","getHeaders","handle","interactionType","SurfaceContext","dispatchAction","BlockContext","blockId","usePerformAction","useContext","performing","setPerforming","mountedRef","useCallback","elements","parser","collapsed","setCollapsed","renderableElements","useMemo","hiddenElementsCount","isMoreButtonVisible","handleMoreButtonClick","renderedElement","renderActions","BLOCK_CONTEXT","ACTION","confirm","performAction","performingAction","newTab","opener","accessory","SECTION","renderContext","CONTEXT","initialDate","handleChange","selectedDate","imageUrl","altText","naturalWidth","naturalHeight","updateImageState","image","Image","cancelled","onload","contentStyle","maxWidth","wrapperStyle","paddingBottom","linkStyle","ascii","O_O","emojis","shortnamePattern","replaceShortNameWithUnicode","shortname","regAscii","unescapeHTML","unescaped","shortnameToUnicode","stringMessage","entire","m1","m2","m3","emojiUnicode","emojiRanges","transformEmojisToNormalSize","transformEmojisToLargeSize","isOnlyEmoji","str","removeAllEmoji","removeSpaces","renderEmojis","origPlainText","textWithOnlyUnicode","md","MarkdownIt","breaks","linkify","typographer","defaultRender","rules","link_open","tokens","idx","options","env","renderToken","targetAttrIndex","attrIndex","relAttrIndex","attrPush","attrs","use","renderStrong","opts","slf","markup","tag","em_open","em_close","inline","ruler","silent","marker","charCodeAt","pos","scanned","scanDelims","ch","String","fromCharCode","len","delimiters","jump","end","can_open","can_close","renderMarkdown","dangerouslySetInnerHTML","__html","dir","OverflowTrigger","OverflowOption","option","unsafe","field","renderAccessories","SelectInput","defaultPrevented","label","initialOption","selectOptions","divider","BLOCK","section","mrkdwn","button","overflow","datePicker","staticSelect","multiStaticSelect","UiKitParserMessage","renderMessageBlocks","uiKitMessage","engine","blocks","MessageContainer","compact","Element","MessageContent","MessageText","MessageTime","normal","dateTime","timestamp","isToday","parseDate","VideoAttachment","getSystemMessageText","conversationFinishedMessage","transferData","transferredBy","transferredTo","nextDepartment","scope","to","normalizeTransferHistoryMessage","callEndTime","callStartTime","callDuration","resolveWebRTCEndCallMessage","getMessageUsernames","alias","attachmentResolver","me","renderContent","attachment","audio_url","video_url","image_url","title_link","message_link","Boolean","JoinCallButton","MessageSeparator","date","TypingDots","class","TypingIndicator","containerProps","MessageList","SCROLL_AT_BOTTOM","handleScroll","isResizingFromBottom","scrollHeight","clientHeight","SCROLL_AT_TOP","SCROLL_FREE","onScrollTo","handleResize","renderItems","uid","typingUsernames","previousMessage","nextMessage","actionLinks","isSameDay","onScroll","previousScrollHeight","delta","handleDismiss","warning","hideCloseButton","dismissTimeout","Header","Picture","Content","Title","SubTitle","Actions","Action","Post","CustomField","Sound","audio","handlePlayProp","dismissNotification","ended","paused","pause","currentTime","onStart","onStop","onPlay","onEnded","getPositioningStyle","Tooltip","floating","TooltipContext","TooltipContainer","tooltip","activeChild","showTooltip","childIndex","hideTooltip","activeChildren","Container","Trigger","onMouseEnter","onMouseLeave","onFocusCapture","onBlurCapture","ScreenHeader","largeHeader","phone","headerTitle","notificationsEnabled","windowed","onDismissAlert","onEnableNotifications","onDisableNotifications","onMinimize","onRestore","onOpenWindow","avatar","statusBorder","ChatButton","CssVar","CSS","supports","cssVars","default","variables","screen","Screen","onSoundStop","fitTextSize","nopadding","Chat","atBottom","emojiPickerActive","handleFilesDropTargetRef","filesDropTarget","handleMessagesContainerRef","messagesContainer","handleScrollTo","region","onTop","onBottom","handleUploadClick","handleSendClick","handleSubmit","turnOffEmojiPicker","handleChangeText","onChangeText","substring","toggleEmojiPickerState","handleEmojiSelect","native","uploads","onChangeDepartment","onFinishChat","onRemoveUserData","registrationRequired","onRegisterUser","showPreview","showSkinTones","sheetSize","onSelect","autoFocus","ChangeIcon","RemoveIcon","FinishIcon","ChatContainer","connectingAgent","queueSpot","triggerQueueMessage","checkConnectingAgent","newConnecting","newQueueSpot","newEstimatedWaitTime","handleQueueMessage","handleConnectingAgentAlert","checkRoom","stateRoom","grantUser","newUser","getRoom","newRoom","handleTop","startTyping","notifyVisitorTyping","stopTypingDebounced","stopTyping","sendMessage","doFileUpload","uploadFile","sizeAllowed","size","handleSoundStop","deleteVisitor","canSwitchDepartment","allowSwitchingDepartments","showOnRegistration","canFinishChat","canRemoveUserData","allowRemoveUserData","registrationFormEnabled","nameFieldRegistrationForm","emailFieldRegistrationForm","showDepartment","showOptionsMenu","oldAlerts","connectingAgentAlertId","livechatQueueMessageId","prevProps","prevMessages","prevAlerts","nextLastMessage","ChatConnector","fileUpload","forceAcceptDataProcessingConsent","showConnecting","registrationForm","customColor","customFontColor","customIconColor","customTitle","triggerAgent","emails","phoneNumber","defaultGreeting","defaultMessage","ChatFinished","onRedirectChat","greeting","ChatFinishedContainer","handleRedirect","ChatFinishedConnector","conversationFinishedText","defaultConsentText","defaultInstructions","GDPR","onAgree","consentText","instructions","renderInline","GDPRContainer","handleAgree","GDPRConnector","dataProcessingConsentText","FormField","required","TextInput","multiline","rows","Form","noValidate","defaultHandleSubmit","Validations","nonEmpty","custom","pattern","defaultTitle","LeaveMessage","validations","getDefaultState","hasDepartmentField","getValidableFields","fieldName","validate","reduce","validation","validateAll","showError","isValid","every","handleFieldChange","handleNameChange","handleEmailChange","handleDepartmentChange","handleMessageChange","values","entry","renderForm","valid","unavailableMessage","hasForm","LeaveMessageContainer","successMessage","sendOfflineMessage","LeaveMessageConnector","offlineMessage","offlineSuccessMessage","offlineUnavailableMessage","offlineColor","displayOfflineForm","customOfflineTitle","showOnOfflineForm","getDefaultDepartment","regexp","customFieldValidation","Register","hasNameField","hasEmailField","defaultValue","departmentDefault","nameDefault","emailDefault","nameValue","emailValue","departmentValue","showDepartmentField","renderCustomFields","RegisterContainer","getDepartment","deptDefault","registerCustomFields","getDepartmentDefault","guestDepartment","prevUser","RegisterConnector","registrationFormMessage","guestName","guestEmail","SwitchDepartment","handleCancelClick","SwitchDepartmentContainer","confirmChangeDepartment","go","transferChat","handleCancel","SwitchDepartmentConnector","TriggerMessage","createRef","onStartChat","TriggerMessageContainer","handleStart","TriggerMessageConnector","App","initialized","poppedOut","handleRoute","gdprRequired","online","gdprAccepted","handleEnableNotifications","handleDisableNotifications","handleMinimize","handleRestore","dispatchRestore","dispatchEvent","handleOpenWindow","handleDismissAlert","handleVisibilityChange","handleLanguageChange","forceUpdate","screenProps","path","mode","handleTriggers","userPresence","initWidget","checkPoppedOutWindow","finalize","s","AppConnector","defaultLocale","import","hot"],"mappings":"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0BAA2B,OAAQ,qDAAsD,OAAQ,0BAA2B,OAAQ,qDAAsD,OAAQ,0BAA2B,OAAQ,qDAAsD,OAAQ,0BAA2B,OAAQ,qDAAsD,OAAQ,0BAA2B,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,cAAe,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,YAAa,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,gBAAiB,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,iBAAkB,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,WAAY,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAA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AAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,mCAClB,IAAK,QAAS,OAAO,mCACrB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,QAAS,OAAO,oCACrB,QAAS,OAAO,sCAIK,WAAlB,EAAOra,IAAwBA,EAAOk3C,MAC1Cl3C,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,YAAa9X,IAAKxI,OAAO,OAC3C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,eAAgB9X,IAAKxI,OAAO,UAC9C5P,EAAOk3C,IAAIhnB,OAAO,iBAAkB9X,IAAKxI,OAAO,aAGlCwI,MAAf,I,2CCpIApY,EAAOC,QAAU,CAAC,oBAAoB,2BAA2B,6BAA6B,oCAAoC,oCAAoC,2CAA2C,qCAAqC,4CAA4C,qCAAqC,4CAA4C,4CAA4C,mDAAmD,6CAA6C,oDAAoD,cAAc,qBAAqB,uBAAuB,8BAA8B,SAAW,kBAAkB,kBAAoB,2BAA2B,8BAA8B,qCAAqC,2BAA2B","file":"63.chunk.11325.js","sourcesContent":["\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 18 18\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M16.071 5L9 12.071 1.929 5\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill=\\\"none\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"<path d=\\\"M6 6l8.071 8.071m0-8.071L6 14.071\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"square\\\" fill=\\\"none\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","var map = {\n\t\"./_lib/buildFormatLongFn/index.js\": 556,\n\t\"./_lib/buildLocalizeFn/index.js\": 557,\n\t\"./_lib/buildMatchFn/index.js\": 558,\n\t\"./_lib/buildMatchPatternFn/index.js\": 559,\n\t\"./af/_lib/formatDistance/index.js\": 824,\n\t\"./af/_lib/formatLong/index.js\": 825,\n\t\"./af/_lib/formatRelative/index.js\": 826,\n\t\"./af/_lib/localize/index.js\": 827,\n\t\"./af/_lib/match/index.js\": 828,\n\t\"./af/index.js\": 1216,\n\t\"./ar-DZ/_lib/formatDistance/index.js\": 829,\n\t\"./ar-DZ/_lib/formatLong/index.js\": 830,\n\t\"./ar-DZ/_lib/formatRelative/index.js\": 831,\n\t\"./ar-DZ/_lib/localize/index.js\": 832,\n\t\"./ar-DZ/_lib/match/index.js\": 833,\n\t\"./ar-DZ/index.js\": 1217,\n\t\"./ar-MA/_lib/formatDistance/index.js\": 834,\n\t\"./ar-MA/_lib/formatLong/index.js\": 835,\n\t\"./ar-MA/_lib/formatRelative/index.js\": 836,\n\t\"./ar-MA/_lib/localize/index.js\": 837,\n\t\"./ar-MA/_lib/match/index.js\": 838,\n\t\"./ar-MA/index.js\": 1218,\n\t\"./ar-SA/_lib/formatDistance/index.js\": 839,\n\t\"./ar-SA/_lib/formatLong/index.js\": 840,\n\t\"./ar-SA/_lib/formatRelative/index.js\": 841,\n\t\"./ar-SA/_lib/localize/index.js\": 842,\n\t\"./ar-SA/_lib/match/index.js\": 843,\n\t\"./ar-SA/index.js\": 1219,\n\t\"./az/_lib/formatDistance/index.js\": 844,\n\t\"./az/_lib/formatLong/index.js\": 845,\n\t\"./az/_lib/formatRelative/index.js\": 846,\n\t\"./az/_lib/localize/index.js\": 847,\n\t\"./az/_lib/match/index.js\": 848,\n\t\"./az/index.js\": 1220,\n\t\"./be/_lib/formatDistance/index.js\": 849,\n\t\"./be/_lib/formatLong/index.js\": 850,\n\t\"./be/_lib/formatRelative/index.js\": 851,\n\t\"./be/_lib/localize/index.js\": 852,\n\t\"./be/_lib/match/index.js\": 853,\n\t\"./be/index.js\": 1224,\n\t\"./bg/_lib/formatDistance/index.js\": 854,\n\t\"./bg/_lib/formatLong/index.js\": 855,\n\t\"./bg/_lib/formatRelative/index.js\": 856,\n\t\"./bg/_lib/localize/index.js\": 857,\n\t\"./bg/_lib/match/index.js\": 858,\n\t\"./bg/index.js\": 1225,\n\t\"./bn/_lib/formatDistance/index.js\": 859,\n\t\"./bn/_lib/formatLong/index.js\": 860,\n\t\"./bn/_lib/formatRelative/index.js\": 861,\n\t\"./bn/_lib/localize/index.js\": 779,\n\t\"./bn/_lib/match/index.js\": 862,\n\t\"./bn/index.js\": 1226,\n\t\"./ca/_lib/formatDistance/index.js\": 863,\n\t\"./ca/_lib/formatLong/index.js\": 864,\n\t\"./ca/_lib/formatRelative/index.js\": 865,\n\t\"./ca/_lib/localize/index.js\": 866,\n\t\"./ca/_lib/match/index.js\": 867,\n\t\"./ca/index.js\": 1227,\n\t\"./cs/_lib/formatDistance/index.js\": 868,\n\t\"./cs/_lib/formatLong/index.js\": 869,\n\t\"./cs/_lib/formatRelative/index.js\": 870,\n\t\"./cs/_lib/localize/index.js\": 871,\n\t\"./cs/_lib/match/index.js\": 872,\n\t\"./cs/index.js\": 1228,\n\t\"./cy/_lib/formatDistance/index.js\": 873,\n\t\"./cy/_lib/formatLong/index.js\": 874,\n\t\"./cy/_lib/formatRelative/index.js\": 875,\n\t\"./cy/_lib/localize/index.js\": 876,\n\t\"./cy/_lib/match/index.js\": 877,\n\t\"./cy/index.js\": 1229,\n\t\"./da/_lib/formatDistance/index.js\": 878,\n\t\"./da/_lib/formatLong/index.js\": 879,\n\t\"./da/_lib/formatRelative/index.js\": 880,\n\t\"./da/_lib/localize/index.js\": 881,\n\t\"./da/_lib/match/index.js\": 882,\n\t\"./da/index.js\": 1230,\n\t\"./de/_lib/formatDistance/index.js\": 883,\n\t\"./de/_lib/formatLong/index.js\": 884,\n\t\"./de/_lib/formatRelative/index.js\": 885,\n\t\"./de/_lib/localize/index.js\": 886,\n\t\"./de/_lib/match/index.js\": 887,\n\t\"./de/index.js\": 1231,\n\t\"./el/_lib/formatDistance/index.js\": 888,\n\t\"./el/_lib/formatLong/index.js\": 889,\n\t\"./el/_lib/formatRelative/index.js\": 890,\n\t\"./el/_lib/localize/index.js\": 891,\n\t\"./el/_lib/match/index.js\": 892,\n\t\"./el/index.js\": 1232,\n\t\"./en-AU/_lib/formatLong/index.js\": 893,\n\t\"./en-AU/index.js\": 1233,\n\t\"./en-CA/_lib/formatDistance/index.js\": 894,\n\t\"./en-CA/_lib/formatLong/index.js\": 895,\n\t\"./en-CA/index.js\": 1234,\n\t\"./en-GB/_lib/formatLong/index.js\": 896,\n\t\"./en-GB/index.js\": 1235,\n\t\"./en-IN/_lib/formatLong/index.js\": 897,\n\t\"./en-IN/index.js\": 1236,\n\t\"./en-NZ/_lib/formatLong/index.js\": 898,\n\t\"./en-NZ/index.js\": 1237,\n\t\"./en-US/_lib/formatDistance/index.js\": 611,\n\t\"./en-US/_lib/formatLong/index.js\": 899,\n\t\"./en-US/_lib/formatRelative/index.js\": 593,\n\t\"./en-US/_lib/localize/index.js\": 594,\n\t\"./en-US/_lib/match/index.js\": 595,\n\t\"./en-US/index.js\": 1238,\n\t\"./eo/_lib/formatDistance/index.js\": 900,\n\t\"./eo/_lib/formatLong/index.js\": 901,\n\t\"./eo/_lib/formatRelative/index.js\": 902,\n\t\"./eo/_lib/localize/index.js\": 903,\n\t\"./eo/_lib/match/index.js\": 904,\n\t\"./eo/index.js\": 1239,\n\t\"./es/_lib/formatDistance/index.js\": 905,\n\t\"./es/_lib/formatLong/index.js\": 906,\n\t\"./es/_lib/formatRelative/index.js\": 907,\n\t\"./es/_lib/localize/index.js\": 908,\n\t\"./es/_lib/match/index.js\": 909,\n\t\"./es/index.js\": 1240,\n\t\"./et/_lib/formatDistance/index.js\": 910,\n\t\"./et/_lib/formatLong/index.js\": 911,\n\t\"./et/_lib/formatRelative/index.js\": 912,\n\t\"./et/_lib/localize/index.js\": 913,\n\t\"./et/_lib/match/index.js\": 914,\n\t\"./et/index.js\": 1241,\n\t\"./eu/_lib/formatDistance/index.js\": 915,\n\t\"./eu/_lib/formatLong/index.js\": 916,\n\t\"./eu/_lib/formatRelative/index.js\": 917,\n\t\"./eu/_lib/localize/index.js\": 918,\n\t\"./eu/_lib/match/index.js\": 919,\n\t\"./eu/index.js\": 1242,\n\t\"./fa-IR/_lib/formatDistance/index.js\": 920,\n\t\"./fa-IR/_lib/formatLong/index.js\": 921,\n\t\"./fa-IR/_lib/formatRelative/index.js\": 922,\n\t\"./fa-IR/_lib/localize/index.js\": 923,\n\t\"./fa-IR/_lib/match/index.js\": 924,\n\t\"./fa-IR/index.js\": 1243,\n\t\"./fi/_lib/formatDistance/index.js\": 925,\n\t\"./fi/_lib/formatLong/index.js\": 926,\n\t\"./fi/_lib/formatRelative/index.js\": 927,\n\t\"./fi/_lib/localize/index.js\": 928,\n\t\"./fi/_lib/match/index.js\": 929,\n\t\"./fi/index.js\": 1244,\n\t\"./fr-CA/_lib/formatLong/index.js\": 930,\n\t\"./fr-CA/index.js\": 1245,\n\t\"./fr-CH/_lib/formatDistance/index.js\": 931,\n\t\"./fr-CH/_lib/formatLong/index.js\": 932,\n\t\"./fr-CH/_lib/formatRelative/index.js\": 933,\n\t\"./fr-CH/_lib/formatters/index.js\": 1246,\n\t\"./fr-CH/_lib/localize/index.js\": 934,\n\t\"./fr-CH/_lib/match/index.js\": 935,\n\t\"./fr-CH/index.js\": 1247,\n\t\"./fr/_lib/formatDistance/index.js\": 780,\n\t\"./fr/_lib/formatLong/index.js\": 936,\n\t\"./fr/_lib/formatRelative/index.js\": 781,\n\t\"./fr/_lib/formatters/index.js\": 1248,\n\t\"./fr/_lib/localize/index.js\": 782,\n\t\"./fr/_lib/match/index.js\": 783,\n\t\"./fr/index.js\": 1249,\n\t\"./gd/_lib/formatDistance/index.js\": 937,\n\t\"./gd/_lib/formatLong/index.js\": 938,\n\t\"./gd/_lib/formatRelative/index.js\": 939,\n\t\"./gd/_lib/localize/index.js\": 940,\n\t\"./gd/_lib/match/index.js\": 941,\n\t\"./gd/index.js\": 1250,\n\t\"./gl/_lib/formatDistance/index.js\": 942,\n\t\"./gl/_lib/formatLong/index.js\": 943,\n\t\"./gl/_lib/formatRelative/index.js\": 944,\n\t\"./gl/_lib/localize/index.js\": 945,\n\t\"./gl/_lib/match/index.js\": 946,\n\t\"./gl/index.js\": 1251,\n\t\"./gu/_lib/formatDistance/index.js\": 947,\n\t\"./gu/_lib/formatLong/index.js\": 948,\n\t\"./gu/_lib/formatRelative/index.js\": 949,\n\t\"./gu/_lib/localize/index.js\": 950,\n\t\"./gu/_lib/match/index.js\": 951,\n\t\"./gu/index.js\": 1252,\n\t\"./he/_lib/formatDistance/index.js\": 952,\n\t\"./he/_lib/formatLong/index.js\": 953,\n\t\"./he/_lib/formatRelative/index.js\": 954,\n\t\"./he/_lib/localize/index.js\": 955,\n\t\"./he/_lib/match/index.js\": 956,\n\t\"./he/index.js\": 1253,\n\t\"./hi/_lib/formatDistance/index.js\": 957,\n\t\"./hi/_lib/formatLong/index.js\": 958,\n\t\"./hi/_lib/formatRelative/index.js\": 959,\n\t\"./hi/_lib/localize/index.js\": 695,\n\t\"./hi/_lib/match/index.js\": 960,\n\t\"./hi/index.js\": 1254,\n\t\"./hr/_lib/formatDistance/index.js\": 961,\n\t\"./hr/_lib/formatLong/index.js\": 962,\n\t\"./hr/_lib/formatRelative/index.js\": 963,\n\t\"./hr/_lib/localize/index.js\": 964,\n\t\"./hr/_lib/match/index.js\": 965,\n\t\"./hr/index.js\": 1255,\n\t\"./hu/_lib/formatDistance/index.js\": 966,\n\t\"./hu/_lib/formatLong/index.js\": 967,\n\t\"./hu/_lib/formatRelative/index.js\": 968,\n\t\"./hu/_lib/localize/index.js\": 969,\n\t\"./hu/_lib/match/index.js\": 970,\n\t\"./hu/index.js\": 1256,\n\t\"./hy/_lib/formatDistance/index.js\": 971,\n\t\"./hy/_lib/formatLong/index.js\": 972,\n\t\"./hy/_lib/formatRelative/index.js\": 973,\n\t\"./hy/_lib/localize/index.js\": 974,\n\t\"./hy/_lib/match/index.js\": 975,\n\t\"./hy/index.js\": 1257,\n\t\"./id/_lib/formatDistance/index.js\": 976,\n\t\"./id/_lib/formatLong/index.js\": 977,\n\t\"./id/_lib/formatRelative/index.js\": 978,\n\t\"./id/_lib/localize/index.js\": 979,\n\t\"./id/_lib/match/index.js\": 980,\n\t\"./id/index.js\": 1258,\n\t\"./is/_lib/formatDistance/index.js\": 981,\n\t\"./is/_lib/formatLong/index.js\": 982,\n\t\"./is/_lib/formatRelative/index.js\": 983,\n\t\"./is/_lib/localize/index.js\": 984,\n\t\"./is/_lib/match/index.js\": 985,\n\t\"./is/index.js\": 1259,\n\t\"./it/_lib/formatDistance/index.js\": 986,\n\t\"./it/_lib/formatLong/index.js\": 987,\n\t\"./it/_lib/formatRelative/index.js\": 988,\n\t\"./it/_lib/localize/index.js\": 989,\n\t\"./it/_lib/match/index.js\": 990,\n\t\"./it/index.js\": 1260,\n\t\"./ja/_lib/formatDistance/index.js\": 991,\n\t\"./ja/_lib/formatLong/index.js\": 992,\n\t\"./ja/_lib/formatRelative/index.js\": 993,\n\t\"./ja/_lib/localize/index.js\": 994,\n\t\"./ja/_lib/match/index.js\": 995,\n\t\"./ja/index.js\": 1261,\n\t\"./ka/_lib/formatDistance/index.js\": 996,\n\t\"./ka/_lib/formatLong/index.js\": 997,\n\t\"./ka/_lib/formatRelative/index.js\": 998,\n\t\"./ka/_lib/localize/index.js\": 999,\n\t\"./ka/_lib/match/index.js\": 1000,\n\t\"./ka/index.js\": 1262,\n\t\"./kk/_lib/formatDistance/index.js\": 1001,\n\t\"./kk/_lib/formatLong/index.js\": 1002,\n\t\"./kk/_lib/formatRelative/index.js\": 1003,\n\t\"./kk/_lib/localize/index.js\": 1004,\n\t\"./kk/_lib/match/index.js\": 1005,\n\t\"./kk/index.js\": 1263,\n\t\"./kn/_lib/formatDistance/index.js\": 1006,\n\t\"./kn/_lib/formatLong/index.js\": 1007,\n\t\"./kn/_lib/formatRelative/index.js\": 1008,\n\t\"./kn/_lib/localize/index.js\": 1009,\n\t\"./kn/_lib/match/index.js\": 1010,\n\t\"./kn/index.js\": 1264,\n\t\"./ko/_lib/formatDistance/index.js\": 1011,\n\t\"./ko/_lib/formatLong/index.js\": 1012,\n\t\"./ko/_lib/formatRelative/index.js\": 1013,\n\t\"./ko/_lib/localize/index.js\": 1014,\n\t\"./ko/_lib/match/index.js\": 1015,\n\t\"./ko/index.js\": 1265,\n\t\"./lt/_lib/formatDistance/index.js\": 1016,\n\t\"./lt/_lib/formatLong/index.js\": 1017,\n\t\"./lt/_lib/formatRelative/index.js\": 1018,\n\t\"./lt/_lib/localize/index.js\": 1019,\n\t\"./lt/_lib/match/index.js\": 1020,\n\t\"./lt/index.js\": 1266,\n\t\"./lv/_lib/formatDistance/index.js\": 1021,\n\t\"./lv/_lib/formatLong/index.js\": 1022,\n\t\"./lv/_lib/formatRelative/index.js\": 1023,\n\t\"./lv/_lib/localize/index.js\": 1024,\n\t\"./lv/_lib/match/index.js\": 1025,\n\t\"./lv/index.js\": 1267,\n\t\"./mk/_lib/formatDistance/index.js\": 1026,\n\t\"./mk/_lib/formatLong/index.js\": 1027,\n\t\"./mk/_lib/formatRelative/index.js\": 1028,\n\t\"./mk/_lib/localize/index.js\": 1029,\n\t\"./mk/_lib/match/index.js\": 1030,\n\t\"./mk/index.js\": 1268,\n\t\"./ms/_lib/formatDistance/index.js\": 1031,\n\t\"./ms/_lib/formatLong/index.js\": 1032,\n\t\"./ms/_lib/formatRelative/index.js\": 1033,\n\t\"./ms/_lib/localize/index.js\": 1034,\n\t\"./ms/_lib/match/index.js\": 1035,\n\t\"./ms/index.js\": 1269,\n\t\"./mt/_lib/formatDistance/index.js\": 1036,\n\t\"./mt/_lib/formatLong/index.js\": 1037,\n\t\"./mt/_lib/formatRelative/index.js\": 1038,\n\t\"./mt/_lib/localize/index.js\": 1039,\n\t\"./mt/_lib/match/index.js\": 1040,\n\t\"./mt/index.js\": 1270,\n\t\"./nb/_lib/formatDistance/index.js\": 1041,\n\t\"./nb/_lib/formatLong/index.js\": 1042,\n\t\"./nb/_lib/formatRelative/index.js\": 1043,\n\t\"./nb/_lib/localize/index.js\": 1044,\n\t\"./nb/_lib/match/index.js\": 1045,\n\t\"./nb/index.js\": 1271,\n\t\"./nl-BE/_lib/formatDistance/index.js\": 1046,\n\t\"./nl-BE/_lib/formatLong/index.js\": 1047,\n\t\"./nl-BE/_lib/formatRelative/index.js\": 1048,\n\t\"./nl-BE/_lib/localize/index.js\": 1049,\n\t\"./nl-BE/_lib/match/index.js\": 1050,\n\t\"./nl-BE/index.js\": 1272,\n\t\"./nl/_lib/formatDistance/index.js\": 1051,\n\t\"./nl/_lib/formatLong/index.js\": 1052,\n\t\"./nl/_lib/formatRelative/index.js\": 1053,\n\t\"./nl/_lib/localize/index.js\": 1054,\n\t\"./nl/_lib/match/index.js\": 1055,\n\t\"./nl/index.js\": 1273,\n\t\"./nn/_lib/formatDistance/index.js\": 1056,\n\t\"./nn/_lib/formatLong/index.js\": 1057,\n\t\"./nn/_lib/formatRelative/index.js\": 1058,\n\t\"./nn/_lib/localize/index.js\": 1059,\n\t\"./nn/_lib/match/index.js\": 1060,\n\t\"./nn/index.js\": 1274,\n\t\"./pl/_lib/formatDistance/index.js\": 1061,\n\t\"./pl/_lib/formatLong/index.js\": 1062,\n\t\"./pl/_lib/formatRelative/index.js\": 1063,\n\t\"./pl/_lib/localize/index.js\": 1064,\n\t\"./pl/_lib/match/index.js\": 1065,\n\t\"./pl/index.js\": 1275,\n\t\"./pt-BR/_lib/formatDistance/index.js\": 1066,\n\t\"./pt-BR/_lib/formatLong/index.js\": 1067,\n\t\"./pt-BR/_lib/formatRelative/index.js\": 1068,\n\t\"./pt-BR/_lib/localize/index.js\": 1069,\n\t\"./pt-BR/_lib/match/index.js\": 1070,\n\t\"./pt-BR/index.js\": 1276,\n\t\"./pt/_lib/formatDistance/index.js\": 1071,\n\t\"./pt/_lib/formatLong/index.js\": 1072,\n\t\"./pt/_lib/formatRelative/index.js\": 1073,\n\t\"./pt/_lib/localize/index.js\": 1074,\n\t\"./pt/_lib/match/index.js\": 1075,\n\t\"./pt/index.js\": 1277,\n\t\"./ro/_lib/formatDistance/index.js\": 1076,\n\t\"./ro/_lib/formatLong/index.js\": 1077,\n\t\"./ro/_lib/formatRelative/index.js\": 1078,\n\t\"./ro/_lib/localize/index.js\": 1079,\n\t\"./ro/_lib/match/index.js\": 1080,\n\t\"./ro/index.js\": 1278,\n\t\"./ru/_lib/formatDistance/index.js\": 1081,\n\t\"./ru/_lib/formatLong/index.js\": 1082,\n\t\"./ru/_lib/formatRelative/index.js\": 1083,\n\t\"./ru/_lib/localize/index.js\": 1084,\n\t\"./ru/_lib/match/index.js\": 1085,\n\t\"./ru/index.js\": 1279,\n\t\"./sk/_lib/formatDistance/index.js\": 1086,\n\t\"./sk/_lib/formatLong/index.js\": 1087,\n\t\"./sk/_lib/formatRelative/index.js\": 1088,\n\t\"./sk/_lib/localize/index.js\": 1089,\n\t\"./sk/_lib/match/index.js\": 1090,\n\t\"./sk/index.js\": 1280,\n\t\"./sl/_lib/formatDistance/index.js\": 1091,\n\t\"./sl/_lib/formatLong/index.js\": 1092,\n\t\"./sl/_lib/formatRelative/index.js\": 1093,\n\t\"./sl/_lib/localize/index.js\": 1094,\n\t\"./sl/_lib/match/index.js\": 1095,\n\t\"./sl/index.js\": 1281,\n\t\"./sr-Latn/_lib/formatDistance/index.js\": 1096,\n\t\"./sr-Latn/_lib/formatLong/index.js\": 1097,\n\t\"./sr-Latn/_lib/formatRelative/index.js\": 1098,\n\t\"./sr-Latn/_lib/localize/index.js\": 1099,\n\t\"./sr-Latn/_lib/match/index.js\": 1100,\n\t\"./sr-Latn/index.js\": 1282,\n\t\"./sr/_lib/formatDistance/index.js\": 1101,\n\t\"./sr/_lib/formatLong/index.js\": 1102,\n\t\"./sr/_lib/formatRelative/index.js\": 1103,\n\t\"./sr/_lib/localize/index.js\": 1104,\n\t\"./sr/_lib/match/index.js\": 1105,\n\t\"./sr/index.js\": 1283,\n\t\"./sv/_lib/formatDistance/index.js\": 1106,\n\t\"./sv/_lib/formatLong/index.js\": 1107,\n\t\"./sv/_lib/formatRelative/index.js\": 1108,\n\t\"./sv/_lib/localize/index.js\": 1109,\n\t\"./sv/_lib/match/index.js\": 1110,\n\t\"./sv/index.js\": 1284,\n\t\"./ta/_lib/formatDistance/index.js\": 1111,\n\t\"./ta/_lib/formatLong/index.js\": 1112,\n\t\"./ta/_lib/formatRelative/index.js\": 1113,\n\t\"./ta/_lib/localize/index.js\": 1114,\n\t\"./ta/_lib/match/index.js\": 1115,\n\t\"./ta/index.js\": 1285,\n\t\"./te/_lib/formatDistance/index.js\": 1116,\n\t\"./te/_lib/formatLong/index.js\": 1117,\n\t\"./te/_lib/formatRelative/index.js\": 1118,\n\t\"./te/_lib/localize/index.js\": 1119,\n\t\"./te/_lib/match/index.js\": 1120,\n\t\"./te/index.js\": 1286,\n\t\"./th/_lib/formatDistance/index.js\": 1121,\n\t\"./th/_lib/formatLong/index.js\": 1122,\n\t\"./th/_lib/formatRelative/index.js\": 1123,\n\t\"./th/_lib/localize/index.js\": 1124,\n\t\"./th/_lib/match/index.js\": 1125,\n\t\"./th/index.js\": 1287,\n\t\"./tr/_lib/formatDistance/index.js\": 1126,\n\t\"./tr/_lib/formatLong/index.js\": 1127,\n\t\"./tr/_lib/formatRelative/index.js\": 1128,\n\t\"./tr/_lib/localize/index.js\": 1129,\n\t\"./tr/_lib/match/index.js\": 1130,\n\t\"./tr/index.js\": 1288,\n\t\"./ug/_lib/formatDistance/index.js\": 1131,\n\t\"./ug/_lib/formatLong/index.js\": 1132,\n\t\"./ug/_lib/formatRelative/index.js\": 1133,\n\t\"./ug/_lib/localize/index.js\": 1134,\n\t\"./ug/_lib/match/index.js\": 1135,\n\t\"./ug/index.js\": 1289,\n\t\"./uk/_lib/formatDistance/index.js\": 1136,\n\t\"./uk/_lib/formatLong/index.js\": 1137,\n\t\"./uk/_lib/formatRelative/index.js\": 1138,\n\t\"./uk/_lib/localize/index.js\": 1139,\n\t\"./uk/_lib/match/index.js\": 1140,\n\t\"./uk/index.js\": 1290,\n\t\"./uz/_lib/formatDistance/index.js\": 1141,\n\t\"./uz/_lib/formatLong/index.js\": 1142,\n\t\"./uz/_lib/formatRelative/index.js\": 1143,\n\t\"./uz/_lib/localize/index.js\": 1144,\n\t\"./uz/_lib/match/index.js\": 1145,\n\t\"./uz/index.js\": 1291,\n\t\"./vi/_lib/formatDistance/index.js\": 1146,\n\t\"./vi/_lib/formatLong/index.js\": 1147,\n\t\"./vi/_lib/formatRelative/index.js\": 1148,\n\t\"./vi/_lib/localize/index.js\": 1149,\n\t\"./vi/_lib/match/index.js\": 1150,\n\t\"./vi/index.js\": 1292,\n\t\"./zh-CN/_lib/formatDistance/index.js\": 1151,\n\t\"./zh-CN/_lib/formatLong/index.js\": 1152,\n\t\"./zh-CN/_lib/formatRelative/index.js\": 1153,\n\t\"./zh-CN/_lib/localize/index.js\": 1154,\n\t\"./zh-CN/_lib/match/index.js\": 1155,\n\t\"./zh-CN/index.js\": 1293,\n\t\"./zh-TW/_lib/formatDistance/index.js\": 1156,\n\t\"./zh-TW/_lib/formatLong/index.js\": 1157,\n\t\"./zh-TW/_lib/formatRelative/index.js\": 1158,\n\t\"./zh-TW/_lib/localize/index.js\": 1159,\n\t\"./zh-TW/_lib/match/index.js\": 1160,\n\t\"./zh-TW/index.js\": 1294\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1215;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"button__3e1dX\",\"button--nude\":\"button--nude__oLLi8\",\"button--outline\":\"button--outline__3jYhl\",\"button--loading\":\"button--loading__1OpgK\",\"button--danger\":\"button--danger__Iy_nb\",\"button--secondary\":\"button--secondary__2llNV\",\"button--img\":\"button--img__2ISo-\",\"button--stack\":\"button--stack__DpWG_\",\"button--small\":\"button--small__3Ekpu\",\"button--disabled\":\"button--disabled__138mI\",\"button-loading-rotation\":\"button-loading-rotation__3syhb\",\"button--icon\":\"button--icon__3a2Uu\",\"button__badge\":\"button__badge__A7TBZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-group\":\"button-group__2wVZy\",\"button-group__item\":\"button-group__item__35pYh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal__overlay\":\"modal__overlay__1IgTH\",\"modal\":\"modal__Gy54_\",\"modal--animated\":\"modal--animated__2je9C\",\"fadeInUp\":\"fadeInUp__2U9Hr\",\"modal__message\":\"modal__message__ZU6Zd\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"version\":\"1.0\",\"width\":\"357.333\",\"height\":\"330.667\",\"viewBox\":\"0 0 268 248\"},\"content\":\"<path d=\\\"M83.2 30.6C63.1 36 45.6 48.6 39.8 62c-5.4 12.4-4.2 22.7 4.7 40.7 15.4 31 45.7 68.1 74 90.7 24.2 19.3 54.3 36.9 67.9 39.6 22.2 4.5 43.2-12.8 52.5-43.4 3.7-12 2.6-19.5-3.8-24.9-1.7-1.4-11.9-6.9-22.8-12.2-26.7-13.2-27.7-13.2-43-3.5l-5.3 3.3-5.6-3.7c-6.6-4.4-27.7-24.6-33.2-31.9-8-10.5-7.8-9.2-2.2-18.7 7.5-12.7 7.4-13.5-5.1-39.5-5.5-11.6-11.2-22.3-12.7-23.9-5.3-5.6-11.8-6.8-22-4zm17.3 35c4.7 9.7 8.5 18 8.5 18.5s-1.5 3.2-3.3 6.1c-1.8 2.9-3.8 6.6-4.5 8.1-1.8 4.1-1.4 12.6.7 17.2 6.4 13.9 37.3 44.9 52.5 52.7 7.5 3.8 18.6 1.9 27.3-4.8 4.1-3.1 3.2-3.3 25.6 7.7l14.9 7.3-.6 3.5c-.9 5.7-8.1 19.6-12.7 24.6-9.6 10.4-15.8 10.8-33.1 2.2-28-14-59.9-39.5-80.6-64.6-25.7-31-41.6-59.3-39.5-70.4 1.7-9.2 11.8-17.9 27.1-23.3 3.7-1.3 7.3-2.4 8-2.4.6 0 5 7.9 9.7 17.6z\\\" fill=\\\"currentColor\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 32 32\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M25.035 20.55c.702.241 1.592.08 2.107-.642.7-.984 1.406-2.52 1.528-4.05.063-.777-.021-1.605-.386-2.365-.373-.778-1.01-1.418-1.929-1.837-1.724-.787-3.932-1.258-5.856-1.536-1.936-.279-3.672-.374-4.499-.374v1.952c.725 0 2.367.087 4.22.355 1.865.269 3.855.708 5.325 1.38.523.238.813.558.979.905.175.364.244.824.2 1.363-.084 1.058-.585 2.212-1.11 2.983l-3.98-1.37a.064.064 0 01-.016-.015.199.199 0 01-.034-.094 6.181 6.181 0 00-.238-1.164c-.119-.369-.322-.839-.696-1.181-.327-.298-.785-.442-1.11-.525a9.404 9.404 0 00-1.217-.21A21.831 21.831 0 0016 13.997v1.953c.528 0 1.354.029 2.1.115.375.043.705.097.958.162.17.043.256.08.286.092l.003.001c.025.037.08.13.14.317.074.23.126.511.158.79.083.728.55 1.457 1.352 1.733l4.038 1.39zm-18.07 0c-.702.241-1.592.08-2.107-.643-.7-.983-1.406-2.519-1.528-4.05-.063-.776.021-1.604.386-2.364.373-.778 1.01-1.418 1.929-1.837 1.724-.787 3.932-1.258 5.856-1.536 1.936-.279 3.672-.374 4.499-.374v1.952c-.725 0-2.367.087-4.22.354-1.865.27-3.855.71-5.325 1.38-.523.239-.813.56-.98.905-.174.364-.243.825-.2 1.364.085 1.058.586 2.212 1.11 2.983l3.982-1.37a.06.06 0 00.015-.015.199.199 0 00.034-.094c.04-.355.112-.771.238-1.164.119-.37.321-.839.696-1.181.327-.298.785-.442 1.11-.525a9.407 9.407 0 011.216-.21c.84-.096 1.743-.128 2.324-.128v1.953c-.528 0-1.354.029-2.1.115a7.511 7.511 0 00-.958.162c-.17.043-.256.08-.286.092l-.003.001c-.025.037-.08.13-.14.317-.074.23-.126.511-.158.79-.083.728-.55 1.456-1.353 1.733l-4.037 1.39z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatar\":\"avatar__GFJvS\",\"avatar__image\":\"avatar__image__1eLmO\",\"avatar__status\":\"avatar__status__Wsps9\",\"avatar__status--small\":\"avatar__status--small__1rB0Q\",\"avatar__status--large\":\"avatar__status--large__1XQtY\",\"avatar__status--status-online\":\"avatar__status--status-online__15xk6\",\"avatar__status--status-away\":\"avatar__status--status-away__JIVRl\",\"avatar__status--status-busy\":\"avatar__status--status-busy__2Zv0K\",\"avatar--nobg\":\"avatar--nobg__1Xmft\",\"avatar--small\":\"avatar--small__2-TCM\",\"avatar--large\":\"avatar--large__3MrZD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer\":\"composer__27x96\",\"composer__input\":\"composer__input___Cggy\",\"composer--connecting\":\"composer--connecting__3MFFw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer__action\":\"composer__action__2ZuQd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer__actions\":\"composer__actions__3eA8B\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"drop\":\"drop__6UUiL\",\"drop--overlayed\":\"drop--overlayed__JT4ny\",\"drop--dragover\":\"drop--dragover__2EYfW\",\"fadein\":\"fadein__1UAhl\",\"drop__input\":\"drop__input__2o6so\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popover__overlay\":\"popover__overlay__2FLro\",\"popover__overlay--visible\":\"popover__overlay--visible__220hl\",\"popover__container\":\"popover__container__1sbvl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"menu__14x2m\",\"menu__group\":\"menu__group__cJiQf\",\"menu__group-title\":\"menu__group-title__2LjPN\",\"menu__item\":\"menu__item__1wXnR\",\"menu__item--primary\":\"menu__item--primary__3jawX\",\"menu__item--danger\":\"menu__item--danger__10H3r\",\"menu__item--disabled\":\"menu__item--disabled__31ezP\",\"menu__item__icon\":\"menu__item__icon__sTZTu\",\"menu--hidden\":\"menu--hidden__3uGW9\",\"menu--placement\":\"menu--placement__3ylkS\",\"menu--placement-left-top\":\"menu--placement-left-top__2kTUb\",\"menu--placement-right-top\":\"menu--placement-right-top__10AnG\",\"menu--placement-right-bottom\":\"menu--placement-right-bottom__12XOK\",\"menu--placement-left-bottom\":\"menu--placement-left-bottom__2-Hou\",\"popover-menu__overlay\":\"popover-menu__overlay__3VEFt\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 1500 272\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path class=\\\"text\\\" d=\\\"M461.588 132.646c0 15.237-5.687 25.243-16.607 30.016l15.699 59.582c.681 2.734-.681 4.092-3.186 4.092h-23.663c-2.274 0-3.41-1.135-3.867-3.184l-15.244-57.76h-15.699v57.31c0 2.276-1.362 3.634-3.64 3.634h-23.663c-2.274 0-3.64-1.365-3.64-3.634V48.052c0-2.273 1.366-3.638 3.64-3.638h57.107c21.385 0 32.763 11.372 32.763 32.746v55.49zm-40.043 2.727c5.914 0 9.1-3.184 9.1-9.095V83.525c0-5.911-3.186-9.092-9.1-9.092h-22.524v60.943l22.524-.004zm58.235-58.217c0-21.375 11.374-32.746 32.763-32.746h25.483c21.385 0 32.763 11.372 32.763 32.746v116.43c0 21.371-11.377 32.743-32.763 32.743h-25.483c-21.389 0-32.763-11.372-32.763-32.743V77.156zm52.555 119.84c5.914 0 9.1-2.957 9.1-9.095V82.84c0-5.911-3.186-9.095-9.1-9.095h-13.194c-5.914 0-9.1 3.184-9.1 9.095V187.9c0 6.134 3.186 9.091 9.1 9.091h13.194zm152.425-95.281c0 2.276-1.366 3.638-3.636 3.638h-22.751c-2.505 0-3.64-1.361-3.64-3.638v-18.19c0-5.911-3.183-9.092-9.097-9.092h-11.832c-6.14 0-9.1 3.181-9.1 9.092v103.7c0 6.138 3.183 9.088 9.1 9.088h11.832c5.914 0 9.097-2.954 9.097-9.088v-18.198c0-2.276 1.135-3.638 3.64-3.638h22.75c2.282 0 3.637 1.361 3.637 3.638v24.562c0 21.371-11.604 32.743-32.759 32.743h-25.483c-21.385 0-32.99-11.372-32.99-32.743V77.149c0-21.375 11.604-32.746 32.99-32.746h25.483c21.158 0 32.759 11.372 32.759 32.746v24.559zm96 124.618c-2.735 0-4.321-1.135-5.236-3.408l-28.662-67.542-8.423 16.148v50.253c0 2.958-1.589 4.55-4.548 4.55h-21.843c-2.958 0-4.551-1.592-4.551-4.55V48.954c0-2.953 1.593-4.549 4.551-4.549h21.843c2.956 0 4.548 1.592 4.548 4.55v70.495l35.037-71.634c1.14-2.273 2.736-3.41 5.237-3.41H802.6c3.413 0 4.778 2.276 3.182 5.456l-38.673 79.364 41.174 91.874c1.593 2.958.227 5.23-3.41 5.23H780.76zM915.67 70.791c0 2.273-.912 3.865-3.64 3.865h-56.88v45.48h43.456c2.281 0 3.64 1.365 3.64 3.865v22.513c0 2.503-1.366 3.869-3.64 3.869H855.15v45.934h56.88c2.735 0 3.64 1.138 3.64 3.638v22.743c0 2.273-.912 3.63-3.64 3.63h-83.725c-2.05 0-3.416-1.365-3.416-3.63V48.048c0-2.273 1.366-3.638 3.416-3.638h83.725c2.735 0 3.64 1.365 3.64 3.638V70.79zm105.56-26.381c2.501 0 3.64 1.365 3.64 3.638V70.79c0 2.273-1.139 3.638-3.64 3.638h-26.391v148.27c0 2.5-1.135 3.63-3.636 3.63H967.54c-2.282 0-3.64-1.13-3.64-3.63V74.429h-26.388c-2.282 0-3.64-1.365-3.64-3.638V48.048c0-2.273 1.366-3.638 3.64-3.638h83.718zm1.38 156.493c0-2.957 1.593-4.546 4.552-4.546h20.704c2.959 0 4.548 1.589 4.548 4.546v20.917c0 2.96-1.59 4.55-4.548 4.55h-20.704c-2.96 0-4.552-1.59-4.552-4.55v-20.917zm143.75-99.188c0 2.276-1.37 3.638-3.64 3.638h-22.75c-2.502 0-3.637-1.361-3.637-3.638v-18.19c0-5.911-3.183-9.092-9.097-9.092h-11.832c-6.144 0-9.1 3.181-9.1 9.092v103.7c0 6.138 3.183 9.088 9.1 9.088h11.832c5.914 0 9.097-2.954 9.097-9.088v-18.198c0-2.276 1.135-3.638 3.636-3.638h22.751c2.281 0 3.64 1.361 3.64 3.638v24.562c0 21.371-11.604 32.743-32.763 32.743h-25.483c-21.385 0-32.99-11.372-32.99-32.743V77.149c0-21.375 11.604-32.746 32.99-32.746h25.483c21.162 0 32.763 11.372 32.763 32.746v24.559zm82.81-53.667c0-2.273 1.362-3.638 3.636-3.638h23.432c2.732 0 3.864 1.365 3.864 3.638v174.65c0 2.273-1.135 3.63-3.864 3.63h-23.432c-2.28 0-3.636-1.365-3.636-3.63v-72.315h-29.123v72.319c0 2.276-1.366 3.634-3.64 3.634h-23.429c-2.735 0-3.87-1.365-3.87-3.634V48.052c0-2.273 1.135-3.638 3.87-3.638h23.43c2.28 0 3.639 1.365 3.639 3.638v72.315h29.123V48.052zm134.66 178.285c-2.047 0-3.182-1.135-3.64-3.184l-6.368-33.197h-40.5l-6.137 33.197c-.458 2.05-1.593 3.184-3.64 3.184h-24.341c-2.501 0-3.64-1.365-2.963-3.865l37.77-174.88c.457-2.273 1.82-3.184 3.866-3.184h31.628c2.047 0 3.413.911 3.867 3.184l37.77 174.88c.457 2.5-.455 3.865-3.183 3.865h-24.128zm-30.262-142.13l-14.56 79.364h29.123l-14.563-79.364zM1496.23 44.41c2.501 0 3.64 1.365 3.64 3.638V70.79c0 2.273-1.139 3.638-3.64 3.638h-26.388v148.27c0 2.5-1.139 3.63-3.64 3.63h-23.663c-2.274 0-3.636-1.13-3.636-3.63V74.429h-26.388c-2.278 0-3.637-1.365-3.637-3.638V48.048c0-2.273 1.366-3.638 3.637-3.638h83.715z\\\"/><path class=\\\"rocket\\\" d=\\\"M270.5 105.32l.004.006-.002-.003-.002-.003zM92.94 11.47c9.508 5.28 18.496 11.962 26.171 19.388 12.373-2.24 25.13-3.37 38.072-3.37 38.744 0 75.477 10.163 103.42 28.612 14.473 9.559 25.977 20.9 34.189 33.712 9.145 14.276 13.78 29.63 13.78 46.08 0 16.007-4.636 31.365-13.78 45.64-8.211 12.817-19.715 24.156-34.189 33.715-27.948 18.45-64.678 28.607-103.42 28.607-12.942 0-25.697-1.13-38.072-3.368a126.331 126.331 0 01-26.171 19.388c-50.802 25.443-92.931.599-92.931.599s39.169-33.254 32.799-62.405C15.283 180.106 5.787 158.44 5.787 135.456c0-22.552 9.499-44.217 27.021-62.182C39.177 44.13.022 10.883.009 10.872c.013-.008 42.136-24.844 92.931.598z\\\" fill=\\\"#DB2323\\\" fill-rule=\\\"nonzero\\\"/><path d=\\\"M62.545 186.04c-17.412-13.722-27.863-31.281-27.863-50.419 0-43.916 55.032-79.517 122.92-79.517 67.885 0 122.92 35.601 122.92 79.517s-55.032 79.517-122.92 79.517c-16.731 0-32.681-2.163-47.219-6.079L99.754 219.31c-5.775 5.57-12.544 10.61-19.6 14.582-9.352 4.593-18.588 7.099-27.725 7.863.515-.937.99-1.886 1.5-2.825 10.65-19.618 13.523-37.248 8.618-52.89z\\\" fill=\\\"#fff\\\"/><path class=\\\"rocket\\\" d=\\\"M98.656 154.54c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361c9.98 0 18.071 8.22 18.071 18.361s-8.09 18.361-18.071 18.361zm58.179 0c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361 18.071 8.22 18.071 18.361-8.09 18.361-18.071 18.361zm58.179 0c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361c9.98 0 18.071 8.22 18.071 18.361s-8.09 18.361-18.071 18.361z\\\" fill=\\\"#DB2323\\\" fill-rule=\\\"nonzero\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"footer__1V22a\",\"footer__content\":\"footer__content__1tgEl\",\"footer__options\":\"footer__options__g5T_a\",\"footer__remainder\":\"footer__remainder__3XLQw\",\"footer__remainder--highlight\":\"footer__remainder--highlight__1YH6i\",\"powered-by\":\"powered-by__1DxxE\",\"powered-by__logo\":\"powered-by__logo__2Y08v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-bubble\":\"message-bubble__35HAq\",\"message-bubble--inverse\":\"message-bubble--inverse__8y9eJ\",\"message-bubble--nude\":\"message-bubble--nude__2DB1l\",\"message-bubble--quoted\":\"message-bubble--quoted__3pELB\",\"message-bubble--system\":\"message-bubble--system__2-OfO\",\"message-container\":\"message-container__3n9XC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"audio-attachment__inner\":\"audio-attachment__inner__im_cm\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"><path d=\\\"M13.571 9.536l-3.535 3.535L6.5 9.536m3.515 2.469v-6.83\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"8\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#1D74F5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M10 16v-1.5h12V16H10zm0 3v-1.5h12V19H10zm0 3v-1.5h7.5V22H10zm0-9v-1.5h12V13H10z\\\" fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#1D74F5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M15.417 20.622c-.82.82-2.197.772-3.076-.106-.879-.88-.926-2.256-.106-3.076l4.867-4.868c.592-.592 1.587-.558 2.222.077.634.635.669 1.63.076 2.222l-4.867 4.867c-.364.364-.977.343-1.367-.047-.39-.391-.412-1.003-.047-1.368l3.547-3.547c.137-.137.366-.129.513.018.146.146.154.376.017.512l-3.547 3.548c-.091.09-.086.244.012.342.097.097.25.102.342.011l4.867-4.867c.319-.319.3-.854-.041-1.196-.342-.342-.878-.36-1.197-.041l-4.867 4.867c-.546.547-.515 1.465.071 2.05.586.586 1.504.618 2.05.071l4.703-4.702c.137-.137.366-.129.512.018.147.146.155.376.018.512l-4.702 4.703z\\\" fill=\\\"#FFF\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F5455C\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M13.96 18.917c.352-.694 1.016-2.466 1.335-3.634.447.908.99 1.797 1.883 2.615-1.213.227-2.036.545-3.217 1.019zm1.456-7.775c.926.539.351 1.817.032 2.992-.21-.76-.504-2.447-.032-2.992zm-.089-.318c-.3.039-.62.22-.747.506-.358.818.39 3.226.504 3.628-.727 2.233-3.217 6.646-4.437 6.944-.025-.292.128-1.136 1.737-2.187a2.37 2.37 0 00.223-.272c-1.36.675-3.121 1.758-2.062 2.57a.99.99 0 00.25.123c.81.305 1.946-.695 3.09-2.96 1.257-.421 2.272-.74 3.708-.96 1.57 1.084 2.624 1.305 3.34 1.026.197-.078.51-.331.6-.663-.582.727-1.941.221-3.027-.473 1.002-.11 2.037-.176 2.484-.033.568.182.549.468.542.506.045-.155.109-.408-.013-.61-.478-.791-2.675-.33-3.473-.246-1.257-.772-2.125-2.148-2.477-3.141.326-1.279.677-2.207.422-3.128-.121-.442-.415-.662-.664-.63z\\\" fill=\\\"#FFF\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F5455C\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><g fill=\\\"#FFF\\\"><path d=\\\"M15.55 16.748h4.5c0 2.468-2.031 4.5-4.5 4.5s-4.5-2.032-4.5-4.5c0-2.469 2.031-4.5 4.5-4.5v4.5z\\\"/><path d=\\\"M16.3 16v-4.5a4.502 4.502 0 014.5 4.5h-4.5z\\\"/></g></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#2DE0A5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><g fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\"><path d=\\\"M10.75 16v-1.5h10.5V16zm0 3v-1.5h10.5V19z\\\"/><path d=\\\"M13.75 11.5h1.5V22h-1.5z\\\"/><path d=\\\"M11.5 13v7.5h9V13h-9zm0-1.5h9A1.5 1.5 0 0122 13v7.5a1.5 1.5 0 01-1.5 1.5h-9a1.5 1.5 0 01-1.5-1.5V13a1.5 1.5 0 011.5-1.5z\\\"/></g></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F6C502\\\"/><path fill=\\\"#FFF\\\" d=\\\"M13.75 10.75h1.875V8.875H13.75zm1.875 1.875H17.5V10.75h-1.875zM13.75 14.5h1.875v-1.875H13.75zm1.875 1.875H17.5V14.5h-1.875zM13.75 18.25h1.875v-1.875H13.75zm0 3.75h3.75v-3.75h-3.75z\\\"/><path fill=\\\"#F6C502\\\" d=\\\"M14.688 21.063h1.874v-1.875h-1.875z\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"file-attachment\":\"file-attachment__3usPx\",\"file-attachment__inner\":\"file-attachment__inner__4KqWu\",\"file-attachment__download-button\":\"file-attachment__download-button__JXzbE\",\"file-attachment__title\":\"file-attachment__title__8QXST\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image-attachment__inner\":\"image-attachment__inner__3qFwJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-avatars\":\"message-avatars__3vj_P\",\"message-avatars__avatar\":\"message-avatars__avatar__2w8Pn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-actions-block\":\"uikit-actions-block__3kFjZ\",\"uikit-actions-block__item\":\"uikit-actions-block__item__257n5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-button\":\"uikit-button__3X6Eh\",\"button-loading-rotation\":\"button-loading-rotation__2Fl4_\",\"uikit-button--style-primary\":\"uikit-button--style-primary__3DERb\",\"uikit-button--style-danger\":\"uikit-button--style-danger__2qDlz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-context-block\":\"uikit-context-block__2WzDn\",\"uikit-context-block__item\":\"uikit-context-block__item__3dfvB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"date-input\":\"date-input__32np5\",\"date-input--small\":\"date-input--small__1nGy1\",\"date-input--disabled\":\"date-input--disabled__V83aQ\",\"date-input--error\":\"date-input--error__3giSy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-divider-block\":\"uikit-divider-block__Z-3HK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-image-block\":\"uikit-image-block__1angW\",\"uikit-image-block__title\":\"uikit-image-block__title__1xJGc\",\"uikit-image-block__content\":\"uikit-image-block__content__zXi9F\",\"uikit-image-block__content--loading\":\"uikit-image-block__content--loading__3GZqc\",\"uikit-image-block__wrapper\":\"uikit-image-block__wrapper__1-Ukv\",\"uikit-image-block__link\":\"uikit-image-block__link__27wvk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-image\":\"uikit-image__W6cSQ\",\"uikit-image--accessory\":\"uikit-image--accessory__xfSNy\",\"uikit-image--context\":\"uikit-image--context__3myst\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-mrkdwn\":\"uikit-mrkdwn__3YVwY\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 32 32\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M18 8a2 2 0 11-4 0 2 2 0 014 0zm0 8a2 2 0 11-4 0 2 2 0 014 0zm0 8a2 2 0 11-4 0 2 2 0 014 0z\\\" fill=\\\"currentColor\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-overflow__trigger\":\"uikit-overflow__trigger__1nYqP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-plain-text\":\"uikit-plain-text__IgVqw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-section-block\":\"uikit-section-block__Y4Gbb\",\"uikit-section-block__content\":\"uikit-section-block__content__h4FtV\",\"uikit-section-block__text\":\"uikit-section-block__text__1ccTA\",\"uikit-section-block__fields\":\"uikit-section-block__fields__1u9yU\",\"uikit-section-block__field\":\"uikit-section-block__field__34-8Y\",\"uikit-section-block__accessory\":\"uikit-section-block__accessory__1a702\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select-input\":\"select-input__23YB7\",\"select-input__select\":\"select-input__select__3eBo4\",\"select-input__select--small\":\"select-input__select--small__dHwaf\",\"select-input__select--disabled\":\"select-input__select--disabled__YbxwQ\",\"select-input__select--error\":\"select-input__select--error__1r_NO\",\"select-input__select--placeholder\":\"select-input__select--placeholder__1ZiPY\",\"select-input__option\":\"select-input__option__HpPGW\",\"select-input__arrow\":\"select-input__arrow__2jglH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-static-select\":\"uikit-static-select__1TWLI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-blocks\":\"message-blocks__1PDtT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-container\":\"message-container__19jeU\",\"message-container--compact\":\"message-container--compact__374zr\",\"message-container--reverse\":\"message-container--reverse__3x9rK\",\"message-container--system\":\"message-container--system__1eZ2Y\",\"message-container-break\":\"message-container-break__2yxLd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-content\":\"message-content__1DkcS\",\"message-content--reverse\":\"message-content--reverse__o_hmd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-text\":\"message-text__4m75x\",\"message-text--system\":\"message-text--system__mdDfo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-time\":\"message-time__2e1gz\",\"message-time-wrapper\":\"message-time-wrapper__JEbuq\",\"message-time--normal\":\"message-time--normal__2jM19\",\"message-time--inverted\":\"message-time--inverted__1Y9Du\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-attachment__inner\":\"video-attachment__inner__1-nfC\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 32 32\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M8 6.333c0-.552.597-1 1.333-1h8c.737 0 1.334.448 1.334 1 0 .553-.597 1-1.334 1h-8c-.736 0-1.333-.447-1.333-1zM5 12v12c0 .184.15.333.333.333h16c.184 0 .334-.15.334-.333v-2.667a1 1 0 011.49-.87l3.058 1.723a1 1 0 01.216.164c.21.21.569.061.569-.236v-8.229a.333.333 0 00-.569-.235 1 1 0 01-.216.164l-3.057 1.724a1 1 0 01-1.491-.872V12a.333.333 0 00-.334-.334h-16A.333.333 0 005 12zm.333-2.334h16A2.333 2.333 0 0123.667 12v.955l1.461-.825C26.61 10.818 29 11.858 29 13.885v8.23c0 2.026-2.39 3.067-3.872 1.754l-1.461-.824V24a2.333 2.333 0 01-2.334 2.333h-16A2.333 2.333 0 013 24V12a2.333 2.333 0 012.333-2.334z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"separator\":\"separator__2hKm1\",\"separator__text\":\"separator__text__CCH47\",\"separator__line\":\"separator__line__31sRI\",\"separator--date\":\"separator--date__2KXC7\",\"separator--unread\":\"separator--unread__26QDF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"typing-dots\":\"typing-dots__2dVrQ\",\"typing-dots__dot\":\"typing-dots__dot__hqh2c\",\"typing-dots__indicator\":\"typing-dots__indicator__379kG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-list\":\"message-list__1jRl9\",\"message-list__content\":\"message-list__content__3TyF4\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 18 18\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M1.929 12L9 4.929 16.071 12\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill=\\\"none\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 18 18\"},\"content\":\"<path d=\\\"M4.619 10.532V6.374c0-2.296 1.962-4.158 4.381-4.158 2.419 0 4.381 1.862 4.381 4.158v4.158l1.643 3.118H2.976l1.643-3.118zm3.047 4.426h2.668c-.195.514-.716.884-1.334.884s-1.139-.37-1.334-.884zm7.048-8.625C14.714 3.388 12.155 1 9 1 5.845 1 3.286 3.388 3.286 6.333V10.6L1 14.867h5.201C6.465 16.084 7.618 17 9 17s2.535-.916 2.799-2.133H17L14.714 10.6V6.333z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 18 18\"},\"content\":\"<path d=\\\"M4.69 9.806l-1.669 1.439.343-.645V6.334C3.364 3.389 5.908 1 9.045 1a5.85 5.85 0 014.03 1.576l-.973.839a4.454 4.454 0 00-3.057-1.198c-2.405 0-4.355 1.861-4.355 4.157v3.432zM14.728 6.42v4.18L17 14.866h-5.17C11.567 16.084 10.421 17 9.046 17c-1.374 0-2.52-.916-2.783-2.134H4.932l1.41-1.216h8.693l-1.633-3.118V7.563l1.326-1.143zM1.927 16.097L1 14.958 15.98 1.43l.927 1.139-14.98 13.528zm7.119-.255c.615 0 1.132-.37 1.327-.885H7.719c.195.515.712.885 1.327.885z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"<g fill=\\\"currentColor\\\"><path d=\\\"M21.628 11.093c0-3.261-4.004-5.905-8.943-5.905S3.742 7.83 3.743 11.093c0 1.421.76 2.725 2.027 3.744.218 2.124-.8 3.414-1.488 4.178 2.113.552 4.288-1.158 5.277-2.388.973.24 2.026.372 3.126.372 4.939 0 8.943-2.645 8.943-5.906zM3.803 20.99l-3.226-.844 2.272-2.523c.579-.642.895-1.179.972-1.849-1.295-1.31-2.04-2.926-2.04-4.68 0-4.63 5.017-7.944 10.904-7.944S23.59 6.464 23.59 11.093c0 4.63-5.017 7.943-10.904 7.943-.83 0-1.65-.066-2.445-.196-1.76 1.712-4.137 2.751-6.437 2.15z\\\"/><g transform=\\\"translate(7.611 9.674)\\\"><ellipse cx=\\\"5.191\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/><ellipse cx=\\\"9.084\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/><ellipse cx=\\\"1.298\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/></g></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M15.286 1H2.715c-.947 0-1.714.767-1.714 1.714v12.571A1.714 1.714 0 002.715 17h12.571c.947 0 1.714-.768 1.714-1.715V2.715C17 1.767 16.233 1 15.286 1zm.571 14.286a.572.572 0 01-.571.571H2.715a.572.572 0 01-.571-.571V2.715c0-.315.256-.571.571-.571h12.571c.315 0 .571.256.571.571v12.571zM4.554 13.244a.429.429 0 010-.606l6.97-6.97-.025-.025-3.213.012a.429.429 0 01-.429-.428V4.87c0-.237.192-.429.429-.429l4.857-.012c.237 0 .429.192.429.428l-.013 4.858a.429.429 0 01-.428.428h-.357a.429.429 0 01-.429-.428l.012-3.213-.025-.026-6.97 6.97a.429.429 0 01-.606 0l-.202-.202z\\\" stroke-width=\\\".3\\\" fill=\\\"currentColor\\\" stroke=\\\"currentColor\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alert\":\"alert__2_6E-\",\"alert__content\":\"alert__content__WiDgC\",\"alert__close\":\"alert__close__N2TJw\",\"alert--success\":\"alert--success__2BSNz\",\"alert--warning\":\"alert--warning__18Xi6\",\"alert--error\":\"alert--error__3ttMA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"header__13Vuj\",\"header__actions\":\"header__actions__aNMyg\",\"header__content\":\"header__content__pXDMp\",\"header__item\":\"header__item__EmXV-\",\"header__picture\":\"header__picture__3W5Fb\",\"header__title\":\"header__title__PtLVn\",\"header__subtitle\":\"header__subtitle__1ncvc\",\"header__custom-field\":\"header__custom-field__1xJH3\",\"header__action\":\"header__action__2wnEh\",\"header__post\":\"header__post__VA2cW\",\"header--large\":\"header--large__2keTG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"tooltip__mOwTr\",\"tooltip--hidden\":\"tooltip--hidden__vIBh0\",\"tooltip--placement-left\":\"tooltip--placement-left__1AH9w\",\"tooltip--placement-right\":\"tooltip--placement-right__3LZFt\",\"tooltip--placement-top\":\"tooltip--placement-top__NfRdd\",\"tooltip--placement-top-left\":\"tooltip--placement-top-left__3tiWm\",\"tooltip--placement-top-right\":\"tooltip--placement-top-right__1jba4\",\"tooltip--placement-bottom\":\"tooltip--placement-bottom__15Yxs\",\"tooltip--placement-bottom-left\":\"tooltip--placement-bottom-left__DatSn\",\"tooltip--placement-bottom-right\":\"tooltip--placement-bottom-right__2bsJB\",\"tooltip--floating\":\"tooltip--floating__1PBGg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"screen\":\"screen__sskEr\",\"screen__inner\":\"screen__inner__ihfK6\",\"screen__chat-button\":\"screen__chat-button__2h7Ad\",\"screen__chat-close-button\":\"screen__chat-close-button__isEmn\",\"screen--minimized\":\"screen--minimized__2cVSs\",\"screen--expanded\":\"screen--expanded__1zqIP\",\"screen--windowed\":\"screen--windowed__Ad1VZ\",\"screen--triggered\":\"screen--triggered__2c_Iw\",\"screen__inner--fitTextSize\":\"screen__inner--fitTextSize__1x0T7\",\"screen__main\":\"screen__main__DBTEi\",\"screen__main--nopadding\":\"screen__main--nopadding__16Bsg\",\"screen__main--triggered\":\"screen__main--triggered__3xccT\",\"screen__agent-email\":\"screen__agent-email__3DONj\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"<path d=\\\"M15.643 12.166l4.757 4.741-4.76 4.692-1.168-1.158 2.758-2.72H6.637c-1.349 0-2.447-1.078-2.447-2.403v-1.676h1.655v1.676a.78.78 0 00.792.768h10.609l-2.777-2.768 1.174-1.152zm-6.114-1.485l-1.173 1.152L3.6 7.092 8.36 2.4l1.167 1.157-2.759 2.721h10.594c1.348 0 2.446 1.078 2.446 2.403v1.69h-1.654v-1.69a.78.78 0 00-.792-.768H6.754l2.775 2.768z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"<path d=\\\"M2.4 2.4h14.4v1.986H4.41v15.228H16.8V21.6H2.4V2.4zm12.955 6.15L16.72 7.2l4.856 4.8-4.856 4.8-1.365-1.35 2.52-2.49H8.376v-1.92h9.5l-2.52-2.49z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M10 5v10m5-5H5\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"square\\\" stroke-width=\\\"1.5\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"<path d=\\\"M5.391 7.34l.778 9.394h7.662l.778-9.395H5.39zm5.628-3.58A1.111 1.111 0 0010 3.09c-.456 0-.847.276-1.019.67h2.038zm-3.423 0A2.45 2.45 0 0110 1.748a2.45 2.45 0 012.404 2.014h4.263c.368 0 .666.3.666.67a.669.669 0 01-.666.672H3.333a.669.669 0 01-.666-.671c0-.371.298-.671.666-.671h4.263zm8.462 2.237l-1 12.08H4.942l-1-12.08h12.116zm-8.502 3.58v5.815h1.333V9.576H7.556zm3.555 0v5.815h1.333V9.576h-1.333z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M10.342 13.283l9.56-10.359-13.049 8.264L1 8.778 21.506 1l-7.778 20.506-3.386-8.223z\\\" fill=\\\"currentColor\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill-rule=\\\"evenodd\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><circle cx=\\\"12\\\" cy=\\\"8\\\" r=\\\"1\\\" fill=\\\"currentColor\\\"/><circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"1\\\" fill=\\\"currentColor\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"7\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"/><path d=\\\"M7.172 12.328a4 4 0 005.656 0\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chat__messages\":\"chat__messages__f3sJg\",\"chat__messages--atBottom\":\"chat__messages--atBottom__1wPuF\",\"chat__messages--loading\":\"chat__messages--loading__gsc8d\",\"loader-rotate\":\"loader-rotate__3AWNK\",\"chat\":\"chat__1ggQU\",\"none__action\":\"none__action__1hdXV\",\"emoji-picker-icon\":\"emoji-picker-icon__3OTWb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chat-finished__greeting\":\"chat-finished__greeting__zxo1Q\",\"chat-finished__message\":\"chat-finished__message__2Ly5q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"gdpr__consent-text\":\"gdpr__consent-text__1K91W\",\"gdpr__instructions\":\"gdpr__instructions__lHoQt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form-field\":\"form-field__16wVs\",\"form-field__label-wrapper\":\"form-field__label-wrapper__1ZXe4\",\"form-field__description\":\"form-field__description__32VwT\",\"form-field__input\":\"form-field__input__3OQDq\",\"form-field__label\":\"form-field__label__1hSc7\",\"form-field--error\":\"form-field--error__2cgpb\",\"form-field--required\":\"form-field--required__1ehIJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text-input\":\"text-input__15vLf\",\"text-input--small\":\"text-input--small__1a0F7\",\"text-input--disabled\":\"text-input--disabled__9qba3\",\"text-input--error\":\"text-input--error__3nahC\",\"text-input--multiple\":\"text-input--multiple__3Fm0v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"password-input\":\"password-input__Fh-H5\",\"password-input--small\":\"password-input--small__23_jZ\",\"password-input--disabled\":\"password-input--disabled__1b3hY\",\"password-input--error\":\"password-input--error__3hzSx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leave-message__main\":\"leave-message__main__2qjg1\",\"leave-message__message\":\"leave-message__message__3XDZW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"register__message\":\"register__message__XfDRi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch-department__message\":\"switch-department__message__1eSbv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"trigger-message__message\":\"trigger-message__message__3z2MP\",\"trigger-message__footer\":\"trigger-message__footer__1BGi7\",\"trigger-message__separator\":\"trigger-message__separator__29Hse\",\"trigger-message__link-reply\":\"trigger-message__link-reply__1eF72\"};","import { createMemoryHistory } from 'history';\n\nexport const history = createMemoryHistory();\n\nexport default history;\n","import LivechatClient from '@rocket.chat/sdk/lib/clients/Livechat';\nimport queryString from 'query-string';\n\nconst host = window.SERVER_URL\n\t|| queryString.parse(window.location.search).serverUrl\n\t|| (process.env.NODE_ENV === 'development' ? 'http://localhost:3000' : null);\nexport const useSsl = host && host.match(/^https:/) !== null;\n\nexport const Livechat = new LivechatClient({ host, protocol: 'ddp', useSsl });\n","\nimport * as crypto from 'crypto-js';\n\nconst UNMISTAKABLE_CHARS = '23456789ABCDEFGHJKLMNPQRSTWXYZabcdefghijkmnopqrstuvwxyz';\n\nconst fraction = () => {\n\tconst array = new Uint32Array(1);\n\twindow.crypto.getRandomValues(array);\n\treturn array[0] * 2.3283064365386963e-10;\n};\n\nexport const chooseElement = (arrayOrString) => {\n\tconst index = Math.floor(fraction() * arrayOrString.length);\n\n\tif (typeof arrayOrString === 'string') {\n\t\treturn arrayOrString.substr(index, 1);\n\t}\n\n\treturn arrayOrString[index];\n};\n\nexport const createRandomString = (charsCount, alphabet) =>\n\tArray.from({ length: charsCount }, () => chooseElement(alphabet)).join('');\n\nexport const createRandomId = (charsCount = 17) =>\n\tcreateRandomString(charsCount, UNMISTAKABLE_CHARS);\n\nexport const createToken = () => crypto.lib.WordArray.random(32).toString(crypto.enc.Hex);\n","import mitt from 'mitt';\n\n\nconst log = process.env.NODE_ENV === 'development'\n\t? (...args) => window.console.log('%cwidget%c', 'color: red', 'color: initial', ...args)\n\t: () => {};\n\n\nconst WIDGET_OPEN_WIDTH = 365;\nconst WIDGET_OPEN_HEIGHT = 525;\nconst WIDGET_MINIMIZED_WIDTH = 54;\nconst WIDGET_MINIMIZED_HEIGHT = 54;\nconst WIDGET_MARGIN = 16;\n\n\nwindow.RocketChat = window.RocketChat || { _: [] };\nconst config = {};\nlet widget;\nlet iframe;\nlet hookQueue = [];\nlet ready = false;\nlet smallScreen = false;\nlet scrollPosition;\nlet widget_height;\n\nexport const validCallbacks = [\n\t'chat-maximized',\n\t'chat-minimized',\n\t'chat-started',\n\t'chat-ended',\n\t'pre-chat-form-submit',\n\t'offline-form-submit',\n\t'show-widget',\n\t'hide-widget',\n\t'assign-agent',\n\t'agent-status-change',\n\t'queue-position-change',\n\t'no-agent-online',\n];\n\nconst callbacks = mitt();\n\nfunction registerCallback(eventName, fn) {\n\tif (validCallbacks.indexOf(eventName) === -1) {\n\t\treturn false;\n\t}\n\n\treturn callbacks.on(eventName, fn);\n}\n\nfunction emitCallback(eventName, data) {\n\tif (typeof data !== 'undefined') {\n\t\tcallbacks.emit(eventName, data);\n\t} else {\n\t\tcallbacks.emit(eventName);\n\t}\n}\n\n// hooks\nfunction callHook(action, params) {\n\tif (!ready) {\n\t\treturn hookQueue.push([action, params]);\n\t}\n\tconst data = {\n\t\tsrc: 'rocketchat',\n\t\tfn: action,\n\t\targs: params,\n\t};\n\tiframe.contentWindow.postMessage(data, '*');\n}\n\nconst updateWidgetStyle = (isOpened) => {\n\tif (smallScreen && isOpened) {\n\t\tscrollPosition = document.documentElement.scrollTop;\n\t\tdocument.body.classList.add('rc-livechat-mobile-full-screen');\n\t} else {\n\t\tdocument.body.classList.remove('rc-livechat-mobile-full-screen');\n\t\tif (smallScreen) {\n\t\t\tdocument.documentElement.scrollTop = scrollPosition;\n\t\t}\n\t}\n\n\tif (isOpened) {\n\t\twidget.style.left = smallScreen ? '0' : 'auto';\n\n\t\t/**\n\t\t * If we use widget.style.height = smallScreen ? '100vh' : ...\n\t\t * In above case some browser's viewport height is not rendered correctly\n\t\t * so, as 100vh will resolve to 100% of the current viewport height,\n\t\t * so fixed it to 100% avoiding problem for some browsers. Similar resolution\n\t\t * for widget.style.width\n\t\t */\n\n\t\twidget.style.height = smallScreen ? '100%' : `${ WIDGET_MARGIN + widget_height + WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT }px`;\n\t\twidget.style.width = smallScreen ? '100%' : `${ WIDGET_MARGIN + WIDGET_OPEN_WIDTH + WIDGET_MARGIN }px`;\n\t} else {\n\t\twidget.style.left = 'auto';\n\t\twidget.style.width = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_WIDTH + WIDGET_MARGIN }px`;\n\t\twidget.style.height = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT + WIDGET_MARGIN }px`;\n\t}\n};\n\nconst createWidget = (url) => {\n\twidget = document.createElement('div');\n\twidget.className = 'rocketchat-widget';\n\twidget.style.position = 'fixed';\n\twidget.style.width = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_WIDTH + WIDGET_MARGIN }px`;\n\twidget.style.height = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT + WIDGET_MARGIN }px`;\n\twidget.style.maxHeight = '100vh';\n\twidget.style.bottom = '0';\n\twidget.style.right = '0';\n\twidget.style.zIndex = '12345';\n\twidget.dataset.state = 'closed';\n\n\tconst container = document.createElement('div');\n\tcontainer.className = 'rocketchat-container';\n\tcontainer.style.width = '100%';\n\tcontainer.style.height = '100%';\n\n\tiframe = document.createElement('iframe');\n\tiframe.id = 'rocketchat-iframe';\n\tiframe.allowTransparency = 'true';\n\tiframe.src = url;\n\tiframe.style.width = '100%';\n\tiframe.style.height = '100%';\n\tiframe.style.border = 'none';\n\tiframe.style.backgroundColor = 'transparent';\n\n\tcontainer.appendChild(iframe);\n\twidget.appendChild(container);\n\tdocument.body.appendChild(widget);\n\n\tconst handleMediaQueryTest = ({ matches }) => {\n\t\tif (!widget) {\n\t\t\treturn;\n\t\t}\n\n\t\tsmallScreen = matches;\n\t\tupdateWidgetStyle(widget.dataset.state === 'opened');\n\t\tcallHook('setExpanded', smallScreen);\n\t};\n\n\tconst mediaQueryList = window.matchMedia('screen and (max-device-width: 480px)');\n\tmediaQueryList.addListener(handleMediaQueryTest);\n\thandleMediaQueryTest(mediaQueryList);\n};\n\nconst openWidget = () => {\n\tif (widget.dataset.state === 'opened') {\n\t\treturn;\n\t}\n\n\twidget_height = WIDGET_OPEN_HEIGHT;\n\tupdateWidgetStyle(true);\n\twidget.dataset.state = 'opened';\n\tiframe.focus();\n\temitCallback('chat-maximized');\n};\n\nconst resizeWidget = (height) => {\n\twidget_height = height;\n\tupdateWidgetStyle(true);\n\twidget.dataset.state = 'triggered';\n};\n\nfunction closeWidget() {\n\tif (widget.dataset.state === 'closed') {\n\t\treturn;\n\t}\n\n\tupdateWidgetStyle(false);\n\twidget.dataset.state = 'closed';\n\temitCallback('chat-minimized');\n}\n\nconst api = {\n\tpopup: null,\n\n\tready() {\n\t\tready = true;\n\t\tif (hookQueue.length > 0) {\n\t\t\thookQueue.forEach(function(hookParams) {\n\t\t\t\tcallHook.apply(this, hookParams);\n\t\t\t});\n\t\t\thookQueue = [];\n\t\t}\n\t},\n\n\tminimizeWindow() {\n\t\tcloseWidget();\n\t},\n\n\trestoreWindow() {\n\t\tif (api.popup && api.popup.closed !== true) {\n\t\t\tapi.popup.close();\n\t\t\tapi.popup = null;\n\t\t}\n\t\topenWidget();\n\t},\n\n\topenPopout() {\n\t\tcloseWidget();\n\t\tapi.popup = window.open(`${ config.url }${ config.url.lastIndexOf('?') > -1 ? '&' : '?' }mode=popout`,\n\t\t\t'livechat-popout', `width=${ WIDGET_OPEN_WIDTH }, height=${ widget_height }, toolbars=no`);\n\t\tapi.popup.focus();\n\t},\n\n\topenWidget() {\n\t\topenWidget();\n\t},\n\n\tresizeWidget(height) {\n\t\tresizeWidget(height);\n\t},\n\n\tremoveWidget() {\n\t\tdocument.body.removeChild(widget);\n\t},\n\n\tcallback(eventName, data) {\n\t\temitCallback(eventName, data);\n\t},\n\n\tshowWidget() {\n\t\tiframe.style.display = 'initial';\n\t\temitCallback('show-widget');\n\t},\n\n\thideWidget() {\n\t\tiframe.style.display = 'none';\n\t\temitCallback('hide-widget');\n\t},\n\n\tresetDocumentStyle() {\n\t\tdocument.body.classList.remove('rc-livechat-mobile-full-screen');\n\t},\n\n\tsetFullScreenDocumentMobile() {\n\t\tsmallScreen && document.body.classList.add('rc-livechat-mobile-full-screen');\n\t},\n};\n\nfunction pageVisited(change) {\n\tcallHook('pageVisited', {\n\t\tchange,\n\t\tlocation: JSON.parse(JSON.stringify(document.location)),\n\t\ttitle: document.title,\n\t});\n}\n\nfunction setCustomField(key, value, overwrite) {\n\tif (typeof overwrite === 'undefined') {\n\t\toverwrite = true;\n\t}\n\tcallHook('setCustomField', [key, value, overwrite]);\n}\n\nfunction setTheme(theme) {\n\tcallHook('setTheme', theme);\n}\n\nfunction setDepartment(department) {\n\tcallHook('setDepartment', department);\n}\n\nfunction setBusinessUnit(businessUnit) {\n\tcallHook('setBusinessUnit', businessUnit);\n}\n\nfunction clearBusinessUnit() {\n\tcallHook('clearBusinessUnit');\n}\n\nfunction setGuestToken(token) {\n\tcallHook('setGuestToken', token);\n}\n\nfunction setGuestName(name) {\n\tcallHook('setGuestName', name);\n}\n\nfunction setGuestEmail(email) {\n\tcallHook('setGuestEmail', email);\n}\n\nfunction registerGuest(guest) {\n\tcallHook('registerGuest', guest);\n}\n\nfunction clearDepartment() {\n\tcallHook('clearDepartment');\n}\n\nfunction setAgent(agent) {\n\tcallHook('setAgent', agent);\n}\n\nfunction setLanguage(language) {\n\tcallHook('setLanguage', language);\n}\n\nfunction showWidget() {\n\tcallHook('showWidget');\n}\n\nfunction hideWidget() {\n\tcallHook('hideWidget');\n}\n\nfunction maximizeWidget() {\n\tcallHook('maximizeWidget');\n}\n\nfunction minimizeWidget() {\n\tcallHook('minimizeWidget');\n}\n\nfunction initialize(params) {\n\tfor (const method in params) {\n\t\tif (!params.hasOwnProperty(method)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tswitch (method) {\n\t\t\tcase 'customField':\n\t\t\t\tconst { key, value, overwrite } = params[method];\n\t\t\t\tsetCustomField(key, value, overwrite);\n\t\t\t\tcontinue;\n\t\t\tcase 'setCustomFields':\n\t\t\t\tif (!Array.isArray(params[method])) {\n\t\t\t\t\tconsole.log('Error: Invalid parameters. Value must be an array of objects');\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tparams[method].forEach((data) => {\n\t\t\t\t\tconst { key, value, overwrite } = data;\n\t\t\t\t\tsetCustomField(key, value, overwrite);\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\tcase 'theme':\n\t\t\t\tsetTheme(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'department':\n\t\t\t\tsetDepartment(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'businessUnit': {\n\t\t\t\tsetBusinessUnit(params[method]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcase 'guestToken':\n\t\t\t\tsetGuestToken(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestName':\n\t\t\t\tsetGuestName(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestEmail':\n\t\t\t\tsetGuestEmail(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'registerGuest':\n\t\t\t\tregisterGuest(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'language':\n\t\t\t\tsetLanguage(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'agent':\n\t\t\t\tsetAgent(params[method]);\n\t\t\t\tcontinue;\n\t\t\tdefault:\n\t\t\t\tcontinue;\n\t\t}\n\t}\n}\n\nconst currentPage = {\n\thref: null,\n\ttitle: null,\n};\n\nconst attachMessageListener = () => {\n\twindow.addEventListener('message', (msg) => {\n\t\tif (typeof msg.data === 'object' && msg.data.src !== undefined && msg.data.src === 'rocketchat') {\n\t\t\tif (api[msg.data.fn] !== undefined && typeof api[msg.data.fn] === 'function') {\n\t\t\t\tconst args = [].concat(msg.data.args || []);\n\t\t\t\tlog(`api.${ msg.data.fn }`, ...args);\n\t\t\t\tapi[msg.data.fn].apply(null, args);\n\t\t\t}\n\t\t}\n\t}, false);\n};\n\nconst trackNavigation = () => {\n\tsetInterval(() => {\n\t\tif (document.location.href !== currentPage.href) {\n\t\t\tpageVisited('url');\n\t\t\tcurrentPage.href = document.location.href;\n\t\t}\n\n\t\tif (document.title !== currentPage.title) {\n\t\t\tpageVisited('title');\n\t\t\tcurrentPage.title = document.title;\n\t\t}\n\t}, 800);\n};\n\nconst init = (url) => {\n\tif (!url) {\n\t\treturn;\n\t}\n\n\tconfig.url = url;\n\n\tcreateWidget(url);\n\tattachMessageListener();\n\ttrackNavigation();\n};\n\nif (typeof window.initRocket !== 'undefined') {\n\tconsole.warn('initRocket is now deprecated. Please update the livechat code.');\n\tinit(window.initRocket[0]);\n}\n\nif (typeof window.RocketChat.url !== 'undefined') {\n\tinit(window.RocketChat.url);\n}\n\nconst queue = window.RocketChat._;\n\nwindow.RocketChat._.push = function(c) {\n\tc.call(window.RocketChat.livechat);\n};\nwindow.RocketChat = window.RocketChat._.push;\n\n// exports\nwindow.RocketChat.livechat = {\n\t// methods\n\tpageVisited,\n\tsetCustomField,\n\tinitialize,\n\tsetTheme,\n\tsetDepartment,\n\tclearDepartment,\n\tsetGuestToken,\n\tsetGuestName,\n\tsetGuestEmail,\n\tsetAgent,\n\tregisterGuest,\n\tsetLanguage,\n\tshowWidget,\n\thideWidget,\n\tmaximizeWidget,\n\tminimizeWidget,\n\tsetBusinessUnit,\n\tclearBusinessUnit,\n\n\t// callbacks\n\tonChatMaximized(fn) { registerCallback('chat-maximized', fn); },\n\tonChatMinimized(fn) { registerCallback('chat-minimized', fn); },\n\tonChatStarted(fn) { registerCallback('chat-started', fn); },\n\tonChatEnded(fn) { registerCallback('chat-ended', fn); },\n\tonPrechatFormSubmit(fn) { registerCallback('pre-chat-form-submit', fn); },\n\tonOfflineFormSubmit(fn) { registerCallback('offline-form-submit', fn); },\n\tonWidgetShown(fn) { registerCallback('show-widget', fn); },\n\tonWidgetHidden(fn) { registerCallback('hide-widget', fn); },\n\tonAssignAgent(fn) { registerCallback('assign-agent', fn); },\n\tonAgentStatusChange(fn) { registerCallback('agent-status-change', fn); },\n\tonQueuePositionChange(fn) { registerCallback('queue-position-change', fn); },\n\tonServiceOffline(fn) { registerCallback('no-agent-online', fn); },\n};\n\n// proccess queue\nqueue.forEach((c) => {\n\tc.call(window.RocketChat.livechat);\n});\n","import { validCallbacks } from '../widget';\n\nexport function parentCall(method, args = []) {\n\tconst data = {\n\t\tsrc: 'rocketchat',\n\t\tfn: method,\n\t\targs,\n\t};\n\n\twindow.parent.postMessage(data, '*');\n}\n\nexport const runCallbackEventEmitter = (callbackName, data) => validCallbacks.includes(callbackName) && parentCall('callback', [callbackName, data]);\n","import mitt from 'mitt';\n\nimport { parentCall } from '../lib/parentCall';\nimport { createToken } from '../lib/random';\n\nconst { localStorage, sessionStorage } = window;\n\nexport default class Store {\n\tconstructor(initialState = {}, { localStorageKey = 'store', dontPersist = [] } = {}) {\n\t\tObject.assign(this, mitt());\n\n\t\tthis.localStorageKey = localStorageKey;\n\t\tthis.dontPersist = dontPersist;\n\n\t\tlet storedState;\n\n\t\ttry {\n\t\t\tstoredState = JSON.parse(localStorage.getItem(this.localStorageKey));\n\t\t} catch (e) {\n\t\t\tstoredState = {};\n\t\t} finally {\n\t\t\tstoredState = typeof storedState === 'object' ? storedState : {};\n\t\t}\n\n\t\tthis._state = { ...initialState, ...storedState };\n\n\t\twindow.addEventListener('storage', (e) => {\n\t\t\t// Cross-tab communication\n\t\t\tif (e.key !== this.localStorageKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!e.newValue) {\n\t\t\t\t// The localStorage has been removed\n\t\t\t\treturn location.reload();\n\t\t\t}\n\n\t\t\tconst storedState = JSON.parse(e.newValue);\n\t\t\tthis.setStoredState(storedState);\n\t\t\tthis.emit('storageSynced');\n\t\t});\n\n\t\twindow.addEventListener('load', () => {\n\t\t\tconst sessionId = createToken();\n\t\t\tsessionStorage.setItem('sessionId', sessionId);\n\t\t\tconst { openSessionIds = [] } = this._state;\n\t\t\tthis.setState({ openSessionIds: [sessionId, ...openSessionIds] });\n\t\t});\n\n\t\twindow.addEventListener('visibilitychange', () => {\n\t\t\t!this._state.minimized && !this._state.triggered && parentCall('openWidget');\n\t\t\tthis._state.iframe.visible ? parentCall('showWidget') : parentCall('hideWidget');\n\t\t});\n\n\t\twindow.addEventListener('beforeunload', () => {\n\t\t\tconst sessionId = sessionStorage.getItem('sessionId');\n\t\t\tconst { openSessionIds = [] } = this._state;\n\t\t\tthis.setState({ openSessionIds: openSessionIds.filter((session) => session !== sessionId) });\n\t\t});\n\t}\n\n\tget state() {\n\t\treturn this._state;\n\t}\n\n\tpersist() {\n\t\tconst persistable = { ...this._state };\n\t\tfor (const ignoredKey of this.dontPersist) {\n\t\t\tdelete persistable[ignoredKey];\n\t\t}\n\t\tlocalStorage.setItem(this.localStorageKey, JSON.stringify(persistable));\n\t}\n\n\tsetState(partialState) {\n\t\tconst prevState = this._state;\n\t\tthis._state = { ...prevState, ...partialState };\n\t\tthis.persist();\n\t\tthis.emit('change', [this._state, prevState, partialState]);\n\t}\n\n\tunsetSinglePropInStateByName(propName) {\n\t\tconst prevState = this._state;\n\t\tdelete prevState[propName];\n\t\tthis._state = { ...prevState };\n\t\tthis.persist();\n\t\tthis.emit('change', [this._state, prevState]);\n\t}\n\n\tsetStoredState(storedState) {\n\t\tconst prevState = this._state;\n\n\t\tconst nonPeristable = {};\n\t\tfor (const ignoredKey of this.dontPersist) {\n\t\t\tnonPeristable[ignoredKey] = prevState[ignoredKey];\n\t\t}\n\t\tthis._state = { ...storedState, ...nonPeristable };\n\t\tthis.emit('change', [this._state, prevState]);\n\t}\n}\n","import { h, Component, createContext } from 'preact';\n\nimport { createToken } from '../lib/random';\nimport Store from './Store';\n\nexport const initialState = () => ({\n\ttoken: createToken(),\n\ttyping: [],\n\tconfig: {\n\t\tmessages: {},\n\t\tsettings: {},\n\t\ttheme: {},\n\t\ttriggers: [],\n\t\tdepartments: [],\n\t\tresources: {},\n\t},\n\tmessages: [],\n\tuser: null,\n\tsound: {\n\t\tsrc: '',\n\t\tenabled: true,\n\t\tplay: false,\n\t},\n\tiframe: {\n\t\tguest: {},\n\t\ttheme: {},\n\t\tvisible: true,\n\t},\n\tgdpr: {\n\t\taccepted: false,\n\t},\n\talerts: [],\n\tvisible: true,\n\tminimized: true,\n\tunread: null,\n\tincomingCallAlert: null,\n\tongoingCall: null,\t// TODO: store call info like url, startTime, timeout, etc here\n\tbusinessUnit: null,\n});\n\nconst dontPersist = ['messages', 'typing', 'loading', 'alerts', 'unread', 'noMoreMessages', 'modal', 'incomingCallAlert', 'ongoingCall'];\nexport const store = new Store(initialState(), { dontPersist });\n\nif (process.env.NODE_ENV === 'development') {\n\tstore.on('change', ([, , partialState]) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log('%cstore.setState %c%o', 'color: blue', 'color: initial', partialState);\n\t});\n}\n\n\nconst StoreContext = createContext();\n\nexport class Provider extends Component {\n\tstatic displayName = 'StoreProvider'\n\n\tstate = { ...store.state, dispatch: store.setState.bind(store) }\n\n\thandleStoreChange = () => {\n\t\tthis.setState({ ...store.state });\n\t}\n\n\tcomponentDidMount() {\n\t\tstore.on('change', this.handleStoreChange);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tstore.off('change', this.handleStoreChange);\n\t}\n\n\trender = ({ children }) => (\n\t\t<StoreContext.Provider value={this.state}>\n\t\t\t{children}\n\t\t</StoreContext.Provider>\n\t)\n}\n\nexport const { Consumer } = StoreContext;\n\nexport default store;\n","export default {\n\tunreadMessagesAlertId: 'UNREAD_MESSAGES',\n\tconnectingAgentAlertId: 'CONNECTING_AGENT',\n\tlivechatConnectedAlertId: 'LIVECHAT_CONNECTED',\n\tlivechatDisconnectedAlertId: 'LIVECHAT_DISCONNECTED',\n\tlivechatQueueMessageId: 'LIVECHAT_QUEUE_MESSAGE',\n\twebRTCCallStartedMessageType: 'livechat_webrtc_video_call',\n\tjitsiCallStartedMessageType: 'jitsi_call_started',\n};\n","import parseISO from 'date-fns/parseISO';\nimport mem from 'mem';\nimport { Component } from 'preact';\n\nimport { Livechat, useSsl } from '../api';\nimport I18n from '../i18n';\nimport store from '../store';\n\nexport function flatMap(arr, mapFunc) {\n\tconst result = [];\n\tfor (const [index, elem] of arr.entries()) {\n\t\tconst x = mapFunc(elem, index, arr);\n\t\t// We allow mapFunc() to return non-Arrays\n\t\tif (Array.isArray(x)) {\n\t\t\tresult.push(...x);\n\t\t} else {\n\t\t\tresult.push(x);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport const createClassName = (styles, elementName, modifiers = {}, classes = []) => [\n\tstyles[elementName],\n\t...flatMap(Object.entries(modifiers), ([modifierKey, modifierValue]) => [\n\t\tmodifierValue && styles[`${ elementName }--${ modifierKey }`],\n\t\ttypeof modifierValue !== 'boolean' && styles[`${ elementName }--${ modifierKey }-${ modifierValue }`],\n\t]).filter((className) => !!className), ...classes.filter((className) => !!className)].join(' ');\n\nexport async function asyncForEach(array, callback) {\n\tfor (let index = 0; index < array.length; index++) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tawait callback(array[index], index, array);\n\t}\n}\n\nexport async function asyncEvery(array, callback) {\n\tfor (let index = 0; index < array.length; index++) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tif (!await callback(array[index], index, array)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nexport const debounce = (func, delay) => {\n\tlet inDebounce;\n\n\tfunction f(...args) {\n\t\tconst context = this;\n\t\tclearTimeout(inDebounce);\n\t\tinDebounce = setTimeout(() => func.apply(context, args), delay);\n\t\treturn context;\n\t}\n\n\tf.stop = () => clearTimeout(inDebounce);\n\n\treturn f;\n};\n\nexport const throttle = (func, limit) => {\n\tlet inThrottle;\n\treturn function(...args) {\n\t\tconst context = this;\n\t\tif (!inThrottle) {\n\t\t\tfunc.apply(context, args);\n\t\t\tinThrottle = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tinThrottle = false;\n\t\t\t}, limit);\n\t\t}\n\t};\n};\n\nexport function getInsertIndex(array, item, ranking) {\n\tconst order = ranking(item);\n\tlet min = 0;\n\tlet max = array.length - 1;\n\n\twhile (min <= max) {\n\t\tconst guess = Math.floor((min + max) / 2);\n\t\tconst guessedOrder = ranking(array[guess]);\n\t\tif (guessedOrder < order) {\n\t\t\tmin = guess + 1;\n\t\t} else if (guessedOrder > array[guess + 1]) {\n\t\t\treturn guess;\n\t\t} else {\n\t\t\tmax = guess - 1;\n\t\t}\n\t}\n\n\treturn array.length > 0 ? array.length : 0;\n}\n\nexport function upsert(array = [], item, predicate, ranking) {\n\tconst index = array.findIndex(predicate);\n\n\tif (index > -1) {\n\t\tarray[index] = item;\n\t\treturn array;\n\t}\n\n\tarray.splice(getInsertIndex(array, item, ranking), 0, item);\n\treturn array;\n}\n\n// This will allow widgets that are on different domains to send cookies to the server\n// The default config for same-site (lax) dissalows to send a cookie to a \"3rd party\" unless the user performs an action\n// like a click. Secure flag is required when SameSite is set to None\nconst getSecureCookieSettings = () => (useSsl ? 'SameSite=None; Secure;' : '');\n\nexport const setInitCookies = () => {\n\tdocument.cookie = `rc_is_widget=t; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_room_type=l; path=/; ${ getSecureCookieSettings() }`;\n};\n\nexport const setCookies = (rid, token) => {\n\tdocument.cookie = `rc_rid=${ rid }; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_token=${ token }; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_room_type=l; path=/; ${ getSecureCookieSettings() }`;\n};\n\nexport const getAvatarUrl = (username) => (username ? `${ Livechat.client.host }/avatar/${ username }` : null);\n\nexport const msgTypesNotRendered = ['livechat_video_call', 'livechat_navigation_history', 'au', 'command', 'uj', 'ul', 'livechat-close'];\n\nexport const canRenderMessage = ({ t }) => !msgTypesNotRendered.includes(t);\n\nexport const getAttachmentUrl = (url) => `${ Livechat.client.host }${ url }`;\n\nexport const sortArrayByColumn = (array, column, inverted) => array.sort((a, b) => {\n\tif (a[column] < b[column] && !inverted) {\n\t\treturn -1;\n\t}\n\treturn 1;\n});\n\n\nexport const normalizeTransferHistoryMessage = (transferData, sender) => {\n\tif (!transferData) {\n\t\treturn;\n\t}\n\n\tconst { transferredBy, transferredTo, nextDepartment, scope } = transferData;\n\tconst from = transferredBy && (transferredBy.name || transferredBy.username);\n\n\tconst transferTypes = {\n\t\tagent: () => {\n\t\t\tif (!sender.username) {\n\t\t\t\treturn I18n.t('The chat was transferred to another agent');\n\t\t\t}\n\t\t\tconst to = transferredTo && (transferredTo.name || transferredTo.username);\n\t\t\treturn I18n.t('%{from} transferred the chat to %{to}', { from, to });\n\t\t},\n\t\tdepartment: () => {\n\t\t\tconst to = nextDepartment && nextDepartment.name;\n\t\t\tif (!sender.username) {\n\t\t\t\treturn I18n.t('The agent transferred the chat to the department %{to}', { to });\n\t\t\t}\n\t\t\treturn I18n.t('%{from} transferred the chat to the department %{to}', { from, to });\n\t\t},\n\t\tqueue: () => {\n\t\t\tif (!sender.username) {\n\t\t\t\treturn I18n.t('The chat was moved back to queue');\n\t\t\t}\n\t\t\treturn I18n.t('%{from} returned the chat to the queue', { from });\n\t\t},\n\t};\n\n\treturn transferTypes[scope]();\n};\n\nexport const parseOfflineMessage = (fields = {}) => {\n\tconst host = window.location.origin;\n\treturn Object.assign(fields, { host });\n};\nexport const normalizeDOMRect = ({ left, top, right, bottom }) => ({ left, top, right, bottom });\n\nexport const visibility = (() => {\n\tif (typeof document.hidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.hidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('visibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('visibilitychange', f, false),\n\t\t};\n\t}\n\n\tif (typeof document.msHidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.msHidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('msvisibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('msvisibilitychange', f, false),\n\t\t};\n\t}\n\n\tif (typeof document.webkitHidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.webkitHidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('webkitvisibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('webkitvisibilitychange', f, false),\n\t\t};\n\t}\n\n\treturn {\n\t\thidden: true,\n\t\taddListener: () => {},\n\t\tremoveListener: () => {},\n\t};\n})();\n\n\nexport class MemoizedComponent extends Component {\n\tshouldComponentUpdate(nextProps) {\n\t\tconst { props } = this;\n\n\t\tfor (const key in props) {\n\t\t\tif (props[key] !== nextProps[key]) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tfor (const key in nextProps) {\n\t\t\tif (!(key in props)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\nexport const memo = (component) =>\n\tclass extends MemoizedComponent {\n\t\trender = component\n\t};\n\nexport const isActiveSession = () => {\n\tconst sessionId = sessionStorage.getItem('sessionId');\n\tconst { openSessionIds: [firstSessionId] = [] } = store.state;\n\n\treturn sessionId === firstSessionId;\n};\n\nexport const isMobileDevice = () => window.innerWidth <= 800 && window.innerHeight >= 630;\n\nexport const resolveDate = (dateInput) => {\n\tswitch (typeof dateInput) {\n\t\tcase Date: {\n\t\t\treturn dateInput;\n\t\t}\n\t\tcase 'object': {\n\t\t\treturn new Date(dateInput.$date);\n\t\t}\n\t\tcase 'string': {\n\t\t\treturn parseISO(dateInput);\n\t\t}\n\t\tdefault: {\n\t\t\treturn new Date(dateInput);\n\t\t}\n\t}\n};\n\nconst escapeMap = {\n\t'&': '&amp;',\n\t'<': '&lt;',\n\t'>': '&gt;',\n\t'\"': '&quot;',\n\t'\\'': '&#x27;',\n\t'`': '&#x60;',\n};\n\nconst escapeRegex = new RegExp(`(?:${ Object.keys(escapeMap).join('|') })`, 'g');\n\nconst escapeHtml = mem(\n\t(string) => string.replace(escapeRegex, (match) => escapeMap[match]),\n);\n\nexport const parse = (plainText) =>\n\t[{ plain: plainText }]\n\t\t.map(({ plain, html }) => (plain ? escapeHtml(plain) : html || ''))\n\t\t.join('');\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\n\nimport { Livechat } from '../api';\nimport { canRenderMessage } from '../components/helpers';\nimport I18n from '../i18n';\nimport store from '../store';\nimport constants from './constants';\n\nexport const updateBusinessUnit = async (newBusinessUnit) => {\n\tconst {\n\t\ttoken,\n\t\tconfig: existingConfig,\n\t} = store.state;\n\tif (!token) {\n\t\tthrow new Error('Error! no livechat token found. please make sure you initialize widget first before setting business unit');\n\t}\n\n\tconst { departments } = await Livechat.config({\n\t\ttoken,\n\t\t...newBusinessUnit && { businessUnit: newBusinessUnit },\n\t});\n\n\tif (newBusinessUnit) {\n\t\treturn store.setState({\n\t\t\tconfig: {\n\t\t\t\t...existingConfig,\n\t\t\t\tdepartments,\n\t\t\t},\n\t\t\tbusinessUnit: newBusinessUnit,\n\t\t});\n\t}\n\n\tawait store.setState({\n\t\tconfig: {\n\t\t\t...existingConfig,\n\t\t\tdepartments,\n\t\t},\n\t});\n\tawait store.unsetSinglePropInStateByName('businessUnit');\n};\n\nexport const loadConfig = async () => {\n\tconst {\n\t\ttoken,\n\t\tbusinessUnit = null,\n\t} = store.state;\n\n\tLivechat.credentials.token = token;\n\n\tconst {\n\t\tagent,\n\t\troom,\n\t\tguest: user,\n\t\tresources: { sound: src = null } = {},\n\t\tqueueInfo,\n\t\t...config\n\t} = await Livechat.config({\n\t\ttoken,\n\t\t...businessUnit && { businessUnit },\n\t});\n\n\tawait store.setState({\n\t\tconfig,\n\t\tagent: agent && agent.hiddenInfo ? { hiddenInfo: true } : agent, // TODO: revert it when the API is updated\n\t\troom,\n\t\tuser,\n\t\tqueueInfo,\n\t\tsound: { src, enabled: true, play: false },\n\t\tmessages: [],\n\t\ttyping: [],\n\t\tnoMoreMessages: false,\n\t\tvisible: true,\n\t\tunread: null,\n\t});\n};\n\nexport const processUnread = async () => {\n\tconst { minimized, visible, messages } = store.state;\n\tif (minimized || !visible) {\n\t\tconst { alerts, lastReadMessageId } = store.state;\n\t\tconst renderedMessages = messages.filter((message) => canRenderMessage(message));\n\t\tconst lastReadMessageIndex = renderedMessages.findIndex((item) => item._id === lastReadMessageId);\n\t\tconst unreadMessages = renderedMessages.slice(lastReadMessageIndex + 1);\n\n\t\tif (lastReadMessageIndex !== -1) {\n\t\t\tconst lastReadMessage = renderedMessages[lastReadMessageIndex];\n\t\t\tconst alertMessage = I18n.t({\n\t\t\t\tone: 'One new message since %{since}',\n\t\t\t\tother: '%{count} new messages since %{since}',\n\t\t\t}, {\n\t\t\t\tcount: unreadMessages.length,\n\t\t\t\tsince: format(parseISO(lastReadMessage.ts), 'HH:mm MMM dd'),\n\t\t\t});\n\t\t\tconst alert = { id: constants.unreadMessagesAlertId, children: alertMessage, success: true, timeout: 0 };\n\t\t\tconst newAlerts = alerts.filter((item) => item.id !== constants.unreadMessagesAlertId);\n\t\t\tawait store.setState({ alerts: (newAlerts.push(alert), newAlerts) });\n\t\t}\n\n\t\tawait store.setState({ unread: unreadMessages.length });\n\t}\n};\n","export const CallStatus = {\n\tRINGING: 'ringing',\n\tDECLINED: 'declined',\n\tIN_PROGRESS: 'inProgress', // although on Livechat we only use \"IN_PROGRESS_SAME_TAB\" and \"IN_PROGRESS_DIFFERENT_TAB\", we still need this status since on Rocket.Chat core, this is the status of ongoing calls\n\tIN_PROGRESS_SAME_TAB: 'inProgressSameTab',\n\tIN_PROGRESS_DIFFERENT_TAB: 'inProgressDifferentTab',\n\tENDED: 'ended',\n};\n\nexport const isCallOngoing = (callStatus) => callStatus === CallStatus.IN_PROGRESS\n\t|| callStatus === CallStatus.IN_PROGRESS_DIFFERENT_TAB\n\t|| callStatus === CallStatus.IN_PROGRESS_SAME_TAB;\n","import I18n from '../i18n';\nimport store from '../store';\n\n/**\n * To normalize Language String and return language code\n * @param {String} languageString\n */\nconst normalizeLanguageString = (languageString) => {\n\tlet [languageCode, countryCode] = languageString.split ? languageString.split(/[-_]/) : [];\n\tif (!languageCode || languageCode.length !== 2) {\n\t\treturn 'en';\n\t}\n\tlanguageCode = languageCode.toLowerCase();\n\n\tif (!countryCode || countryCode.length !== 2) {\n\t\tcountryCode = null;\n\t} else {\n\t\tcountryCode = countryCode.toUpperCase();\n\t}\n\n\treturn countryCode ? `${ languageCode }_${ countryCode }` : languageCode;\n};\n\n/**\n * To get browser Language of user\n */\nexport const browserLanguage = () => navigator.userLanguage || navigator.language;\n\n/**\n * This is configured langauge\n */\nexport const configLanguage = () => {\n\tconst { config: { settings: { language } = {} } = {}, iframe: { language: iframeLanguage } = {} } = store.state;\n\treturn iframeLanguage || language;\n};\n\n/**\n * This will update langauge of widget\n */\nexport const setWidgetLanguage = () => I18n.changeLocale(normalizeLanguageString(configLanguage() || browserLanguage()));\n\nexport const getDateFnsLocale = () => {\n\tconst supportedLocales = [\n\t\t'af', 'ar', 'be', 'bg', 'bn', 'ca', 'cs', 'cy', 'da', 'de',\n\t\t'el', 'en-AU', 'en-CA', 'en-GB', 'en-US', 'eo', 'es', 'et',\n\t\t'fa-IR', 'fi', 'fr', 'fr-CA', 'gl', 'gu', 'he', 'hi', 'hr',\n\t\t'hu', 'hy', 'id', 'is', 'it', 'ja', 'ka', 'kk', 'ko', 'lt',\n\t\t'lv', 'nb', 'nl', 'nn', 'pl', 'pt', 'pt-BR', 'ro', 'ru', 'sk',\n\t\t'sl', 'sr', 'sr-Latn', 'sv', 'ta', 'te', 'th', 'tr', 'ug',\n\t\t'uk', 'vi', 'zh_CN', 'zh_TW',\n\t];\n\n\tlet fullLanguage = configLanguage() || browserLanguage();\n\tfullLanguage = fullLanguage.toLowerCase();\n\tconst [languageCode] = fullLanguage.split ? fullLanguage.split(/[-_]/) : [];\n\tconst locale = [fullLanguage, languageCode, 'en-US'].find((lng) => supportedLocales.indexOf(lng) > -1);\n\t// eslint-disable-next-line import/no-dynamic-require\n\treturn require(`date-fns/locale/${ locale }/index.js`);\n};\n","import { formatDistance } from 'date-fns';\n\nimport I18n from '../i18n';\nimport { getDateFnsLocale } from './locale';\n\nexport const normalizeAgent = (agentData) => agentData && { name: agentData.name, username: agentData.username, status: agentData.status };\n\nexport const normalizeQueueAlert = (queueInfo) => {\n\tif (!queueInfo) {\n\t\treturn;\n\t}\n\n\tconst { spot, estimatedWaitTimeSeconds } = queueInfo;\n\tconst locale = getDateFnsLocale();\n\tconst estimatedWaitTime = estimatedWaitTimeSeconds && formatDistance(new Date().setSeconds(estimatedWaitTimeSeconds), new Date(), { locale });\n\treturn spot > 0\n\t&& (\n\t\testimatedWaitTime\n\t\t\t? I18n.t('Your spot is #%{spot} (Estimated wait time: %{estimatedWaitTime})', { spot, estimatedWaitTime })\n\t\t\t: I18n.t('Your spot is #%{spot}', { spot })\n\t);\n};\n","import store from '../store';\n\nexport default class Commands {\n\tconnected() {\n\t\tstore.setState({ connecting: false });\n\t}\n}\n","import { Livechat } from '../api';\nimport { upsert } from '../components/helpers';\nimport { store } from '../store';\nimport { createToken } from './random';\n\nconst addParentMessage = async (parentMessage) => {\n\tconst { state } = store;\n\tconst { parentMessages = [] } = state;\n\tconst { tmid } = parentMessage;\n\n\tif (!parentMessages.find((msg) => msg._id === tmid)) {\n\t\tawait store.setState({ parentMessages: upsert(parentMessages, parentMessage, ({ _id }) => _id === parentMessage._id, ({ ts }) => ts) });\n\t}\n};\n\nconst isThreadMessage = async (message) => {\n\tif (!message || !message.replies) {\n\t\treturn false;\n\t}\n\n\tawait addParentMessage(message);\n\treturn true;\n};\n\nconst findParentMessage = async (tmid) => {\n\tconst { state } = store;\n\tconst { parentMessages = [], room, alerts } = state;\n\n\tlet parentMessage = parentMessages.find((msg) => msg._id === tmid);\n\tif (!parentMessage) {\n\t\tconst { _id: rid } = room;\n\t\ttry {\n\t\t\tparentMessage = await Livechat.message(tmid, { rid });\n\t\t\tawait addParentMessage(parentMessage);\n\t\t} catch (error) {\n\t\t\tconst { data: { error: reason } } = error;\n\t\t\tconst alert = { id: createToken(), children: reason, error: true, timeout: 5000 };\n\t\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t}\n\n\treturn parentMessage;\n};\n\nconst normalizeThreadMessage = async (message) => {\n\tconst { state } = store;\n\tconst { messages = [] } = state;\n\n\tlet parentMessage = messages.find((msg) => msg._id === message.tmid);\n\tif (!parentMessage) {\n\t\tparentMessage = await findParentMessage(message.tmid);\n\t}\n\tconst { msg, attachments = [] } = parentMessage;\n\treturn Object.assign(message, { threadMsg: parentMessage, attachments: [{ attachments, text: msg, tmid: message.tmid }] });\n};\n\nexport const normalizeMessage = async (message) => {\n\tconst isThreadMsg = await isThreadMessage(message);\n\tif (isThreadMsg) {\n\t\treturn null;\n\t}\n\n\tif (message && message.tmid && !message.threadMsg) {\n\t\treturn normalizeThreadMessage(message);\n\t}\n\n\treturn message;\n};\n\nexport const normalizeMessages = (messages = []) => Promise.all(messages.filter((message) => !!normalizeMessage(message)));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nexport const Button = memo(({\n\tsubmit,\n\tdisabled,\n\toutline,\n\tnude,\n\tdanger,\n\tsecondary,\n\tstack,\n\tsmall,\n\tloading,\n\tbadge,\n\ticon,\n\tonClick,\n\tclassName,\n\tstyle = {},\n\tchildren,\n\timg,\n}) => (\n\t<button\n\t\ttype={submit ? 'submit' : 'button'}\n\t\tdisabled={disabled}\n\t\tonClick={onClick}\n\t\tonMouseUp={handleMouseUp}\n\t\taria-label={icon ? children[0] : null}\n\t\tclassName={createClassName(styles, 'button', {\n\t\t\tdisabled,\n\t\t\toutline,\n\t\t\tnude,\n\t\t\tdanger,\n\t\t\tsecondary,\n\t\t\tstack,\n\t\t\tsmall,\n\t\t\tloading,\n\t\t\ticon: !!icon,\n\t\t\timg,\n\t\t}, [className])}\n\t\tstyle={Object.assign({}, style, img && {\n\t\t\tbackgroundImage: `url(${ img })`,\n\t\t})}\n\t>\n\t\t{badge ? (<span className={createClassName(styles, 'button__badge')}>{badge}</span>) : null}\n\t\t{!img && (icon || children)}\n\t</button>\n));\n","import { h, cloneElement, toChildArray } from 'preact';\n\n\nimport { createClassName, memo } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const ButtonGroup = memo(({ children }) => (\n\t<div className={createClassName(styles, 'button-group')}>\n\t\t{toChildArray(children).map((child) => cloneElement(child, { className: createClassName(styles, 'button-group__item') }))}\n\t</div>\n));\n","import { h, Component } from 'preact';\n\nimport I18n from '../../i18n';\nimport { Button } from '../Button';\nimport { ButtonGroup } from '../ButtonGroup';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Modal extends Component {\n\tstatic defaultProps = {\n\t\tdismissByOverlay: true,\n\t}\n\n\thandleKeyDown = ({ key }) => {\n\t\tif (key === 'Escape') {\n\t\t\tthis.triggerDismiss();\n\t\t}\n\t}\n\n\thandleTouchStart = () => {\n\t\tconst { dismissByOverlay } = this.props;\n\t\tdismissByOverlay && this.triggerDismiss();\n\t}\n\n\thandleMouseDown = () => {\n\t\tconst { dismissByOverlay } = this.props;\n\t\tdismissByOverlay && this.triggerDismiss();\n\t}\n\n\ttriggerDismiss = () => {\n\t\tconst { onDismiss } = this.props;\n\t\tthis.mounted && onDismiss && onDismiss();\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.mounted = true;\n\t\twindow.addEventListener('keydown', this.handleKeyDown, false);\n\t\tconst { timeout } = this.props;\n\t\tif (Number.isFinite(timeout) && timeout > 0) {\n\t\t\tsetTimeout(() => this.triggerDismiss(), timeout);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mounted = false;\n\t\twindow.removeEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\trender = ({ children, animated, open, ...props }) => (\n\t\topen ? (\n\t\t\t<div\n\t\t\t\tonTouchStart={this.handleTouchStart}\n\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\tclassName={createClassName(styles, 'modal__overlay')}\n\t\t\t>\n\t\t\t\t<div className={createClassName(styles, 'modal', { animated })} {...props}>{children}</div>\n\t\t\t</div>\n\t\t) : null\n\t)\n}\n\n\nexport const ModalMessage = ({ children }) => (\n\t<div className={createClassName(styles, 'modal__message')}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const ConfirmationModal = ({\n\ttext,\n\tconfirmButtonText = I18n.t('Yes'),\n\tcancelButtonText = I18n.t('No'),\n\tonConfirm,\n\tonCancel,\n\t...props\n}) => (\n\t<Modal open animated dismissByOverlay={false} {...props}>\n\t\t<Modal.Message>{text}</Modal.Message>\n\t\t<ButtonGroup>\n\t\t\t<Button outline secondary onClick={onCancel}>{cancelButtonText}</Button>\n\t\t\t<Button danger onClick={onConfirm}>{confirmButtonText}</Button>\n\t\t</ButtonGroup>\n\t</Modal>\n);\n\n\nexport const AlertModal = ({ text, buttonText = I18n.t('OK'), onConfirm, ...props }) => (\n\t<Modal open animated dismissByOverlay={false} {...props}>\n\t\t<Modal.Message>{text}</Modal.Message>\n\t\t<ButtonGroup>\n\t\t\t<Button secondary onClick={onConfirm}>{buttonText}</Button>\n\t\t</ButtonGroup>\n\t</Modal>\n);\n\n\nModal.Message = ModalMessage;\nModal.Confirm = ConfirmationModal;\nModal.Alert = AlertModal;\n\n\nexport default Modal;\n","import { h } from 'preact';\n\nimport store from '../../store';\nimport Modal from './component';\n\n\nexport default {\n\tconfirm(props = {}) {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst handleButton = (success) => () => {\n\t\t\t\tstore.setState({ modal: null });\n\t\t\t\tresolve({ success });\n\t\t\t};\n\n\t\t\tstore.setState({\n\t\t\t\tmodal: <Modal.Confirm {...props} onConfirm={handleButton(true)} onCancel={handleButton(false)} />,\n\t\t\t});\n\t\t});\n\t},\n\n\talert(props = {}) {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst handleButton = () => () => {\n\t\t\t\tstore.setState({ modal: null });\n\t\t\t\tresolve({ success: true });\n\t\t\t};\n\n\t\t\tstore.setState({\n\t\t\t\tmodal: <Modal.Alert {...props} onConfirm={handleButton()} />,\n\t\t\t});\n\t\t});\n\t},\n};\n","import { Livechat } from '../api';\nimport { ModalManager } from '../components/Modal';\nimport store from '../store';\n\n\nconst promptTranscript = async () => {\n\tconst { config: { messages: { transcriptMessage } }, user: { token, visitorEmails }, room: { _id } } = store.state;\n\tconst email = visitorEmails && visitorEmails.length > 0 ? visitorEmails[0].address : '';\n\tif (!email) {\n\t\treturn;\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst message = transcriptMessage || 'Would you like a copy if this chat emailed'; // (TAPi18n.__('Would_you_like_a_copy_if_this_chat_emailed'));\n\n\treturn ModalManager.confirm({\n\t\ttext: message,\n\t}).then((result) => {\n\t\tif ((typeof result.success === 'boolean') && result.success) {\n\t\t\treturn Livechat.requestTranscript(email, { token, rid: _id });\n\t\t}\n\t});\n};\n\nconst transcriptSentAlert = (message) => ModalManager.alert({\n\ttext: message,\n\ttimeout: 1000,\n});\n\n\nexport const handleTranscript = async () => {\n\tconst { config: { settings: { transcript } = {} } } = store.state;\n\n\tif (!transcript) {\n\t\treturn;\n\t}\n\n\tconst result = await promptTranscript();\n\tif (result && result.success) {\n\t\ttranscriptSentAlert(result.message);\n\t}\n};\n","import { route } from 'preact-router';\n\nimport { Livechat } from '../api';\nimport { CallStatus, isCallOngoing } from '../components/Calls/CallStatus';\nimport { setCookies, upsert, canRenderMessage } from '../components/helpers';\nimport I18n from '../i18n';\nimport { store, initialState } from '../store';\nimport { normalizeAgent } from './api';\nimport Commands from './commands';\nimport constants from './constants';\nimport { loadConfig, processUnread } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\nimport { normalizeMessage, normalizeMessages } from './threads';\nimport { handleTranscript } from './transcript';\n\n\nconst commands = new Commands();\n\nexport const closeChat = async ({ transcriptRequested } = {}) => {\n\tif (!transcriptRequested) {\n\t\tawait handleTranscript();\n\t}\n\n\tconst { config: { settings: { clearLocalStorageWhenChatEnded } = {} } = {} } = store.state;\n\n\tif (clearLocalStorageWhenChatEnded) {\n\t\t// exclude UI-affecting flags\n\t\tconst { minimized, visible, undocked, expanded, businessUnit, ...initial } = initialState();\n\t\tawait store.setState(initial);\n\t}\n\n\tawait loadConfig();\n\tparentCall('callback', 'chat-ended');\n\troute('/chat-finished');\n};\n\n// TODO: use a separate event to listen to call start event. Listening on the message type isn't a good solution\nexport const processIncomingCallMessage = async (message) => {\n\tconst { alerts } = store.state;\n\ttry {\n\t\tawait store.setState({\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: true,\n\t\t\t\tcallProvider: message.t,\n\t\t\t\tcallerUsername: message.u.username,\n\t\t\t\trid: message.rid,\n\t\t\t\ttime: message.ts,\n\t\t\t\tcallId: message._id,\n\t\t\t\turl: message.t === constants.jitsiCallStartedMessageType ? message.customFields.jitsiCallUrl : '',\n\t\t\t},\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.RINGING,\n\t\t\t\ttime: message.ts,\n\t\t\t},\n\t\t});\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\tconst alert = { id: createToken(), children: I18n.t('error_getting_call_alert'), error: true, timeout: 5000 };\n\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t}\n};\n\nconst processMessage = async (message) => {\n\tif (message.t === 'livechat-close') {\n\t\tcloseChat(message);\n\t} else if (message.t === 'command') {\n\t\tcommands[message.msg] && commands[message.msg]();\n\t} else if (message.webRtcCallEndTs) {\n\t\tawait store.setState({ ongoingCall: { callStatus: CallStatus.ENDED, time: message.ts }, incomingCallAlert: null });\n\t} else if (message.t === constants.webRTCCallStartedMessageType || message.t === constants.jitsiCallStartedMessageType) {\n\t\tawait processIncomingCallMessage(message);\n\t}\n};\n\nconst doPlaySound = async (message) => {\n\tconst { sound, user } = store.state;\n\n\tif (!sound.enabled || (user && message.u && message.u._id === user._id)) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ sound: { ...sound, play: true } });\n};\n\nexport const initRoom = async () => {\n\tconst { state } = store;\n\tconst { room } = state;\n\n\tif (!room) {\n\t\treturn;\n\t}\n\n\tLivechat.unsubscribeAll();\n\n\tconst { token, agent, queueInfo, room: { _id: rid, servedBy } } = state;\n\tLivechat.subscribeRoom(rid);\n\n\tlet roomAgent = agent;\n\tif (!roomAgent) {\n\t\tif (servedBy) {\n\t\t\troomAgent = await Livechat.agent({ rid });\n\t\t\tawait store.setState({ agent: roomAgent, queueInfo: null });\n\t\t\tparentCall('callback', ['assign-agent', normalizeAgent(roomAgent)]);\n\t\t}\n\t}\n\n\tif (queueInfo) {\n\t\tparentCall('callback', ['queue-position-change', queueInfo]);\n\t}\n\n\tLivechat.onAgentChange(rid, async (agent) => {\n\t\tawait store.setState({ agent, queueInfo: null });\n\t\tparentCall('callback', ['assign-agent', normalizeAgent(agent)]);\n\t});\n\n\tLivechat.onAgentStatusChange(rid, (status) => {\n\t\tconst { agent } = store.state;\n\t\tagent && store.setState({ agent: { ...agent, status } });\n\t\tparentCall('callback', ['agent-status-change', normalizeAgent(agent)]);\n\t});\n\n\tLivechat.onQueuePositionChange(rid, async (queueInfo) => {\n\t\tawait store.setState({ queueInfo });\n\t\tparentCall('callback', ['queue-position-change', queueInfo]);\n\t});\n\n\tsetCookies(rid, token);\n};\n\nconst isAgentHidden = () => {\n\tconst { config: { settings: { agentHiddenInfo } = {} } = {} } = store.state;\n\n\treturn !!agentHiddenInfo;\n};\n\nconst transformAgentInformationOnMessage = (message) => {\n\tconst { user } = store.state;\n\tif (message && user && message.u && message.u._id !== user._id && isAgentHidden()) {\n\t\treturn { ...message, u: { _id: message.u._id } };\n\t}\n\n\treturn message;\n};\n\nLivechat.onTyping((username, isTyping) => {\n\tconst { typing, user, agent } = store.state;\n\n\tif (user && user.username && user.username === username) {\n\t\treturn;\n\t}\n\n\tif (agent && agent.hiddenInfo) {\n\t\treturn;\n\t}\n\n\tif (typing.indexOf(username) === -1 && isTyping) {\n\t\ttyping.push(username);\n\t\treturn store.setState({ typing });\n\t}\n\n\tif (!isTyping) {\n\t\treturn store.setState({ typing: typing.filter((u) => u !== username) });\n\t}\n});\n\nLivechat.onMessage(async (message) => {\n\tif (message.ts instanceof Date) {\n\t\tmessage.ts = message.ts.toISOString();\n\t}\n\n\tmessage = await normalizeMessage(message);\n\tif (!message) {\n\t\treturn;\n\t}\n\n\tmessage = transformAgentInformationOnMessage(message);\n\n\tawait store.setState({\n\t\tmessages: upsert(store.state.messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t});\n\n\tawait processMessage(message);\n\n\tif (canRenderMessage(message) !== true) {\n\t\treturn;\n\t}\n\n\tif (message.editedAt) {\n\t\treturn;\n\t}\n\n\tawait processUnread();\n\tawait doPlaySound(message);\n});\n\nexport const getGreetingMessages = (messages) => messages && messages.filter((msg) => msg.trigger);\nexport const getLatestCallMessage = (messages) => messages && messages.filter((msg) => msg.t === constants.webRTCCallStartedMessageType || msg.t === constants.jitsiCallStartedMessageType).pop();\n\nexport const loadMessages = async () => {\n\tconst { ongoingCall } = store.state;\n\n\tconst { messages: storedMessages, room: { _id: rid, callStatus } = {} } = store.state;\n\tconst previousMessages = getGreetingMessages(storedMessages);\n\tif (!rid) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ loading: true });\n\tconst rawMessages = (await Livechat.loadMessages(rid)).concat(previousMessages);\n\tconst messages = (await normalizeMessages(rawMessages)).map(transformAgentInformationOnMessage);\n\n\tawait initRoom();\n\tawait store.setState({ messages: (messages || []).reverse(), noMoreMessages: false, loading: false });\n\n\tif (messages && messages.length) {\n\t\tconst lastMessage = messages[messages.length - 1];\n\t\tawait store.setState({ lastReadMessageId: lastMessage && lastMessage._id });\n\t}\n\n\tif (ongoingCall && isCallOngoing(ongoingCall.callStatus)) {\n\t\treturn;\n\t}\n\n\tconst latestCallMessage = getLatestCallMessage(messages);\n\tif (!latestCallMessage) {\n\t\treturn;\n\t}\n\tif (latestCallMessage.t === constants.jitsiCallStartedMessageType) {\n\t\tawait store.setState({\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\ttime: latestCallMessage.ts,\n\t\t\t},\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: false,\n\t\t\t\tcallProvider:\n\t\t\t\tlatestCallMessage.t,\n\t\t\t\turl: latestCallMessage.customFields.jitsiCallUrl,\n\t\t\t},\n\t\t});\n\t\treturn;\n\t}\n\tswitch (callStatus) {\n\t\tcase CallStatus.IN_PROGRESS: {\n\t\t\tawait store.setState({\n\t\t\t\tongoingCall: {\n\t\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\t\ttime: latestCallMessage.ts,\n\t\t\t\t},\n\t\t\t\tincomingCallAlert: {\n\t\t\t\t\tshow: false,\n\t\t\t\t\tcallProvider: latestCallMessage.t,\n\t\t\t\t},\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase CallStatus.RINGING: {\n\t\t\tprocessIncomingCallMessage(latestCallMessage);\n\t\t}\n\t}\n};\n\nexport const loadMoreMessages = async () => {\n\tconst { room: { _id: rid } = {}, messages = [], noMoreMessages = false } = store.state;\n\n\tif (!rid || noMoreMessages) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ loading: true });\n\n\tconst rawMessages = await Livechat.loadMessages(rid, { limit: messages.length + 10 });\n\tconst moreMessages = (await normalizeMessages(rawMessages)).map(transformAgentInformationOnMessage);\n\n\tawait store.setState({\n\t\tmessages: (moreMessages || []).reverse(),\n\t\tnoMoreMessages: messages.length + 10 > moreMessages.length,\n\t\tloading: false,\n\t});\n};\n\nexport const defaultRoomParams = () => {\n\tconst params = {};\n\n\tconst { defaultAgent: agent = {} } = store.state;\n\tif (agent && agent._id) {\n\t\tObject.assign(params, { agentId: agent._id });\n\t}\n\n\treturn params;\n};\n\nstore.on('change', ([state, prevState]) => {\n\t// Cross-tab communication\n\t// Detects when a room is created and then route to the correct container\n\tif (!prevState.room && state.room) {\n\t\troute('/');\n\t}\n});\n","import { Livechat } from '../api';\nimport I18n from '../i18n';\nimport store from '../store';\nimport constants from './constants';\nimport { loadConfig } from './main';\nimport { loadMessages } from './room';\n\nlet self;\nlet timer;\nlet connectedListener;\nlet disconnectedListener;\nlet initiated = false;\nconst { livechatDisconnectedAlertId, livechatConnectedAlertId } = constants;\nconst removeListener = (l) => l.stop();\n\nconst Connection = {\n\tasync init() {\n\t\tif (initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tinitiated = true;\n\t\tself = this;\n\t\tawait this.connect();\n\t},\n\n\tasync connect() {\n\t\ttry {\n\t\t\tthis.clearListeners();\n\t\t\tawait loadConfig();\n\t\t\tawait Livechat.connect();\n\t\t\tthis.addListeners();\n\t\t\tthis.clearAlerts();\n\t\t} catch (e) {\n\t\t\tconsole.error('Connecting error: ', e);\n\t\t}\n\t},\n\n\treconnect() {\n\t\tif (timer) {\n\t\t\treturn;\n\t\t}\n\t\ttimer = setTimeout(async () => {\n\t\t\ttry {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = false;\n\t\t\t\tawait this.connect();\n\t\t\t\tawait loadMessages();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Reconecting error: ', e);\n\t\t\t\tthis.reconnect();\n\t\t\t}\n\t\t}, 5000);\n\t},\n\n\tasync clearAlerts() {\n\t\tconst { alerts } = store.state;\n\t\tawait store.setState({ alerts: alerts.filter((alert) => ![livechatDisconnectedAlertId, livechatConnectedAlertId].includes(alert.id)) });\n\t},\n\n\tasync displayAlert(alert = {}) {\n\t\tconst { alerts } = store.state;\n\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t},\n\n\tasync handleConnected() {\n\t\tawait self.clearAlerts();\n\t\tawait self.displayAlert({ id: livechatConnectedAlertId, children: I18n.t('Livechat connected.'), success: true });\n\t\tawait loadMessages();\n\t},\n\n\tasync handleDisconnected() {\n\t\tawait self.clearAlerts();\n\t\tawait self.displayAlert({ id: livechatDisconnectedAlertId, children: I18n.t('Livechat is not connected.'), error: true, timeout: 0 });\n\t\tself.reconnect();\n\t},\n\n\taddListeners() {\n\t\tif (!connectedListener) {\n\t\t\tconnectedListener = Livechat.onStreamData('connected', this.handleConnected);\n\t\t}\n\n\t\tif (!disconnectedListener) {\n\t\t\tdisconnectedListener = Livechat.onStreamData('close', this.handleDisconnected);\n\t\t}\n\t},\n\n\tclearListeners() {\n\t\tif (connectedListener) {\n\t\t\tconnectedListener.then(removeListener);\n\t\t\tconnectedListener = false;\n\t\t}\n\n\t\tif (disconnectedListener) {\n\t\t\tdisconnectedListener.then(removeListener);\n\t\t\tdisconnectedListener = false;\n\t\t}\n\t},\n};\n\nexport default Connection;\n","import { Livechat } from '../api';\nimport store from '../store';\n\nclass CustomFields {\n\tconstructor() {\n\t\tif (!CustomFields.instance) {\n\t\t\tthis._initiated = false;\n\t\t\tthis._started = false;\n\t\t\tthis._queue = {};\n\t\t\tCustomFields.instance = this;\n\t\t}\n\n\t\treturn CustomFields.instance;\n\t}\n\n\tinit() {\n\t\tif (this._initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._initiated = true;\n\t\tconst { token } = store.state;\n\t\tLivechat.credentials.token = token;\n\n\t\tstore.on('change', this.handleStoreChange);\n\t}\n\n\treset() {\n\t\tthis._initiated = false;\n\t\tthis._started = false;\n\t\tthis._queue = {};\n\t\tstore.off('change', this.handleStoreChange);\n\t}\n\n\thandleStoreChange([state]) {\n\t\tconst { user } = state;\n\t\tconst { _started } = CustomFields.instance;\n\n\t\tif (_started) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!user) {\n\t\t\treturn;\n\t\t}\n\n\t\tCustomFields.instance._started = true;\n\t\tCustomFields.instance.processCustomFields();\n\t}\n\n\tprocessCustomFields() {\n\t\tObject.keys(this._queue).forEach((key) => {\n\t\t\tconst { value, overwrite } = this._queue[key];\n\t\t\tthis.setCustomField(key, value, overwrite);\n\t\t});\n\n\t\tthis._queue = {};\n\t}\n\n\tsetCustomField(key, value, overwrite = true) {\n\t\tif (!this._started) {\n\t\t\tthis._queue[key] = { value, overwrite };\n\t\t\treturn;\n\t\t}\n\n\t\tconst { token } = Livechat.credentials;\n\t\tLivechat.sendCustomField({ token, key, value, overwrite });\n\t}\n}\n\nconst instance = new CustomFields();\nexport default instance;\n","import { route } from 'preact-router';\n\nimport { Livechat } from '../api';\nimport { upsert, asyncForEach } from '../components/helpers';\nimport store from '../store';\nimport { normalizeAgent } from './api';\nimport { processUnread } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\n\nconst agentCacheExpiry = 3600000;\nlet agentPromise;\nconst getAgent = (triggerAction) => {\n\tif (agentPromise) {\n\t\treturn agentPromise;\n\t}\n\n\tagentPromise = new Promise(async (resolve, reject) => {\n\t\tconst { params } = triggerAction;\n\n\t\tif (params.sender === 'queue') {\n\t\t\tconst { state } = store;\n\t\t\tconst { defaultAgent, iframe: { guest: { department } } } = state;\n\t\t\tif (defaultAgent && defaultAgent.ts && Date.now() - defaultAgent.ts < agentCacheExpiry) {\n\t\t\t\treturn resolve(defaultAgent); // cache valid for 1\n\t\t\t}\n\n\t\t\tlet agent;\n\t\t\ttry {\n\t\t\t\tagent = await Livechat.nextAgent(department);\n\t\t\t} catch (error) {\n\t\t\t\treturn reject(error);\n\t\t\t}\n\n\t\t\tstore.setState({ defaultAgent: { ...agent, ts: Date.now() } });\n\t\t\tresolve(agent);\n\t\t} else if (params.sender === 'custom') {\n\t\t\tresolve({\n\t\t\t\tusername: params.name,\n\t\t\t});\n\t\t} else {\n\t\t\treject('Unknown sender');\n\t\t}\n\t});\n\n\t// expire the promise cache as well\n\tsetTimeout(() => {\n\t\tagentPromise = null;\n\t}, agentCacheExpiry);\n\n\treturn agentPromise;\n};\n\nclass Triggers {\n\tconstructor() {\n\t\tif (!Triggers.instance) {\n\t\t\tthis._started = false;\n\t\t\tthis._requests = [];\n\t\t\tthis._triggers = [];\n\t\t\tthis._enabled = true;\n\t\t\tTriggers.instance = this;\n\t\t}\n\n\t\treturn Triggers.instance;\n\t}\n\n\tinit() {\n\t\tif (this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { token, firedTriggers = [], config: { triggers } } = store.state;\n\t\tLivechat.credentials.token = token;\n\n\t\tif (!(triggers && triggers.length > 0)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._started = true;\n\t\tthis._triggers = [...triggers];\n\n\t\tfiredTriggers.forEach((triggerId) => {\n\t\t\tthis._triggers.forEach((trigger) => {\n\t\t\t\tif (trigger._id === triggerId) {\n\t\t\t\t\ttrigger.skip = true;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis.processTriggers();\n\t}\n\n\tasync fire(trigger) {\n\t\tconst { token, user, firedTriggers = [] } = store.state;\n\t\tif (!this._enabled || user) {\n\t\t\treturn;\n\t\t}\n\t\tconst { actions } = trigger;\n\n\t\tawait asyncForEach(actions, (action) => {\n\t\t\tif (action.name === 'send-message') {\n\t\t\t\ttrigger.skip = true;\n\n\t\t\t\tgetAgent(action).then(async (agent) => {\n\t\t\t\t\tconst ts = new Date();\n\n\t\t\t\t\tconst message = {\n\t\t\t\t\t\tmsg: action.params.msg,\n\t\t\t\t\t\ttoken,\n\t\t\t\t\t\tu: agent,\n\t\t\t\t\t\tts: ts.toISOString(),\n\t\t\t\t\t\t_id: createToken(),\n\t\t\t\t\t\ttrigger: true,\n\t\t\t\t\t};\n\n\t\t\t\t\tawait store.setState({\n\t\t\t\t\t\ttriggered: true,\n\t\t\t\t\t\tmessages: upsert(store.state.messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t\t\t\t\t});\n\t\t\t\t\tawait processUnread();\n\n\t\t\t\t\tif (agent && agent._id) {\n\t\t\t\t\t\tawait store.setState({ agent });\n\t\t\t\t\t\tparentCall('callback', ['assign-agent', normalizeAgent(agent)]);\n\t\t\t\t\t}\n\n\t\t\t\t\troute('/trigger-messages');\n\t\t\t\t\tstore.setState({ minimized: false });\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (trigger.runOnce) {\n\t\t\ttrigger.skip = true;\n\t\t\tfiredTriggers.push(trigger._id);\n\t\t\tstore.setState({ firedTriggers });\n\t\t}\n\t}\n\n\tprocessRequest(request) {\n\t\tthis._requests.push(request);\n\t\tif (!this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.processTriggers();\n\t}\n\n\tprocessTriggers() {\n\t\tthis._triggers.forEach((trigger) => {\n\t\t\tif (trigger.skip) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = this;\n\t\t\ttrigger.conditions.forEach((condition) => {\n\t\t\t\tswitch (condition.name) {\n\t\t\t\t\tcase 'page-url':\n\t\t\t\t\t\tthis._requests.forEach((request) => {\n\t\t\t\t\t\t\tconst hrefRegExp = new RegExp(condition.value, 'g');\n\t\t\t\t\t\t\tif (request.location.href.match(hrefRegExp)) {\n\t\t\t\t\t\t\t\tself.fire(trigger);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis._requests = [];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'time-on-site':\n\t\t\t\t\t\tif (trigger.timeout) {\n\t\t\t\t\t\t\tclearTimeout(trigger.timeout);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttrigger.timeout = setTimeout(() => {\n\t\t\t\t\t\t\tthis.fire(trigger);\n\t\t\t\t\t\t}, parseInt(condition.value, 10) * 1000);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tset triggers(newTriggers) {\n\t\tthis._triggers = [...newTriggers];\n\t}\n\n\tset enabled(value) {\n\t\tthis._enabled = value;\n\t}\n}\n\nconst instance = new Triggers();\nexport default instance;\n","import { Livechat } from '../api';\nimport { store } from '../store';\nimport CustomFields from './customFields';\nimport { setWidgetLanguage } from './locale';\nimport { loadConfig, updateBusinessUnit } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\nimport Triggers from './triggers';\n\nconst createOrUpdateGuest = async (guest) => {\n\tconst { token } = guest;\n\ttoken && await store.setState({ token });\n\ttoken && await loadConfig();\n\tconst user = await Livechat.grantVisitor({ visitor: { ...guest } });\n\tstore.setState({ user });\n};\n\nconst updateIframeGuestData = (data) => {\n\tconst { iframe, iframe: { guest }, user: _id, token } = store.state;\n\tstore.setState({ iframe: { ...iframe, guest: { ...guest, ...data } } });\n\n\tif (!_id) {\n\t\treturn;\n\t}\n\n\tconst guestData = { token, ...data };\n\tcreateOrUpdateGuest(guestData);\n};\n\nconst api = {\n\tpageVisited(info) {\n\t\tif (info.change === 'url') {\n\t\t\tTriggers.processRequest(info);\n\t\t}\n\n\t\tconst { token, room: { _id: rid } = {} } = store.state;\n\t\tconst { change, title, location: { href } } = info;\n\n\t\tLivechat.sendVisitorNavigation({ token, rid, pageInfo: { change, title, location: { href } } });\n\t},\n\n\tsetCustomField(key, value, overwrite = true) {\n\t\tCustomFields.setCustomField(key, value, overwrite);\n\t},\n\n\tsetTheme({ color, fontColor, iconColor, title, offlineTitle } = {}) {\n\t\tconst { iframe, iframe: { theme } } = store.state;\n\t\tstore.setState({\n\t\t\tiframe: {\n\t\t\t\t...iframe,\n\t\t\t\ttheme: {\n\t\t\t\t\t...theme,\n\t\t\t\t\tcolor,\n\t\t\t\t\tfontColor,\n\t\t\t\t\ticonColor,\n\t\t\t\t\ttitle,\n\t\t\t\t\tofflineTitle,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t},\n\n\tsetDepartment(value) {\n\t\tconst { config: { departments = [] } } = store.state;\n\n\t\tconst dept = departments.find((dep) => dep._id === value || dep.name === value);\n\t\tconst department = (dept && dept._id) || '';\n\n\t\tupdateIframeGuestData({ department });\n\t},\n\n\tasync setBusinessUnit(newBusinessUnit) {\n\t\tif (!newBusinessUnit || !newBusinessUnit.trim().length) {\n\t\t\tthrow new Error('Error! Invalid business ids');\n\t\t}\n\n\t\tconst { businessUnit: existingBusinessUnit } = store.state;\n\n\t\treturn existingBusinessUnit !== newBusinessUnit && updateBusinessUnit(newBusinessUnit);\n\t},\n\n\tasync clearBusinessUnit() {\n\t\tconst { businessUnit } = store.state;\n\t\treturn businessUnit && updateBusinessUnit();\n\t},\n\n\tclearDepartment() {\n\t\tupdateIframeGuestData({ department: '' });\n\t},\n\n\tsetAgent({ _id, username, ...props } = {}) {\n\t\tif (!_id || !username) {\n\t\t\treturn console.warn('The fields _id and username are mandatory.');\n\t\t}\n\n\t\tstore.setState({\n\t\t\tdefaultAgent: {\n\t\t\t\t_id,\n\t\t\t\tusername,\n\t\t\t\tts: Date.now(),\n\t\t\t\t...props,\n\t\t\t},\n\t\t});\n\t},\n\n\tsetExpanded(expanded) {\n\t\tstore.setState({ expanded });\n\t},\n\n\tasync setGuestToken(token) {\n\t\tconst { token: localToken, iframe, iframe: { guest } } = store.state;\n\t\tif (token === localToken) {\n\t\t\treturn;\n\t\t}\n\t\tstore.setState({ token, iframe: { ...iframe, guest: { ...guest, token } } });\n\t\tawait loadConfig();\n\t},\n\n\tsetGuestName(name) {\n\t\tupdateIframeGuestData({ name });\n\t},\n\n\tsetGuestEmail(email) {\n\t\tupdateIframeGuestData({ email });\n\t},\n\n\tregisterGuest(data = {}) {\n\t\tif (typeof data !== 'object') {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!data.token) {\n\t\t\tdata.token = createToken();\n\t\t}\n\n\t\tif (data.department) {\n\t\t\tapi.setDepartment(data.department);\n\t\t}\n\n\t\tcreateOrUpdateGuest(data);\n\t},\n\n\tasync setLanguage(language) {\n\t\tconst { iframe } = store.state;\n\t\tawait store.setState({ iframe: { ...iframe, language } });\n\t\tsetWidgetLanguage();\n\t},\n\n\tshowWidget() {\n\t\tconst { iframe } = store.state;\n\t\tstore.setState({ iframe: { ...iframe, visible: true } });\n\t\tparentCall('showWidget');\n\t},\n\n\thideWidget() {\n\t\tconst { iframe } = store.state;\n\t\tstore.setState({ iframe: { ...iframe, visible: false } });\n\t\tparentCall('hideWidget');\n\t},\n\n\tminimizeWidget() {\n\t\tstore.setState({ minimized: true });\n\t\tparentCall('closeWidget');\n\t},\n\n\tmaximizeWidget() {\n\t\tstore.setState({ minimized: false });\n\t\tparentCall('openWidget');\n\t},\n};\n\nconst onNewMessage = (event) => {\n\tif (event.source === event.target) {\n\t\treturn;\n\t}\n\n\tif (typeof event.data === 'object' && event.data.src !== undefined && event.data.src === 'rocketchat') {\n\t\tif (api[event.data.fn] !== undefined && typeof api[event.data.fn] === 'function') {\n\t\t\tconst args = [].concat(event.data.args || []);\n\t\t\tapi[event.data.fn].apply(null, args);\n\t\t}\n\t}\n};\n\nclass Hooks {\n\tconstructor() {\n\t\tif (!Hooks.instance) {\n\t\t\tthis._started = false;\n\t\t\tHooks.instance = this;\n\t\t}\n\n\t\treturn Hooks.instance;\n\t}\n\n\tinit() {\n\t\tif (this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._started = true;\n\t\twindow.addEventListener('message', onNewMessage, false);\n\t}\n\n\treset() {\n\t\tthis._started = false;\n\t\twindow.removeEventListener('message', onNewMessage, false);\n\t}\n}\n\nconst instance = new Hooks();\nexport default instance;\n","import { Livechat } from '../api';\nimport store from '../store';\n\nconst docActivityEvents = ['mousemove', 'mousedown', 'touchend', 'keydown'];\nlet timer;\nlet initiated = false;\nconst awayTime = 300000;\nlet self;\nlet oldStatus;\n\nconst userPrensence = {\n\n\tinit() {\n\t\tif (initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tinitiated = true;\n\t\tself = this;\n\t\tstore.on('change', this.handleStoreChange);\n\t},\n\n\treset() {\n\t\tinitiated = false;\n\t\tthis.stopEvents();\n\t\tstore.off('change', this.handleStoreChange);\n\t},\n\n\tstopTimer() {\n\t\ttimer && clearTimeout(timer);\n\t},\n\n\tstartTimer() {\n\t\tthis.stopTimer();\n\t\ttimer = setTimeout(this.setAway, awayTime);\n\t},\n\n\thandleStoreChange([state]) {\n\t\tif (!initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { room, user } = state;\n\t\troom && user ? self.startEvents() : self.stopEvents();\n\t},\n\n\tstartEvents() {\n\t\tdocActivityEvents.forEach((event) => {\n\t\t\tdocument.addEventListener(event, this.setOnline);\n\t\t});\n\n\t\twindow.addEventListener('focus', this.setOnline);\n\t},\n\n\tstopEvents() {\n\t\tdocActivityEvents.forEach((event) => {\n\t\t\tdocument.removeEventListener(event, this.setOnline);\n\t\t});\n\n\t\twindow.removeEventListener('focus', this.setOnline);\n\t\tthis.stopTimer();\n\t},\n\n\tasync setOnline() {\n\t\tself.startTimer();\n\t\tif (oldStatus === 'online') {\n\t\t\treturn;\n\t\t}\n\t\toldStatus = 'online';\n\t\tawait Livechat.updateVisitorStatus('online');\n\t},\n\n\tasync setAway() {\n\t\tself.stopTimer();\n\t\tif (oldStatus === 'away') {\n\t\t\treturn;\n\t\t}\n\t\toldStatus = 'away';\n\t\tawait Livechat.updateVisitorStatus('away');\n\t},\n};\n\nexport default userPrensence;\n","import { h } from 'preact';\n\nimport { Livechat } from '../../api';\nimport store from '../../store';\nimport { createClassName } from '../helpers';\nimport { CallStatus } from './CallStatus';\nimport styles from './styles.scss';\n\n\nexport const CallIframe = () => {\n\tconst { token, room, incomingCallAlert, ongoingCall } = store.state;\n\tconst url = `${ Livechat.client.host }/meet/${ room._id }?token=${ token }&layout=embedded`;\n\twindow.handleIframeClose = () => store.setState({ incomingCallAlert: { ...incomingCallAlert, show: false } });\n\twindow.expandCall = () => {\n\t\twindow.open(\n\t\t\t`${ Livechat.client.host }/meet/${ room._id }?token=${ token }`,\n\t\t\troom._id,\n\t\t);\n\t\treturn store.setState({\n\t\t\tincomingCallAlert: { ...incomingCallAlert, show: false },\n\t\t\tongoingCall: {\n\t\t\t\t...ongoingCall,\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t},\n\t\t});\n\t};\n\treturn (\n\t\t<div className={createClassName(styles, 'call-iframe')}>\n\t\t\t<iframe className={createClassName(styles, 'call-iframe__content')} allow='camera;microphone' src={url} />\n\t\t</div>\n\t);\n};\n","import { h, Component } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Avatar extends Component {\n\tstatic getDerivedStateFromProps(props) {\n\t\tif (props.src) {\n\t\t\treturn { errored: false };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\terrored: false,\n\t}\n\n\thandleError = () => {\n\t\tthis.setState({ errored: true });\n\t}\n\n\trender = ({ small, large, src, description, status, className, style }, { errored }) => (\n\t\t<div\n\t\t\taria-label='User picture'\n\t\t\tclassName={createClassName(styles, 'avatar', { small, large, nobg: src && !errored }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{(src && !errored) && (\n\t\t\t\t<img\n\t\t\t\t\tsrc={src}\n\t\t\t\t\talt={description}\n\t\t\t\t\tclassName={createClassName(styles, 'avatar__image')}\n\t\t\t\t\tonError={this.handleError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{status && (\n\t\t\t\t<span className={createClassName(styles, 'avatar__status', { small, large, status })} />\n\t\t\t)}\n\t\t</div>\n\t)\n}\n","import { h } from 'preact';\nimport { useState } from 'preact/compat';\n\nimport { Livechat } from '../../api';\nimport I18n from '../../i18n';\nimport PhoneAccept from '../../icons/phone.svg';\nimport PhoneDecline from '../../icons/phoneOff.svg';\nimport constants from '../../lib/constants';\nimport store from '../../store';\nimport { Avatar } from '../Avatar';\nimport { Button } from '../Button';\nimport { createClassName, getAvatarUrl, isMobileDevice } from '../helpers';\nimport { CallStatus } from './CallStatus';\nimport styles from './styles.scss';\n\n\nexport const CallNotification = ({\n\tcallProvider,\n\tcallerUsername,\n\turl,\n\tdispatch,\n\ttime,\n\trid,\n\tcallId,\n}) => {\n\tconst [show, setShow] = useState(true);\n\n\tconst callInNewTab = async () => {\n\t\tconst { token } = store.state;\n\t\tconst url = `${ Livechat.client.host }/meet/${ rid }?token=${ token }`;\n\t\tawait dispatch({\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\ttime: { time },\n\t\t\t},\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: false,\n\t\t\t\tcallProvider,\n\t\t\t},\n\t\t});\n\t\twindow.open(url, rid);\n\t};\n\n\tconst acceptClick = async () => {\n\t\tsetShow(!{ show });\n\t\tswitch (callProvider) {\n\t\t\tcase constants.jitsiCallStartedMessageType: {\n\t\t\t\twindow.open(url, rid);\n\t\t\t\tawait dispatch({\n\t\t\t\t\tincomingCallAlert: { show: false, url, callProvider },\n\t\t\t\t\tongoingCall: {\n\t\t\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\t\t\ttime: { time },\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase constants.webRTCCallStartedMessageType: {\n\t\t\t\tawait Livechat.updateCallStatus(CallStatus.IN_PROGRESS, rid, callId);\n\t\t\t\tif (isMobileDevice()) {\n\t\t\t\t\tcallInNewTab();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tawait dispatch({ ongoingCall: { callStatus: CallStatus.IN_PROGRESS_SAME_TAB, time: { time } } });\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst declineClick = async () => {\n\t\tawait Livechat.updateCallStatus(CallStatus.DECLINED, rid, callId);\n\t\tawait Livechat.notifyCallDeclined(rid);\n\t\tawait dispatch({\n\t\t\tincomingCallAlert: null,\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.DECLINED,\n\t\t\t\ttime: { time },\n\t\t\t},\n\t\t});\n\t};\n\n\treturn (\n\t\t<div className={createClassName(styles, 'call-notification')}>\n\t\t\t{\n\t\t\t\tshow && (\n\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content') }>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-avatar') }>\n\t\t\t\t\t\t\t<Avatar src = { getAvatarUrl(callerUsername) } large />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-message') }>\n\t\t\t\t\t\t\t{ I18n.t('Incoming video Call') }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-actions') }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick = { declineClick }\n\t\t\t\t\t\t\t\tclassName = { createClassName(styles, 'call-notification__content-actions-decline') }>\n\t\t\t\t\t\t\t\t<PhoneDecline width = {\t20 } height = { 20 } />\n\t\t\t\t\t\t\t\t<span style='margin-left:5px'> {I18n.t('Decline')} </span >\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button onClick = { acceptClick }\n\t\t\t\t\t\t\t\tclassName = {createClassName(styles, 'call-notification__content-actions-accept') }>\n\t\t\t\t\t\t\t\t<PhoneAccept width = { 20 } height = { 20} />\n\t\t\t\t\t\t\t\t<span style='margin-left:5px'> {I18n.t('Accept')} </span >\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</div>\n\t);\n};\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const ComposerAction = memo(({ text, onClick, className, style = {}, children }) => (\n\t<button\n\t\ttype='button'\n\t\taria-label={text}\n\t\tonClick={onClick}\n\t\tclassName={createClassName(styles, 'composer__action', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</button>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const ComposerActions = memo(({ className, style = {}, children }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'composer__actions', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</div>\n));\n","import { h, Component } from 'preact';\n\nimport { createClassName, parse } from '../helpers';\nimport styles from './styles.scss';\n\nconst findLastTextNode = (node) => {\n\tif (node.nodeType === Node.TEXT_NODE) {\n\t\treturn node;\n\t}\n\tconst children = node.childNodes;\n\tfor (let i = children.length - 1; i >= 0; i--) {\n\t\tconst textNode = findLastTextNode(children[i]);\n\t\tif (textNode !== null) {\n\t\t\treturn textNode;\n\t\t}\n\t}\n\treturn null;\n};\n\nconst replaceCaret = (el) => {\n\t// Place the caret at the end of the element\n\tconst target = findLastTextNode(el);\n\t// do not move caret if element was not focused\n\tconst isTargetFocused = document.activeElement === el;\n\tif (target !== null && target.nodeValue !== null && isTargetFocused) {\n\t\tconst range = document.createRange();\n\t\tconst sel = window.getSelection();\n\t\trange.setStart(target, target.nodeValue.length);\n\t\trange.collapse(true);\n\t\tsel.removeAllRanges();\n\t\tsel.addRange(range);\n\t\tif (el instanceof HTMLElement) {\n\t\t\tel.focus();\n\t\t}\n\t}\n};\n\nexport class Composer extends Component {\n\thandleRef = (el) => {\n\t\tthis.el = el;\n\t}\n\n\thandleInput = (onChange) => () => {\n\t\tif (this.state.inputLock) {\n\t\t\treturn;\n\t\t}\n\t\tonChange && onChange(this.el.innerText);\n\t}\n\n\thandleKeypress = (onSubmit) => (event) => {\n\t\tif (event.which === 13 && !event.shiftKey) {\n\t\t\tevent.preventDefault();\n\t\t\tonSubmit && onSubmit(this.el.innerText);\n\t\t\tthis.el.innerText = '';\n\t\t}\n\t}\n\n\thandlePaste = (onUpload) => async (event) => {\n\t\tif (!event.clipboardData || !event.clipboardData.items) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst items = Array.from(event.clipboardData.items);\n\n\t\tconst files = items.filter((item) => item.kind === 'file' && /^image\\//.test(item.type))\n\t\t\t.map((item) => item.getAsFile());\n\t\tif (files.length) {\n\t\t\tonUpload && onUpload(files);\n\t\t\treturn;\n\t\t}\n\n\t\tconst texts = await Promise.all(\n\t\t\titems.filter((item) => item.kind === 'string' && /^text\\/plain/.test(item.type))\n\t\t\t\t.map((item) => new Promise((resolve) => item.getAsString(resolve))),\n\t\t);\n\n\t\ttexts.forEach((text) => this.pasteText(parse(text)));\n\t}\n\n\thandleDrop = (onUpload) => async (event) => {\n\t\tif (!event.dataTransfer || !event.dataTransfer.items) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst items = Array.from(event.dataTransfer.items);\n\n\t\tconst files = items.filter((item) => item.kind === 'file' && /^image\\//.test(item.type))\n\t\t\t.map((item) => item.getAsFile());\n\t\tif (files.length) {\n\t\t\tonUpload && onUpload(files);\n\t\t\treturn;\n\t\t}\n\n\t\tconst texts = await Promise.all(\n\t\t\titems.filter((item) => item.kind === 'string' && /^text\\/plain/.test(item.type))\n\t\t\t\t.map((item) => new Promise((resolve) => item.getAsString(resolve))),\n\t\t);\n\t\ttexts.forEach((text) => this.pasteText(parse(text)));\n\t}\n\n\thandleClick = () => {\n\t\tconst { handleEmojiClick } = this.props;\n\t\thandleEmojiClick && handleEmojiClick();\n\t}\n\n\tpasteText = (plainText) => {\n\t\tthis.el.focus();\n\n\t\tif (document.queryCommandSupported('insertText')) {\n\t\t\tdocument.execCommand('insertText', false, plainText);\n\t\t\treturn;\n\t\t}\n\n\t\tconst range = document.getSelection().getRangeAt(0);\n\t\trange.deleteContents();\n\t\tconst textNode = document.createTextNode(plainText);\n\t\trange.insertNode(textNode);\n\t\trange.selectNodeContents(textNode);\n\t\trange.collapse(false);\n\n\t\tconst selection = window.getSelection();\n\t\tselection.removeAllRanges();\n\t\tselection.addRange(range);\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tinputLock: false,\n\t\t};\n\t\tthis.value = this.props.value;\n\t\tthis.handleNotifyEmojiSelect = this.handleNotifyEmojiSelect.bind(this);\n\n\t\tif (typeof this.props.notifyEmojiSelect === 'function') {\n\t\t\tthis.props.notifyEmojiSelect(this.handleNotifyEmojiSelect);\n\t\t}\n\t}\n\n\t// we only update composer if value length changed from 0 to 1 or 1 to 0\n\t// everything else is managed by this.el\n\tshouldComponentUpdate({ value: nextValue }) {\n\t\tconst { value, limitTextLength } = this.props;\n\n\t\tconst nextValueEmpty = !nextValue || nextValue.length === 0;\n\t\tconst valueEmpty = !value || value.length === 0;\n\n\t\tif (nextValueEmpty !== valueEmpty) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (nextValue.length === limitTextLength || value.length === limitTextLength) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { el } = this;\n\t\tif (!el) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.props.value !== el.innerHTML) {\n\t\t\tthis.value = this.props.value;\n\t\t\tel.innerHTML = this.value;\n\t\t}\n\t\treplaceCaret(el);\n\t}\n\n\thandleNotifyEmojiSelect(emoji) {\n\t\tconst { onChange } = this.props;\n\t\tconst caretPosition = this.getCaretPosition(this.el);\n\t\tconst oldText = this.el.innerText;\n\t\tconst newText = `${ oldText.substr(0, caretPosition) }${ emoji }&nbsp;${ oldText.substr(caretPosition) }`;\n\t\tthis.el.innerHTML = newText;\n\t\tthis.moveCursorToEndAndFocus(caretPosition + emoji.length + 1);\n\t\tonChange && onChange(this.el.innerText);\n\t}\n\n\tmoveCursorToEndAndFocus(endIndex) {\n\t\tconst setPos = document.createRange();\n\t\tconst set = window.getSelection();\n\t\tsetPos.setStart(this.el.childNodes[0], endIndex);\n\t\tsetPos.collapse(true);\n\t\tset.removeAllRanges();\n\t\tset.addRange(setPos);\n\t}\n\n\tgetCaretPosition(element) {\n\t\tconst doc = element.ownerDocument || element.document;\n\t\tconst win = doc.defaultView || doc.parentWindow;\n\t\tif (typeof win.getSelection !== 'undefined' && win.getSelection().rangeCount > 0) {\n\t\t\tconst range = win.getSelection().getRangeAt(0);\n\t\t\tconst preCaretRange = range.cloneRange();\n\t\t\tpreCaretRange.selectNodeContents(element);\n\t\t\tpreCaretRange.setEnd(range.endContainer, range.endOffset);\n\t\t\treturn preCaretRange.toString().length;\n\t\t}\n\n\t\tif (doc.selection && doc.selection.type !== 'Control') {\n\t\t\tconst textRange = doc.selection.createRange();\n\t\t\tconst preCaretTextRange = doc.body.createTextRange();\n\t\t\tpreCaretTextRange.moveToElementText(element);\n\t\t\tpreCaretTextRange.setEndPoint('EndToEnd', textRange);\n\t\t\treturn preCaretTextRange.text.length;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\thandleInputLock(locked) {\n\t\tthis.setState({ inputLock: locked });\n\t\treturn 0;\n\t}\n\n\trender = ({ pre, post, value, placeholder, onChange, onSubmit, onUpload, className, style }) => (\n\t\t<div className={createClassName(styles, 'composer', { }, [className])} style={style}>\n\t\t\t{pre}\n\t\t\t<div\n\t\t\t\tref={this.handleRef}\n\t\t\t\t{...(\n\t\t\t\t\t{\n\t\t\t\t\t\tcontentEditable: true,\n\t\t\t\t\t\t'data-placeholder': placeholder,\n\t\t\t\t\t\tonInput: this.handleInput(onChange),\n\t\t\t\t\t\tonKeypress: this.handleKeypress(onSubmit),\n\t\t\t\t\t\tonPaste: this.handlePaste(onUpload),\n\t\t\t\t\t\tonDrop: this.handleDrop(onUpload),\n\t\t\t\t\t\tonClick: this.handleClick,\n\t\t\t\t\t}\n\t\t\t\t)}\n\n\t\t\t\tonCompositionStart={() => {\n\t\t\t\t\tthis.handleInputLock(true);\n\t\t\t\t}}\n\n\t\t\t\tonCompositionEnd={() => {\n\t\t\t\t\tthis.handleInputLock(false);\n\t\t\t\t\tonChange && onChange(this.el.innerText);\n\t\t\t\t}}\n\n\n\t\t\t\tclassName={createClassName(styles, 'composer__input')}\n\t\t\t>{value}</div>\n\t\t\t{post}\n\t\t</div>\n\t);\n}\n\nexport { ComposerAction } from './ComposerAction';\nexport { ComposerActions } from './ComposerActions';\n","import { h, Component } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst escapeForRegExp = (string) => string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\nexport class FilesDropTarget extends Component {\n\tstate = {\n\t\tdragLevel: 0,\n\t}\n\n\thandleInputRef = (ref) => {\n\t\tthis.input = ref;\n\t}\n\n\thandleDragOver = (event) => {\n\t\tevent.preventDefault();\n\t}\n\n\thandleDragEnter = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.setState({ dragLevel: this.state.dragLevel + 1 });\n\t}\n\n\thandleDragLeave = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.setState({ dragLevel: this.state.dragLevel - 1 });\n\t}\n\n\thandleDrop = (event) => {\n\t\tevent.preventDefault();\n\n\t\tlet { dragLevel } = this.state;\n\t\tif (dragLevel === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdragLevel = 0;\n\t\tthis.setState({ dragLevel });\n\n\t\tthis.handleUpload(event.dataTransfer.files);\n\t}\n\n\thandleInputChange = (event) => {\n\t\tthis.handleUpload(event.currentTarget.files);\n\t}\n\n\thandleUpload = (files) => {\n\t\tconst { accept, multiple, onUpload } = this.props;\n\n\t\tif (!onUpload) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet filteredFiles = Array.from(files);\n\n\t\tif (accept) {\n\t\t\tconst acceptMatchers = accept.split(',')\n\t\t\t\t.map((acceptString) => {\n\t\t\t\t\tif (acceptString.charAt(0) === '.') {\n\t\t\t\t\t\treturn ({ name }) => new RegExp(`${ escapeForRegExp(acceptString) }$`, 'i').test(name);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst matchTypeOnly = /^(.+)\\/\\*$/i.exec(acceptString);\n\t\t\t\t\tif (matchTypeOnly) {\n\t\t\t\t\t\treturn ({ type }) => new RegExp(`^${ escapeForRegExp(matchTypeOnly[1]) }/.*$`, 'i').test(type);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ({ type }) => new RegExp(`^s${ escapeForRegExp(acceptString) }$`, 'i').test(type);\n\t\t\t\t});\n\n\t\t\tfilteredFiles = filteredFiles.filter((file) => acceptMatchers.some((acceptMatcher) => acceptMatcher(file)));\n\t\t}\n\n\t\tif (!multiple) {\n\t\t\tfilteredFiles = filteredFiles.slice(0, 1);\n\t\t}\n\n\t\tfilteredFiles.length && onUpload(filteredFiles);\n\t}\n\n\tbrowse = () => {\n\t\tthis.input.click();\n\t}\n\n\trender = ({\n\t\toverlayed,\n\t\toverlayText,\n\t\taccept,\n\t\tmultiple,\n\t\tclassName,\n\t\tstyle = {},\n\t\tchildren,\n\t}, { dragLevel }) => (\n\t\t<div\n\t\t\tdata-overlay-text={overlayText}\n\t\t\tonDragOver={this.handleDragOver}\n\t\t\tonDragEnter={this.handleDragEnter}\n\t\t\tonDragLeave={this.handleDragLeave}\n\t\t\tonDrop={this.handleDrop}\n\t\t\tclassName={createClassName(styles, 'drop', { overlayed, dragover: dragLevel > 0 }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<input\n\t\t\t\tref={this.handleInputRef}\n\t\t\t\ttype='file'\n\t\t\t\taccept={accept}\n\t\t\t\tmultiple={multiple}\n\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\tclassName={createClassName(styles, 'drop__input')}\n\t\t\t/>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n","import { h, Component, createContext } from 'preact';\n\nimport { createClassName, normalizeDOMRect } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst PopoverContext = createContext();\n\n\nconst PopoverOverlay = ({ children, className, visible, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'popover__overlay', { visible }, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\n\nexport class PopoverContainer extends Component {\n\tstate = {\n\t\trenderer: null,\n\t}\n\n\topen = (renderer, props, { currentTarget } = {}) => {\n\t\tlet overlayBounds;\n\t\tlet triggerBounds;\n\n\t\tif (this.overlayRef) {\n\t\t\toverlayBounds = normalizeDOMRect(this.overlayRef.base.getBoundingClientRect());\n\t\t}\n\n\t\tif (currentTarget) {\n\t\t\ttriggerBounds = normalizeDOMRect(currentTarget.getBoundingClientRect());\n\t\t}\n\n\t\tthis.setState({ renderer, ...props, overlayBounds, triggerBounds });\n\t}\n\n\tdismiss = () => {\n\t\tthis.setState({ renderer: null, overlayBounds: null, triggerBounds: null });\n\t}\n\n\thandleOverlayGesture = ({ currentTarget, target }) => {\n\t\tif (currentTarget !== target) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dismiss();\n\t}\n\n\thandleKeyDown = ({ key }) => {\n\t\tif (key !== 'Escape') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dismiss();\n\t}\n\n\thandleOverlayRef = (ref) => {\n\t\tthis.overlayRef = ref;\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.mounted = true;\n\t\twindow.addEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mounted = false;\n\t\twindow.removeEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\trender = ({ children }, { renderer, overlayProps, overlayBounds, triggerBounds }) => (\n\t\t<PopoverContext.Provider value={{ open: this.open }}>\n\t\t\t<div className={createClassName(styles, 'popover__container')}>\n\t\t\t\t{children}\n\t\t\t\t<PopoverOverlay\n\t\t\t\t\tref={this.handleOverlayRef}\n\t\t\t\t\tonMouseDown={this.handleOverlayGesture}\n\t\t\t\t\tonTouchStart={this.handleOverlayGesture}\n\t\t\t\t\tvisible={!!renderer}\n\t\t\t\t\t{...overlayProps}\n\t\t\t\t>\n\t\t\t\t\t{renderer ? renderer({ dismiss: this.dismiss, overlayBounds, triggerBounds }) : null}\n\t\t\t\t</PopoverOverlay>\n\t\t\t</div>\n\t\t</PopoverContext.Provider>\n\t)\n}\n\n\nexport const PopoverTrigger = ({ children, ...props }) => (\n\t<PopoverContext.Consumer>\n\t\t{({ open }) => children[0]({ pop: open.bind(null, children[1], props) })}\n\t</PopoverContext.Consumer>\n);\n","import { h, Component } from 'preact';\n\nimport { PopoverTrigger } from '../Popover';\nimport { createClassName, normalizeDOMRect } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const Menu = ({ children, hidden, placement, ...props }) => (\n\t<div className={createClassName(styles, 'menu', { hidden, placement })} {...props}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const Group = ({ children, title, ...props }) => (\n\t<div className={createClassName(styles, 'menu__group')} {...props}>\n\t\t{title && <div className={createClassName(styles, 'menu__group-title')}>{title}</div>}\n\t\t{children}\n\t</div>\n);\n\n\nexport const Item = ({ children, primary, danger, disabled, icon, ...props }) => (\n\t<button\n\t\tclassName={createClassName(styles, 'menu__item', { primary, danger, disabled })}\n\t\tdisabled={disabled}\n\t\t{...props}\n\t>\n\t\t{icon && (\n\t\t\t<div className={createClassName(styles, 'menu__item__icon')}>\n\t\t\t\t{h(icon)}\n\t\t\t</div>\n\t\t)}\n\t\t{children}\n\t</button>\n);\n\n\nclass PopoverMenuWrapper extends Component {\n\tstate = {}\n\n\thandleRef = (ref) => {\n\t\tthis.menuRef = ref;\n\t}\n\n\thandleClick = ({ target }) => {\n\t\tif (!target.closest(`.${ styles.menu__item }`)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { dismiss } = this.props;\n\t\tdismiss();\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { triggerBounds, overlayBounds } = this.props;\n\t\tconst menuBounds = normalizeDOMRect(this.menuRef.base.getBoundingClientRect());\n\n\t\tconst menuWidth = menuBounds.right - menuBounds.left;\n\t\tconst menuHeight = menuBounds.bottom - menuBounds.top;\n\n\t\tconst rightSpace = overlayBounds.right - triggerBounds.left;\n\t\tconst bottomSpace = overlayBounds.bottom - triggerBounds.bottom;\n\n\t\tconst left = menuWidth < rightSpace ? triggerBounds.left - overlayBounds.left : null;\n\t\tconst right = menuWidth < rightSpace ? null : overlayBounds.right - triggerBounds.right;\n\n\t\tconst top = menuHeight < bottomSpace ? triggerBounds.bottom : null;\n\t\tconst bottom = menuHeight < bottomSpace ? null : overlayBounds.bottom - triggerBounds.top;\n\n\t\tconst placement = `${ menuWidth < rightSpace ? 'right' : 'left' }-${ menuHeight < bottomSpace ? 'bottom' : 'top' }`;\n\n\t\t// eslint-disable-next-line react/no-did-mount-set-state\n\t\tthis.setState({\n\t\t\tposition: { left, right, top, bottom },\n\t\t\tplacement,\n\t\t});\n\t}\n\n\trender = ({ children }) => (\n\t\t<Menu\n\t\t\tref={this.handleRef}\n\t\t\tstyle={{ position: 'absolute', ...this.state.position }}\n\t\t\tplacement={this.state.placement}\n\t\t\tonClickCapture={this.handleClick}\n\t\t>\n\t\t\t{children}\n\t\t</Menu>\n\t)\n}\n\n\nexport const PopoverMenu = ({ children, trigger, overlayed }) => (\n\t<PopoverTrigger\n\t\toverlayProps={{\n\t\t\tclassName: overlayed ? createClassName(styles, 'popover-menu__overlay') : null,\n\t\t}}\n\t>\n\t\t{trigger}\n\t\t{({ dismiss, triggerBounds, overlayBounds }) => (\n\t\t\t<PopoverMenuWrapper\n\t\t\t\tdismiss={dismiss}\n\t\t\t\ttriggerBounds={triggerBounds}\n\t\t\t\toverlayBounds={overlayBounds}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</PopoverMenuWrapper>\n\t\t)}\n\t</PopoverTrigger>\n);\n\n\nMenu.Group = Group;\nMenu.Item = Item;\nMenu.Popover = PopoverMenu;\n\n\nexport default Menu;\n","import { h } from 'preact';\n\nimport I18n from '../../i18n';\nimport { PopoverMenu } from '../Menu';\nimport { createClassName } from '../helpers';\nimport Logo from './logo.svg';\nimport styles from './styles.scss';\n\n\nexport const Footer = ({ children, className, ...props }) => (\n\t<footer className={createClassName(styles, 'footer', {}, [className])} {...props}>\n\t\t{children}\n\t</footer>\n);\n\n\nexport const FooterContent = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'footer__content', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const PoweredBy = ({ className, ...props }) => (\n\t<h3 className={createClassName(styles, 'powered-by', {}, [className])} {...props}>\n\t\t{I18n.t('Powered by Rocket.Chat').split('Rocket.Chat')[0]}\n\t\t<a href='https://rocket.chat' target='_blank' rel='noopener noreferrer'>\n\t\t\t<Logo className={createClassName(styles, 'powered-by__logo')} width={60} height={60 * 272 / 1500} role='img' aria-label='Rocket.Chat' />\n\t\t</a>\n\t\t{I18n.t('Powered by Rocket.Chat').split('Rocket.Chat')[1]}\n\t</h3>\n);\n\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nconst OptionsTrigger = ({ pop }) => (\n\t<button className={createClassName(styles, 'footer__options')} onClick={pop} onMouseUp={handleMouseUp}>\n\t\t{I18n.t('Options')}\n\t</button>\n);\n\n\nexport const FooterOptions = ({ children }) => (\n\t<PopoverMenu trigger={OptionsTrigger} overlayed>\n\t\t{children}\n\t</PopoverMenu>\n);\n\n\nexport const CharCounter = ({ className, style = {}, textLength, limitTextLength }) => (\n\t<span\n\t\tclassName={createClassName(styles, 'footer__remainder', { highlight: textLength === limitTextLength }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{textLength} / {limitTextLength}\n\t</span>\n);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageBubble = memo(({\n\tinverse,\n\tnude,\n\tquoted,\n\tclassName,\n\tstyle = {},\n\tchildren,\n\tsystem = false,\n}) => (\n\t<div\n\t\tclassName={createClassName(styles, 'message-bubble', { inverse, nude, quoted, system }, [className])}\n\t\tstyle={style}\n\t>\n\t\t<div className={createClassName(styles, 'message-bubble__inner')}>\n\t\t\t{children}\n\t\t</div>\n\t</div>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const AudioAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'audio-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<audio\n\t\t\tsrc={url}\n\t\t\tcontrols\n\t\t\tclassName={createClassName(styles, 'audio-attachment__inner')}\n\t\t>\n\t\t\t{I18n.t('You browser doesn\\'t support audio element')}\n\t\t</audio>\n\t</MessageBubble>\n));\n","import { h } from 'preact';\n\nimport DocIcon from '../../../icons/doc.svg';\nimport FileIcon from '../../../icons/file.svg';\nimport PDFIcon from '../../../icons/pdf.svg';\nimport PPTIcon from '../../../icons/ppt.svg';\nimport SheetIcon from '../../../icons/sheet.svg';\nimport ZipIcon from '../../../icons/zip.svg';\nimport { memo } from '../../helpers';\n\n\nexport const FileAttachmentIcon = memo(({ url }) => {\n\tconst extension = url ? url.split('.').pop() : null;\n\n\tconst Icon = (/pdf/i.test(extension) && PDFIcon)\n\t\t|| (/doc|docx|rtf|txt|odt|pages|log/i.test(extension) && DocIcon)\n\t\t|| (/ppt|pptx|pps/i.test(extension) && PPTIcon)\n\t\t|| (/xls|xlsx|csv/i.test(extension) && SheetIcon)\n\t\t|| (/zip|rar|7z|gz/i.test(extension) && ZipIcon)\n\t\t|| FileIcon;\n\treturn <Icon width={32} />;\n});\n","import { h } from 'preact';\n\nimport DownloadIcon from '../../../icons/download.svg';\nimport { createClassName, memo } from '../../helpers';\nimport { FileAttachmentIcon } from '../FileAttachmentIcon';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const FileAttachment = memo(({\n\turl,\n\ttitle,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tclassName={createClassName(styles, 'file-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<a\n\t\t\thref={url}\n\t\t\tdownload\n\t\t\ttarget='_blank'\n\t\t\trel='noopener noreferrer'\n\t\t\tclassName={createClassName(styles, 'file-attachment__inner')}\n\t\t>\n\t\t\t<FileAttachmentIcon url={url} />\n\t\t\t<span className={createClassName(styles, 'file-attachment__title')}>{title}</span>\n\t\t\t<DownloadIcon width={20} height={20} className={createClassName(styles, 'file-attachment__download-button')} />\n\t\t</a>\n\t</MessageBubble>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const ImageAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'image-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<img\n\t\t\tsrc={url}\n\t\t\tclassName={createClassName(styles, 'image-attachment__inner')}\n\t\t/>\n\t</MessageBubble>\n));\n","import { h } from 'preact';\n\nimport { Avatar } from '../../Avatar';\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\nexport const MessageAvatars = memo(({\n\tavatarResolver = () => null,\n\tusernames = [],\n\tclassName,\n\tstyle = {},\n}) => (\n\t<div\n\t\tclassName={createClassName(styles, 'message-avatars', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{usernames.map((username) => (\n\t\t\t<Avatar\n\t\t\t\tsrc={avatarResolver(username)}\n\t\t\t\tdescription={username}\n\t\t\t\tclassName={createClassName(styles, 'message-avatars__avatar')}\n\t\t\t/>\n\t\t))}\n\t</div>\n));\n","import { Livechat } from '../api';\nimport { createRandomId } from './random';\n\nexport const UIKitInteractionType = {\n\tMODAL_OPEN: 'modal.open',\n\tMODAL_CLOSE: 'modal.close',\n\tMODAL_UPDATE: 'modal.update',\n\tERRORS: 'errors',\n};\n\nexport const UIKitIncomingInteractionType = {\n\tBLOCK: 'blockAction',\n\tVIEW_SUBMIT: 'viewSubmit',\n\tVIEW_CLOSED: 'viewClosed',\n};\n\nexport const UIKitIncomingInteractionContainerType = {\n\tMESSAGE: 'message',\n\tVIEW: 'view',\n};\n\nconst TRIGGER_TIMEOUT = 5000;\n\nconst triggersId = new Map();\n\n// const instances = new Map();\n\nconst invalidateTriggerId = (id) => {\n\tconst appId = triggersId.get(id);\n\ttriggersId.delete(id);\n\treturn appId;\n};\n\nconst generateTriggerId = (appId) => {\n\tconst triggerId = createRandomId();\n\ttriggersId.set(triggerId, appId);\n\tsetTimeout(invalidateTriggerId, TRIGGER_TIMEOUT, triggerId);\n\treturn triggerId;\n};\n\nconst handlePayloadUserInteraction = (type, { /* appId,*/ triggerId, ...data }) => {\n\tif (!triggersId.has(triggerId)) {\n\t\treturn;\n\t}\n\tconst appId = invalidateTriggerId(triggerId);\n\tif (!appId) {\n\t\treturn;\n\t}\n\n\tconst { view } = data;\n\tlet { viewId } = data;\n\n\tif (view && view.id) {\n\t\tviewId = view.id;\n\t}\n\n\tif (!viewId) {\n\t\treturn;\n\t}\n\n\tif ([UIKitInteractionType.ERRORS].includes(type)) {\n\t\t// events.emit(viewId, {\n\t\t// \ttype,\n\t\t// \ttriggerId,\n\t\t// \tviewId,\n\t\t// \tappId,\n\t\t// \t...data,\n\t\t// });\n\t\treturn UIKitInteractionType.ERRORS;\n\t}\n\n\tif ([UIKitInteractionType.MODAL_UPDATE].includes(type)) {\n\t\t// events.emit(viewId, {\n\t\t// \ttype,\n\t\t// \ttriggerId,\n\t\t// \tviewId,\n\t\t// \tappId,\n\t\t// \t...data,\n\t\t// });\n\t\treturn UIKitInteractionType.MODAL_UPDATE;\n\t}\n\n\tif ([UIKitInteractionType.MODAL_OPEN].includes(type)) {\n\t\t// const instance = modal.push({\n\t\t// \ttemplate: 'ModalBlock',\n\t\t// \tmodifier: 'uikit',\n\t\t// \tcloseOnEscape: false,\n\t\t// \tdata: {\n\t\t// \t\ttriggerId,\n\t\t// \t\tviewId,\n\t\t// \t\tappId,\n\t\t// \t\t...data,\n\t\t// \t},\n\t\t// });\n\t\t// instances.set(viewId, instance);\n\t\treturn UIKitInteractionType.MODAL_OPEN;\n\t}\n\n\treturn UIKitInteractionType.MODAL_ClOSE;\n};\n\nexport const triggerAction = async ({\n\tappId,\n\ttype,\n\tactionId,\n\trid,\n\tmid,\n\tviewId,\n\tcontainer,\n\tpayload,\n}) => {\n\tconst triggerId = generateTriggerId(appId);\n\n\ttry {\n\t\tconst params = {\n\t\t\ttype,\n\t\t\tactionId,\n\t\t\trid,\n\t\t\tmid,\n\t\t\tviewId,\n\t\t\tcontainer,\n\t\t\ttriggerId,\n\t\t\tpayload,\n\t\t};\n\n\t\tconst result = await Promise.race([\n\t\t\tfetch(`${ Livechat.client.host }/api/${ encodeURI(`apps/ui.interaction/${ appId }`) }`, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: Livechat.client.getBody(params),\n\t\t\t\theaders: Object.assign({ 'x-visitor-token': Livechat.credentials.token }, Livechat.client.getHeaders()),\n\t\t\t}).then(Livechat.client.handle),\n\t\t\tnew Promise((_, reject) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\treject(new Error(triggerId));\n\t\t\t\t}, TRIGGER_TIMEOUT);\n\t\t\t}),\n\t\t]);\n\n\t\tconst { type: interactionType, ...data } = result;\n\n\t\treturn handlePayloadUserInteraction(interactionType, data);\n\t} catch (error) {\n\t\tinvalidateTriggerId(triggerId);\n\t\tthrow error;\n\t}\n};\n","import { createContext, h } from 'preact';\nimport { memo, useContext } from 'preact/compat';\n\nconst SurfaceContext = createContext({\n\tdispatchAction: () => undefined,\n});\n\nconst Surface = ({ children, dispatchAction }) =>\n\t<SurfaceContext.Provider\n\t\tchildren={children}\n\t\tvalue={{\n\t\t\tdispatchAction,\n\t\t}}\n\t/>;\n\nexport const useDispatchAction = () =>\n\tuseContext(SurfaceContext).dispatchAction;\n\nexport default memo(Surface);\n","import { createContext, h } from 'preact';\nimport { memo, useContext, useCallback, useState, useRef, useEffect } from 'preact/compat';\n\nimport { useDispatchAction } from './Surface';\n\nconst BlockContext = createContext({\n\tappId: null,\n\tblockId: null,\n});\n\nconst Block = ({ appId, blockId, children }) =>\n\t<BlockContext.Provider\n\t\tchildren={children}\n\t\tvalue={{\n\t\t\tappId,\n\t\t\tblockId,\n\t\t}}\n\t/>;\n\nexport const usePerformAction = (actionId) => {\n\tconst { appId } = useContext(BlockContext);\n\tconst dispatchAction = useDispatchAction();\n\n\tconst [performing, setPerforming] = useState(false);\n\tconst mountedRef = useRef(true);\n\n\tuseEffect(() => () => {\n\t\tmountedRef.current = false;\n\t}, []);\n\n\tconst perform = useCallback(async (payload = {}) => {\n\t\tsetPerforming(true);\n\n\t\ttry {\n\t\t\tawait dispatchAction({\n\t\t\t\tappId,\n\t\t\t\tactionId,\n\t\t\t\tpayload,\n\t\t\t});\n\t\t} finally {\n\t\t\tif (mountedRef.current) {\n\t\t\t\tsetPerforming(false);\n\t\t\t}\n\t\t}\n\t}, [actionId, appId, dispatchAction]);\n\n\treturn [perform, performing];\n};\n\nexport default memo(Block);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo, useState, useMemo, useCallback } from 'preact/compat';\n\nimport I18n from '../../../../i18n';\nimport { Button } from '../../../Button';\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst ActionsBlock = ({ appId, blockId, elements, parser }) => {\n\tconst [collapsed, setCollapsed] = useState(true);\n\tconst renderableElements = useMemo(() => (collapsed ? elements.slice(0, 5) : elements), [collapsed, elements]);\n\tconst hiddenElementsCount = elements.length - renderableElements.length;\n\tconst isMoreButtonVisible = hiddenElementsCount > 0;\n\n\tconst handleMoreButtonClick = useCallback(() => {\n\t\tsetCollapsed(false);\n\t}, []);\n\n\treturn <Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-actions-block')}>\n\t\t\t{renderableElements.map((element, key) => {\n\t\t\t\tconst renderedElement = parser.renderActions(element, BLOCK_CONTEXT.ACTION);\n\t\t\t\tif (!renderedElement) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn <div key={key} className={createClassName(styles, 'uikit-actions-block__item')}>\n\t\t\t\t\t{renderedElement}\n\t\t\t\t</div>;\n\t\t\t})}\n\t\t\t{isMoreButtonVisible && <Button outline secondary small onClick={handleMoreButtonClick}>\n\t\t\t\t{I18n.t('+ %{hiddenElementsCount} more', { hiddenElementsCount })}\n\t\t\t</Button>}\n\t\t</div>\n\t</Block>;\n};\n\nexport default memo(ActionsBlock);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nconst ButtonElement = ({ text, actionId, url, value, style, context, confirm, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleClick = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tif (url) {\n\t\t\tconst newTab = window.open();\n\t\t\tnewTab.opener = null;\n\t\t\tnewTab.location = url;\n\t\t\treturn;\n\t\t}\n\n\t\tawait performAction({ value });\n\t}, [confirm, performAction, url, value]);\n\n\treturn <button\n\t\tchildren={parser.text(text)}\n\t\tclassName={createClassName(styles, 'uikit-button', {\n\t\t\tstyle,\n\t\t\taccessory: context === BLOCK_CONTEXT.SECTION,\n\t\t\taction: context === BLOCK_CONTEXT.ACTION,\n\t\t})}\n\t\tdisabled={performingAction}\n\t\ttype='button'\n\t\tonClick={handleClick}\n\t\tonMouseUp={handleMouseUp}\n\t/>;\n};\n\nexport default memo(ButtonElement);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst ContextBlock = ({ appId, blockId, elements, parser }) =>\n\t<Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-context-block')}>\n\t\t\t{elements.map((element, key) =>\n\t\t\t\t<div key={key} className={createClassName(styles, 'uikit-context-block__item')}>\n\t\t\t\t\t{parser.renderContext(element, BLOCK_CONTEXT.CONTEXT)}\n\t\t\t\t</div>)}\n\t\t</div>\n\t</Block>;\n\nexport default memo(ContextBlock);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\nconst DateInput = ({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<input\n\t\ttype='date'\n\t\tname={name}\n\t\tvalue={value}\n\t\tplaceholder={placeholder}\n\t\tdisabled={disabled}\n\t\tonChange={onChange}\n\t\tonInput={onInput}\n\t\tclassName={createClassName(styles, 'date-input', { disabled, error, small }, [className])}\n\t\tstyle={style}\n\t/>\n);\n\nexport default memo(DateInput);\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport DateInput from '../../../Form/DateInput';\nimport { usePerformAction } from '../Block';\n\nconst DatePickerElement = ({ actionId, confirm/* , placeholder */, initialDate/* , parser */ }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleChange = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tawait performAction({\n\t\t\tinitialDate,\n\t\t\tselectedDate: event.target.value,\n\t\t});\n\t}, [confirm, initialDate, performAction]);\n\n\treturn <DateInput\n\t\tvalue={initialDate}\n\t\tdisabled={performingAction}\n\t\t// TODO: placeholder={parser.text(placeholder)}\n\t\tsmall\n\t\tonChange={handleChange}\n\t/>;\n};\n\nexport default memo(DatePickerElement);\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst DividerBlock = ({ appId, blockId }) =>\n\t<Block appId={appId} blockId={blockId}>\n\t\t<hr\n\t\t\tclassName={createClassName(styles, 'uikit-divider-block')}\n\t\t/>\n\t</Block>;\n\nexport default memo(DividerBlock);\n","import { h } from 'preact';\nimport { memo, useEffect, useState, useMemo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst MAX_SIZE = 360;\n\nconst ImageBlock = ({ appId, blockId, title, imageUrl, altText, parser }) => {\n\tconst [{\n\t\tloading,\n\t\tnaturalWidth,\n\t\tnaturalHeight,\n\t}, updateImageState] = useState(() => ({\n\t\tloading: true,\n\t\tnaturalWidth: MAX_SIZE,\n\t\tnaturalHeight: MAX_SIZE,\n\t}));\n\n\tuseEffect(() => {\n\t\tconst image = new Image();\n\t\tlet cancelled = false;\n\n\t\timage.onload = () => {\n\t\t\tif (cancelled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateImageState({\n\t\t\t\tloading: false,\n\t\t\t\tnaturalWidth: image.naturalWidth,\n\t\t\t\tnaturalHeight: image.naturalHeight,\n\t\t\t});\n\t\t};\n\n\t\timage.src = imageUrl;\n\n\t\treturn () => {\n\t\t\tcancelled = true;\n\t\t};\n\t}, [imageUrl]);\n\n\tconst contentStyle = useMemo(() => ({\n\t\tmaxWidth: Math.min(MAX_SIZE, naturalWidth / naturalHeight * MAX_SIZE),\n\t}), [naturalHeight, naturalWidth]);\n\n\tconst wrapperStyle = useMemo(() => ({\n\t\tpaddingBottom: `${ naturalHeight / naturalWidth * 100 }%`,\n\t}), [naturalHeight, naturalWidth]);\n\n\tconst linkStyle = useMemo(() => ({\n\t\tbackgroundImage: `url(${ imageUrl })`,\n\t}), [imageUrl]);\n\n\treturn <Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-image-block')}>\n\t\t\t{title && <h3 className={createClassName(styles, 'uikit-image-block__title')}>\n\t\t\t\t{parser.text(title)}\n\t\t\t</h3>}\n\t\t\t<div\n\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__content', { loading })}\n\t\t\t\tstyle={contentStyle}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__wrapper')}\n\t\t\t\t\tstyle={wrapperStyle}\n\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\tchildren={imageUrl}\n\t\t\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__link')}\n\t\t\t\t\t\thref={imageUrl}\n\t\t\t\t\t\trel='noopener noreferrer'\n\t\t\t\t\t\tstyle={linkStyle}\n\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\ttitle={altText}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</Block>;\n};\n\nexport default memo(ImageBlock);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst ImageElement = ({ imageUrl, altText, context }) =>\n\t<div\n\t\taria-label={altText}\n\t\tclassName={createClassName(styles, 'uikit-image', {\n\t\t\taccessory: context === BLOCK_CONTEXT.SECTION,\n\t\t\tcontext: context === BLOCK_CONTEXT.CONTEXT,\n\t\t})}\n\t\trole='img'\n\t\tstyle={{\n\t\t\tbackgroundImage: `url(${ imageUrl })`,\n\t\t}}\n\t\ttitle={altText}\n\t/>;\n\nexport default memo(ImageElement);\n","const ascii = { '*\\\\0/*': '🙆', '*\\\\O/*': '🙆', '-___-': '😑', ':\\'-)': '😂', '\\':-)': '😅', '\\':-D': '😅', '>:-)': '😆', '\\':-(': '😓', '>:-(': '😠', ':\\'-(': '😢', 'O:-)': '😇', '0:-3': '😇', '0:-)': '😇', '0;^)': '😇', 'O;-)': '😇', '0;-)': '😇', 'O:-3': '😇', '-__-': '😑', ':-Þ': '😛', '</3': '💔', ':\\')': '😂', ':-D': '😃', '\\':)': '😅', '\\'=)': '😅', '\\':D': '😅', '\\'=D': '😅', '>:)': '😆', '>;)': '😆', '>=)': '😆', ';-)': '😉', '*-)': '😉', ';-]': '😉', ';^)': '😉', '\\':(': '😓', '\\'=(': '😓', ':-*': '😘', ':^*': '😘', '>:P': '😜', 'X-P': '😜', '>:[': '😞', ':-(': '😞', ':-[': '😞', '>:(': '😠', ':\\'(': '😢', ';-(': '😢', '>.<': '😣', '#-)': '😵', '%-)': '😵', 'X-)': '😵', '\\\\0/': '🙆', '\\\\O/': '🙆', '0:3': '😇', '0:)': '😇', 'O:)': '😇', 'O=)': '😇', 'O:3': '😇', 'B-)': '😎', '8-)': '😎', 'B-D': '😎', '8-D': '😎', '-_-': '😑', '>:\\\\': '😕', '>:/': '😕', ':-/': '😕', ':-.': '😕', ':-P': '😛', ':Þ': '😛', ':-b': '😛', ':-O': '😮', O_O: '😮', '>:O': '😮', ':-X': '😶', ':-#': '😶', ':-)': '🙂', '(y)': '👍', '<3': '❤', '=D': '😃', ';)': '😉', '*)': '😉', ';]': '😉', ';D': '😉', ':*': '😘', '=*': '😘', ':(': '😞', ':[': '😞', '=(': '😞', ':@': '😠', ';(': '😢', 'D:': '😨', ':$': '😳', '=$': '😳', '#)': '😵', '%)': '😵', 'X)': '😵', 'B)': '😎', '8)': '😎', ':/': '😕', ':\\\\': '😕', '=/': '😕', '=\\\\': '😕', ':L': '😕', '=L': '😕', ':P': '😛', '=P': '😛', ':b': '😛', ':O': '😮', ':X': '😶', ':#': '😶', '=X': '😶', '=#': '😶', ':)': '🙂', '=]': '🙂', '=)': '🙂', ':]': '🙂', ':D': '😄' };\n\nexport const asciiRegexp = '(\\\\*\\\\\\\\0\\\\/\\\\*|\\\\*\\\\\\\\O\\\\/\\\\*|\\\\-___\\\\-|\\\\:\\'\\\\-\\\\)|\\'\\\\:\\\\-\\\\)|\\'\\\\:\\\\-D|\\\\>\\\\:\\\\-\\\\)|>\\\\:\\\\-\\\\)|\\'\\\\:\\\\-\\\\(|\\\\>\\\\:\\\\-\\\\(|>\\\\:\\\\-\\\\(|\\\\:\\'\\\\-\\\\(|O\\\\:\\\\-\\\\)|0\\\\:\\\\-3|0\\\\:\\\\-\\\\)|0;\\\\^\\\\)|O;\\\\-\\\\)|0;\\\\-\\\\)|O\\\\:\\\\-3|\\\\-__\\\\-|\\\\:\\\\-Þ|\\\\:\\\\-Þ|\\\\<\\\\/3|<\\\\/3|\\\\:\\'\\\\)|\\\\:\\\\-D|\\'\\\\:\\\\)|\\'\\\\=\\\\)|\\'\\\\:D|\\'\\\\=D|\\\\>\\\\:\\\\)|>\\\\:\\\\)|\\\\>;\\\\)|>;\\\\)|\\\\>\\\\=\\\\)|>\\\\=\\\\)|;\\\\-\\\\)|\\\\*\\\\-\\\\)|;\\\\-\\\\]|;\\\\^\\\\)|\\'\\\\:\\\\(|\\'\\\\=\\\\(|\\\\:\\\\-\\\\*|\\\\:\\\\^\\\\*|\\\\>\\\\:P|>\\\\:P|X\\\\-P|\\\\>\\\\:\\\\[|>\\\\:\\\\[|\\\\:\\\\-\\\\(|\\\\:\\\\-\\\\[|\\\\>\\\\:\\\\(|>\\\\:\\\\(|\\\\:\\'\\\\(|;\\\\-\\\\(|\\\\>\\\\.\\\\<|>\\\\.<|#\\\\-\\\\)|%\\\\-\\\\)|X\\\\-\\\\)|\\\\\\\\0\\\\/|\\\\\\\\O\\\\/|0\\\\:3|0\\\\:\\\\)|O\\\\:\\\\)|O\\\\=\\\\)|O\\\\:3|B\\\\-\\\\)|8\\\\-\\\\)|B\\\\-D|8\\\\-D|\\\\-_\\\\-|\\\\>\\\\:\\\\\\\\|>\\\\:\\\\\\\\|\\\\>\\\\:\\\\/|>\\\\:\\\\/|\\\\:\\\\-\\\\/|\\\\:\\\\-\\\\.|\\\\:\\\\-P|\\\\:Þ|\\\\:Þ|\\\\:\\\\-b|\\\\:\\\\-O|O_O|\\\\>\\\\:O|>\\\\:O|\\\\:\\\\-X|\\\\:\\\\-#|\\\\:\\\\-\\\\)|\\\\(y\\\\)|\\\\<3|<3|\\\\=D|;\\\\)|\\\\*\\\\)|;\\\\]|;D|\\\\:\\\\*|\\\\=\\\\*|\\\\:\\\\(|\\\\:\\\\[|\\\\=\\\\(|\\\\:@|;\\\\(|D\\\\:|\\\\:\\\\$|\\\\=\\\\$|#\\\\)|%\\\\)|X\\\\)|B\\\\)|8\\\\)|\\\\:\\\\/|\\\\:\\\\\\\\|\\\\=\\\\/|\\\\=\\\\\\\\|\\\\:L|\\\\=L|\\\\:P|\\\\=P|\\\\:b|\\\\:O|\\\\:X|\\\\:#|\\\\=X|\\\\=#|\\\\:\\\\)|\\\\=\\\\]|\\\\=\\\\)|\\\\:\\\\]|\\\\:D)';\n\nexport default ascii;\n","const emojis = { ':england:': '🏴󠁧󠁢󠁥󠁮󠁧󠁿', ':scotland:': '🏴󠁧󠁢󠁳󠁣󠁴󠁿', ':wales:': '🏴󠁧󠁢󠁷󠁬󠁳󠁿', ':men_holding_hands_medium_light_skin_tone_light_skin_tone:': '👨🏼‍🤝‍👨🏻', ':men_holding_hands_tone2_tone1:': '👨🏼‍🤝‍👨🏻', ':men_holding_hands_medium_skin_tone_light_skin_tone:': '👨🏽‍🤝‍👨🏻', ':men_holding_hands_tone3_tone1:': '👨🏽‍🤝‍👨🏻', ':men_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👨🏽‍🤝‍👨🏼', ':men_holding_hands_tone3_tone2:': '👨🏽‍🤝‍👨🏼', ':men_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👨🏾‍🤝‍👨🏻', ':men_holding_hands_tone4_tone1:': '👨🏾‍🤝‍👨🏻', ':men_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👨🏾‍🤝‍👨🏼', ':men_holding_hands_tone4_tone2:': '👨🏾‍🤝‍👨🏼', ':men_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👨🏾‍🤝‍👨🏽', ':men_holding_hands_tone4_tone3:': '👨🏾‍🤝‍👨🏽', ':men_holding_hands_dark_skin_tone_light_skin_tone:': '👨🏿‍🤝‍👨🏻', ':men_holding_hands_tone5_tone1:': '👨🏿‍🤝‍👨🏻', ':men_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👨🏿‍🤝‍👨🏼', ':men_holding_hands_tone5_tone2:': '👨🏿‍🤝‍👨🏼', ':men_holding_hands_dark_skin_tone_medium_skin_tone:': '👨🏿‍🤝‍👨🏽', ':men_holding_hands_tone5_tone3:': '👨🏿‍🤝‍👨🏽', ':men_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👨🏿‍🤝‍👨🏾', ':men_holding_hands_tone5_tone4:': '👨🏿‍🤝‍👨🏾', ':people_holding_hands_light_skin_tone:': '🧑🏻‍🤝‍🧑🏻', ':people_holding_hands_tone1:': '🧑🏻‍🤝‍🧑🏻', ':people_holding_hands_medium_light_skin_tone:': '🧑🏼‍🤝‍🧑🏼', ':people_holding_hands_tone2:': '🧑🏼‍🤝‍🧑🏼', ':people_holding_hands_medium_light_skin_tone_light_skin_tone:': '🧑🏼‍🤝‍🧑🏻', ':people_holding_hands_tone2_tone1:': '🧑🏼‍🤝‍🧑🏻', ':people_holding_hands_medium_skin_tone:': '🧑🏽‍🤝‍🧑🏽', ':people_holding_hands_tone3:': '🧑🏽‍🤝‍🧑🏽', ':people_holding_hands_medium_skin_tone_light_skin_tone:': '🧑🏽‍🤝‍🧑🏻', ':people_holding_hands_tone3_tone1:': '🧑🏽‍🤝‍🧑🏻', ':people_holding_hands_medium_skin_tone_medium_light_skin_tone:': '🧑🏽‍🤝‍🧑🏼', ':people_holding_hands_tone3_tone2:': '🧑🏽‍🤝‍🧑🏼', ':people_holding_hands_medium_dark_skin_tone:': '🧑🏾‍🤝‍🧑🏾', ':people_holding_hands_tone4:': '🧑🏾‍🤝‍🧑🏾', ':people_holding_hands_medium_dark_skin_tone_light_skin_tone:': '🧑🏾‍🤝‍🧑🏻', ':people_holding_hands_tone4_tone1:': '🧑🏾‍🤝‍🧑🏻', ':people_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '🧑🏾‍🤝‍🧑🏼', ':people_holding_hands_tone4_tone2:': '🧑🏾‍🤝‍🧑🏼', ':people_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '🧑🏾‍🤝‍🧑🏽', ':people_holding_hands_tone4_tone3:': '🧑🏾‍🤝‍🧑🏽', ':people_holding_hands_dark_skin_tone:': '🧑🏿‍🤝‍🧑🏿', ':people_holding_hands_tone5:': '🧑🏿‍🤝‍🧑🏿', ':people_holding_hands_dark_skin_tone_light_skin_tone:': '🧑🏿‍🤝‍🧑🏻', ':people_holding_hands_tone5_tone1:': '🧑🏿‍🤝‍🧑🏻', ':people_holding_hands_dark_skin_tone_medium_light_skin_tone:': '🧑🏿‍🤝‍🧑🏼', ':people_holding_hands_tone5_tone2:': '🧑🏿‍🤝‍🧑🏼', ':people_holding_hands_dark_skin_tone_medium_skin_tone:': '🧑🏿‍🤝‍🧑🏽', ':people_holding_hands_tone5_tone3:': '🧑🏿‍🤝‍🧑🏽', ':people_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '🧑🏿‍🤝‍🧑🏾', ':people_holding_hands_tone5_tone4:': '🧑🏿‍🤝‍🧑🏾', ':woman_and_man_holding_hands_light_skin_tone_medium_light_skin_tone:': '👩🏻‍🤝‍👨🏼', ':woman_and_man_holding_hands_tone1_tone2:': '👩🏻‍🤝‍👨🏼', ':woman_and_man_holding_hands_light_skin_tone_medium_skin_tone:': '👩🏻‍🤝‍👨🏽', ':woman_and_man_holding_hands_tone1_tone3:': '👩🏻‍🤝‍👨🏽', ':woman_and_man_holding_hands_light_skin_tone_medium_dark_skin_tone:': '👩🏻‍🤝‍👨🏾', ':woman_and_man_holding_hands_tone1_tone4:': '👩🏻‍🤝‍👨🏾', ':woman_and_man_holding_hands_light_skin_tone_dark_skin_tone:': '👩🏻‍🤝‍👨🏿', ':woman_and_man_holding_hands_tone1_tone5:': '👩🏻‍🤝‍👨🏿', ':woman_and_man_holding_hands_medium_light_skin_tone_light_skin_tone:': '👩🏼‍🤝‍👨🏻', ':woman_and_man_holding_hands_tone2_tone1:': '👩🏼‍🤝‍👨🏻', ':woman_and_man_holding_hands_medium_light_skin_tone_medium_skin_tone:': '👩🏼‍🤝‍👨🏽', ':woman_and_man_holding_hands_tone2_tone3:': '👩🏼‍🤝‍👨🏽', ':woman_and_man_holding_hands_medium_light_skin_tone_medium_dark_skin_tone:': '👩🏼‍🤝‍👨🏾', ':woman_and_man_holding_hands_tone2_tone4:': '👩🏼‍🤝‍👨🏾', ':woman_and_man_holding_hands_medium_light_skin_tone_dark_skin_tone:': '👩🏼‍🤝‍👨🏿', ':woman_and_man_holding_hands_tone2_tone5:': '👩🏼‍🤝‍👨🏿', ':woman_and_man_holding_hands_medium_skin_tone_light_skin_tone:': '👩🏽‍🤝‍👨🏻', ':woman_and_man_holding_hands_tone3_tone1:': '👩🏽‍🤝‍👨🏻', ':woman_and_man_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👩🏽‍🤝‍👨🏼', ':woman_and_man_holding_hands_tone3_tone2:': '👩🏽‍🤝‍👨🏼', ':woman_and_man_holding_hands_medium_skin_tone_medium_dark_skin_tone:': '👩🏽‍🤝‍👨🏾', ':woman_and_man_holding_hands_tone3_tone4:': '👩🏽‍🤝‍👨🏾', ':woman_and_man_holding_hands_medium_skin_tone_dark_skin_tone:': '👩🏽‍🤝‍👨🏿', ':woman_and_man_holding_hands_tone3_tone5:': '👩🏽‍🤝‍👨🏿', ':woman_and_man_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👩🏾‍🤝‍👨🏻', ':woman_and_man_holding_hands_tone4_tone1:': '👩🏾‍🤝‍👨🏻', ':woman_and_man_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👩🏾‍🤝‍👨🏼', ':woman_and_man_holding_hands_tone4_tone2:': '👩🏾‍🤝‍👨🏼', ':woman_and_man_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👩🏾‍🤝‍👨🏽', ':woman_and_man_holding_hands_tone4_tone3:': '👩🏾‍🤝‍👨🏽', ':woman_and_man_holding_hands_medium_dark_skin_tone_dark_skin_tone:': '👩🏾‍🤝‍👨🏿', ':woman_and_man_holding_hands_tone4_tone5:': '👩🏾‍🤝‍👨🏿', ':woman_and_man_holding_hands_dark_skin_tone_light_skin_tone:': '👩🏿‍🤝‍👨🏻', ':woman_and_man_holding_hands_tone5_tone1:': '👩🏿‍🤝‍👨🏻', ':woman_and_man_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👩🏿‍🤝‍👨🏼', ':woman_and_man_holding_hands_tone5_tone2:': '👩🏿‍🤝‍👨🏼', ':woman_and_man_holding_hands_dark_skin_tone_medium_skin_tone:': '👩🏿‍🤝‍👨🏽', ':woman_and_man_holding_hands_tone5_tone3:': '👩🏿‍🤝‍👨🏽', ':woman_and_man_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👩🏿‍🤝‍👨🏾', ':woman_and_man_holding_hands_tone5_tone4:': '👩🏿‍🤝‍👨🏾', ':women_holding_hands_medium_light_skin_tone_light_skin_tone:': '👩🏼‍🤝‍👩🏻', ':women_holding_hands_tone2_tone1:': '👩🏼‍🤝‍👩🏻', ':women_holding_hands_medium_skin_tone_light_skin_tone:': '👩🏽‍🤝‍👩🏻', ':women_holding_hands_tone3_tone1:': '👩🏽‍🤝‍👩🏻', ':women_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👩🏽‍🤝‍👩🏼', ':women_holding_hands_tone3_tone2:': '👩🏽‍🤝‍👩🏼', ':women_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👩🏾‍🤝‍👩🏻', ':women_holding_hands_tone4_tone1:': '👩🏾‍🤝‍👩🏻', ':women_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👩🏾‍🤝‍👩🏼', ':women_holding_hands_tone4_tone2:': '👩🏾‍🤝‍👩🏼', ':women_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👩🏾‍🤝‍👩🏽', ':women_holding_hands_tone4_tone3:': '👩🏾‍🤝‍👩🏽', ':women_holding_hands_dark_skin_tone_light_skin_tone:': '👩🏿‍🤝‍👩🏻', ':women_holding_hands_tone5_tone1:': '👩🏿‍🤝‍👩🏻', ':women_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👩🏿‍🤝‍👩🏼', ':women_holding_hands_tone5_tone2:': '👩🏿‍🤝‍👩🏼', ':women_holding_hands_dark_skin_tone_medium_skin_tone:': '👩🏿‍🤝‍👩🏽', ':women_holding_hands_tone5_tone3:': '👩🏿‍🤝‍👩🏽', ':women_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👩🏿‍🤝‍👩🏾', ':women_holding_hands_tone5_tone4:': '👩🏿‍🤝‍👩🏾', ':family_mmbb:': '👨‍👨‍👦‍👦', ':family_mmgb:': '👨‍👨‍👧‍👦', ':family_mmgg:': '👨‍👨‍👧‍👧', ':family_mwbb:': '👨‍👩‍👦‍👦', ':family_mwgb:': '👨‍👩‍👧‍👦', ':family_mwgg:': '👨‍👩‍👧‍👧', ':family_wwbb:': '👩‍👩‍👦‍👦', ':family_wwgb:': '👩‍👩‍👧‍👦', ':family_wwgg:': '👩‍👩‍👧‍👧', ':couplekiss_mm:': '👨‍❤️‍💋👨', ':kiss_mm:': '👨‍❤️‍💋👨', ':kiss_woman_man:': '👩‍❤️‍💋👨', ':couplekiss_ww:': '👩‍❤️‍💋👩', ':kiss_ww:': '👩‍❤️‍💋👩', ':family_man_boy_boy:': '👨‍👦‍👦', ':family_man_girl_boy:': '👨‍👧‍👦', ':family_man_girl_girl:': '👨‍👧‍👧', ':family_man_woman_boy:': '👨‍👩‍👦', ':family_mmb:': '👨‍👨‍👦', ':family_mmg:': '👨‍👨‍👧', ':family_mwg:': '👨‍👩‍👧', ':family_woman_boy_boy:': '👩‍👦‍👦', ':family_woman_girl_boy:': '👩‍👧‍👦', ':family_woman_girl_girl:': '👩‍👧‍👧', ':family_wwb:': '👩‍👩‍👦', ':family_wwg:': '👩‍👩‍👧', ':man_artist_light_skin_tone:': '👨🏻‍🎨', ':man_artist_tone1:': '👨🏻‍🎨', ':man_artist_medium_light_skin_tone:': '👨🏼‍🎨', ':man_artist_tone2:': '👨🏼‍🎨', ':man_artist_medium_skin_tone:': '👨🏽‍🎨', ':man_artist_tone3:': '👨🏽‍🎨', ':man_artist_medium_dark_skin_tone:': '👨🏾‍🎨', ':man_artist_tone4:': '👨🏾‍🎨', ':man_artist_dark_skin_tone:': '👨🏿‍🎨', ':man_artist_tone5:': '👨🏿‍🎨', ':man_astronaut_light_skin_tone:': '👨🏻‍🚀', ':man_astronaut_tone1:': '👨🏻‍🚀', ':man_astronaut_medium_light_skin_tone:': '👨🏼‍🚀', ':man_astronaut_tone2:': '👨🏼‍🚀', ':man_astronaut_medium_skin_tone:': '👨🏽‍🚀', ':man_astronaut_tone3:': '👨🏽‍🚀', ':man_astronaut_medium_dark_skin_tone:': '👨🏾‍🚀', ':man_astronaut_tone4:': '👨🏾‍🚀', ':man_astronaut_dark_skin_tone:': '👨🏿‍🚀', ':man_astronaut_tone5:': '👨🏿‍🚀', ':man_bald_light_skin_tone:': '👨🏻‍🦲', ':man_bald_tone1:': '👨🏻‍🦲', ':man_bald_medium_light_skin_tone:': '👨🏼‍🦲', ':man_bald_tone2:': '👨🏼‍🦲', ':man_bald_medium_skin_tone:': '👨🏽‍🦲', ':man_bald_tone3:': '👨🏽‍🦲', ':man_bald_medium_dark_skin_tone:': '👨🏾‍🦲', ':man_bald_tone4:': '👨🏾‍🦲', ':man_bald_dark_skin_tone:': '👨🏿‍🦲', ':man_bald_tone5:': '👨🏿‍🦲', ':man_cook_light_skin_tone:': '👨🏻‍🍳', ':man_cook_tone1:': '👨🏻‍🍳', ':man_cook_medium_light_skin_tone:': '👨🏼‍🍳', ':man_cook_tone2:': '👨🏼‍🍳', ':man_cook_medium_skin_tone:': '👨🏽‍🍳', ':man_cook_tone3:': '👨🏽‍🍳', ':man_cook_medium_dark_skin_tone:': '👨🏾‍🍳', ':man_cook_tone4:': '👨🏾‍🍳', ':man_cook_dark_skin_tone:': '👨🏿‍🍳', ':man_cook_tone5:': '👨🏿‍🍳', ':man_curly_haired_light_skin_tone:': '👨🏻‍🦱', ':man_curly_haired_tone1:': '👨🏻‍🦱', ':man_curly_haired_medium_light_skin_tone:': '👨🏼‍🦱', ':man_curly_haired_tone2:': '👨🏼‍🦱', ':man_curly_haired_medium_skin_tone:': '👨🏽‍🦱', ':man_curly_haired_tone3:': '👨🏽‍🦱', ':man_curly_haired_medium_dark_skin_tone:': '👨🏾‍🦱', ':man_curly_haired_tone4:': '👨🏾‍🦱', ':man_curly_haired_dark_skin_tone:': '👨🏿‍🦱', ':man_curly_haired_tone5:': '👨🏿‍🦱', ':man_factory_worker_light_skin_tone:': '👨🏻‍🏭', ':man_factory_worker_tone1:': '👨🏻‍🏭', ':man_factory_worker_medium_light_skin_tone:': '👨🏼‍🏭', ':man_factory_worker_tone2:': '👨🏼‍🏭', ':man_factory_worker_medium_skin_tone:': '👨🏽‍🏭', ':man_factory_worker_tone3:': '👨🏽‍🏭', ':man_factory_worker_medium_dark_skin_tone:': '👨🏾‍🏭', ':man_factory_worker_tone4:': '👨🏾‍🏭', ':man_factory_worker_dark_skin_tone:': '👨🏿‍🏭', ':man_factory_worker_tone5:': '👨🏿‍🏭', ':man_farmer_light_skin_tone:': '👨🏻‍🌾', ':man_farmer_tone1:': '👨🏻‍🌾', ':man_farmer_medium_light_skin_tone:': '👨🏼‍🌾', ':man_farmer_tone2:': '👨🏼‍🌾', ':man_farmer_medium_skin_tone:': '👨🏽‍🌾', ':man_farmer_tone3:': '👨🏽‍🌾', ':man_farmer_medium_dark_skin_tone:': '👨🏾‍🌾', ':man_farmer_tone4:': '👨🏾‍🌾', ':man_farmer_dark_skin_tone:': '👨🏿‍🌾', ':man_farmer_tone5:': '👨🏿‍🌾', ':man_firefighter_light_skin_tone:': '👨🏻‍🚒', ':man_firefighter_tone1:': '👨🏻‍🚒', ':man_firefighter_medium_light_skin_tone:': '👨🏼‍🚒', ':man_firefighter_tone2:': '👨🏼‍🚒', ':man_firefighter_medium_skin_tone:': '👨🏽‍🚒', ':man_firefighter_tone3:': '👨🏽‍🚒', ':man_firefighter_medium_dark_skin_tone:': '👨🏾‍🚒', ':man_firefighter_tone4:': '👨🏾‍🚒', ':man_firefighter_dark_skin_tone:': '👨🏿‍🚒', ':man_firefighter_tone5:': '👨🏿‍🚒', ':man_in_manual_wheelchair_light_skin_tone:': '👨🏻‍🦽', ':man_in_manual_wheelchair_tone1:': '👨🏻‍🦽', ':man_in_manual_wheelchair_medium_light_skin_tone:': '👨🏼‍🦽', ':man_in_manual_wheelchair_tone2:': '👨🏼‍🦽', ':man_in_manual_wheelchair_medium_skin_tone:': '👨🏽‍🦽', ':man_in_manual_wheelchair_tone3:': '👨🏽‍🦽', ':man_in_manual_wheelchair_medium_dark_skin_tone:': '👨🏾‍🦽', ':man_in_manual_wheelchair_tone4:': '👨🏾‍🦽', ':man_in_manual_wheelchair_dark_skin_tone:': '👨🏿‍🦽', ':man_in_manual_wheelchair_tone5:': '👨🏿‍🦽', ':man_in_motorized_wheelchair_light_skin_tone:': '👨🏻‍🦼', ':man_in_motorized_wheelchair_tone1:': '👨🏻‍🦼', ':man_in_motorized_wheelchair_medium_light_skin_tone:': '👨🏼‍🦼', ':man_in_motorized_wheelchair_tone2:': '👨🏼‍🦼', ':man_in_motorized_wheelchair_medium_skin_tone:': '👨🏽‍🦼', ':man_in_motorized_wheelchair_tone3:': '👨🏽‍🦼', ':man_in_motorized_wheelchair_medium_dark_skin_tone:': '👨🏾‍🦼', ':man_in_motorized_wheelchair_tone4:': '👨🏾‍🦼', ':man_in_motorized_wheelchair_dark_skin_tone:': '👨🏿‍🦼', ':man_in_motorized_wheelchair_tone5:': '👨🏿‍🦼', ':man_mechanic_light_skin_tone:': '👨🏻‍🔧', ':man_mechanic_tone1:': '👨🏻‍🔧', ':man_mechanic_medium_light_skin_tone:': '👨🏼‍🔧', ':man_mechanic_tone2:': '👨🏼‍🔧', ':man_mechanic_medium_skin_tone:': '👨🏽‍🔧', ':man_mechanic_tone3:': '👨🏽‍🔧', ':man_mechanic_medium_dark_skin_tone:': '👨🏾‍🔧', ':man_mechanic_tone4:': '👨🏾‍🔧', ':man_mechanic_dark_skin_tone:': '👨🏿‍🔧', ':man_mechanic_tone5:': '👨🏿‍🔧', ':man_office_worker_light_skin_tone:': '👨🏻‍💼', ':man_office_worker_tone1:': '👨🏻‍💼', ':man_office_worker_medium_light_skin_tone:': '👨🏼‍💼', ':man_office_worker_tone2:': '👨🏼‍💼', ':man_office_worker_medium_skin_tone:': '👨🏽‍💼', ':man_office_worker_tone3:': '👨🏽‍💼', ':man_office_worker_medium_dark_skin_tone:': '👨🏾‍💼', ':man_office_worker_tone4:': '👨🏾‍💼', ':man_office_worker_dark_skin_tone:': '👨🏿‍💼', ':man_office_worker_tone5:': '👨🏿‍💼', ':man_red_haired_light_skin_tone:': '👨🏻‍🦰', ':man_red_haired_tone1:': '👨🏻‍🦰', ':man_red_haired_medium_light_skin_tone:': '👨🏼‍🦰', ':man_red_haired_tone2:': '👨🏼‍🦰', ':man_red_haired_medium_skin_tone:': '👨🏽‍🦰', ':man_red_haired_tone3:': '👨🏽‍🦰', ':man_red_haired_medium_dark_skin_tone:': '👨🏾‍🦰', ':man_red_haired_tone4:': '👨🏾‍🦰', ':man_red_haired_dark_skin_tone:': '👨🏿‍🦰', ':man_red_haired_tone5:': '👨🏿‍🦰', ':man_scientist_light_skin_tone:': '👨🏻‍🔬', ':man_scientist_tone1:': '👨🏻‍🔬', ':man_scientist_medium_light_skin_tone:': '👨🏼‍🔬', ':man_scientist_tone2:': '👨🏼‍🔬', ':man_scientist_medium_skin_tone:': '👨🏽‍🔬', ':man_scientist_tone3:': '👨🏽‍🔬', ':man_scientist_medium_dark_skin_tone:': '👨🏾‍🔬', ':man_scientist_tone4:': '👨🏾‍🔬', ':man_scientist_dark_skin_tone:': '👨🏿‍🔬', ':man_scientist_tone5:': '👨🏿‍🔬', ':man_singer_light_skin_tone:': '👨🏻‍🎤', ':man_singer_tone1:': '👨🏻‍🎤', ':man_singer_medium_light_skin_tone:': '👨🏼‍🎤', ':man_singer_tone2:': '👨🏼‍🎤', ':man_singer_medium_skin_tone:': '👨🏽‍🎤', ':man_singer_tone3:': '👨🏽‍🎤', ':man_singer_medium_dark_skin_tone:': '👨🏾‍🎤', ':man_singer_tone4:': '👨🏾‍🎤', ':man_singer_dark_skin_tone:': '👨🏿‍🎤', ':man_singer_tone5:': '👨🏿‍🎤', ':man_student_light_skin_tone:': '👨🏻‍🎓', ':man_student_tone1:': '👨🏻‍🎓', ':man_student_medium_light_skin_tone:': '👨🏼‍🎓', ':man_student_tone2:': '👨🏼‍🎓', ':man_student_medium_skin_tone:': '👨🏽‍🎓', ':man_student_tone3:': '👨🏽‍🎓', ':man_student_medium_dark_skin_tone:': '👨🏾‍🎓', ':man_student_tone4:': '👨🏾‍🎓', ':man_student_dark_skin_tone:': '👨🏿‍🎓', ':man_student_tone5:': '👨🏿‍🎓', ':man_teacher_light_skin_tone:': '👨🏻‍🏫', ':man_teacher_tone1:': '👨🏻‍🏫', ':man_teacher_medium_light_skin_tone:': '👨🏼‍🏫', ':man_teacher_tone2:': '👨🏼‍🏫', ':man_teacher_medium_skin_tone:': '👨🏽‍🏫', ':man_teacher_tone3:': '👨🏽‍🏫', ':man_teacher_medium_dark_skin_tone:': '👨🏾‍🏫', ':man_teacher_tone4:': '👨🏾‍🏫', ':man_teacher_dark_skin_tone:': '👨🏿‍🏫', ':man_teacher_tone5:': '👨🏿‍🏫', ':man_technologist_light_skin_tone:': '👨🏻‍💻', ':man_technologist_tone1:': '👨🏻‍💻', ':man_technologist_medium_light_skin_tone:': '👨🏼‍💻', ':man_technologist_tone2:': '👨🏼‍💻', ':man_technologist_medium_skin_tone:': '👨🏽‍💻', ':man_technologist_tone3:': '👨🏽‍💻', ':man_technologist_medium_dark_skin_tone:': '👨🏾‍💻', ':man_technologist_tone4:': '👨🏾‍💻', ':man_technologist_dark_skin_tone:': '👨🏿‍💻', ':man_technologist_tone5:': '👨🏿‍💻', ':man_white_haired_light_skin_tone:': '👨🏻‍🦳', ':man_white_haired_tone1:': '👨🏻‍🦳', ':man_white_haired_medium_light_skin_tone:': '👨🏼‍🦳', ':man_white_haired_tone2:': '👨🏼‍🦳', ':man_white_haired_medium_skin_tone:': '👨🏽‍🦳', ':man_white_haired_tone3:': '👨🏽‍🦳', ':man_white_haired_medium_dark_skin_tone:': '👨🏾‍🦳', ':man_white_haired_tone4:': '👨🏾‍🦳', ':man_white_haired_dark_skin_tone:': '👨🏿‍🦳', ':man_white_haired_tone5:': '👨🏿‍🦳', ':man_with_probing_cane_light_skin_tone:': '👨🏻‍🦯', ':man_with_probing_cane_tone1:': '👨🏻‍🦯', ':man_with_probing_cane_medium_light_skin_tone:': '👨🏼‍🦯', ':man_with_probing_cane_tone2:': '👨🏼‍🦯', ':man_with_probing_cane_medium_skin_tone:': '👨🏽‍🦯', ':man_with_probing_cane_tone3:': '👨🏽‍🦯', ':man_with_probing_cane_medium_dark_skin_tone:': '👨🏾‍🦯', ':man_with_probing_cane_tone4:': '👨🏾‍🦯', ':man_with_probing_cane_dark_skin_tone:': '👨🏿‍🦯', ':man_with_probing_cane_tone5:': '👨🏿‍🦯', ':people_holding_hands:': '🧑‍🤝‍🧑', ':woman_artist_light_skin_tone:': '👩🏻‍🎨', ':woman_artist_tone1:': '👩🏻‍🎨', ':woman_artist_medium_light_skin_tone:': '👩🏼‍🎨', ':woman_artist_tone2:': '👩🏼‍🎨', ':woman_artist_medium_skin_tone:': '👩🏽‍🎨', ':woman_artist_tone3:': '👩🏽‍🎨', ':woman_artist_medium_dark_skin_tone:': '👩🏾‍🎨', ':woman_artist_tone4:': '👩🏾‍🎨', ':woman_artist_dark_skin_tone:': '👩🏿‍🎨', ':woman_artist_tone5:': '👩🏿‍🎨', ':woman_astronaut_light_skin_tone:': '👩🏻‍🚀', ':woman_astronaut_tone1:': '👩🏻‍🚀', ':woman_astronaut_medium_light_skin_tone:': '👩🏼‍🚀', ':woman_astronaut_tone2:': '👩🏼‍🚀', ':woman_astronaut_medium_skin_tone:': '👩🏽‍🚀', ':woman_astronaut_tone3:': '👩🏽‍🚀', ':woman_astronaut_medium_dark_skin_tone:': '👩🏾‍🚀', ':woman_astronaut_tone4:': '👩🏾‍🚀', ':woman_astronaut_dark_skin_tone:': '👩🏿‍🚀', ':woman_astronaut_tone5:': '👩🏿‍🚀', ':woman_bald_light_skin_tone:': '👩🏻‍🦲', ':woman_bald_tone1:': '👩🏻‍🦲', ':woman_bald_medium_light_skin_tone:': '👩🏼‍🦲', ':woman_bald_tone2:': '👩🏼‍🦲', ':woman_bald_medium_skin_tone:': '👩🏽‍🦲', ':woman_bald_tone3:': '👩🏽‍🦲', ':woman_bald_medium_dark_skin_tone:': '👩🏾‍🦲', ':woman_bald_tone4:': '👩🏾‍🦲', ':woman_bald_dark_skin_tone:': '👩🏿‍🦲', ':woman_bald_tone5:': '👩🏿‍🦲', ':woman_cook_light_skin_tone:': '👩🏻‍🍳', ':woman_cook_tone1:': '👩🏻‍🍳', ':woman_cook_medium_light_skin_tone:': '👩🏼‍🍳', ':woman_cook_tone2:': '👩🏼‍🍳', ':woman_cook_medium_skin_tone:': '👩🏽‍🍳', ':woman_cook_tone3:': '👩🏽‍🍳', ':woman_cook_medium_dark_skin_tone:': '👩🏾‍🍳', ':woman_cook_tone4:': '👩🏾‍🍳', ':woman_cook_dark_skin_tone:': '👩🏿‍🍳', ':woman_cook_tone5:': '👩🏿‍🍳', ':woman_curly_haired_light_skin_tone:': '👩🏻‍🦱', ':woman_curly_haired_tone1:': '👩🏻‍🦱', ':woman_curly_haired_medium_light_skin_tone:': '👩🏼‍🦱', ':woman_curly_haired_tone2:': '👩🏼‍🦱', ':woman_curly_haired_medium_skin_tone:': '👩🏽‍🦱', ':woman_curly_haired_tone3:': '👩🏽‍🦱', ':woman_curly_haired_medium_dark_skin_tone:': '👩🏾‍🦱', ':woman_curly_haired_tone4:': '👩🏾‍🦱', ':woman_curly_haired_dark_skin_tone:': '👩🏿‍🦱', ':woman_curly_haired_tone5:': '👩🏿‍🦱', ':woman_factory_worker_light_skin_tone:': '👩🏻‍🏭', ':woman_factory_worker_tone1:': '👩🏻‍🏭', ':woman_factory_worker_medium_light_skin_tone:': '👩🏼‍🏭', ':woman_factory_worker_tone2:': '👩🏼‍🏭', ':woman_factory_worker_medium_skin_tone:': '👩🏽‍🏭', ':woman_factory_worker_tone3:': '👩🏽‍🏭', ':woman_factory_worker_medium_dark_skin_tone:': '👩🏾‍🏭', ':woman_factory_worker_tone4:': '👩🏾‍🏭', ':woman_factory_worker_dark_skin_tone:': '👩🏿‍🏭', ':woman_factory_worker_tone5:': '👩🏿‍🏭', ':woman_farmer_light_skin_tone:': '👩🏻‍🌾', ':woman_farmer_tone1:': '👩🏻‍🌾', ':woman_farmer_medium_light_skin_tone:': '👩🏼‍🌾', ':woman_farmer_tone2:': '👩🏼‍🌾', ':woman_farmer_medium_skin_tone:': '👩🏽‍🌾', ':woman_farmer_tone3:': '👩🏽‍🌾', ':woman_farmer_medium_dark_skin_tone:': '👩🏾‍🌾', ':woman_farmer_tone4:': '👩🏾‍🌾', ':woman_farmer_dark_skin_tone:': '👩🏿‍🌾', ':woman_farmer_tone5:': '👩🏿‍🌾', ':woman_firefighter_light_skin_tone:': '👩🏻‍🚒', ':woman_firefighter_tone1:': '👩🏻‍🚒', ':woman_firefighter_medium_light_skin_tone:': '👩🏼‍🚒', ':woman_firefighter_tone2:': '👩🏼‍🚒', ':woman_firefighter_medium_skin_tone:': '👩🏽‍🚒', ':woman_firefighter_tone3:': '👩🏽‍🚒', ':woman_firefighter_medium_dark_skin_tone:': '👩🏾‍🚒', ':woman_firefighter_tone4:': '👩🏾‍🚒', ':woman_firefighter_dark_skin_tone:': '👩🏿‍🚒', ':woman_firefighter_tone5:': '👩🏿‍🚒', ':woman_in_manual_wheelchair_light_skin_tone:': '👩🏻‍🦽', ':woman_in_manual_wheelchair_tone1:': '👩🏻‍🦽', ':woman_in_manual_wheelchair_medium_light_skin_tone:': '👩🏼‍🦽', ':woman_in_manual_wheelchair_tone2:': '👩🏼‍🦽', ':woman_in_manual_wheelchair_medium_skin_tone:': '👩🏽‍🦽', ':woman_in_manual_wheelchair_tone3:': '👩🏽‍🦽', ':woman_in_manual_wheelchair_medium_dark_skin_tone:': '👩🏾‍🦽', ':woman_in_manual_wheelchair_tone4:': '👩🏾‍🦽', ':woman_in_manual_wheelchair_dark_skin_tone:': '👩🏿‍🦽', ':woman_in_manual_wheelchair_tone5:': '👩🏿‍🦽', ':woman_in_motorized_wheelchair_light_skin_tone:': '👩🏻‍🦼', ':woman_in_motorized_wheelchair_tone1:': '👩🏻‍🦼', ':woman_in_motorized_wheelchair_medium_light_skin_tone:': '👩🏼‍🦼', ':woman_in_motorized_wheelchair_tone2:': '👩🏼‍🦼', ':woman_in_motorized_wheelchair_medium_skin_tone:': '👩🏽‍🦼', ':woman_in_motorized_wheelchair_tone3:': '👩🏽‍🦼', ':woman_in_motorized_wheelchair_medium_dark_skin_tone:': '👩🏾‍🦼', ':woman_in_motorized_wheelchair_tone4:': '👩🏾‍🦼', ':woman_in_motorized_wheelchair_dark_skin_tone:': '👩🏿‍🦼', ':woman_in_motorized_wheelchair_tone5:': '👩🏿‍🦼', ':woman_mechanic_light_skin_tone:': '👩🏻‍🔧', ':woman_mechanic_tone1:': '👩🏻‍🔧', ':woman_mechanic_medium_light_skin_tone:': '👩🏼‍🔧', ':woman_mechanic_tone2:': '👩🏼‍🔧', ':woman_mechanic_medium_skin_tone:': '👩🏽‍🔧', ':woman_mechanic_tone3:': '👩🏽‍🔧', ':woman_mechanic_medium_dark_skin_tone:': '👩🏾‍🔧', ':woman_mechanic_tone4:': '👩🏾‍🔧', ':woman_mechanic_dark_skin_tone:': '👩🏿‍🔧', ':woman_mechanic_tone5:': '👩🏿‍🔧', ':woman_office_worker_light_skin_tone:': '👩🏻‍💼', ':woman_office_worker_tone1:': '👩🏻‍💼', ':woman_office_worker_medium_light_skin_tone:': '👩🏼‍💼', ':woman_office_worker_tone2:': '👩🏼‍💼', ':woman_office_worker_medium_skin_tone:': '👩🏽‍💼', ':woman_office_worker_tone3:': '👩🏽‍💼', ':woman_office_worker_medium_dark_skin_tone:': '👩🏾‍💼', ':woman_office_worker_tone4:': '👩🏾‍💼', ':woman_office_worker_dark_skin_tone:': '👩🏿‍💼', ':woman_office_worker_tone5:': '👩🏿‍💼', ':woman_red_haired_light_skin_tone:': '👩🏻‍🦰', ':woman_red_haired_tone1:': '👩🏻‍🦰', ':woman_red_haired_medium_light_skin_tone:': '👩🏼‍🦰', ':woman_red_haired_tone2:': '👩🏼‍🦰', ':woman_red_haired_medium_skin_tone:': '👩🏽‍🦰', ':woman_red_haired_tone3:': '👩🏽‍🦰', ':woman_red_haired_medium_dark_skin_tone:': '👩🏾‍🦰', ':woman_red_haired_tone4:': '👩🏾‍🦰', ':woman_red_haired_dark_skin_tone:': '👩🏿‍🦰', ':woman_red_haired_tone5:': '👩🏿‍🦰', ':woman_scientist_light_skin_tone:': '👩🏻‍🔬', ':woman_scientist_tone1:': '👩🏻‍🔬', ':woman_scientist_medium_light_skin_tone:': '👩🏼‍🔬', ':woman_scientist_tone2:': '👩🏼‍🔬', ':woman_scientist_medium_skin_tone:': '👩🏽‍🔬', ':woman_scientist_tone3:': '👩🏽‍🔬', ':woman_scientist_medium_dark_skin_tone:': '👩🏾‍🔬', ':woman_scientist_tone4:': '👩🏾‍🔬', ':woman_scientist_dark_skin_tone:': '👩🏿‍🔬', ':woman_scientist_tone5:': '👩🏿‍🔬', ':woman_singer_light_skin_tone:': '👩🏻‍🎤', ':woman_singer_tone1:': '👩🏻‍🎤', ':woman_singer_medium_light_skin_tone:': '👩🏼‍🎤', ':woman_singer_tone2:': '👩🏼‍🎤', ':woman_singer_medium_skin_tone:': '👩🏽‍🎤', ':woman_singer_tone3:': '👩🏽‍🎤', ':woman_singer_medium_dark_skin_tone:': '👩🏾‍🎤', ':woman_singer_tone4:': '👩🏾‍🎤', ':woman_singer_dark_skin_tone:': '👩🏿‍🎤', ':woman_singer_tone5:': '👩🏿‍🎤', ':woman_student_light_skin_tone:': '👩🏻‍🎓', ':woman_student_tone1:': '👩🏻‍🎓', ':woman_student_medium_light_skin_tone:': '👩🏼‍🎓', ':woman_student_tone2:': '👩🏼‍🎓', ':woman_student_medium_skin_tone:': '👩🏽‍🎓', ':woman_student_tone3:': '👩🏽‍🎓', ':woman_student_medium_dark_skin_tone:': '👩🏾‍🎓', ':woman_student_tone4:': '👩🏾‍🎓', ':woman_student_dark_skin_tone:': '👩🏿‍🎓', ':woman_student_tone5:': '👩🏿‍🎓', ':woman_teacher_light_skin_tone:': '👩🏻‍🏫', ':woman_teacher_tone1:': '👩🏻‍🏫', ':woman_teacher_medium_light_skin_tone:': '👩🏼‍🏫', ':woman_teacher_tone2:': '👩🏼‍🏫', ':woman_teacher_medium_skin_tone:': '👩🏽‍🏫', ':woman_teacher_tone3:': '👩🏽‍🏫', ':woman_teacher_medium_dark_skin_tone:': '👩🏾‍🏫', ':woman_teacher_tone4:': '👩🏾‍🏫', ':woman_teacher_dark_skin_tone:': '👩🏿‍🏫', ':woman_teacher_tone5:': '👩🏿‍🏫', ':woman_technologist_light_skin_tone:': '👩🏻‍💻', ':woman_technologist_tone1:': '👩🏻‍💻', ':woman_technologist_medium_light_skin_tone:': '👩🏼‍💻', ':woman_technologist_tone2:': '👩🏼‍💻', ':woman_technologist_medium_skin_tone:': '👩🏽‍💻', ':woman_technologist_tone3:': '👩🏽‍💻', ':woman_technologist_medium_dark_skin_tone:': '👩🏾‍💻', ':woman_technologist_tone4:': '👩🏾‍💻', ':woman_technologist_dark_skin_tone:': '👩🏿‍💻', ':woman_technologist_tone5:': '👩🏿‍💻', ':woman_white_haired_light_skin_tone:': '👩🏻‍🦳', ':woman_white_haired_tone1:': '👩🏻‍🦳', ':woman_white_haired_medium_light_skin_tone:': '👩🏼‍🦳', ':woman_white_haired_tone2:': '👩🏼‍🦳', ':woman_white_haired_medium_skin_tone:': '👩🏽‍🦳', ':woman_white_haired_tone3:': '👩🏽‍🦳', ':woman_white_haired_medium_dark_skin_tone:': '👩🏾‍🦳', ':woman_white_haired_tone4:': '👩🏾‍🦳', ':woman_white_haired_dark_skin_tone:': '👩🏿‍🦳', ':woman_white_haired_tone5:': '👩🏿‍🦳', ':woman_with_probing_cane_light_skin_tone:': '👩🏻‍🦯', ':woman_with_probing_cane_tone1:': '👩🏻‍🦯', ':woman_with_probing_cane_medium_light_skin_tone:': '👩🏼‍🦯', ':woman_with_probing_cane_tone2:': '👩🏼‍🦯', ':woman_with_probing_cane_medium_skin_tone:': '👩🏽‍🦯', ':woman_with_probing_cane_tone3:': '👩🏽‍🦯', ':woman_with_probing_cane_medium_dark_skin_tone:': '👩🏾‍🦯', ':woman_with_probing_cane_tone4:': '👩🏾‍🦯', ':woman_with_probing_cane_dark_skin_tone:': '👩🏿‍🦯', ':woman_with_probing_cane_tone5:': '👩🏿‍🦯', ':blond-haired_man_light_skin_tone:': '👱🏻‍♂️', ':blond-haired_man_tone1:': '👱🏻‍♂️', ':blond-haired_man_medium_light_skin_tone:': '👱🏼‍♂️', ':blond-haired_man_tone2:': '👱🏼‍♂️', ':blond-haired_man_medium_skin_tone:': '👱🏽‍♂️', ':blond-haired_man_tone3:': '👱🏽‍♂️', ':blond-haired_man_medium_dark_skin_tone:': '👱🏾‍♂️', ':blond-haired_man_tone4:': '👱🏾‍♂️', ':blond-haired_man_dark_skin_tone:': '👱🏿‍♂️', ':blond-haired_man_tone5:': '👱🏿‍♂️', ':blond-haired_woman_light_skin_tone:': '👱🏻‍♀️', ':blond-haired_woman_tone1:': '👱🏻‍♀️', ':blond-haired_woman_medium_light_skin_tone:': '👱🏼‍♀️', ':blond-haired_woman_tone2:': '👱🏼‍♀️', ':blond-haired_woman_medium_skin_tone:': '👱🏽‍♀️', ':blond-haired_woman_tone3:': '👱🏽‍♀️', ':blond-haired_woman_medium_dark_skin_tone:': '👱🏾‍♀️', ':blond-haired_woman_tone4:': '👱🏾‍♀️', ':blond-haired_woman_dark_skin_tone:': '👱🏿‍♀️', ':blond-haired_woman_tone5:': '👱🏿‍♀️', ':couple_with_heart_mm:': '👨‍❤️‍👨', ':couple_mm:': '👨‍❤️‍👨', ':couple_with_heart_woman_man:': '👩‍❤️‍👨', ':couple_with_heart_ww:': '👩‍❤️‍👩', ':couple_ww:': '👩‍❤️‍👩', ':deaf_man_light_skin_tone:': '🧏🏻‍♂️', ':deaf_man_tone1:': '🧏🏻‍♂️', ':deaf_man_medium_light_skin_tone:': '🧏🏼‍♂️', ':deaf_man_tone2:': '🧏🏼‍♂️', ':deaf_man_medium_skin_tone:': '🧏🏽‍♂️', ':deaf_man_tone3:': '🧏🏽‍♂️', ':deaf_man_medium_dark_skin_tone:': '🧏🏾‍♂️', ':deaf_man_tone4:': '🧏🏾‍♂️', ':deaf_man_dark_skin_tone:': '🧏🏿‍♂️', ':deaf_man_tone5:': '🧏🏿‍♂️', ':deaf_woman_light_skin_tone:': '🧏🏻‍♀️', ':deaf_woman_tone1:': '🧏🏻‍♀️', ':deaf_woman_medium_light_skin_tone:': '🧏🏼‍♀️', ':deaf_woman_tone2:': '🧏🏼‍♀️', ':deaf_woman_medium_skin_tone:': '🧏🏽‍♀️', ':deaf_woman_tone3:': '🧏🏽‍♀️', ':deaf_woman_medium_dark_skin_tone:': '🧏🏾‍♀️', ':deaf_woman_tone4:': '🧏🏾‍♀️', ':deaf_woman_dark_skin_tone:': '🧏🏿‍♀️', ':deaf_woman_tone5:': '🧏🏿‍♀️', ':man_biking_light_skin_tone:': '🚴🏻‍♂️', ':man_biking_tone1:': '🚴🏻‍♂️', ':man_biking_medium_light_skin_tone:': '🚴🏼‍♂️', ':man_biking_tone2:': '🚴🏼‍♂️', ':man_biking_medium_skin_tone:': '🚴🏽‍♂️', ':man_biking_tone3:': '🚴🏽‍♂️', ':man_biking_medium_dark_skin_tone:': '🚴🏾‍♂️', ':man_biking_tone4:': '🚴🏾‍♂️', ':man_biking_dark_skin_tone:': '🚴🏿‍♂️', ':man_biking_tone5:': '🚴🏿‍♂️', ':man_bowing_light_skin_tone:': '🙇🏻‍♂️', ':man_bowing_tone1:': '🙇🏻‍♂️', ':man_bowing_medium_light_skin_tone:': '🙇🏼‍♂️', ':man_bowing_tone2:': '🙇🏼‍♂️', ':man_bowing_medium_skin_tone:': '🙇🏽‍♂️', ':man_bowing_tone3:': '🙇🏽‍♂️', ':man_bowing_medium_dark_skin_tone:': '🙇🏾‍♂️', ':man_bowing_tone4:': '🙇🏾‍♂️', ':man_bowing_dark_skin_tone:': '🙇🏿‍♂️', ':man_bowing_tone5:': '🙇🏿‍♂️', ':man_cartwheeling_light_skin_tone:': '🤸🏻‍♂️', ':man_cartwheeling_tone1:': '🤸🏻‍♂️', ':man_cartwheeling_medium_light_skin_tone:': '🤸🏼‍♂️', ':man_cartwheeling_tone2:': '🤸🏼‍♂️', ':man_cartwheeling_medium_skin_tone:': '🤸🏽‍♂️', ':man_cartwheeling_tone3:': '🤸🏽‍♂️', ':man_cartwheeling_medium_dark_skin_tone:': '🤸🏾‍♂️', ':man_cartwheeling_tone4:': '🤸🏾‍♂️', ':man_cartwheeling_dark_skin_tone:': '🤸🏿‍♂️', ':man_cartwheeling_tone5:': '🤸🏿‍♂️', ':man_climbing_light_skin_tone:': '🧗🏻‍♂️', ':man_climbing_tone1:': '🧗🏻‍♂️', ':man_climbing_medium_light_skin_tone:': '🧗🏼‍♂️', ':man_climbing_tone2:': '🧗🏼‍♂️', ':man_climbing_medium_skin_tone:': '🧗🏽‍♂️', ':man_climbing_tone3:': '🧗🏽‍♂️', ':man_climbing_medium_dark_skin_tone:': '🧗🏾‍♂️', ':man_climbing_tone4:': '🧗🏾‍♂️', ':man_climbing_dark_skin_tone:': '🧗🏿‍♂️', ':man_climbing_tone5:': '🧗🏿‍♂️', ':man_construction_worker_light_skin_tone:': '👷🏻‍♂️', ':man_construction_worker_tone1:': '👷🏻‍♂️', ':man_construction_worker_medium_light_skin_tone:': '👷🏼‍♂️', ':man_construction_worker_tone2:': '👷🏼‍♂️', ':man_construction_worker_medium_skin_tone:': '👷🏽‍♂️', ':man_construction_worker_tone3:': '👷🏽‍♂️', ':man_construction_worker_medium_dark_skin_tone:': '👷🏾‍♂️', ':man_construction_worker_tone4:': '👷🏾‍♂️', ':man_construction_worker_dark_skin_tone:': '👷🏿‍♂️', ':man_construction_worker_tone5:': '👷🏿‍♂️', ':man_detective_light_skin_tone:': '🕵️🏻‍♂️', ':man_detective_tone1:': '🕵️🏻‍♂️', ':man_detective_medium_light_skin_tone:': '🕵️🏼‍♂️', ':man_detective_tone2:': '🕵️🏼‍♂️', ':man_detective_medium_skin_tone:': '🕵️🏽‍♂️', ':man_detective_tone3:': '🕵️🏽‍♂️', ':man_detective_medium_dark_skin_tone:': '🕵️🏾‍♂️', ':man_detective_tone4:': '🕵️🏾‍♂️', ':man_detective_dark_skin_tone:': '🕵️🏿‍♂️', ':man_detective_tone5:': '🕵️🏿‍♂️', ':man_elf_light_skin_tone:': '🧝🏻‍♂️', ':man_elf_tone1:': '🧝🏻‍♂️', ':man_elf_medium_light_skin_tone:': '🧝🏼‍♂️', ':man_elf_tone2:': '🧝🏼‍♂️', ':man_elf_medium_skin_tone:': '🧝🏽‍♂️', ':man_elf_tone3:': '🧝🏽‍♂️', ':man_elf_medium_dark_skin_tone:': '🧝🏾‍♂️', ':man_elf_tone4:': '🧝🏾‍♂️', ':man_elf_dark_skin_tone:': '🧝🏿‍♂️', ':man_elf_tone5:': '🧝🏿‍♂️', ':man_facepalming_light_skin_tone:': '🤦🏻‍♂️', ':man_facepalming_tone1:': '🤦🏻‍♂️', ':man_facepalming_medium_light_skin_tone:': '🤦🏼‍♂️', ':man_facepalming_tone2:': '🤦🏼‍♂️', ':man_facepalming_medium_skin_tone:': '🤦🏽‍♂️', ':man_facepalming_tone3:': '🤦🏽‍♂️', ':man_facepalming_medium_dark_skin_tone:': '🤦🏾‍♂️', ':man_facepalming_tone4:': '🤦🏾‍♂️', ':man_facepalming_dark_skin_tone:': '🤦🏿‍♂️', ':man_facepalming_tone5:': '🤦🏿‍♂️', ':man_fairy_light_skin_tone:': '🧚🏻‍♂️', ':man_fairy_tone1:': '🧚🏻‍♂️', ':man_fairy_medium_light_skin_tone:': '🧚🏼‍♂️', ':man_fairy_tone2:': '🧚🏼‍♂️', ':man_fairy_medium_skin_tone:': '🧚🏽‍♂️', ':man_fairy_tone3:': '🧚🏽‍♂️', ':man_fairy_medium_dark_skin_tone:': '🧚🏾‍♂️', ':man_fairy_tone4:': '🧚🏾‍♂️', ':man_fairy_dark_skin_tone:': '🧚🏿‍♂️', ':man_fairy_tone5:': '🧚🏿‍♂️', ':man_frowning_light_skin_tone:': '🙍🏻‍♂️', ':man_frowning_tone1:': '🙍🏻‍♂️', ':man_frowning_medium_light_skin_tone:': '🙍🏼‍♂️', ':man_frowning_tone2:': '🙍🏼‍♂️', ':man_frowning_medium_skin_tone:': '🙍🏽‍♂️', ':man_frowning_tone3:': '🙍🏽‍♂️', ':man_frowning_medium_dark_skin_tone:': '🙍🏾‍♂️', ':man_frowning_tone4:': '🙍🏾‍♂️', ':man_frowning_dark_skin_tone:': '🙍🏿‍♂️', ':man_frowning_tone5:': '🙍🏿‍♂️', ':man_gesturing_no_light_skin_tone:': '🙅🏻‍♂️', ':man_gesturing_no_tone1:': '🙅🏻‍♂️', ':man_gesturing_no_medium_light_skin_tone:': '🙅🏼‍♂️', ':man_gesturing_no_tone2:': '🙅🏼‍♂️', ':man_gesturing_no_medium_skin_tone:': '🙅🏽‍♂️', ':man_gesturing_no_tone3:': '🙅🏽‍♂️', ':man_gesturing_no_medium_dark_skin_tone:': '🙅🏾‍♂️', ':man_gesturing_no_tone4:': '🙅🏾‍♂️', ':man_gesturing_no_dark_skin_tone:': '🙅🏿‍♂️', ':man_gesturing_no_tone5:': '🙅🏿‍♂️', ':man_gesturing_ok_light_skin_tone:': '🙆🏻‍♂️', ':man_gesturing_ok_tone1:': '🙆🏻‍♂️', ':man_gesturing_ok_medium_light_skin_tone:': '🙆🏼‍♂️', ':man_gesturing_ok_tone2:': '🙆🏼‍♂️', ':man_gesturing_ok_medium_skin_tone:': '🙆🏽‍♂️', ':man_gesturing_ok_tone3:': '🙆🏽‍♂️', ':man_gesturing_ok_medium_dark_skin_tone:': '🙆🏾‍♂️', ':man_gesturing_ok_tone4:': '🙆🏾‍♂️', ':man_gesturing_ok_dark_skin_tone:': '🙆🏿‍♂️', ':man_gesturing_ok_tone5:': '🙆🏿‍♂️', ':man_getting_face_massage_light_skin_tone:': '💆🏻‍♂️', ':man_getting_face_massage_tone1:': '💆🏻‍♂️', ':man_getting_face_massage_medium_light_skin_tone:': '💆🏼‍♂️', ':man_getting_face_massage_tone2:': '💆🏼‍♂️', ':man_getting_face_massage_medium_skin_tone:': '💆🏽‍♂️', ':man_getting_face_massage_tone3:': '💆🏽‍♂️', ':man_getting_face_massage_medium_dark_skin_tone:': '💆🏾‍♂️', ':man_getting_face_massage_tone4:': '💆🏾‍♂️', ':man_getting_face_massage_dark_skin_tone:': '💆🏿‍♂️', ':man_getting_face_massage_tone5:': '💆🏿‍♂️', ':man_getting_haircut_light_skin_tone:': '💇🏻‍♂️', ':man_getting_haircut_tone1:': '💇🏻‍♂️', ':man_getting_haircut_medium_light_skin_tone:': '💇🏼‍♂️', ':man_getting_haircut_tone2:': '💇🏼‍♂️', ':man_getting_haircut_medium_skin_tone:': '💇🏽‍♂️', ':man_getting_haircut_tone3:': '💇🏽‍♂️', ':man_getting_haircut_medium_dark_skin_tone:': '💇🏾‍♂️', ':man_getting_haircut_tone4:': '💇🏾‍♂️', ':man_getting_haircut_dark_skin_tone:': '💇🏿‍♂️', ':man_getting_haircut_tone5:': '💇🏿‍♂️', ':man_golfing_light_skin_tone:': '🏌️🏻‍♂️', ':man_golfing_tone1:': '🏌️🏻‍♂️', ':man_golfing_medium_light_skin_tone:': '🏌️🏼‍♂️', ':man_golfing_tone2:': '🏌️🏼‍♂️', ':man_golfing_medium_skin_tone:': '🏌️🏽‍♂️', ':man_golfing_tone3:': '🏌️🏽‍♂️', ':man_golfing_medium_dark_skin_tone:': '🏌️🏾‍♂️', ':man_golfing_tone4:': '🏌️🏾‍♂️', ':man_golfing_dark_skin_tone:': '🏌️🏿‍♂️', ':man_golfing_tone5:': '🏌️🏿‍♂️', ':man_guard_light_skin_tone:': '💂🏻‍♂️', ':man_guard_tone1:': '💂🏻‍♂️', ':man_guard_medium_light_skin_tone:': '💂🏼‍♂️', ':man_guard_tone2:': '💂🏼‍♂️', ':man_guard_medium_skin_tone:': '💂🏽‍♂️', ':man_guard_tone3:': '💂🏽‍♂️', ':man_guard_medium_dark_skin_tone:': '💂🏾‍♂️', ':man_guard_tone4:': '💂🏾‍♂️', ':man_guard_dark_skin_tone:': '💂🏿‍♂️', ':man_guard_tone5:': '💂🏿‍♂️', ':man_health_worker_light_skin_tone:': '👨🏻‍⚕️', ':man_health_worker_tone1:': '👨🏻‍⚕️', ':man_health_worker_medium_light_skin_tone:': '👨🏼‍⚕️', ':man_health_worker_tone2:': '👨🏼‍⚕️', ':man_health_worker_medium_skin_tone:': '👨🏽‍⚕️', ':man_health_worker_tone3:': '👨🏽‍⚕️', ':man_health_worker_medium_dark_skin_tone:': '👨🏾‍⚕️', ':man_health_worker_tone4:': '👨🏾‍⚕️', ':man_health_worker_dark_skin_tone:': '👨🏿‍⚕️', ':man_health_worker_tone5:': '👨🏿‍⚕️', ':man_in_lotus_position_light_skin_tone:': '🧘🏻‍♂️', ':man_in_lotus_position_tone1:': '🧘🏻‍♂️', ':man_in_lotus_position_medium_light_skin_tone:': '🧘🏼‍♂️', ':man_in_lotus_position_tone2:': '🧘🏼‍♂️', ':man_in_lotus_position_medium_skin_tone:': '🧘🏽‍♂️', ':man_in_lotus_position_tone3:': '🧘🏽‍♂️', ':man_in_lotus_position_medium_dark_skin_tone:': '🧘🏾‍♂️', ':man_in_lotus_position_tone4:': '🧘🏾‍♂️', ':man_in_lotus_position_dark_skin_tone:': '🧘🏿‍♂️', ':man_in_lotus_position_tone5:': '🧘🏿‍♂️', ':man_in_steamy_room_light_skin_tone:': '🧖🏻‍♂️', ':man_in_steamy_room_tone1:': '🧖🏻‍♂️', ':man_in_steamy_room_medium_light_skin_tone:': '🧖🏼‍♂️', ':man_in_steamy_room_tone2:': '🧖🏼‍♂️', ':man_in_steamy_room_medium_skin_tone:': '🧖🏽‍♂️', ':man_in_steamy_room_tone3:': '🧖🏽‍♂️', ':man_in_steamy_room_medium_dark_skin_tone:': '🧖🏾‍♂️', ':man_in_steamy_room_tone4:': '🧖🏾‍♂️', ':man_in_steamy_room_dark_skin_tone:': '🧖🏿‍♂️', ':man_in_steamy_room_tone5:': '🧖🏿‍♂️', ':man_judge_light_skin_tone:': '👨🏻‍⚖️', ':man_judge_tone1:': '👨🏻‍⚖️', ':man_judge_medium_light_skin_tone:': '👨🏼‍⚖️', ':man_judge_tone2:': '👨🏼‍⚖️', ':man_judge_medium_skin_tone:': '👨🏽‍⚖️', ':man_judge_tone3:': '👨🏽‍⚖️', ':man_judge_medium_dark_skin_tone:': '👨🏾‍⚖️', ':man_judge_tone4:': '👨🏾‍⚖️', ':man_judge_dark_skin_tone:': '👨🏿‍⚖️', ':man_judge_tone5:': '👨🏿‍⚖️', ':man_juggling_light_skin_tone:': '🤹🏻‍♂️', ':man_juggling_tone1:': '🤹🏻‍♂️', ':man_juggling_medium_light_skin_tone:': '🤹🏼‍♂️', ':man_juggling_tone2:': '🤹🏼‍♂️', ':man_juggling_medium_skin_tone:': '🤹🏽‍♂️', ':man_juggling_tone3:': '🤹🏽‍♂️', ':man_juggling_medium_dark_skin_tone:': '🤹🏾‍♂️', ':man_juggling_tone4:': '🤹🏾‍♂️', ':man_juggling_dark_skin_tone:': '🤹🏿‍♂️', ':man_juggling_tone5:': '🤹🏿‍♂️', ':man_kneeling_light_skin_tone:': '🧎🏻‍♂️', ':man_kneeling_tone1:': '🧎🏻‍♂️', ':man_kneeling_medium_light_skin_tone:': '🧎🏼‍♂️', ':man_kneeling_tone2:': '🧎🏼‍♂️', ':man_kneeling_medium_skin_tone:': '🧎🏽‍♂️', ':man_kneeling_tone3:': '🧎🏽‍♂️', ':man_kneeling_medium_dark_skin_tone:': '🧎🏾‍♂️', ':man_kneeling_tone4:': '🧎🏾‍♂️', ':man_kneeling_dark_skin_tone:': '🧎🏿‍♂️', ':man_kneeling_tone5:': '🧎🏿‍♂️', ':man_lifting_weights_light_skin_tone:': '🏋️🏻‍♂️', ':man_lifting_weights_tone1:': '🏋️🏻‍♂️', ':man_lifting_weights_medium_light_skin_tone:': '🏋️🏼‍♂️', ':man_lifting_weights_tone2:': '🏋️🏼‍♂️', ':man_lifting_weights_medium_skin_tone:': '🏋️🏽‍♂️', ':man_lifting_weights_tone3:': '🏋️🏽‍♂️', ':man_lifting_weights_medium_dark_skin_tone:': '🏋️🏾‍♂️', ':man_lifting_weights_tone4:': '🏋️🏾‍♂️', ':man_lifting_weights_dark_skin_tone:': '🏋️🏿‍♂️', ':man_lifting_weights_tone5:': '🏋️🏿‍♂️', ':man_mage_light_skin_tone:': '🧙🏻‍♂️', ':man_mage_tone1:': '🧙🏻‍♂️', ':man_mage_medium_light_skin_tone:': '🧙🏼‍♂️', ':man_mage_tone2:': '🧙🏼‍♂️', ':man_mage_medium_skin_tone:': '🧙🏽‍♂️', ':man_mage_tone3:': '🧙🏽‍♂️', ':man_mage_medium_dark_skin_tone:': '🧙🏾‍♂️', ':man_mage_tone4:': '🧙🏾‍♂️', ':man_mage_dark_skin_tone:': '🧙🏿‍♂️', ':man_mage_tone5:': '🧙🏿‍♂️', ':man_mountain_biking_light_skin_tone:': '🚵🏻‍♂️', ':man_mountain_biking_tone1:': '🚵🏻‍♂️', ':man_mountain_biking_medium_light_skin_tone:': '🚵🏼‍♂️', ':man_mountain_biking_tone2:': '🚵🏼‍♂️', ':man_mountain_biking_medium_skin_tone:': '🚵🏽‍♂️', ':man_mountain_biking_tone3:': '🚵🏽‍♂️', ':man_mountain_biking_medium_dark_skin_tone:': '🚵🏾‍♂️', ':man_mountain_biking_tone4:': '🚵🏾‍♂️', ':man_mountain_biking_dark_skin_tone:': '🚵🏿‍♂️', ':man_mountain_biking_tone5:': '🚵🏿‍♂️', ':man_pilot_light_skin_tone:': '👨🏻‍✈️', ':man_pilot_tone1:': '👨🏻‍✈️', ':man_pilot_medium_light_skin_tone:': '👨🏼‍✈️', ':man_pilot_tone2:': '👨🏼‍✈️', ':man_pilot_medium_skin_tone:': '👨🏽‍✈️', ':man_pilot_tone3:': '👨🏽‍✈️', ':man_pilot_medium_dark_skin_tone:': '👨🏾‍✈️', ':man_pilot_tone4:': '👨🏾‍✈️', ':man_pilot_dark_skin_tone:': '👨🏿‍✈️', ':man_pilot_tone5:': '👨🏿‍✈️', ':man_playing_handball_light_skin_tone:': '🤾🏻‍♂️', ':man_playing_handball_tone1:': '🤾🏻‍♂️', ':man_playing_handball_medium_light_skin_tone:': '🤾🏼‍♂️', ':man_playing_handball_tone2:': '🤾🏼‍♂️', ':man_playing_handball_medium_skin_tone:': '🤾🏽‍♂️', ':man_playing_handball_tone3:': '🤾🏽‍♂️', ':man_playing_handball_medium_dark_skin_tone:': '🤾🏾‍♂️', ':man_playing_handball_tone4:': '🤾🏾‍♂️', ':man_playing_handball_dark_skin_tone:': '🤾🏿‍♂️', ':man_playing_handball_tone5:': '🤾🏿‍♂️', ':man_playing_water_polo_light_skin_tone:': '🤽🏻‍♂️', ':man_playing_water_polo_tone1:': '🤽🏻‍♂️', ':man_playing_water_polo_medium_light_skin_tone:': '🤽🏼‍♂️', ':man_playing_water_polo_tone2:': '🤽🏼‍♂️', ':man_playing_water_polo_medium_skin_tone:': '🤽🏽‍♂️', ':man_playing_water_polo_tone3:': '🤽🏽‍♂️', ':man_playing_water_polo_medium_dark_skin_tone:': '🤽🏾‍♂️', ':man_playing_water_polo_tone4:': '🤽🏾‍♂️', ':man_playing_water_polo_dark_skin_tone:': '🤽🏿‍♂️', ':man_playing_water_polo_tone5:': '🤽🏿‍♂️', ':man_police_officer_light_skin_tone:': '👮🏻‍♂️', ':man_police_officer_tone1:': '👮🏻‍♂️', ':man_police_officer_medium_light_skin_tone:': '👮🏼‍♂️', ':man_police_officer_tone2:': '👮🏼‍♂️', ':man_police_officer_medium_skin_tone:': '👮🏽‍♂️', ':man_police_officer_tone3:': '👮🏽‍♂️', ':man_police_officer_medium_dark_skin_tone:': '👮🏾‍♂️', ':man_police_officer_tone4:': '👮🏾‍♂️', ':man_police_officer_dark_skin_tone:': '👮🏿‍♂️', ':man_police_officer_tone5:': '👮🏿‍♂️', ':man_pouting_light_skin_tone:': '🙎🏻‍♂️', ':man_pouting_tone1:': '🙎🏻‍♂️', ':man_pouting_medium_light_skin_tone:': '🙎🏼‍♂️', ':man_pouting_tone2:': '🙎🏼‍♂️', ':man_pouting_medium_skin_tone:': '🙎🏽‍♂️', ':man_pouting_tone3:': '🙎🏽‍♂️', ':man_pouting_medium_dark_skin_tone:': '🙎🏾‍♂️', ':man_pouting_tone4:': '🙎🏾‍♂️', ':man_pouting_dark_skin_tone:': '🙎🏿‍♂️', ':man_pouting_tone5:': '🙎🏿‍♂️', ':man_raising_hand_light_skin_tone:': '🙋🏻‍♂️', ':man_raising_hand_tone1:': '🙋🏻‍♂️', ':man_raising_hand_medium_light_skin_tone:': '🙋🏼‍♂️', ':man_raising_hand_tone2:': '🙋🏼‍♂️', ':man_raising_hand_medium_skin_tone:': '🙋🏽‍♂️', ':man_raising_hand_tone3:': '🙋🏽‍♂️', ':man_raising_hand_medium_dark_skin_tone:': '🙋🏾‍♂️', ':man_raising_hand_tone4:': '🙋🏾‍♂️', ':man_raising_hand_dark_skin_tone:': '🙋🏿‍♂️', ':man_raising_hand_tone5:': '🙋🏿‍♂️', ':man_rowing_boat_light_skin_tone:': '🚣🏻‍♂️', ':man_rowing_boat_tone1:': '🚣🏻‍♂️', ':man_rowing_boat_medium_light_skin_tone:': '🚣🏼‍♂️', ':man_rowing_boat_tone2:': '🚣🏼‍♂️', ':man_rowing_boat_medium_skin_tone:': '🚣🏽‍♂️', ':man_rowing_boat_tone3:': '🚣🏽‍♂️', ':man_rowing_boat_medium_dark_skin_tone:': '🚣🏾‍♂️', ':man_rowing_boat_tone4:': '🚣🏾‍♂️', ':man_rowing_boat_dark_skin_tone:': '🚣🏿‍♂️', ':man_rowing_boat_tone5:': '🚣🏿‍♂️', ':man_running_light_skin_tone:': '🏃🏻‍♂️', ':man_running_tone1:': '🏃🏻‍♂️', ':man_running_medium_light_skin_tone:': '🏃🏼‍♂️', ':man_running_tone2:': '🏃🏼‍♂️', ':man_running_medium_skin_tone:': '🏃🏽‍♂️', ':man_running_tone3:': '🏃🏽‍♂️', ':man_running_medium_dark_skin_tone:': '🏃🏾‍♂️', ':man_running_tone4:': '🏃🏾‍♂️', ':man_running_dark_skin_tone:': '🏃🏿‍♂️', ':man_running_tone5:': '🏃🏿‍♂️', ':man_shrugging_light_skin_tone:': '🤷🏻‍♂️', ':man_shrugging_tone1:': '🤷🏻‍♂️', ':man_shrugging_medium_light_skin_tone:': '🤷🏼‍♂️', ':man_shrugging_tone2:': '🤷🏼‍♂️', ':man_shrugging_medium_skin_tone:': '🤷🏽‍♂️', ':man_shrugging_tone3:': '🤷🏽‍♂️', ':man_shrugging_medium_dark_skin_tone:': '🤷🏾‍♂️', ':man_shrugging_tone4:': '🤷🏾‍♂️', ':man_shrugging_dark_skin_tone:': '🤷🏿‍♂️', ':man_shrugging_tone5:': '🤷🏿‍♂️', ':man_standing_light_skin_tone:': '🧍🏻‍♂️', ':man_standing_tone1:': '🧍🏻‍♂️', ':man_standing_medium_light_skin_tone:': '🧍🏼‍♂️', ':man_standing_tone2:': '🧍🏼‍♂️', ':man_standing_medium_skin_tone:': '🧍🏽‍♂️', ':man_standing_tone3:': '🧍🏽‍♂️', ':man_standing_medium_dark_skin_tone:': '🧍🏾‍♂️', ':man_standing_tone4:': '🧍🏾‍♂️', ':man_standing_dark_skin_tone:': '🧍🏿‍♂️', ':man_standing_tone5:': '🧍🏿‍♂️', ':man_superhero_light_skin_tone:': '🦸🏻‍♂️', ':man_superhero_tone1:': '🦸🏻‍♂️', ':man_superhero_medium_light_skin_tone:': '🦸🏼‍♂️', ':man_superhero_tone2:': '🦸🏼‍♂️', ':man_superhero_medium_skin_tone:': '🦸🏽‍♂️', ':man_superhero_tone3:': '🦸🏽‍♂️', ':man_superhero_medium_dark_skin_tone:': '🦸🏾‍♂️', ':man_superhero_tone4:': '🦸🏾‍♂️', ':man_superhero_dark_skin_tone:': '🦸🏿‍♂️', ':man_superhero_tone5:': '🦸🏿‍♂️', ':man_supervillain_light_skin_tone:': '🦹🏻‍♂️', ':man_supervillain_tone1:': '🦹🏻‍♂️', ':man_supervillain_medium_light_skin_tone:': '🦹🏼‍♂️', ':man_supervillain_tone2:': '🦹🏼‍♂️', ':man_supervillain_medium_skin_tone:': '🦹🏽‍♂️', ':man_supervillain_tone3:': '🦹🏽‍♂️', ':man_supervillain_medium_dark_skin_tone:': '🦹🏾‍♂️', ':man_supervillain_tone4:': '🦹🏾‍♂️', ':man_supervillain_dark_skin_tone:': '🦹🏿‍♂️', ':man_supervillain_tone5:': '🦹🏿‍♂️', ':man_surfing_light_skin_tone:': '🏄🏻‍♂️', ':man_surfing_tone1:': '🏄🏻‍♂️', ':man_surfing_medium_light_skin_tone:': '🏄🏼‍♂️', ':man_surfing_tone2:': '🏄🏼‍♂️', ':man_surfing_medium_skin_tone:': '🏄🏽‍♂️', ':man_surfing_tone3:': '🏄🏽‍♂️', ':man_surfing_medium_dark_skin_tone:': '🏄🏾‍♂️', ':man_surfing_tone4:': '🏄🏾‍♂️', ':man_surfing_dark_skin_tone:': '🏄🏿‍♂️', ':man_surfing_tone5:': '🏄🏿‍♂️', ':man_swimming_light_skin_tone:': '🏊🏻‍♂️', ':man_swimming_tone1:': '🏊🏻‍♂️', ':man_swimming_medium_light_skin_tone:': '🏊🏼‍♂️', ':man_swimming_tone2:': '🏊🏼‍♂️', ':man_swimming_medium_skin_tone:': '🏊🏽‍♂️', ':man_swimming_tone3:': '🏊🏽‍♂️', ':man_swimming_medium_dark_skin_tone:': '🏊🏾‍♂️', ':man_swimming_tone4:': '🏊🏾‍♂️', ':man_swimming_dark_skin_tone:': '🏊🏿‍♂️', ':man_swimming_tone5:': '🏊🏿‍♂️', ':man_tipping_hand_light_skin_tone:': '💁🏻‍♂️', ':man_tipping_hand_tone1:': '💁🏻‍♂️', ':man_tipping_hand_medium_light_skin_tone:': '💁🏼‍♂️', ':man_tipping_hand_tone2:': '💁🏼‍♂️', ':man_tipping_hand_medium_skin_tone:': '💁🏽‍♂️', ':man_tipping_hand_tone3:': '💁🏽‍♂️', ':man_tipping_hand_medium_dark_skin_tone:': '💁🏾‍♂️', ':man_tipping_hand_tone4:': '💁🏾‍♂️', ':man_tipping_hand_dark_skin_tone:': '💁🏿‍♂️', ':man_tipping_hand_tone5:': '💁🏿‍♂️', ':man_vampire_light_skin_tone:': '🧛🏻‍♂️', ':man_vampire_tone1:': '🧛🏻‍♂️', ':man_vampire_medium_light_skin_tone:': '🧛🏼‍♂️', ':man_vampire_tone2:': '🧛🏼‍♂️', ':man_vampire_medium_skin_tone:': '🧛🏽‍♂️', ':man_vampire_tone3:': '🧛🏽‍♂️', ':man_vampire_medium_dark_skin_tone:': '🧛🏾‍♂️', ':man_vampire_tone4:': '🧛🏾‍♂️', ':man_vampire_dark_skin_tone:': '🧛🏿‍♂️', ':man_vampire_tone5:': '🧛🏿‍♂️', ':man_walking_light_skin_tone:': '🚶🏻‍♂️', ':man_walking_tone1:': '🚶🏻‍♂️', ':man_walking_medium_light_skin_tone:': '🚶🏼‍♂️', ':man_walking_tone2:': '🚶🏼‍♂️', ':man_walking_medium_skin_tone:': '🚶🏽‍♂️', ':man_walking_tone3:': '🚶🏽‍♂️', ':man_walking_medium_dark_skin_tone:': '🚶🏾‍♂️', ':man_walking_tone4:': '🚶🏾‍♂️', ':man_walking_dark_skin_tone:': '🚶🏿‍♂️', ':man_walking_tone5:': '🚶🏿‍♂️', ':man_wearing_turban_light_skin_tone:': '👳🏻‍♂️', ':man_wearing_turban_tone1:': '👳🏻‍♂️', ':man_wearing_turban_medium_light_skin_tone:': '👳🏼‍♂️', ':man_wearing_turban_tone2:': '👳🏼‍♂️', ':man_wearing_turban_medium_skin_tone:': '👳🏽‍♂️', ':man_wearing_turban_tone3:': '👳🏽‍♂️', ':man_wearing_turban_medium_dark_skin_tone:': '👳🏾‍♂️', ':man_wearing_turban_tone4:': '👳🏾‍♂️', ':man_wearing_turban_dark_skin_tone:': '👳🏿‍♂️', ':man_wearing_turban_tone5:': '👳🏿‍♂️', ':mermaid_light_skin_tone:': '🧜🏻‍♀️', ':mermaid_tone1:': '🧜🏻‍♀️', ':mermaid_medium_light_skin_tone:': '🧜🏼‍♀️', ':mermaid_tone2:': '🧜🏼‍♀️', ':mermaid_medium_skin_tone:': '🧜🏽‍♀️', ':mermaid_tone3:': '🧜🏽‍♀️', ':mermaid_medium_dark_skin_tone:': '🧜🏾‍♀️', ':mermaid_tone4:': '🧜🏾‍♀️', ':mermaid_dark_skin_tone:': '🧜🏿‍♀️', ':mermaid_tone5:': '🧜🏿‍♀️', ':merman_light_skin_tone:': '🧜🏻‍♂️', ':merman_tone1:': '🧜🏻‍♂️', ':merman_medium_light_skin_tone:': '🧜🏼‍♂️', ':merman_tone2:': '🧜🏼‍♂️', ':merman_medium_skin_tone:': '🧜🏽‍♂️', ':merman_tone3:': '🧜🏽‍♂️', ':merman_medium_dark_skin_tone:': '🧜🏾‍♂️', ':merman_tone4:': '🧜🏾‍♂️', ':merman_dark_skin_tone:': '🧜🏿‍♂️', ':merman_tone5:': '🧜🏿‍♂️', ':woman_biking_light_skin_tone:': '🚴🏻‍♀️', ':woman_biking_tone1:': '🚴🏻‍♀️', ':woman_biking_medium_light_skin_tone:': '🚴🏼‍♀️', ':woman_biking_tone2:': '🚴🏼‍♀️', ':woman_biking_medium_skin_tone:': '🚴🏽‍♀️', ':woman_biking_tone3:': '🚴🏽‍♀️', ':woman_biking_medium_dark_skin_tone:': '🚴🏾‍♀️', ':woman_biking_tone4:': '🚴🏾‍♀️', ':woman_biking_dark_skin_tone:': '🚴🏿‍♀️', ':woman_biking_tone5:': '🚴🏿‍♀️', ':woman_bowing_light_skin_tone:': '🙇🏻‍♀️', ':woman_bowing_tone1:': '🙇🏻‍♀️', ':woman_bowing_medium_light_skin_tone:': '🙇🏼‍♀️', ':woman_bowing_tone2:': '🙇🏼‍♀️', ':woman_bowing_medium_skin_tone:': '🙇🏽‍♀️', ':woman_bowing_tone3:': '🙇🏽‍♀️', ':woman_bowing_medium_dark_skin_tone:': '🙇🏾‍♀️', ':woman_bowing_tone4:': '🙇🏾‍♀️', ':woman_bowing_dark_skin_tone:': '🙇🏿‍♀️', ':woman_bowing_tone5:': '🙇🏿‍♀️', ':woman_cartwheeling_light_skin_tone:': '🤸🏻‍♀️', ':woman_cartwheeling_tone1:': '🤸🏻‍♀️', ':woman_cartwheeling_medium_light_skin_tone:': '🤸🏼‍♀️', ':woman_cartwheeling_tone2:': '🤸🏼‍♀️', ':woman_cartwheeling_medium_skin_tone:': '🤸🏽‍♀️', ':woman_cartwheeling_tone3:': '🤸🏽‍♀️', ':woman_cartwheeling_medium_dark_skin_tone:': '🤸🏾‍♀️', ':woman_cartwheeling_tone4:': '🤸🏾‍♀️', ':woman_cartwheeling_dark_skin_tone:': '🤸🏿‍♀️', ':woman_cartwheeling_tone5:': '🤸🏿‍♀️', ':woman_climbing_light_skin_tone:': '🧗🏻‍♀️', ':woman_climbing_tone1:': '🧗🏻‍♀️', ':woman_climbing_medium_light_skin_tone:': '🧗🏼‍♀️', ':woman_climbing_tone2:': '🧗🏼‍♀️', ':woman_climbing_medium_skin_tone:': '🧗🏽‍♀️', ':woman_climbing_tone3:': '🧗🏽‍♀️', ':woman_climbing_medium_dark_skin_tone:': '🧗🏾‍♀️', ':woman_climbing_tone4:': '🧗🏾‍♀️', ':woman_climbing_dark_skin_tone:': '🧗🏿‍♀️', ':woman_climbing_tone5:': '🧗🏿‍♀️', ':woman_construction_worker_light_skin_tone:': '👷🏻‍♀️', ':woman_construction_worker_tone1:': '👷🏻‍♀️', ':woman_construction_worker_medium_light_skin_tone:': '👷🏼‍♀️', ':woman_construction_worker_tone2:': '👷🏼‍♀️', ':woman_construction_worker_medium_skin_tone:': '👷🏽‍♀️', ':woman_construction_worker_tone3:': '👷🏽‍♀️', ':woman_construction_worker_medium_dark_skin_tone:': '👷🏾‍♀️', ':woman_construction_worker_tone4:': '👷🏾‍♀️', ':woman_construction_worker_dark_skin_tone:': '👷🏿‍♀️', ':woman_construction_worker_tone5:': '👷🏿‍♀️', ':woman_detective_light_skin_tone:': '🕵️🏻‍♀️', ':woman_detective_tone1:': '🕵️🏻‍♀️', ':woman_detective_medium_light_skin_tone:': '🕵️🏼‍♀️', ':woman_detective_tone2:': '🕵️🏼‍♀️', ':woman_detective_medium_skin_tone:': '🕵️🏽‍♀️', ':woman_detective_tone3:': '🕵️🏽‍♀️', ':woman_detective_medium_dark_skin_tone:': '🕵️🏾‍♀️', ':woman_detective_tone4:': '🕵️🏾‍♀️', ':woman_detective_dark_skin_tone:': '🕵️🏿‍♀️', ':woman_detective_tone5:': '🕵️🏿‍♀️', ':woman_elf_light_skin_tone:': '🧝🏻‍♀️', ':woman_elf_tone1:': '🧝🏻‍♀️', ':woman_elf_medium_light_skin_tone:': '🧝🏼‍♀️', ':woman_elf_tone2:': '🧝🏼‍♀️', ':woman_elf_medium_skin_tone:': '🧝🏽‍♀️', ':woman_elf_tone3:': '🧝🏽‍♀️', ':woman_elf_medium_dark_skin_tone:': '🧝🏾‍♀️', ':woman_elf_tone4:': '🧝🏾‍♀️', ':woman_elf_dark_skin_tone:': '🧝🏿‍♀️', ':woman_elf_tone5:': '🧝🏿‍♀️', ':woman_facepalming_light_skin_tone:': '🤦🏻‍♀️', ':woman_facepalming_tone1:': '🤦🏻‍♀️', ':woman_facepalming_medium_light_skin_tone:': '🤦🏼‍♀️', ':woman_facepalming_tone2:': '🤦🏼‍♀️', ':woman_facepalming_medium_skin_tone:': '🤦🏽‍♀️', ':woman_facepalming_tone3:': '🤦🏽‍♀️', ':woman_facepalming_medium_dark_skin_tone:': '🤦🏾‍♀️', ':woman_facepalming_tone4:': '🤦🏾‍♀️', ':woman_facepalming_dark_skin_tone:': '🤦🏿‍♀️', ':woman_facepalming_tone5:': '🤦🏿‍♀️', ':woman_fairy_light_skin_tone:': '🧚🏻‍♀️', ':woman_fairy_tone1:': '🧚🏻‍♀️', ':woman_fairy_medium_light_skin_tone:': '🧚🏼‍♀️', ':woman_fairy_tone2:': '🧚🏼‍♀️', ':woman_fairy_medium_skin_tone:': '🧚🏽‍♀️', ':woman_fairy_tone3:': '🧚🏽‍♀️', ':woman_fairy_medium_dark_skin_tone:': '🧚🏾‍♀️', ':woman_fairy_tone4:': '🧚🏾‍♀️', ':woman_fairy_dark_skin_tone:': '🧚🏿‍♀️', ':woman_fairy_tone5:': '🧚🏿‍♀️', ':woman_frowning_light_skin_tone:': '🙍🏻‍♀️', ':woman_frowning_tone1:': '🙍🏻‍♀️', ':woman_frowning_medium_light_skin_tone:': '🙍🏼‍♀️', ':woman_frowning_tone2:': '🙍🏼‍♀️', ':woman_frowning_medium_skin_tone:': '🙍🏽‍♀️', ':woman_frowning_tone3:': '🙍🏽‍♀️', ':woman_frowning_medium_dark_skin_tone:': '🙍🏾‍♀️', ':woman_frowning_tone4:': '🙍🏾‍♀️', ':woman_frowning_dark_skin_tone:': '🙍🏿‍♀️', ':woman_frowning_tone5:': '🙍🏿‍♀️', ':woman_gesturing_no_light_skin_tone:': '🙅🏻‍♀️', ':woman_gesturing_no_tone1:': '🙅🏻‍♀️', ':woman_gesturing_no_medium_light_skin_tone:': '🙅🏼‍♀️', ':woman_gesturing_no_tone2:': '🙅🏼‍♀️', ':woman_gesturing_no_medium_skin_tone:': '🙅🏽‍♀️', ':woman_gesturing_no_tone3:': '🙅🏽‍♀️', ':woman_gesturing_no_medium_dark_skin_tone:': '🙅🏾‍♀️', ':woman_gesturing_no_tone4:': '🙅🏾‍♀️', ':woman_gesturing_no_dark_skin_tone:': '🙅🏿‍♀️', ':woman_gesturing_no_tone5:': '🙅🏿‍♀️', ':woman_gesturing_ok_light_skin_tone:': '🙆🏻‍♀️', ':woman_gesturing_ok_tone1:': '🙆🏻‍♀️', ':woman_gesturing_ok_medium_light_skin_tone:': '🙆🏼‍♀️', ':woman_gesturing_ok_tone2:': '🙆🏼‍♀️', ':woman_gesturing_ok_medium_skin_tone:': '🙆🏽‍♀️', ':woman_gesturing_ok_tone3:': '🙆🏽‍♀️', ':woman_gesturing_ok_medium_dark_skin_tone:': '🙆🏾‍♀️', ':woman_gesturing_ok_tone4:': '🙆🏾‍♀️', ':woman_gesturing_ok_dark_skin_tone:': '🙆🏿‍♀️', ':woman_gesturing_ok_tone5:': '🙆🏿‍♀️', ':woman_getting_face_massage_light_skin_tone:': '💆🏻‍♀️', ':woman_getting_face_massage_tone1:': '💆🏻‍♀️', ':woman_getting_face_massage_medium_light_skin_tone:': '💆🏼‍♀️', ':woman_getting_face_massage_tone2:': '💆🏼‍♀️', ':woman_getting_face_massage_medium_skin_tone:': '💆🏽‍♀️', ':woman_getting_face_massage_tone3:': '💆🏽‍♀️', ':woman_getting_face_massage_medium_dark_skin_tone:': '💆🏾‍♀️', ':woman_getting_face_massage_tone4:': '💆🏾‍♀️', ':woman_getting_face_massage_dark_skin_tone:': '💆🏿‍♀️', ':woman_getting_face_massage_tone5:': '💆🏿‍♀️', ':woman_getting_haircut_light_skin_tone:': '💇🏻‍♀️', ':woman_getting_haircut_tone1:': '💇🏻‍♀️', ':woman_getting_haircut_medium_light_skin_tone:': '💇🏼‍♀️', ':woman_getting_haircut_tone2:': '💇🏼‍♀️', ':woman_getting_haircut_medium_skin_tone:': '💇🏽‍♀️', ':woman_getting_haircut_tone3:': '💇🏽‍♀️', ':woman_getting_haircut_medium_dark_skin_tone:': '💇🏾‍♀️', ':woman_getting_haircut_tone4:': '💇🏾‍♀️', ':woman_getting_haircut_dark_skin_tone:': '💇🏿‍♀️', ':woman_getting_haircut_tone5:': '💇🏿‍♀️', ':woman_golfing_light_skin_tone:': '🏌️🏻‍♀️', ':woman_golfing_tone1:': '🏌️🏻‍♀️', ':woman_golfing_medium_light_skin_tone:': '🏌️🏼‍♀️', ':woman_golfing_tone2:': '🏌️🏼‍♀️', ':woman_golfing_medium_skin_tone:': '🏌️🏽‍♀️', ':woman_golfing_tone3:': '🏌️🏽‍♀️', ':woman_golfing_medium_dark_skin_tone:': '🏌️🏾‍♀️', ':woman_golfing_tone4:': '🏌️🏾‍♀️', ':woman_golfing_dark_skin_tone:': '🏌️🏿‍♀️', ':woman_golfing_tone5:': '🏌️🏿‍♀️', ':woman_guard_light_skin_tone:': '💂🏻‍♀️', ':woman_guard_tone1:': '💂🏻‍♀️', ':woman_guard_medium_light_skin_tone:': '💂🏼‍♀️', ':woman_guard_tone2:': '💂🏼‍♀️', ':woman_guard_medium_skin_tone:': '💂🏽‍♀️', ':woman_guard_tone3:': '💂🏽‍♀️', ':woman_guard_medium_dark_skin_tone:': '💂🏾‍♀️', ':woman_guard_tone4:': '💂🏾‍♀️', ':woman_guard_dark_skin_tone:': '💂🏿‍♀️', ':woman_guard_tone5:': '💂🏿‍♀️', ':woman_health_worker_light_skin_tone:': '👩🏻‍⚕️', ':woman_health_worker_tone1:': '👩🏻‍⚕️', ':woman_health_worker_medium_light_skin_tone:': '👩🏼‍⚕️', ':woman_health_worker_tone2:': '👩🏼‍⚕️', ':woman_health_worker_medium_skin_tone:': '👩🏽‍⚕️', ':woman_health_worker_tone3:': '👩🏽‍⚕️', ':woman_health_worker_medium_dark_skin_tone:': '👩🏾‍⚕️', ':woman_health_worker_tone4:': '👩🏾‍⚕️', ':woman_health_worker_dark_skin_tone:': '👩🏿‍⚕️', ':woman_health_worker_tone5:': '👩🏿‍⚕️', ':woman_in_lotus_position_light_skin_tone:': '🧘🏻‍♀️', ':woman_in_lotus_position_tone1:': '🧘🏻‍♀️', ':woman_in_lotus_position_medium_light_skin_tone:': '🧘🏼‍♀️', ':woman_in_lotus_position_tone2:': '🧘🏼‍♀️', ':woman_in_lotus_position_medium_skin_tone:': '🧘🏽‍♀️', ':woman_in_lotus_position_tone3:': '🧘🏽‍♀️', ':woman_in_lotus_position_medium_dark_skin_tone:': '🧘🏾‍♀️', ':woman_in_lotus_position_tone4:': '🧘🏾‍♀️', ':woman_in_lotus_position_dark_skin_tone:': '🧘🏿‍♀️', ':woman_in_lotus_position_tone5:': '🧘🏿‍♀️', ':woman_in_steamy_room_light_skin_tone:': '🧖🏻‍♀️', ':woman_in_steamy_room_tone1:': '🧖🏻‍♀️', ':woman_in_steamy_room_medium_light_skin_tone:': '🧖🏼‍♀️', ':woman_in_steamy_room_tone2:': '🧖🏼‍♀️', ':woman_in_steamy_room_medium_skin_tone:': '🧖🏽‍♀️', ':woman_in_steamy_room_tone3:': '🧖🏽‍♀️', ':woman_in_steamy_room_medium_dark_skin_tone:': '🧖🏾‍♀️', ':woman_in_steamy_room_tone4:': '🧖🏾‍♀️', ':woman_in_steamy_room_dark_skin_tone:': '🧖🏿‍♀️', ':woman_in_steamy_room_tone5:': '🧖🏿‍♀️', ':woman_judge_light_skin_tone:': '👩🏻‍⚖️', ':woman_judge_tone1:': '👩🏻‍⚖️', ':woman_judge_medium_light_skin_tone:': '👩🏼‍⚖️', ':woman_judge_tone2:': '👩🏼‍⚖️', ':woman_judge_medium_skin_tone:': '👩🏽‍⚖️', ':woman_judge_tone3:': '👩🏽‍⚖️', ':woman_judge_medium_dark_skin_tone:': '👩🏾‍⚖️', ':woman_judge_tone4:': '👩🏾‍⚖️', ':woman_judge_dark_skin_tone:': '👩🏿‍⚖️', ':woman_judge_tone5:': '👩🏿‍⚖️', ':woman_juggling_light_skin_tone:': '🤹🏻‍♀️', ':woman_juggling_tone1:': '🤹🏻‍♀️', ':woman_juggling_medium_light_skin_tone:': '🤹🏼‍♀️', ':woman_juggling_tone2:': '🤹🏼‍♀️', ':woman_juggling_medium_skin_tone:': '🤹🏽‍♀️', ':woman_juggling_tone3:': '🤹🏽‍♀️', ':woman_juggling_medium_dark_skin_tone:': '🤹🏾‍♀️', ':woman_juggling_tone4:': '🤹🏾‍♀️', ':woman_juggling_dark_skin_tone:': '🤹🏿‍♀️', ':woman_juggling_tone5:': '🤹🏿‍♀️', ':woman_kneeling_light_skin_tone:': '🧎🏻‍♀️', ':woman_kneeling_tone1:': '🧎🏻‍♀️', ':woman_kneeling_medium_light_skin_tone:': '🧎🏼‍♀️', ':woman_kneeling_tone2:': '🧎🏼‍♀️', ':woman_kneeling_medium_skin_tone:': '🧎🏽‍♀️', ':woman_kneeling_tone3:': '🧎🏽‍♀️', ':woman_kneeling_medium_dark_skin_tone:': '🧎🏾‍♀️', ':woman_kneeling_tone4:': '🧎🏾‍♀️', ':woman_kneeling_dark_skin_tone:': '🧎🏿‍♀️', ':woman_kneeling_tone5:': '🧎🏿‍♀️', ':woman_lifting_weights_light_skin_tone:': '🏋️🏻‍♀️', ':woman_lifting_weights_tone1:': '🏋️🏻‍♀️', ':woman_lifting_weights_medium_light_skin_tone:': '🏋️🏼‍♀️', ':woman_lifting_weights_tone2:': '🏋️🏼‍♀️', ':woman_lifting_weights_medium_skin_tone:': '🏋️🏽‍♀️', ':woman_lifting_weights_tone3:': '🏋️🏽‍♀️', ':woman_lifting_weights_medium_dark_skin_tone:': '🏋️🏾‍♀️', ':woman_lifting_weights_tone4:': '🏋️🏾‍♀️', ':woman_lifting_weights_dark_skin_tone:': '🏋️🏿‍♀️', ':woman_lifting_weights_tone5:': '🏋️🏿‍♀️', ':woman_mage_light_skin_tone:': '🧙🏻‍♀️', ':woman_mage_tone1:': '🧙🏻‍♀️', ':woman_mage_medium_light_skin_tone:': '🧙🏼‍♀️', ':woman_mage_tone2:': '🧙🏼‍♀️', ':woman_mage_medium_skin_tone:': '🧙🏽‍♀️', ':woman_mage_tone3:': '🧙🏽‍♀️', ':woman_mage_medium_dark_skin_tone:': '🧙🏾‍♀️', ':woman_mage_tone4:': '🧙🏾‍♀️', ':woman_mage_dark_skin_tone:': '🧙🏿‍♀️', ':woman_mage_tone5:': '🧙🏿‍♀️', ':woman_mountain_biking_light_skin_tone:': '🚵🏻‍♀️', ':woman_mountain_biking_tone1:': '🚵🏻‍♀️', ':woman_mountain_biking_medium_light_skin_tone:': '🚵🏼‍♀️', ':woman_mountain_biking_tone2:': '🚵🏼‍♀️', ':woman_mountain_biking_medium_skin_tone:': '🚵🏽‍♀️', ':woman_mountain_biking_tone3:': '🚵🏽‍♀️', ':woman_mountain_biking_medium_dark_skin_tone:': '🚵🏾‍♀️', ':woman_mountain_biking_tone4:': '🚵🏾‍♀️', ':woman_mountain_biking_dark_skin_tone:': '🚵🏿‍♀️', ':woman_mountain_biking_tone5:': '🚵🏿‍♀️', ':woman_pilot_light_skin_tone:': '👩🏻‍✈️', ':woman_pilot_tone1:': '👩🏻‍✈️', ':woman_pilot_medium_light_skin_tone:': '👩🏼‍✈️', ':woman_pilot_tone2:': '👩🏼‍✈️', ':woman_pilot_medium_skin_tone:': '👩🏽‍✈️', ':woman_pilot_tone3:': '👩🏽‍✈️', ':woman_pilot_medium_dark_skin_tone:': '👩🏾‍✈️', ':woman_pilot_tone4:': '👩🏾‍✈️', ':woman_pilot_dark_skin_tone:': '👩🏿‍✈️', ':woman_pilot_tone5:': '👩🏿‍✈️', ':woman_playing_handball_light_skin_tone:': '🤾🏻‍♀️', ':woman_playing_handball_tone1:': '🤾🏻‍♀️', ':woman_playing_handball_medium_light_skin_tone:': '🤾🏼‍♀️', ':woman_playing_handball_tone2:': '🤾🏼‍♀️', ':woman_playing_handball_medium_skin_tone:': '🤾🏽‍♀️', ':woman_playing_handball_tone3:': '🤾🏽‍♀️', ':woman_playing_handball_medium_dark_skin_tone:': '🤾🏾‍♀️', ':woman_playing_handball_tone4:': '🤾🏾‍♀️', ':woman_playing_handball_dark_skin_tone:': '🤾🏿‍♀️', ':woman_playing_handball_tone5:': '🤾🏿‍♀️', ':woman_playing_water_polo_light_skin_tone:': '🤽🏻‍♀️', ':woman_playing_water_polo_tone1:': '🤽🏻‍♀️', ':woman_playing_water_polo_medium_light_skin_tone:': '🤽🏼‍♀️', ':woman_playing_water_polo_tone2:': '🤽🏼‍♀️', ':woman_playing_water_polo_medium_skin_tone:': '🤽🏽‍♀️', ':woman_playing_water_polo_tone3:': '🤽🏽‍♀️', ':woman_playing_water_polo_medium_dark_skin_tone:': '🤽🏾‍♀️', ':woman_playing_water_polo_tone4:': '🤽🏾‍♀️', ':woman_playing_water_polo_dark_skin_tone:': '🤽🏿‍♀️', ':woman_playing_water_polo_tone5:': '🤽🏿‍♀️', ':woman_police_officer_light_skin_tone:': '👮🏻‍♀️', ':woman_police_officer_tone1:': '👮🏻‍♀️', ':woman_police_officer_medium_light_skin_tone:': '👮🏼‍♀️', ':woman_police_officer_tone2:': '👮🏼‍♀️', ':woman_police_officer_medium_skin_tone:': '👮🏽‍♀️', ':woman_police_officer_tone3:': '👮🏽‍♀️', ':woman_police_officer_medium_dark_skin_tone:': '👮🏾‍♀️', ':woman_police_officer_tone4:': '👮🏾‍♀️', ':woman_police_officer_dark_skin_tone:': '👮🏿‍♀️', ':woman_police_officer_tone5:': '👮🏿‍♀️', ':woman_pouting_light_skin_tone:': '🙎🏻‍♀️', ':woman_pouting_tone1:': '🙎🏻‍♀️', ':woman_pouting_medium_light_skin_tone:': '🙎🏼‍♀️', ':woman_pouting_tone2:': '🙎🏼‍♀️', ':woman_pouting_medium_skin_tone:': '🙎🏽‍♀️', ':woman_pouting_tone3:': '🙎🏽‍♀️', ':woman_pouting_medium_dark_skin_tone:': '🙎🏾‍♀️', ':woman_pouting_tone4:': '🙎🏾‍♀️', ':woman_pouting_dark_skin_tone:': '🙎🏿‍♀️', ':woman_pouting_tone5:': '🙎🏿‍♀️', ':woman_raising_hand_light_skin_tone:': '🙋🏻‍♀️', ':woman_raising_hand_tone1:': '🙋🏻‍♀️', ':woman_raising_hand_medium_light_skin_tone:': '🙋🏼‍♀️', ':woman_raising_hand_tone2:': '🙋🏼‍♀️', ':woman_raising_hand_medium_skin_tone:': '🙋🏽‍♀️', ':woman_raising_hand_tone3:': '🙋🏽‍♀️', ':woman_raising_hand_medium_dark_skin_tone:': '🙋🏾‍♀️', ':woman_raising_hand_tone4:': '🙋🏾‍♀️', ':woman_raising_hand_dark_skin_tone:': '🙋🏿‍♀️', ':woman_raising_hand_tone5:': '🙋🏿‍♀️', ':woman_rowing_boat_light_skin_tone:': '🚣🏻‍♀️', ':woman_rowing_boat_tone1:': '🚣🏻‍♀️', ':woman_rowing_boat_medium_light_skin_tone:': '🚣🏼‍♀️', ':woman_rowing_boat_tone2:': '🚣🏼‍♀️', ':woman_rowing_boat_medium_skin_tone:': '🚣🏽‍♀️', ':woman_rowing_boat_tone3:': '🚣🏽‍♀️', ':woman_rowing_boat_medium_dark_skin_tone:': '🚣🏾‍♀️', ':woman_rowing_boat_tone4:': '🚣🏾‍♀️', ':woman_rowing_boat_dark_skin_tone:': '🚣🏿‍♀️', ':woman_rowing_boat_tone5:': '🚣🏿‍♀️', ':woman_running_light_skin_tone:': '🏃🏻‍♀️', ':woman_running_tone1:': '🏃🏻‍♀️', ':woman_running_medium_light_skin_tone:': '🏃🏼‍♀️', ':woman_running_tone2:': '🏃🏼‍♀️', ':woman_running_medium_skin_tone:': '🏃🏽‍♀️', ':woman_running_tone3:': '🏃🏽‍♀️', ':woman_running_medium_dark_skin_tone:': '🏃🏾‍♀️', ':woman_running_tone4:': '🏃🏾‍♀️', ':woman_running_dark_skin_tone:': '🏃🏿‍♀️', ':woman_running_tone5:': '🏃🏿‍♀️', ':woman_shrugging_light_skin_tone:': '🤷🏻‍♀️', ':woman_shrugging_tone1:': '🤷🏻‍♀️', ':woman_shrugging_medium_light_skin_tone:': '🤷🏼‍♀️', ':woman_shrugging_tone2:': '🤷🏼‍♀️', ':woman_shrugging_medium_skin_tone:': '🤷🏽‍♀️', ':woman_shrugging_tone3:': '🤷🏽‍♀️', ':woman_shrugging_medium_dark_skin_tone:': '🤷🏾‍♀️', ':woman_shrugging_tone4:': '🤷🏾‍♀️', ':woman_shrugging_dark_skin_tone:': '🤷🏿‍♀️', ':woman_shrugging_tone5:': '🤷🏿‍♀️', ':woman_standing_light_skin_tone:': '🧍🏻‍♀️', ':woman_standing_tone1:': '🧍🏻‍♀️', ':woman_standing_medium_light_skin_tone:': '🧍🏼‍♀️', ':woman_standing_tone2:': '🧍🏼‍♀️', ':woman_standing_medium_skin_tone:': '🧍🏽‍♀️', ':woman_standing_tone3:': '🧍🏽‍♀️', ':woman_standing_medium_dark_skin_tone:': '🧍🏾‍♀️', ':woman_standing_tone4:': '🧍🏾‍♀️', ':woman_standing_dark_skin_tone:': '🧍🏿‍♀️', ':woman_standing_tone5:': '🧍🏿‍♀️', ':woman_superhero_light_skin_tone:': '🦸🏻‍♀️', ':woman_superhero_tone1:': '🦸🏻‍♀️', ':woman_superhero_medium_light_skin_tone:': '🦸🏼‍♀️', ':woman_superhero_tone2:': '🦸🏼‍♀️', ':woman_superhero_medium_skin_tone:': '🦸🏽‍♀️', ':woman_superhero_tone3:': '🦸🏽‍♀️', ':woman_superhero_medium_dark_skin_tone:': '🦸🏾‍♀️', ':woman_superhero_tone4:': '🦸🏾‍♀️', ':woman_superhero_dark_skin_tone:': '🦸🏿‍♀️', ':woman_superhero_tone5:': '🦸🏿‍♀️', ':woman_supervillain_light_skin_tone:': '🦹🏻‍♀️', ':woman_supervillain_tone1:': '🦹🏻‍♀️', ':woman_supervillain_medium_light_skin_tone:': '🦹🏼‍♀️', ':woman_supervillain_tone2:': '🦹🏼‍♀️', ':woman_supervillain_medium_skin_tone:': '🦹🏽‍♀️', ':woman_supervillain_tone3:': '🦹🏽‍♀️', ':woman_supervillain_medium_dark_skin_tone:': '🦹🏾‍♀️', ':woman_supervillain_tone4:': '🦹🏾‍♀️', ':woman_supervillain_dark_skin_tone:': '🦹🏿‍♀️', ':woman_supervillain_tone5:': '🦹🏿‍♀️', ':woman_surfing_light_skin_tone:': '🏄🏻‍♀️', ':woman_surfing_tone1:': '🏄🏻‍♀️', ':woman_surfing_medium_light_skin_tone:': '🏄🏼‍♀️', ':woman_surfing_tone2:': '🏄🏼‍♀️', ':woman_surfing_medium_skin_tone:': '🏄🏽‍♀️', ':woman_surfing_tone3:': '🏄🏽‍♀️', ':woman_surfing_medium_dark_skin_tone:': '🏄🏾‍♀️', ':woman_surfing_tone4:': '🏄🏾‍♀️', ':woman_surfing_dark_skin_tone:': '🏄🏿‍♀️', ':woman_surfing_tone5:': '🏄🏿‍♀️', ':woman_swimming_light_skin_tone:': '🏊🏻‍♀️', ':woman_swimming_tone1:': '🏊🏻‍♀️', ':woman_swimming_medium_light_skin_tone:': '🏊🏼‍♀️', ':woman_swimming_tone2:': '🏊🏼‍♀️', ':woman_swimming_medium_skin_tone:': '🏊🏽‍♀️', ':woman_swimming_tone3:': '🏊🏽‍♀️', ':woman_swimming_medium_dark_skin_tone:': '🏊🏾‍♀️', ':woman_swimming_tone4:': '🏊🏾‍♀️', ':woman_swimming_dark_skin_tone:': '🏊🏿‍♀️', ':woman_swimming_tone5:': '🏊🏿‍♀️', ':woman_tipping_hand_light_skin_tone:': '💁🏻‍♀️', ':woman_tipping_hand_tone1:': '💁🏻‍♀️', ':woman_tipping_hand_medium_light_skin_tone:': '💁🏼‍♀️', ':woman_tipping_hand_tone2:': '💁🏼‍♀️', ':woman_tipping_hand_medium_skin_tone:': '💁🏽‍♀️', ':woman_tipping_hand_tone3:': '💁🏽‍♀️', ':woman_tipping_hand_medium_dark_skin_tone:': '💁🏾‍♀️', ':woman_tipping_hand_tone4:': '💁🏾‍♀️', ':woman_tipping_hand_dark_skin_tone:': '💁🏿‍♀️', ':woman_tipping_hand_tone5:': '💁🏿‍♀️', ':woman_vampire_light_skin_tone:': '🧛🏻‍♀️', ':woman_vampire_tone1:': '🧛🏻‍♀️', ':woman_vampire_medium_light_skin_tone:': '🧛🏼‍♀️', ':woman_vampire_tone2:': '🧛🏼‍♀️', ':woman_vampire_medium_skin_tone:': '🧛🏽‍♀️', ':woman_vampire_tone3:': '🧛🏽‍♀️', ':woman_vampire_medium_dark_skin_tone:': '🧛🏾‍♀️', ':woman_vampire_tone4:': '🧛🏾‍♀️', ':woman_vampire_dark_skin_tone:': '🧛🏿‍♀️', ':woman_vampire_tone5:': '🧛🏿‍♀️', ':woman_walking_light_skin_tone:': '🚶🏻‍♀️', ':woman_walking_tone1:': '🚶🏻‍♀️', ':woman_walking_medium_light_skin_tone:': '🚶🏼‍♀️', ':woman_walking_tone2:': '🚶🏼‍♀️', ':woman_walking_medium_skin_tone:': '🚶🏽‍♀️', ':woman_walking_tone3:': '🚶🏽‍♀️', ':woman_walking_medium_dark_skin_tone:': '🚶🏾‍♀️', ':woman_walking_tone4:': '🚶🏾‍♀️', ':woman_walking_dark_skin_tone:': '🚶🏿‍♀️', ':woman_walking_tone5:': '🚶🏿‍♀️', ':woman_wearing_turban_light_skin_tone:': '👳🏻‍♀️', ':woman_wearing_turban_tone1:': '👳🏻‍♀️', ':woman_wearing_turban_medium_light_skin_tone:': '👳🏼‍♀️', ':woman_wearing_turban_tone2:': '👳🏼‍♀️', ':woman_wearing_turban_medium_skin_tone:': '👳🏽‍♀️', ':woman_wearing_turban_tone3:': '👳🏽‍♀️', ':woman_wearing_turban_medium_dark_skin_tone:': '👳🏾‍♀️', ':woman_wearing_turban_tone4:': '👳🏾‍♀️', ':woman_wearing_turban_dark_skin_tone:': '👳🏿‍♀️', ':woman_wearing_turban_tone5:': '👳🏿‍♀️', ':man_bouncing_ball_light_skin_tone:': '⛹️🏻‍♂️', ':man_bouncing_ball_tone1:': '⛹️🏻‍♂️', ':man_bouncing_ball_medium_light_skin_tone:': '⛹️🏼‍♂️', ':man_bouncing_ball_tone2:': '⛹️🏼‍♂️', ':man_bouncing_ball_medium_skin_tone:': '⛹️🏽‍♂️', ':man_bouncing_ball_tone3:': '⛹️🏽‍♂️', ':man_bouncing_ball_medium_dark_skin_tone:': '⛹️🏾‍♂️', ':man_bouncing_ball_tone4:': '⛹️🏾‍♂️', ':man_bouncing_ball_dark_skin_tone:': '⛹️🏿‍♂️', ':man_bouncing_ball_tone5:': '⛹️🏿‍♂️', ':woman_bouncing_ball_light_skin_tone:': '⛹️🏻‍♀️', ':woman_bouncing_ball_tone1:': '⛹️🏻‍♀️', ':woman_bouncing_ball_medium_light_skin_tone:': '⛹️🏼‍♀️', ':woman_bouncing_ball_tone2:': '⛹️🏼‍♀️', ':woman_bouncing_ball_medium_skin_tone:': '⛹️🏽‍♀️', ':woman_bouncing_ball_tone3:': '⛹️🏽‍♀️', ':woman_bouncing_ball_medium_dark_skin_tone:': '⛹️🏾‍♀️', ':woman_bouncing_ball_tone4:': '⛹️🏾‍♀️', ':woman_bouncing_ball_dark_skin_tone:': '⛹️🏿‍♀️', ':woman_bouncing_ball_tone5:': '⛹️🏿‍♀️', ':adult_light_skin_tone:': '🧑🏻', ':adult_tone1:': '🧑🏻', ':adult_medium_light_skin_tone:': '🧑🏼', ':adult_tone2:': '🧑🏼', ':adult_medium_skin_tone:': '🧑🏽', ':adult_tone3:': '🧑🏽', ':adult_medium_dark_skin_tone:': '🧑🏾', ':adult_tone4:': '🧑🏾', ':adult_dark_skin_tone:': '🧑🏿', ':adult_tone5:': '🧑🏿', ':angel_tone1:': '👼🏻', ':angel_tone2:': '👼🏼', ':angel_tone3:': '👼🏽', ':angel_tone4:': '👼🏾', ':angel_tone5:': '👼🏿', ':baby_tone1:': '👶🏻', ':baby_tone2:': '👶🏼', ':baby_tone3:': '👶🏽', ':baby_tone4:': '👶🏾', ':baby_tone5:': '👶🏿', ':bath_tone1:': '🛀🏻', ':bath_tone2:': '🛀🏼', ':bath_tone3:': '🛀🏽', ':bath_tone4:': '🛀🏾', ':bath_tone5:': '🛀🏿', ':bearded_person_light_skin_tone:': '🧔🏻', ':bearded_person_tone1:': '🧔🏻', ':bearded_person_medium_light_skin_tone:': '🧔🏼', ':bearded_person_tone2:': '🧔🏼', ':bearded_person_medium_skin_tone:': '🧔🏽', ':bearded_person_tone3:': '🧔🏽', ':bearded_person_medium_dark_skin_tone:': '🧔🏾', ':bearded_person_tone4:': '🧔🏾', ':bearded_person_dark_skin_tone:': '🧔🏿', ':bearded_person_tone5:': '🧔🏿', ':person_with_blond_hair_tone1:': '👱🏻', ':blond_haired_person_tone1:': '👱🏻', ':person_with_blond_hair_tone2:': '👱🏼', ':blond_haired_person_tone2:': '👱🏼', ':person_with_blond_hair_tone3:': '👱🏽', ':blond_haired_person_tone3:': '👱🏽', ':person_with_blond_hair_tone4:': '👱🏾', ':blond_haired_person_tone4:': '👱🏾', ':person_with_blond_hair_tone5:': '👱🏿', ':blond_haired_person_tone5:': '👱🏿', ':boy_tone1:': '👦🏻', ':boy_tone2:': '👦🏼', ':boy_tone3:': '👦🏽', ':boy_tone4:': '👦🏾', ':boy_tone5:': '👦🏿', ':breast_feeding_light_skin_tone:': '🤱🏻', ':breast_feeding_tone1:': '🤱🏻', ':breast_feeding_medium_light_skin_tone:': '🤱🏼', ':breast_feeding_tone2:': '🤱🏼', ':breast_feeding_medium_skin_tone:': '🤱🏽', ':breast_feeding_tone3:': '🤱🏽', ':breast_feeding_medium_dark_skin_tone:': '🤱🏾', ':breast_feeding_tone4:': '🤱🏾', ':breast_feeding_dark_skin_tone:': '🤱🏿', ':breast_feeding_tone5:': '🤱🏿', ':bride_with_veil_tone1:': '👰🏻', ':bride_with_veil_tone2:': '👰🏼', ':bride_with_veil_tone3:': '👰🏽', ':bride_with_veil_tone4:': '👰🏾', ':bride_with_veil_tone5:': '👰🏿', ':call_me_hand_tone1:': '🤙🏻', ':call_me_tone1:': '🤙🏻', ':call_me_hand_tone2:': '🤙🏼', ':call_me_tone2:': '🤙🏼', ':call_me_hand_tone3:': '🤙🏽', ':call_me_tone3:': '🤙🏽', ':call_me_hand_tone4:': '🤙🏾', ':call_me_tone4:': '🤙🏾', ':call_me_hand_tone5:': '🤙🏿', ':call_me_tone5:': '🤙🏿', ':child_light_skin_tone:': '🧒🏻', ':child_tone1:': '🧒🏻', ':child_medium_light_skin_tone:': '🧒🏼', ':child_tone2:': '🧒🏼', ':child_medium_skin_tone:': '🧒🏽', ':child_tone3:': '🧒🏽', ':child_medium_dark_skin_tone:': '🧒🏾', ':child_tone4:': '🧒🏾', ':child_dark_skin_tone:': '🧒🏿', ':child_tone5:': '🧒🏿', ':clap_tone1:': '👏🏻', ':clap_tone2:': '👏🏼', ':clap_tone3:': '👏🏽', ':clap_tone4:': '👏🏾', ':clap_tone5:': '👏🏿', ':construction_worker_tone1:': '👷🏻', ':construction_worker_tone2:': '👷🏼', ':construction_worker_tone3:': '👷🏽', ':construction_worker_tone4:': '👷🏾', ':construction_worker_tone5:': '👷🏿', ':dancer_tone1:': '💃🏻', ':dancer_tone2:': '💃🏼', ':dancer_tone3:': '💃🏽', ':dancer_tone4:': '💃🏾', ':dancer_tone5:': '💃🏿', ':deaf_person_light_skin_tone:': '🧏🏻', ':deaf_person_tone1:': '🧏🏻', ':deaf_person_medium_light_skin_tone:': '🧏🏼', ':deaf_person_tone2:': '🧏🏼', ':deaf_person_medium_skin_tone:': '🧏🏽', ':deaf_person_tone3:': '🧏🏽', ':deaf_person_medium_dark_skin_tone:': '🧏🏾', ':deaf_person_tone4:': '🧏🏾', ':deaf_person_dark_skin_tone:': '🧏🏿', ':deaf_person_tone5:': '🧏🏿', ':spy_tone1:': '🕵️🏻', ':sleuth_or_spy_tone1:': '🕵️🏻', ':detective_tone1:': '🕵️🏻', ':spy_tone2:': '🕵️🏼', ':sleuth_or_spy_tone2:': '🕵️🏼', ':detective_tone2:': '🕵️🏼', ':spy_tone3:': '🕵️🏽', ':sleuth_or_spy_tone3:': '🕵️🏽', ':detective_tone3:': '🕵️🏽', ':spy_tone4:': '🕵️🏾', ':sleuth_or_spy_tone4:': '🕵️🏾', ':detective_tone4:': '🕵️🏾', ':spy_tone5:': '🕵️🏿', ':sleuth_or_spy_tone5:': '🕵️🏿', ':detective_tone5:': '🕵️🏿', ':ear_tone1:': '👂🏻', ':ear_tone2:': '👂🏼', ':ear_tone3:': '👂🏽', ':ear_tone4:': '👂🏾', ':ear_tone5:': '👂🏿', ':ear_with_hearing_aid_light_skin_tone:': '🦻🏻', ':ear_with_hearing_aid_tone1:': '🦻🏻', ':ear_with_hearing_aid_medium_light_skin_tone:': '🦻🏼', ':ear_with_hearing_aid_tone2:': '🦻🏼', ':ear_with_hearing_aid_medium_skin_tone:': '🦻🏽', ':ear_with_hearing_aid_tone3:': '🦻🏽', ':ear_with_hearing_aid_medium_dark_skin_tone:': '🦻🏾', ':ear_with_hearing_aid_tone4:': '🦻🏾', ':ear_with_hearing_aid_dark_skin_tone:': '🦻🏿', ':ear_with_hearing_aid_tone5:': '🦻🏿', ':elf_light_skin_tone:': '🧝🏻', ':elf_tone1:': '🧝🏻', ':elf_medium_light_skin_tone:': '🧝🏼', ':elf_tone2:': '🧝🏼', ':elf_medium_skin_tone:': '🧝🏽', ':elf_tone3:': '🧝🏽', ':elf_medium_dark_skin_tone:': '🧝🏾', ':elf_tone4:': '🧝🏾', ':elf_dark_skin_tone:': '🧝🏿', ':elf_tone5:': '🧝🏿', ':eye_in_speech_bubble:': '👁️‍🗨️', ':fairy_light_skin_tone:': '🧚🏻', ':fairy_tone1:': '🧚🏻', ':fairy_medium_light_skin_tone:': '🧚🏼', ':fairy_tone2:': '🧚🏼', ':fairy_medium_skin_tone:': '🧚🏽', ':fairy_tone3:': '🧚🏽', ':fairy_medium_dark_skin_tone:': '🧚🏾', ':fairy_tone4:': '🧚🏾', ':fairy_dark_skin_tone:': '🧚🏿', ':fairy_tone5:': '🧚🏿', ':family_man_boy:': '👨‍👦', ':family_man_girl:': '👨‍👧', ':family_woman_boy:': '👩‍👦', ':family_woman_girl:': '👩‍👧', ':hand_with_index_and_middle_fingers_crossed_tone1:': '🤞🏻', ':fingers_crossed_tone1:': '🤞🏻', ':hand_with_index_and_middle_fingers_crossed_tone2:': '🤞🏼', ':fingers_crossed_tone2:': '🤞🏼', ':hand_with_index_and_middle_fingers_crossed_tone3:': '🤞🏽', ':fingers_crossed_tone3:': '🤞🏽', ':hand_with_index_and_middle_fingers_crossed_tone4:': '🤞🏾', ':fingers_crossed_tone4:': '🤞🏾', ':hand_with_index_and_middle_fingers_crossed_tone5:': '🤞🏿', ':fingers_crossed_tone5:': '🤞🏿', ':ac:': '🇦🇨', ':flag_ac:': '🇦🇨', ':ad:': '🇦🇩', ':flag_ad:': '🇦🇩', ':ae:': '🇦🇪', ':flag_ae:': '🇦🇪', ':af:': '🇦🇫', ':flag_af:': '🇦🇫', ':ag:': '🇦🇬', ':flag_ag:': '🇦🇬', ':ai:': '🇦🇮', ':flag_ai:': '🇦🇮', ':al:': '🇦🇱', ':flag_al:': '🇦🇱', ':am:': '🇦🇲', ':flag_am:': '🇦🇲', ':ao:': '🇦🇴', ':flag_ao:': '🇦🇴', ':aq:': '🇦🇶', ':flag_aq:': '🇦🇶', ':ar:': '🇦🇷', ':flag_ar:': '🇦🇷', ':as:': '🇦🇸', ':flag_as:': '🇦🇸', ':at:': '🇦🇹', ':flag_at:': '🇦🇹', ':au:': '🇦🇺', ':flag_au:': '🇦🇺', ':aw:': '🇦🇼', ':flag_aw:': '🇦🇼', ':ax:': '🇦🇽', ':flag_ax:': '🇦🇽', ':az:': '🇦🇿', ':flag_az:': '🇦🇿', ':ba:': '🇧🇦', ':flag_ba:': '🇧🇦', ':bb:': '🇧🇧', ':flag_bb:': '🇧🇧', ':bd:': '🇧🇩', ':flag_bd:': '🇧🇩', ':be:': '🇧🇪', ':flag_be:': '🇧🇪', ':bf:': '🇧🇫', ':flag_bf:': '🇧🇫', ':bg:': '🇧🇬', ':flag_bg:': '🇧🇬', ':bh:': '🇧🇭', ':flag_bh:': '🇧🇭', ':bi:': '🇧🇮', ':flag_bi:': '🇧🇮', ':bj:': '🇧🇯', ':flag_bj:': '🇧🇯', ':bm:': '🇧🇲', ':flag_bm:': '🇧🇲', ':bn:': '🇧🇳', ':flag_bn:': '🇧🇳', ':bo:': '🇧🇴', ':flag_bo:': '🇧🇴', ':br:': '🇧🇷', ':flag_br:': '🇧🇷', ':bs:': '🇧🇸', ':flag_bs:': '🇧🇸', ':bt:': '🇧🇹', ':flag_bt:': '🇧🇹', ':bv:': '🇧🇻', ':flag_bv:': '🇧🇻', ':bw:': '🇧🇼', ':flag_bw:': '🇧🇼', ':by:': '🇧🇾', ':flag_by:': '🇧🇾', ':bz:': '🇧🇿', ':flag_bz:': '🇧🇿', ':ca:': '🇨🇦', ':flag_ca:': '🇨🇦', ':cc:': '🇨🇨', ':flag_cc:': '🇨🇨', ':congo:': '🇨🇩', ':flag_cd:': '🇨🇩', ':cf:': '🇨🇫', ':flag_cf:': '🇨🇫', ':cg:': '🇨🇬', ':flag_cg:': '🇨🇬', ':ch:': '🇨🇭', ':flag_ch:': '🇨🇭', ':ci:': '🇨🇮', ':flag_ci:': '🇨🇮', ':ck:': '🇨🇰', ':flag_ck:': '🇨🇰', ':chile:': '🇨🇱', ':flag_cl:': '🇨🇱', ':cm:': '🇨🇲', ':flag_cm:': '🇨🇲', ':cn:': '🇨🇳', ':flag_cn:': '🇨🇳', ':co:': '🇨🇴', ':flag_co:': '🇨🇴', ':cp:': '🇨🇵', ':flag_cp:': '🇨🇵', ':cr:': '🇨🇷', ':flag_cr:': '🇨🇷', ':cu:': '🇨🇺', ':flag_cu:': '🇨🇺', ':cv:': '🇨🇻', ':flag_cv:': '🇨🇻', ':cw:': '🇨🇼', ':flag_cw:': '🇨🇼', ':cx:': '🇨🇽', ':flag_cx:': '🇨🇽', ':cy:': '🇨🇾', ':flag_cy:': '🇨🇾', ':cz:': '🇨🇿', ':flag_cz:': '🇨🇿', ':de:': '🇩🇪', ':flag_de:': '🇩🇪', ':dj:': '🇩🇯', ':flag_dj:': '🇩🇯', ':dk:': '🇩🇰', ':flag_dk:': '🇩🇰', ':dm:': '🇩🇲', ':flag_dm:': '🇩🇲', ':do:': '🇩🇴', ':flag_do:': '🇩🇴', ':dz:': '🇩🇿', ':flag_dz:': '🇩🇿', ':ec:': '🇪🇨', ':flag_ec:': '🇪🇨', ':ee:': '🇪🇪', ':flag_ee:': '🇪🇪', ':eg:': '🇪🇬', ':flag_eg:': '🇪🇬', ':er:': '🇪🇷', ':flag_er:': '🇪🇷', ':es:': '🇪🇸', ':flag_es:': '🇪🇸', ':et:': '🇪🇹', ':flag_et:': '🇪🇹', ':eu:': '🇪🇺', ':flag_eu:': '🇪🇺', ':fi:': '🇫🇮', ':flag_fi:': '🇫🇮', ':fj:': '🇫🇯', ':flag_fj:': '🇫🇯', ':fm:': '🇫🇲', ':flag_fm:': '🇫🇲', ':fo:': '🇫🇴', ':flag_fo:': '🇫🇴', ':fr:': '🇫🇷', ':flag_fr:': '🇫🇷', ':ga:': '🇬🇦', ':flag_ga:': '🇬🇦', ':gb:': '🇬🇧', ':flag_gb:': '🇬🇧', ':gd:': '🇬🇩', ':flag_gd:': '🇬🇩', ':ge:': '🇬🇪', ':flag_ge:': '🇬🇪', ':gg:': '🇬🇬', ':flag_gg:': '🇬🇬', ':gh:': '🇬🇭', ':flag_gh:': '🇬🇭', ':gi:': '🇬🇮', ':flag_gi:': '🇬🇮', ':gl:': '🇬🇱', ':flag_gl:': '🇬🇱', ':gm:': '🇬🇲', ':flag_gm:': '🇬🇲', ':gn:': '🇬🇳', ':flag_gn:': '🇬🇳', ':gq:': '🇬🇶', ':flag_gq:': '🇬🇶', ':gr:': '🇬🇷', ':flag_gr:': '🇬🇷', ':gt:': '🇬🇹', ':flag_gt:': '🇬🇹', ':gu:': '🇬🇺', ':flag_gu:': '🇬🇺', ':gw:': '🇬🇼', ':flag_gw:': '🇬🇼', ':gy:': '🇬🇾', ':flag_gy:': '🇬🇾', ':hk:': '🇭🇰', ':flag_hk:': '🇭🇰', ':hm:': '🇭🇲', ':flag_hm:': '🇭🇲', ':hn:': '🇭🇳', ':flag_hn:': '🇭🇳', ':hr:': '🇭🇷', ':flag_hr:': '🇭🇷', ':ht:': '🇭🇹', ':flag_ht:': '🇭🇹', ':hu:': '🇭🇺', ':flag_hu:': '🇭🇺', ':ic:': '🇮🇨', ':flag_ic:': '🇮🇨', ':indonesia:': '🇮🇩', ':flag_id:': '🇮🇩', ':ie:': '🇮🇪', ':flag_ie:': '🇮🇪', ':il:': '🇮🇱', ':flag_il:': '🇮🇱', ':im:': '🇮🇲', ':flag_im:': '🇮🇲', ':in:': '🇮🇳', ':flag_in:': '🇮🇳', ':io:': '🇮🇴', ':flag_io:': '🇮🇴', ':iq:': '🇮🇶', ':flag_iq:': '🇮🇶', ':ir:': '🇮🇷', ':flag_ir:': '🇮🇷', ':is:': '🇮🇸', ':flag_is:': '🇮🇸', ':it:': '🇮🇹', ':flag_it:': '🇮🇹', ':je:': '🇯🇪', ':flag_je:': '🇯🇪', ':jm:': '🇯🇲', ':flag_jm:': '🇯🇲', ':jo:': '🇯🇴', ':flag_jo:': '🇯🇴', ':jp:': '🇯🇵', ':flag_jp:': '🇯🇵', ':ke:': '🇰🇪', ':flag_ke:': '🇰🇪', ':kg:': '🇰🇬', ':flag_kg:': '🇰🇬', ':kh:': '🇰🇭', ':flag_kh:': '🇰🇭', ':ki:': '🇰🇮', ':flag_ki:': '🇰🇮', ':km:': '🇰🇲', ':flag_km:': '🇰🇲', ':kn:': '🇰🇳', ':flag_kn:': '🇰🇳', ':kp:': '🇰🇵', ':flag_kp:': '🇰🇵', ':kr:': '🇰🇷', ':flag_kr:': '🇰🇷', ':kw:': '🇰🇼', ':flag_kw:': '🇰🇼', ':ky:': '🇰🇾', ':flag_ky:': '🇰🇾', ':kz:': '🇰🇿', ':flag_kz:': '🇰🇿', ':la:': '🇱🇦', ':flag_la:': '🇱🇦', ':lb:': '🇱🇧', ':flag_lb:': '🇱🇧', ':lc:': '🇱🇨', ':flag_lc:': '🇱🇨', ':li:': '🇱🇮', ':flag_li:': '🇱🇮', ':lk:': '🇱🇰', ':flag_lk:': '🇱🇰', ':lr:': '🇱🇷', ':flag_lr:': '🇱🇷', ':ls:': '🇱🇸', ':flag_ls:': '🇱🇸', ':lt:': '🇱🇹', ':flag_lt:': '🇱🇹', ':lu:': '🇱🇺', ':flag_lu:': '🇱🇺', ':lv:': '🇱🇻', ':flag_lv:': '🇱🇻', ':ly:': '🇱🇾', ':flag_ly:': '🇱🇾', ':ma:': '🇲🇦', ':flag_ma:': '🇲🇦', ':mc:': '🇲🇨', ':flag_mc:': '🇲🇨', ':md:': '🇲🇩', ':flag_md:': '🇲🇩', ':me:': '🇲🇪', ':flag_me:': '🇲🇪', ':mg:': '🇲🇬', ':flag_mg:': '🇲🇬', ':mh:': '🇲🇭', ':flag_mh:': '🇲🇭', ':mk:': '🇲🇰', ':flag_mk:': '🇲🇰', ':ml:': '🇲🇱', ':flag_ml:': '🇲🇱', ':mm:': '🇲🇲', ':flag_mm:': '🇲🇲', ':mn:': '🇲🇳', ':flag_mn:': '🇲🇳', ':mo:': '🇲🇴', ':flag_mo:': '🇲🇴', ':mp:': '🇲🇵', ':flag_mp:': '🇲🇵', ':mr:': '🇲🇷', ':flag_mr:': '🇲🇷', ':ms:': '🇲🇸', ':flag_ms:': '🇲🇸', ':mt:': '🇲🇹', ':flag_mt:': '🇲🇹', ':mu:': '🇲🇺', ':flag_mu:': '🇲🇺', ':mv:': '🇲🇻', ':flag_mv:': '🇲🇻', ':mw:': '🇲🇼', ':flag_mw:': '🇲🇼', ':mx:': '🇲🇽', ':flag_mx:': '🇲🇽', ':my:': '🇲🇾', ':flag_my:': '🇲🇾', ':mz:': '🇲🇿', ':flag_mz:': '🇲🇿', ':na:': '🇳🇦', ':flag_na:': '🇳🇦', ':ne:': '🇳🇪', ':flag_ne:': '🇳🇪', ':nf:': '🇳🇫', ':flag_nf:': '🇳🇫', ':nigeria:': '🇳🇬', ':flag_ng:': '🇳🇬', ':ni:': '🇳🇮', ':flag_ni:': '🇳🇮', ':nl:': '🇳🇱', ':flag_nl:': '🇳🇱', ':no:': '🇳🇴', ':flag_no:': '🇳🇴', ':np:': '🇳🇵', ':flag_np:': '🇳🇵', ':nr:': '🇳🇷', ':flag_nr:': '🇳🇷', ':nu:': '🇳🇺', ':flag_nu:': '🇳🇺', ':nz:': '🇳🇿', ':flag_nz:': '🇳🇿', ':om:': '🇴🇲', ':flag_om:': '🇴🇲', ':pa:': '🇵🇦', ':flag_pa:': '🇵🇦', ':pe:': '🇵🇪', ':flag_pe:': '🇵🇪', ':pf:': '🇵🇫', ':flag_pf:': '🇵🇫', ':pg:': '🇵🇬', ':flag_pg:': '🇵🇬', ':ph:': '🇵🇭', ':flag_ph:': '🇵🇭', ':pk:': '🇵🇰', ':flag_pk:': '🇵🇰', ':pl:': '🇵🇱', ':flag_pl:': '🇵🇱', ':pn:': '🇵🇳', ':flag_pn:': '🇵🇳', ':pr:': '🇵🇷', ':flag_pr:': '🇵🇷', ':ps:': '🇵🇸', ':flag_ps:': '🇵🇸', ':pt:': '🇵🇹', ':flag_pt:': '🇵🇹', ':pw:': '🇵🇼', ':flag_pw:': '🇵🇼', ':py:': '🇵🇾', ':flag_py:': '🇵🇾', ':qa:': '🇶🇦', ':flag_qa:': '🇶🇦', ':ro:': '🇷🇴', ':flag_ro:': '🇷🇴', ':rs:': '🇷🇸', ':flag_rs:': '🇷🇸', ':ru:': '🇷🇺', ':flag_ru:': '🇷🇺', ':rw:': '🇷🇼', ':flag_rw:': '🇷🇼', ':saudiarabia:': '🇸🇦', ':saudi:': '🇸🇦', ':flag_sa:': '🇸🇦', ':sb:': '🇸🇧', ':flag_sb:': '🇸🇧', ':sc:': '🇸🇨', ':flag_sc:': '🇸🇨', ':sd:': '🇸🇩', ':flag_sd:': '🇸🇩', ':se:': '🇸🇪', ':flag_se:': '🇸🇪', ':sg:': '🇸🇬', ':flag_sg:': '🇸🇬', ':sh:': '🇸🇭', ':flag_sh:': '🇸🇭', ':si:': '🇸🇮', ':flag_si:': '🇸🇮', ':sj:': '🇸🇯', ':flag_sj:': '🇸🇯', ':sk:': '🇸🇰', ':flag_sk:': '🇸🇰', ':sl:': '🇸🇱', ':flag_sl:': '🇸🇱', ':sm:': '🇸🇲', ':flag_sm:': '🇸🇲', ':sn:': '🇸🇳', ':flag_sn:': '🇸🇳', ':so:': '🇸🇴', ':flag_so:': '🇸🇴', ':sr:': '🇸🇷', ':flag_sr:': '🇸🇷', ':ss:': '🇸🇸', ':flag_ss:': '🇸🇸', ':st:': '🇸🇹', ':flag_st:': '🇸🇹', ':sv:': '🇸🇻', ':flag_sv:': '🇸🇻', ':sx:': '🇸🇽', ':flag_sx:': '🇸🇽', ':sy:': '🇸🇾', ':flag_sy:': '🇸🇾', ':sz:': '🇸🇿', ':flag_sz:': '🇸🇿', ':ta:': '🇹🇦', ':flag_ta:': '🇹🇦', ':tc:': '🇹🇨', ':flag_tc:': '🇹🇨', ':td:': '🇹🇩', ':flag_td:': '🇹🇩', ':tg:': '🇹🇬', ':flag_tg:': '🇹🇬', ':th:': '🇹🇭', ':flag_th:': '🇹🇭', ':tj:': '🇹🇯', ':flag_tj:': '🇹🇯', ':tk:': '🇹🇰', ':flag_tk:': '🇹🇰', ':tl:': '🇹🇱', ':flag_tl:': '🇹🇱', ':turkmenistan:': '🇹🇲', ':flag_tm:': '🇹🇲', ':tn:': '🇹🇳', ':flag_tn:': '🇹🇳', ':to:': '🇹🇴', ':flag_to:': '🇹🇴', ':tr:': '🇹🇷', ':flag_tr:': '🇹🇷', ':tt:': '🇹🇹', ':flag_tt:': '🇹🇹', ':tuvalu:': '🇹🇻', ':flag_tv:': '🇹🇻', ':tw:': '🇹🇼', ':flag_tw:': '🇹🇼', ':tz:': '🇹🇿', ':flag_tz:': '🇹🇿', ':ua:': '🇺🇦', ':flag_ua:': '🇺🇦', ':ug:': '🇺🇬', ':flag_ug:': '🇺🇬', ':um:': '🇺🇲', ':flag_um:': '🇺🇲', ':us:': '🇺🇸', ':flag_us:': '🇺🇸', ':uy:': '🇺🇾', ':flag_uy:': '🇺🇾', ':uz:': '🇺🇿', ':flag_uz:': '🇺🇿', ':va:': '🇻🇦', ':flag_va:': '🇻🇦', ':vc:': '🇻🇨', ':flag_vc:': '🇻🇨', ':ve:': '🇻🇪', ':flag_ve:': '🇻🇪', ':vg:': '🇻🇬', ':flag_vg:': '🇻🇬', ':vi:': '🇻🇮', ':flag_vi:': '🇻🇮', ':vn:': '🇻🇳', ':flag_vn:': '🇻🇳', ':vu:': '🇻🇺', ':flag_vu:': '🇻🇺', ':ws:': '🇼🇸', ':flag_ws:': '🇼🇸', ':ye:': '🇾🇪', ':flag_ye:': '🇾🇪', ':za:': '🇿🇦', ':flag_za:': '🇿🇦', ':zm:': '🇿🇲', ':flag_zm:': '🇿🇲', ':zw:': '🇿🇼', ':flag_zw:': '🇿🇼', ':foot_light_skin_tone:': '🦶🏻', ':foot_tone1:': '🦶🏻', ':foot_medium_light_skin_tone:': '🦶🏼', ':foot_tone2:': '🦶🏼', ':foot_medium_skin_tone:': '🦶🏽', ':foot_tone3:': '🦶🏽', ':foot_medium_dark_skin_tone:': '🦶🏾', ':foot_tone4:': '🦶🏾', ':foot_dark_skin_tone:': '🦶🏿', ':foot_tone5:': '🦶🏿', ':girl_tone1:': '👧🏻', ':girl_tone2:': '👧🏼', ':girl_tone3:': '👧🏽', ':girl_tone4:': '👧🏾', ':girl_tone5:': '👧🏿', ':guardsman_tone1:': '💂🏻', ':guard_tone1:': '💂🏻', ':guardsman_tone2:': '💂🏼', ':guard_tone2:': '💂🏼', ':guardsman_tone3:': '💂🏽', ':guard_tone3:': '💂🏽', ':guardsman_tone4:': '💂🏾', ':guard_tone4:': '💂🏾', ':guardsman_tone5:': '💂🏿', ':guard_tone5:': '💂🏿', ':raised_hand_with_fingers_splayed_tone1:': '🖐️🏻', ':hand_splayed_tone1:': '🖐️🏻', ':raised_hand_with_fingers_splayed_tone2:': '🖐️🏼', ':hand_splayed_tone2:': '🖐️🏼', ':raised_hand_with_fingers_splayed_tone3:': '🖐️🏽', ':hand_splayed_tone3:': '🖐️🏽', ':raised_hand_with_fingers_splayed_tone4:': '🖐️🏾', ':hand_splayed_tone4:': '🖐️🏾', ':raised_hand_with_fingers_splayed_tone5:': '🖐️🏿', ':hand_splayed_tone5:': '🖐️🏿', ':horse_racing_tone1:': '🏇🏻', ':horse_racing_tone2:': '🏇🏼', ':horse_racing_tone3:': '🏇🏽', ':horse_racing_tone4:': '🏇🏾', ':horse_racing_tone5:': '🏇🏿', ':left_fist_tone1:': '🤛🏻', ':left_facing_fist_tone1:': '🤛🏻', ':left_fist_tone2:': '🤛🏼', ':left_facing_fist_tone2:': '🤛🏼', ':left_fist_tone3:': '🤛🏽', ':left_facing_fist_tone3:': '🤛🏽', ':left_fist_tone4:': '🤛🏾', ':left_facing_fist_tone4:': '🤛🏾', ':left_fist_tone5:': '🤛🏿', ':left_facing_fist_tone5:': '🤛🏿', ':leg_light_skin_tone:': '🦵🏻', ':leg_tone1:': '🦵🏻', ':leg_medium_light_skin_tone:': '🦵🏼', ':leg_tone2:': '🦵🏼', ':leg_medium_skin_tone:': '🦵🏽', ':leg_tone3:': '🦵🏽', ':leg_medium_dark_skin_tone:': '🦵🏾', ':leg_tone4:': '🦵🏾', ':leg_dark_skin_tone:': '🦵🏿', ':leg_tone5:': '🦵🏿', ':man_in_business_suit_levitating_tone1:': '🕴️🏻', ':man_in_business_suit_levitating_light_skin_tone:': '🕴️🏻', ':levitate_tone1:': '🕴️🏻', ':man_in_business_suit_levitating_tone2:': '🕴️🏼', ':man_in_business_suit_levitating_medium_light_skin_tone:': '🕴️🏼', ':levitate_tone2:': '🕴️🏼', ':man_in_business_suit_levitating_tone3:': '🕴️🏽', ':man_in_business_suit_levitating_medium_skin_tone:': '🕴️🏽', ':levitate_tone3:': '🕴️🏽', ':man_in_business_suit_levitating_tone4:': '🕴️🏾', ':man_in_business_suit_levitating_medium_dark_skin_tone:': '🕴️🏾', ':levitate_tone4:': '🕴️🏾', ':man_in_business_suit_levitating_tone5:': '🕴️🏿', ':man_in_business_suit_levitating_dark_skin_tone:': '🕴️🏿', ':levitate_tone5:': '🕴️🏿', ':love_you_gesture_light_skin_tone:': '🤟🏻', ':love_you_gesture_tone1:': '🤟🏻', ':love_you_gesture_medium_light_skin_tone:': '🤟🏼', ':love_you_gesture_tone2:': '🤟🏼', ':love_you_gesture_medium_skin_tone:': '🤟🏽', ':love_you_gesture_tone3:': '🤟🏽', ':love_you_gesture_medium_dark_skin_tone:': '🤟🏾', ':love_you_gesture_tone4:': '🤟🏾', ':love_you_gesture_dark_skin_tone:': '🤟🏿', ':love_you_gesture_tone5:': '🤟🏿', ':mage_light_skin_tone:': '🧙🏻', ':mage_tone1:': '🧙🏻', ':mage_medium_light_skin_tone:': '🧙🏼', ':mage_tone2:': '🧙🏼', ':mage_medium_skin_tone:': '🧙🏽', ':mage_tone3:': '🧙🏽', ':mage_medium_dark_skin_tone:': '🧙🏾', ':mage_tone4:': '🧙🏾', ':mage_dark_skin_tone:': '🧙🏿', ':mage_tone5:': '🧙🏿', ':man_artist:': '👨‍🎨', ':man_astronaut:': '👨‍🚀', ':man_bald:': '👨‍🦲', ':man_cook:': '👨‍🍳', ':man_curly_haired:': '👨‍🦱', ':male_dancer_tone1:': '🕺🏻', ':man_dancing_tone1:': '🕺🏻', ':male_dancer_tone2:': '🕺🏼', ':man_dancing_tone2:': '🕺🏼', ':male_dancer_tone3:': '🕺🏽', ':man_dancing_tone3:': '🕺🏽', ':male_dancer_tone4:': '🕺🏾', ':man_dancing_tone4:': '🕺🏾', ':male_dancer_tone5:': '🕺🏿', ':man_dancing_tone5:': '🕺🏿', ':man_factory_worker:': '👨‍🏭', ':man_farmer:': '👨‍🌾', ':man_firefighter:': '👨‍🚒', ':man_in_manual_wheelchair:': '👨‍🦽', ':man_in_motorized_wheelchair:': '👨‍🦼', ':tuxedo_tone1:': '🤵🏻', ':man_in_tuxedo_tone1:': '🤵🏻', ':tuxedo_tone2:': '🤵🏼', ':man_in_tuxedo_tone2:': '🤵🏼', ':tuxedo_tone3:': '🤵🏽', ':man_in_tuxedo_tone3:': '🤵🏽', ':tuxedo_tone4:': '🤵🏾', ':man_in_tuxedo_tone4:': '🤵🏾', ':tuxedo_tone5:': '🤵🏿', ':man_in_tuxedo_tone5:': '🤵🏿', ':man_mechanic:': '👨‍🔧', ':man_office_worker:': '👨‍💼', ':man_red_haired:': '👨‍🦰', ':man_scientist:': '👨‍🔬', ':man_singer:': '👨‍🎤', ':man_student:': '👨‍🎓', ':man_teacher:': '👨‍🏫', ':man_technologist:': '👨‍💻', ':man_tone1:': '👨🏻', ':man_tone2:': '👨🏼', ':man_tone3:': '👨🏽', ':man_tone4:': '👨🏾', ':man_tone5:': '👨🏿', ':man_white_haired:': '👨‍🦳', ':man_with_gua_pi_mao_tone1:': '👲🏻', ':man_with_chinese_cap_tone1:': '👲🏻', ':man_with_gua_pi_mao_tone2:': '👲🏼', ':man_with_chinese_cap_tone2:': '👲🏼', ':man_with_gua_pi_mao_tone3:': '👲🏽', ':man_with_chinese_cap_tone3:': '👲🏽', ':man_with_gua_pi_mao_tone4:': '👲🏾', ':man_with_chinese_cap_tone4:': '👲🏾', ':man_with_gua_pi_mao_tone5:': '👲🏿', ':man_with_chinese_cap_tone5:': '👲🏿', ':man_with_probing_cane:': '👨‍🦯', ':men_holding_hands_light_skin_tone:': '👬🏻', ':men_holding_hands_tone1:': '👬🏻', ':men_holding_hands_medium_light_skin_tone:': '👬🏼', ':men_holding_hands_tone2:': '👬🏼', ':men_holding_hands_medium_skin_tone:': '👬🏽', ':men_holding_hands_tone3:': '👬🏽', ':men_holding_hands_medium_dark_skin_tone:': '👬🏾', ':men_holding_hands_tone4:': '👬🏾', ':men_holding_hands_dark_skin_tone:': '👬🏿', ':men_holding_hands_tone5:': '👬🏿', ':merperson_light_skin_tone:': '🧜🏻', ':merperson_tone1:': '🧜🏻', ':merperson_medium_light_skin_tone:': '🧜🏼', ':merperson_tone2:': '🧜🏼', ':merperson_medium_skin_tone:': '🧜🏽', ':merperson_tone3:': '🧜🏽', ':merperson_medium_dark_skin_tone:': '🧜🏾', ':merperson_tone4:': '🧜🏾', ':merperson_dark_skin_tone:': '🧜🏿', ':merperson_tone5:': '🧜🏿', ':sign_of_the_horns_tone1:': '🤘🏻', ':metal_tone1:': '🤘🏻', ':sign_of_the_horns_tone2:': '🤘🏼', ':metal_tone2:': '🤘🏼', ':sign_of_the_horns_tone3:': '🤘🏽', ':metal_tone3:': '🤘🏽', ':sign_of_the_horns_tone4:': '🤘🏾', ':metal_tone4:': '🤘🏾', ':sign_of_the_horns_tone5:': '🤘🏿', ':metal_tone5:': '🤘🏿', ':reversed_hand_with_middle_finger_extended_tone1:': '🖕🏻', ':middle_finger_tone1:': '🖕🏻', ':reversed_hand_with_middle_finger_extended_tone2:': '🖕🏼', ':middle_finger_tone2:': '🖕🏼', ':reversed_hand_with_middle_finger_extended_tone3:': '🖕🏽', ':middle_finger_tone3:': '🖕🏽', ':reversed_hand_with_middle_finger_extended_tone4:': '🖕🏾', ':middle_finger_tone4:': '🖕🏾', ':reversed_hand_with_middle_finger_extended_tone5:': '🖕🏿', ':middle_finger_tone5:': '🖕🏿', ':mother_christmas_tone1:': '🤶🏻', ':mrs_claus_tone1:': '🤶🏻', ':mother_christmas_tone2:': '🤶🏼', ':mrs_claus_tone2:': '🤶🏼', ':mother_christmas_tone3:': '🤶🏽', ':mrs_claus_tone3:': '🤶🏽', ':mother_christmas_tone4:': '🤶🏾', ':mrs_claus_tone4:': '🤶🏾', ':mother_christmas_tone5:': '🤶🏿', ':mrs_claus_tone5:': '🤶🏿', ':muscle_tone1:': '💪🏻', ':muscle_tone2:': '💪🏼', ':muscle_tone3:': '💪🏽', ':muscle_tone4:': '💪🏾', ':muscle_tone5:': '💪🏿', ':nail_care_tone1:': '💅🏻', ':nail_care_tone2:': '💅🏼', ':nail_care_tone3:': '💅🏽', ':nail_care_tone4:': '💅🏾', ':nail_care_tone5:': '💅🏿', ':nose_tone1:': '👃🏻', ':nose_tone2:': '👃🏼', ':nose_tone3:': '👃🏽', ':nose_tone4:': '👃🏾', ':nose_tone5:': '👃🏿', ':ok_hand_tone1:': '👌🏻', ':ok_hand_tone2:': '👌🏼', ':ok_hand_tone3:': '👌🏽', ':ok_hand_tone4:': '👌🏾', ':ok_hand_tone5:': '👌🏿', ':older_adult_light_skin_tone:': '🧓🏻', ':older_adult_tone1:': '🧓🏻', ':older_adult_medium_light_skin_tone:': '🧓🏼', ':older_adult_tone2:': '🧓🏼', ':older_adult_medium_skin_tone:': '🧓🏽', ':older_adult_tone3:': '🧓🏽', ':older_adult_medium_dark_skin_tone:': '🧓🏾', ':older_adult_tone4:': '🧓🏾', ':older_adult_dark_skin_tone:': '🧓🏿', ':older_adult_tone5:': '🧓🏿', ':older_man_tone1:': '👴🏻', ':older_man_tone2:': '👴🏼', ':older_man_tone3:': '👴🏽', ':older_man_tone4:': '👴🏾', ':older_man_tone5:': '👴🏿', ':grandma_tone1:': '👵🏻', ':older_woman_tone1:': '👵🏻', ':grandma_tone2:': '👵🏼', ':older_woman_tone2:': '👵🏼', ':grandma_tone3:': '👵🏽', ':older_woman_tone3:': '👵🏽', ':grandma_tone4:': '👵🏾', ':older_woman_tone4:': '👵🏾', ':grandma_tone5:': '👵🏿', ':older_woman_tone5:': '👵🏿', ':open_hands_tone1:': '👐🏻', ':open_hands_tone2:': '👐🏼', ':open_hands_tone3:': '👐🏽', ':open_hands_tone4:': '👐🏾', ':open_hands_tone5:': '👐🏿', ':palms_up_together_light_skin_tone:': '🤲🏻', ':palms_up_together_tone1:': '🤲🏻', ':palms_up_together_medium_light_skin_tone:': '🤲🏼', ':palms_up_together_tone2:': '🤲🏼', ':palms_up_together_medium_skin_tone:': '🤲🏽', ':palms_up_together_tone3:': '🤲🏽', ':palms_up_together_medium_dark_skin_tone:': '🤲🏾', ':palms_up_together_tone4:': '🤲🏾', ':palms_up_together_dark_skin_tone:': '🤲🏿', ':palms_up_together_tone5:': '🤲🏿', ':bicyclist_tone1:': '🚴🏻', ':person_biking_tone1:': '🚴🏻', ':bicyclist_tone2:': '🚴🏼', ':person_biking_tone2:': '🚴🏼', ':bicyclist_tone3:': '🚴🏽', ':person_biking_tone3:': '🚴🏽', ':bicyclist_tone4:': '🚴🏾', ':person_biking_tone4:': '🚴🏾', ':bicyclist_tone5:': '🚴🏿', ':person_biking_tone5:': '🚴🏿', ':bow_tone1:': '🙇🏻', ':person_bowing_tone1:': '🙇🏻', ':bow_tone2:': '🙇🏼', ':person_bowing_tone2:': '🙇🏼', ':bow_tone3:': '🙇🏽', ':person_bowing_tone3:': '🙇🏽', ':bow_tone4:': '🙇🏾', ':person_bowing_tone4:': '🙇🏾', ':bow_tone5:': '🙇🏿', ':person_bowing_tone5:': '🙇🏿', ':person_climbing_light_skin_tone:': '🧗🏻', ':person_climbing_tone1:': '🧗🏻', ':person_climbing_medium_light_skin_tone:': '🧗🏼', ':person_climbing_tone2:': '🧗🏼', ':person_climbing_medium_skin_tone:': '🧗🏽', ':person_climbing_tone3:': '🧗🏽', ':person_climbing_medium_dark_skin_tone:': '🧗🏾', ':person_climbing_tone4:': '🧗🏾', ':person_climbing_dark_skin_tone:': '🧗🏿', ':person_climbing_tone5:': '🧗🏿', ':cartwheel_tone1:': '🤸🏻', ':person_doing_cartwheel_tone1:': '🤸🏻', ':cartwheel_tone2:': '🤸🏼', ':person_doing_cartwheel_tone2:': '🤸🏼', ':cartwheel_tone3:': '🤸🏽', ':person_doing_cartwheel_tone3:': '🤸🏽', ':cartwheel_tone4:': '🤸🏾', ':person_doing_cartwheel_tone4:': '🤸🏾', ':cartwheel_tone5:': '🤸🏿', ':person_doing_cartwheel_tone5:': '🤸🏿', ':face_palm_tone1:': '🤦🏻', ':facepalm_tone1:': '🤦🏻', ':person_facepalming_tone1:': '🤦🏻', ':face_palm_tone2:': '🤦🏼', ':facepalm_tone2:': '🤦🏼', ':person_facepalming_tone2:': '🤦🏼', ':face_palm_tone3:': '🤦🏽', ':facepalm_tone3:': '🤦🏽', ':person_facepalming_tone3:': '🤦🏽', ':face_palm_tone4:': '🤦🏾', ':facepalm_tone4:': '🤦🏾', ':person_facepalming_tone4:': '🤦🏾', ':face_palm_tone5:': '🤦🏿', ':facepalm_tone5:': '🤦🏿', ':person_facepalming_tone5:': '🤦🏿', ':person_frowning_tone1:': '🙍🏻', ':person_frowning_tone2:': '🙍🏼', ':person_frowning_tone3:': '🙍🏽', ':person_frowning_tone4:': '🙍🏾', ':person_frowning_tone5:': '🙍🏿', ':no_good_tone1:': '🙅🏻', ':person_gesturing_no_tone1:': '🙅🏻', ':no_good_tone2:': '🙅🏼', ':person_gesturing_no_tone2:': '🙅🏼', ':no_good_tone3:': '🙅🏽', ':person_gesturing_no_tone3:': '🙅🏽', ':no_good_tone4:': '🙅🏾', ':person_gesturing_no_tone4:': '🙅🏾', ':no_good_tone5:': '🙅🏿', ':person_gesturing_no_tone5:': '🙅🏿', ':ok_woman_tone1:': '🙆🏻', ':person_gesturing_ok_tone1:': '🙆🏻', ':ok_woman_tone2:': '🙆🏼', ':person_gesturing_ok_tone2:': '🙆🏼', ':ok_woman_tone3:': '🙆🏽', ':person_gesturing_ok_tone3:': '🙆🏽', ':ok_woman_tone4:': '🙆🏾', ':person_gesturing_ok_tone4:': '🙆🏾', ':ok_woman_tone5:': '🙆🏿', ':person_gesturing_ok_tone5:': '🙆🏿', ':haircut_tone1:': '💇🏻', ':person_getting_haircut_tone1:': '💇🏻', ':haircut_tone2:': '💇🏼', ':person_getting_haircut_tone2:': '💇🏼', ':haircut_tone3:': '💇🏽', ':person_getting_haircut_tone3:': '💇🏽', ':haircut_tone4:': '💇🏾', ':person_getting_haircut_tone4:': '💇🏾', ':haircut_tone5:': '💇🏿', ':person_getting_haircut_tone5:': '💇🏿', ':massage_tone1:': '💆🏻', ':person_getting_massage_tone1:': '💆🏻', ':massage_tone2:': '💆🏼', ':person_getting_massage_tone2:': '💆🏼', ':massage_tone3:': '💆🏽', ':person_getting_massage_tone3:': '💆🏽', ':massage_tone4:': '💆🏾', ':person_getting_massage_tone4:': '💆🏾', ':massage_tone5:': '💆🏿', ':person_getting_massage_tone5:': '💆🏿', ':person_golfing_light_skin_tone:': '🏌️🏻', ':person_golfing_tone1:': '🏌️🏻', ':person_golfing_medium_light_skin_tone:': '🏌️🏼', ':person_golfing_tone2:': '🏌️🏼', ':person_golfing_medium_skin_tone:': '🏌️🏽', ':person_golfing_tone3:': '🏌️🏽', ':person_golfing_medium_dark_skin_tone:': '🏌️🏾', ':person_golfing_tone4:': '🏌️🏾', ':person_golfing_dark_skin_tone:': '🏌️🏿', ':person_golfing_tone5:': '🏌️🏿', ':person_in_bed_light_skin_tone:': '🛌🏻', ':person_in_bed_tone1:': '🛌🏻', ':person_in_bed_medium_light_skin_tone:': '🛌🏼', ':person_in_bed_tone2:': '🛌🏼', ':person_in_bed_medium_skin_tone:': '🛌🏽', ':person_in_bed_tone3:': '🛌🏽', ':person_in_bed_medium_dark_skin_tone:': '🛌🏾', ':person_in_bed_tone4:': '🛌🏾', ':person_in_bed_dark_skin_tone:': '🛌🏿', ':person_in_bed_tone5:': '🛌🏿', ':person_in_lotus_position_light_skin_tone:': '🧘🏻', ':person_in_lotus_position_tone1:': '🧘🏻', ':person_in_lotus_position_medium_light_skin_tone:': '🧘🏼', ':person_in_lotus_position_tone2:': '🧘🏼', ':person_in_lotus_position_medium_skin_tone:': '🧘🏽', ':person_in_lotus_position_tone3:': '🧘🏽', ':person_in_lotus_position_medium_dark_skin_tone:': '🧘🏾', ':person_in_lotus_position_tone4:': '🧘🏾', ':person_in_lotus_position_dark_skin_tone:': '🧘🏿', ':person_in_lotus_position_tone5:': '🧘🏿', ':person_in_steamy_room_light_skin_tone:': '🧖🏻', ':person_in_steamy_room_tone1:': '🧖🏻', ':person_in_steamy_room_medium_light_skin_tone:': '🧖🏼', ':person_in_steamy_room_tone2:': '🧖🏼', ':person_in_steamy_room_medium_skin_tone:': '🧖🏽', ':person_in_steamy_room_tone3:': '🧖🏽', ':person_in_steamy_room_medium_dark_skin_tone:': '🧖🏾', ':person_in_steamy_room_tone4:': '🧖🏾', ':person_in_steamy_room_dark_skin_tone:': '🧖🏿', ':person_in_steamy_room_tone5:': '🧖🏿', ':juggling_tone1:': '🤹🏻', ':juggler_tone1:': '🤹🏻', ':person_juggling_tone1:': '🤹🏻', ':juggling_tone2:': '🤹🏼', ':juggler_tone2:': '🤹🏼', ':person_juggling_tone2:': '🤹🏼', ':juggling_tone3:': '🤹🏽', ':juggler_tone3:': '🤹🏽', ':person_juggling_tone3:': '🤹🏽', ':juggling_tone4:': '🤹🏾', ':juggler_tone4:': '🤹🏾', ':person_juggling_tone4:': '🤹🏾', ':juggling_tone5:': '🤹🏿', ':juggler_tone5:': '🤹🏿', ':person_juggling_tone5:': '🤹🏿', ':person_kneeling_light_skin_tone:': '🧎🏻', ':person_kneeling_tone1:': '🧎🏻', ':person_kneeling_medium_light_skin_tone:': '🧎🏼', ':person_kneeling_tone2:': '🧎🏼', ':person_kneeling_medium_skin_tone:': '🧎🏽', ':person_kneeling_tone3:': '🧎🏽', ':person_kneeling_medium_dark_skin_tone:': '🧎🏾', ':person_kneeling_tone4:': '🧎🏾', ':person_kneeling_dark_skin_tone:': '🧎🏿', ':person_kneeling_tone5:': '🧎🏿', ':lifter_tone1:': '🏋️🏻', ':weight_lifter_tone1:': '🏋️🏻', ':person_lifting_weights_tone1:': '🏋️🏻', ':lifter_tone2:': '🏋️🏼', ':weight_lifter_tone2:': '🏋️🏼', ':person_lifting_weights_tone2:': '🏋️🏼', ':lifter_tone3:': '🏋️🏽', ':weight_lifter_tone3:': '🏋️🏽', ':person_lifting_weights_tone3:': '🏋️🏽', ':lifter_tone4:': '🏋️🏾', ':weight_lifter_tone4:': '🏋️🏾', ':person_lifting_weights_tone4:': '🏋️🏾', ':lifter_tone5:': '🏋️🏿', ':weight_lifter_tone5:': '🏋️🏿', ':person_lifting_weights_tone5:': '🏋️🏿', ':mountain_bicyclist_tone1:': '🚵🏻', ':person_mountain_biking_tone1:': '🚵🏻', ':mountain_bicyclist_tone2:': '🚵🏼', ':person_mountain_biking_tone2:': '🚵🏼', ':mountain_bicyclist_tone3:': '🚵🏽', ':person_mountain_biking_tone3:': '🚵🏽', ':mountain_bicyclist_tone4:': '🚵🏾', ':person_mountain_biking_tone4:': '🚵🏾', ':mountain_bicyclist_tone5:': '🚵🏿', ':person_mountain_biking_tone5:': '🚵🏿', ':handball_tone1:': '🤾🏻', ':person_playing_handball_tone1:': '🤾🏻', ':handball_tone2:': '🤾🏼', ':person_playing_handball_tone2:': '🤾🏼', ':handball_tone3:': '🤾🏽', ':person_playing_handball_tone3:': '🤾🏽', ':handball_tone4:': '🤾🏾', ':person_playing_handball_tone4:': '🤾🏾', ':handball_tone5:': '🤾🏿', ':person_playing_handball_tone5:': '🤾🏿', ':water_polo_tone1:': '🤽🏻', ':person_playing_water_polo_tone1:': '🤽🏻', ':water_polo_tone2:': '🤽🏼', ':person_playing_water_polo_tone2:': '🤽🏼', ':water_polo_tone3:': '🤽🏽', ':person_playing_water_polo_tone3:': '🤽🏽', ':water_polo_tone4:': '🤽🏾', ':person_playing_water_polo_tone4:': '🤽🏾', ':water_polo_tone5:': '🤽🏿', ':person_playing_water_polo_tone5:': '🤽🏿', ':person_with_pouting_face_tone1:': '🙎🏻', ':person_pouting_tone1:': '🙎🏻', ':person_with_pouting_face_tone2:': '🙎🏼', ':person_pouting_tone2:': '🙎🏼', ':person_with_pouting_face_tone3:': '🙎🏽', ':person_pouting_tone3:': '🙎🏽', ':person_with_pouting_face_tone4:': '🙎🏾', ':person_pouting_tone4:': '🙎🏾', ':person_with_pouting_face_tone5:': '🙎🏿', ':person_pouting_tone5:': '🙎🏿', ':raising_hand_tone1:': '🙋🏻', ':person_raising_hand_tone1:': '🙋🏻', ':raising_hand_tone2:': '🙋🏼', ':person_raising_hand_tone2:': '🙋🏼', ':raising_hand_tone3:': '🙋🏽', ':person_raising_hand_tone3:': '🙋🏽', ':raising_hand_tone4:': '🙋🏾', ':person_raising_hand_tone4:': '🙋🏾', ':raising_hand_tone5:': '🙋🏿', ':person_raising_hand_tone5:': '🙋🏿', ':rowboat_tone1:': '🚣🏻', ':person_rowing_boat_tone1:': '🚣🏻', ':rowboat_tone2:': '🚣🏼', ':person_rowing_boat_tone2:': '🚣🏼', ':rowboat_tone3:': '🚣🏽', ':person_rowing_boat_tone3:': '🚣🏽', ':rowboat_tone4:': '🚣🏾', ':person_rowing_boat_tone4:': '🚣🏾', ':rowboat_tone5:': '🚣🏿', ':person_rowing_boat_tone5:': '🚣🏿', ':runner_tone1:': '🏃🏻', ':person_running_tone1:': '🏃🏻', ':runner_tone2:': '🏃🏼', ':person_running_tone2:': '🏃🏼', ':runner_tone3:': '🏃🏽', ':person_running_tone3:': '🏃🏽', ':runner_tone4:': '🏃🏾', ':person_running_tone4:': '🏃🏾', ':runner_tone5:': '🏃🏿', ':person_running_tone5:': '🏃🏿', ':shrug_tone1:': '🤷🏻', ':person_shrugging_tone1:': '🤷🏻', ':shrug_tone2:': '🤷🏼', ':person_shrugging_tone2:': '🤷🏼', ':shrug_tone3:': '🤷🏽', ':person_shrugging_tone3:': '🤷🏽', ':shrug_tone4:': '🤷🏾', ':person_shrugging_tone4:': '🤷🏾', ':shrug_tone5:': '🤷🏿', ':person_shrugging_tone5:': '🤷🏿', ':person_standing_light_skin_tone:': '🧍🏻', ':person_standing_tone1:': '🧍🏻', ':person_standing_medium_light_skin_tone:': '🧍🏼', ':person_standing_tone2:': '🧍🏼', ':person_standing_medium_skin_tone:': '🧍🏽', ':person_standing_tone3:': '🧍🏽', ':person_standing_medium_dark_skin_tone:': '🧍🏾', ':person_standing_tone4:': '🧍🏾', ':person_standing_dark_skin_tone:': '🧍🏿', ':person_standing_tone5:': '🧍🏿', ':surfer_tone1:': '🏄🏻', ':person_surfing_tone1:': '🏄🏻', ':surfer_tone2:': '🏄🏼', ':person_surfing_tone2:': '🏄🏼', ':surfer_tone3:': '🏄🏽', ':person_surfing_tone3:': '🏄🏽', ':surfer_tone4:': '🏄🏾', ':person_surfing_tone4:': '🏄🏾', ':surfer_tone5:': '🏄🏿', ':person_surfing_tone5:': '🏄🏿', ':swimmer_tone1:': '🏊🏻', ':person_swimming_tone1:': '🏊🏻', ':swimmer_tone2:': '🏊🏼', ':person_swimming_tone2:': '🏊🏼', ':swimmer_tone3:': '🏊🏽', ':person_swimming_tone3:': '🏊🏽', ':swimmer_tone4:': '🏊🏾', ':person_swimming_tone4:': '🏊🏾', ':swimmer_tone5:': '🏊🏿', ':person_swimming_tone5:': '🏊🏿', ':information_desk_person_tone1:': '💁🏻', ':person_tipping_hand_tone1:': '💁🏻', ':information_desk_person_tone2:': '💁🏼', ':person_tipping_hand_tone2:': '💁🏼', ':information_desk_person_tone3:': '💁🏽', ':person_tipping_hand_tone3:': '💁🏽', ':information_desk_person_tone4:': '💁🏾', ':person_tipping_hand_tone4:': '💁🏾', ':information_desk_person_tone5:': '💁🏿', ':person_tipping_hand_tone5:': '💁🏿', ':walking_tone1:': '🚶🏻', ':person_walking_tone1:': '🚶🏻', ':walking_tone2:': '🚶🏼', ':person_walking_tone2:': '🚶🏼', ':walking_tone3:': '🚶🏽', ':person_walking_tone3:': '🚶🏽', ':walking_tone4:': '🚶🏾', ':person_walking_tone4:': '🚶🏾', ':walking_tone5:': '🚶🏿', ':person_walking_tone5:': '🚶🏿', ':man_with_turban_tone1:': '👳🏻', ':person_wearing_turban_tone1:': '👳🏻', ':man_with_turban_tone2:': '👳🏼', ':person_wearing_turban_tone2:': '👳🏼', ':man_with_turban_tone3:': '👳🏽', ':person_wearing_turban_tone3:': '👳🏽', ':man_with_turban_tone4:': '👳🏾', ':person_wearing_turban_tone4:': '👳🏾', ':man_with_turban_tone5:': '👳🏿', ':person_wearing_turban_tone5:': '👳🏿', ':pinching_hand_light_skin_tone:': '🤏🏻', ':pinching_hand_tone1:': '🤏🏻', ':pinching_hand_medium_light_skin_tone:': '🤏🏼', ':pinching_hand_tone2:': '🤏🏼', ':pinching_hand_medium_skin_tone:': '🤏🏽', ':pinching_hand_tone3:': '🤏🏽', ':pinching_hand_medium_dark_skin_tone:': '🤏🏾', ':pinching_hand_tone4:': '🤏🏾', ':pinching_hand_dark_skin_tone:': '🤏🏿', ':pinching_hand_tone5:': '🤏🏿', ':point_down_tone1:': '👇🏻', ':point_down_tone2:': '👇🏼', ':point_down_tone3:': '👇🏽', ':point_down_tone4:': '👇🏾', ':point_down_tone5:': '👇🏿', ':point_left_tone1:': '👈🏻', ':point_left_tone2:': '👈🏼', ':point_left_tone3:': '👈🏽', ':point_left_tone4:': '👈🏾', ':point_left_tone5:': '👈🏿', ':point_right_tone1:': '👉🏻', ':point_right_tone2:': '👉🏼', ':point_right_tone3:': '👉🏽', ':point_right_tone4:': '👉🏾', ':point_right_tone5:': '👉🏿', ':point_up_2_tone1:': '👆🏻', ':point_up_2_tone2:': '👆🏼', ':point_up_2_tone3:': '👆🏽', ':point_up_2_tone4:': '👆🏾', ':point_up_2_tone5:': '👆🏿', ':cop_tone1:': '👮🏻', ':police_officer_tone1:': '👮🏻', ':cop_tone2:': '👮🏼', ':police_officer_tone2:': '👮🏼', ':cop_tone3:': '👮🏽', ':police_officer_tone3:': '👮🏽', ':cop_tone4:': '👮🏾', ':police_officer_tone4:': '👮🏾', ':cop_tone5:': '👮🏿', ':police_officer_tone5:': '👮🏿', ':pray_tone1:': '🙏🏻', ':pray_tone2:': '🙏🏼', ':pray_tone3:': '🙏🏽', ':pray_tone4:': '🙏🏾', ':pray_tone5:': '🙏🏿', ':expecting_woman_tone1:': '🤰🏻', ':pregnant_woman_tone1:': '🤰🏻', ':expecting_woman_tone2:': '🤰🏼', ':pregnant_woman_tone2:': '🤰🏼', ':expecting_woman_tone3:': '🤰🏽', ':pregnant_woman_tone3:': '🤰🏽', ':expecting_woman_tone4:': '🤰🏾', ':pregnant_woman_tone4:': '🤰🏾', ':expecting_woman_tone5:': '🤰🏿', ':pregnant_woman_tone5:': '🤰🏿', ':prince_tone1:': '🤴🏻', ':prince_tone2:': '🤴🏼', ':prince_tone3:': '🤴🏽', ':prince_tone4:': '🤴🏾', ':prince_tone5:': '🤴🏿', ':princess_tone1:': '👸🏻', ':princess_tone2:': '👸🏼', ':princess_tone3:': '👸🏽', ':princess_tone4:': '👸🏾', ':princess_tone5:': '👸🏿', ':punch_tone1:': '👊🏻', ':punch_tone2:': '👊🏼', ':punch_tone3:': '👊🏽', ':punch_tone4:': '👊🏾', ':punch_tone5:': '👊🏿', ':gay_pride_flag:': '🏳️‍🌈', ':rainbow_flag:': '🏳️‍🌈', ':back_of_hand_tone1:': '🤚🏻', ':raised_back_of_hand_tone1:': '🤚🏻', ':back_of_hand_tone2:': '🤚🏼', ':raised_back_of_hand_tone2:': '🤚🏼', ':back_of_hand_tone3:': '🤚🏽', ':raised_back_of_hand_tone3:': '🤚🏽', ':back_of_hand_tone4:': '🤚🏾', ':raised_back_of_hand_tone4:': '🤚🏾', ':back_of_hand_tone5:': '🤚🏿', ':raised_back_of_hand_tone5:': '🤚🏿', ':raised_hands_tone1:': '🙌🏻', ':raised_hands_tone2:': '🙌🏼', ':raised_hands_tone3:': '🙌🏽', ':raised_hands_tone4:': '🙌🏾', ':raised_hands_tone5:': '🙌🏿', ':right_fist_tone1:': '🤜🏻', ':right_facing_fist_tone1:': '🤜🏻', ':right_fist_tone2:': '🤜🏼', ':right_facing_fist_tone2:': '🤜🏼', ':right_fist_tone3:': '🤜🏽', ':right_facing_fist_tone3:': '🤜🏽', ':right_fist_tone4:': '🤜🏾', ':right_facing_fist_tone4:': '🤜🏾', ':right_fist_tone5:': '🤜🏿', ':right_facing_fist_tone5:': '🤜🏿', ':santa_tone1:': '🎅🏻', ':santa_tone2:': '🎅🏼', ':santa_tone3:': '🎅🏽', ':santa_tone4:': '🎅🏾', ':santa_tone5:': '🎅🏿', ':selfie_tone1:': '🤳🏻', ':selfie_tone2:': '🤳🏼', ':selfie_tone3:': '🤳🏽', ':selfie_tone4:': '🤳🏾', ':selfie_tone5:': '🤳🏿', ':service_dog:': '🐕‍🦺', ':snowboarder_light_skin_tone:': '🏂🏻', ':snowboarder_tone1:': '🏂🏻', ':snowboarder_medium_light_skin_tone:': '🏂🏼', ':snowboarder_tone2:': '🏂🏼', ':snowboarder_medium_skin_tone:': '🏂🏽', ':snowboarder_tone3:': '🏂🏽', ':snowboarder_medium_dark_skin_tone:': '🏂🏾', ':snowboarder_tone4:': '🏂🏾', ':snowboarder_dark_skin_tone:': '🏂🏿', ':snowboarder_tone5:': '🏂🏿', ':superhero_light_skin_tone:': '🦸🏻', ':superhero_tone1:': '🦸🏻', ':superhero_medium_light_skin_tone:': '🦸🏼', ':superhero_tone2:': '🦸🏼', ':superhero_medium_skin_tone:': '🦸🏽', ':superhero_tone3:': '🦸🏽', ':superhero_medium_dark_skin_tone:': '🦸🏾', ':superhero_tone4:': '🦸🏾', ':superhero_dark_skin_tone:': '🦸🏿', ':superhero_tone5:': '🦸🏿', ':supervillain_light_skin_tone:': '🦹🏻', ':supervillain_tone1:': '🦹🏻', ':supervillain_medium_light_skin_tone:': '🦹🏼', ':supervillain_tone2:': '🦹🏼', ':supervillain_medium_skin_tone:': '🦹🏽', ':supervillain_tone3:': '🦹🏽', ':supervillain_medium_dark_skin_tone:': '🦹🏾', ':supervillain_tone4:': '🦹🏾', ':supervillain_dark_skin_tone:': '🦹🏿', ':supervillain_tone5:': '🦹🏿', ':-1_tone1:': '👎🏻', ':thumbdown_tone1:': '👎🏻', ':thumbsdown_tone1:': '👎🏻', ':-1_tone2:': '👎🏼', ':thumbdown_tone2:': '👎🏼', ':thumbsdown_tone2:': '👎🏼', ':-1_tone3:': '👎🏽', ':thumbdown_tone3:': '👎🏽', ':thumbsdown_tone3:': '👎🏽', ':-1_tone4:': '👎🏾', ':thumbdown_tone4:': '👎🏾', ':thumbsdown_tone4:': '👎🏾', ':-1_tone5:': '👎🏿', ':thumbdown_tone5:': '👎🏿', ':thumbsdown_tone5:': '👎🏿', ':+1_tone1:': '👍🏻', ':thumbup_tone1:': '👍🏻', ':thumbsup_tone1:': '👍🏻', ':+1_tone2:': '👍🏼', ':thumbup_tone2:': '👍🏼', ':thumbsup_tone2:': '👍🏼', ':+1_tone3:': '👍🏽', ':thumbup_tone3:': '👍🏽', ':thumbsup_tone3:': '👍🏽', ':+1_tone4:': '👍🏾', ':thumbup_tone4:': '👍🏾', ':thumbsup_tone4:': '👍🏾', ':+1_tone5:': '👍🏿', ':thumbup_tone5:': '👍🏿', ':thumbsup_tone5:': '👍🏿', ':united_nations:': '🇺🇳', ':vampire_light_skin_tone:': '🧛🏻', ':vampire_tone1:': '🧛🏻', ':vampire_medium_light_skin_tone:': '🧛🏼', ':vampire_tone2:': '🧛🏼', ':vampire_medium_skin_tone:': '🧛🏽', ':vampire_tone3:': '🧛🏽', ':vampire_medium_dark_skin_tone:': '🧛🏾', ':vampire_tone4:': '🧛🏾', ':vampire_dark_skin_tone:': '🧛🏿', ':vampire_tone5:': '🧛🏿', ':raised_hand_with_part_between_middle_and_ring_fingers_tone1:': '🖖🏻', ':vulcan_tone1:': '🖖🏻', ':raised_hand_with_part_between_middle_and_ring_fingers_tone2:': '🖖🏼', ':vulcan_tone2:': '🖖🏼', ':raised_hand_with_part_between_middle_and_ring_fingers_tone3:': '🖖🏽', ':vulcan_tone3:': '🖖🏽', ':raised_hand_with_part_between_middle_and_ring_fingers_tone4:': '🖖🏾', ':vulcan_tone4:': '🖖🏾', ':raised_hand_with_part_between_middle_and_ring_fingers_tone5:': '🖖🏿', ':vulcan_tone5:': '🖖🏿', ':wave_tone1:': '👋🏻', ':wave_tone2:': '👋🏼', ':wave_tone3:': '👋🏽', ':wave_tone4:': '👋🏾', ':wave_tone5:': '👋🏿', ':woman_and_man_holding_hands_light_skin_tone:': '👫🏻', ':woman_and_man_holding_hands_tone1:': '👫🏻', ':woman_and_man_holding_hands_medium_light_skin_tone:': '👫🏼', ':woman_and_man_holding_hands_tone2:': '👫🏼', ':woman_and_man_holding_hands_medium_skin_tone:': '👫🏽', ':woman_and_man_holding_hands_tone3:': '👫🏽', ':woman_and_man_holding_hands_medium_dark_skin_tone:': '👫🏾', ':woman_and_man_holding_hands_tone4:': '👫🏾', ':woman_and_man_holding_hands_dark_skin_tone:': '👫🏿', ':woman_and_man_holding_hands_tone5:': '👫🏿', ':woman_artist:': '👩‍🎨', ':woman_astronaut:': '👩‍🚀', ':woman_bald:': '👩‍🦲', ':woman_cook:': '👩‍🍳', ':woman_curly_haired:': '👩‍🦱', ':woman_factory_worker:': '👩‍🏭', ':woman_farmer:': '👩‍🌾', ':woman_firefighter:': '👩‍🚒', ':woman_in_manual_wheelchair:': '👩‍🦽', ':woman_in_motorized_wheelchair:': '👩‍🦼', ':woman_mechanic:': '👩‍🔧', ':woman_office_worker:': '👩‍💼', ':woman_red_haired:': '👩‍🦰', ':woman_scientist:': '👩‍🔬', ':woman_singer:': '👩‍🎤', ':woman_student:': '👩‍🎓', ':woman_teacher:': '👩‍🏫', ':woman_technologist:': '👩‍💻', ':woman_tone1:': '👩🏻', ':woman_tone2:': '👩🏼', ':woman_tone3:': '👩🏽', ':woman_tone4:': '👩🏾', ':woman_tone5:': '👩🏿', ':woman_white_haired:': '👩‍🦳', ':woman_with_headscarf_light_skin_tone:': '🧕🏻', ':woman_with_headscarf_tone1:': '🧕🏻', ':woman_with_headscarf_medium_light_skin_tone:': '🧕🏼', ':woman_with_headscarf_tone2:': '🧕🏼', ':woman_with_headscarf_medium_skin_tone:': '🧕🏽', ':woman_with_headscarf_tone3:': '🧕🏽', ':woman_with_headscarf_medium_dark_skin_tone:': '🧕🏾', ':woman_with_headscarf_tone4:': '🧕🏾', ':woman_with_headscarf_dark_skin_tone:': '🧕🏿', ':woman_with_headscarf_tone5:': '🧕🏿', ':woman_with_probing_cane:': '👩‍🦯', ':women_holding_hands_light_skin_tone:': '👭🏻', ':women_holding_hands_tone1:': '👭🏻', ':women_holding_hands_medium_light_skin_tone:': '👭🏼', ':women_holding_hands_tone2:': '👭🏼', ':women_holding_hands_medium_skin_tone:': '👭🏽', ':women_holding_hands_tone3:': '👭🏽', ':women_holding_hands_medium_dark_skin_tone:': '👭🏾', ':women_holding_hands_tone4:': '👭🏾', ':women_holding_hands_dark_skin_tone:': '👭🏿', ':women_holding_hands_tone5:': '👭🏿', ':blond-haired_man:': '👱‍♂️', ':blond-haired_woman:': '👱‍♀️', ':deaf_man:': '🧏‍♂️', ':deaf_woman:': '🧏‍♀️', ':fist_tone1:': '✊🏻', ':fist_tone2:': '✊🏼', ':fist_tone3:': '✊🏽', ':fist_tone4:': '✊🏾', ':fist_tone5:': '✊🏿', ':man_biking:': '🚴‍♂️', ':man_bowing:': '🙇‍♂️', ':man_cartwheeling:': '🤸‍♂️', ':man_climbing:': '🧗‍♂️', ':man_construction_worker:': '👷‍♂️', ':man_detective:': '🕵️‍♂️', ':man_elf:': '🧝‍♂️', ':man_facepalming:': '🤦‍♂️', ':man_fairy:': '🧚‍♂️', ':man_frowning:': '🙍‍♂️', ':man_genie:': '🧞‍♂️', ':man_gesturing_no:': '🙅‍♂️', ':man_gesturing_ok:': '🙆‍♂️', ':man_getting_face_massage:': '💆‍♂️', ':man_getting_haircut:': '💇‍♂️', ':man_golfing:': '🏌️‍♂️', ':man_guard:': '💂‍♂️', ':man_health_worker:': '👨‍⚕️', ':man_in_lotus_position:': '🧘‍♂️', ':man_in_steamy_room:': '🧖‍♂️', ':man_judge:': '👨‍⚖️', ':man_juggling:': '🤹‍♂️', ':man_kneeling:': '🧎‍♂️', ':man_lifting_weights:': '🏋️‍♂️', ':man_mage:': '🧙‍♂️', ':man_mountain_biking:': '🚵‍♂️', ':man_pilot:': '👨‍✈️', ':man_playing_handball:': '🤾‍♂️', ':man_playing_water_polo:': '🤽‍♂️', ':man_police_officer:': '👮‍♂️', ':man_pouting:': '🙎‍♂️', ':man_raising_hand:': '🙋‍♂️', ':man_rowing_boat:': '🚣‍♂️', ':man_running:': '🏃‍♂️', ':man_shrugging:': '🤷‍♂️', ':man_standing:': '🧍‍♂️', ':man_superhero:': '🦸‍♂️', ':man_supervillain:': '🦹‍♂️', ':man_surfing:': '🏄‍♂️', ':man_swimming:': '🏊‍♂️', ':man_tipping_hand:': '💁‍♂️', ':man_vampire:': '🧛‍♂️', ':man_walking:': '🚶‍♂️', ':man_wearing_turban:': '👳‍♂️', ':man_zombie:': '🧟‍♂️', ':men_with_bunny_ears_partying:': '👯‍♂️', ':men_wrestling:': '🤼♂️', ':mermaid:': '🧜‍♀️', ':merman:': '🧜‍♂️', ':basketball_player_tone1:': '⛹️🏻', ':person_with_ball_tone1:': '⛹️🏻', ':person_bouncing_ball_tone1:': '⛹️🏻', ':basketball_player_tone2:': '⛹️🏼', ':person_with_ball_tone2:': '⛹️🏼', ':person_bouncing_ball_tone2:': '⛹️🏼', ':basketball_player_tone3:': '⛹️🏽', ':person_with_ball_tone3:': '⛹️🏽', ':person_bouncing_ball_tone3:': '⛹️🏽', ':basketball_player_tone4:': '⛹️🏾', ':person_with_ball_tone4:': '⛹️🏾', ':person_bouncing_ball_tone4:': '⛹️🏾', ':basketball_player_tone5:': '⛹️🏿', ':person_with_ball_tone5:': '⛹️🏿', ':person_bouncing_ball_tone5:': '⛹️🏿', ':pirate_flag:': '🏴‍☠️', ':point_up_tone1:': '☝️🏻', ':point_up_tone2:': '☝️🏼', ':point_up_tone3:': '☝️🏽', ':point_up_tone4:': '☝️🏾', ':point_up_tone5:': '☝️🏿', ':raised_hand_tone1:': '✋🏻', ':raised_hand_tone2:': '✋🏼', ':raised_hand_tone3:': '✋🏽', ':raised_hand_tone4:': '✋🏾', ':raised_hand_tone5:': '✋🏿', ':v_tone1:': '✌️🏻', ':v_tone2:': '✌️🏼', ':v_tone3:': '✌️🏽', ':v_tone4:': '✌️🏾', ':v_tone5:': '✌️🏿', ':woman_biking:': '🚴‍♀️', ':woman_bowing:': '🙇‍♀️', ':woman_cartwheeling:': '🤸‍♀️', ':woman_climbing:': '🧗‍♀️', ':woman_construction_worker:': '👷‍♀️', ':woman_detective:': '🕵️‍♀️', ':woman_elf:': '🧝‍♀️', ':woman_facepalming:': '🤦‍♀️', ':woman_fairy:': '🧚‍♀️', ':woman_frowning:': '🙍‍♀️', ':woman_genie:': '🧞‍♀️', ':woman_gesturing_no:': '🙅‍♀️', ':woman_gesturing_ok:': '🙆‍♀️', ':woman_getting_face_massage:': '💆‍♀️', ':woman_getting_haircut:': '💇‍♀️', ':woman_golfing:': '🏌️‍♀️', ':woman_guard:': '💂‍♀️', ':woman_health_worker:': '👩‍⚕️', ':woman_in_lotus_position:': '🧘‍♀️', ':woman_in_steamy_room:': '🧖‍♀️', ':woman_judge:': '👩‍⚖️', ':woman_juggling:': '🤹‍♀️', ':woman_kneeling:': '🧎‍♀️', ':woman_lifting_weights:': '🏋️‍♀️', ':woman_mage:': '🧙‍♀️', ':woman_mountain_biking:': '🚵‍♀️', ':woman_pilot:': '👩‍✈️', ':woman_playing_handball:': '🤾‍♀️', ':woman_playing_water_polo:': '🤽‍♀️', ':woman_police_officer:': '👮‍♀️', ':woman_pouting:': '🙎‍♀️', ':woman_raising_hand:': '🙋‍♀️', ':woman_rowing_boat:': '🚣‍♀️', ':woman_running:': '🏃‍♀️', ':woman_shrugging:': '🤷‍♀️', ':woman_standing:': '🧍‍♀️', ':woman_superhero:': '🦸‍♀️', ':woman_supervillain:': '🦹‍♀️', ':woman_surfing:': '🏄‍♀️', ':woman_swimming:': '🏊‍♀️', ':woman_tipping_hand:': '💁‍♀️', ':woman_vampire:': '🧛‍♀️', ':woman_walking:': '🚶‍♀️', ':woman_wearing_turban:': '👳‍♀️', ':woman_zombie:': '🧟‍♀️', ':women_with_bunny_ears_partying:': '👯‍♀️', ':women_wrestling:': '🤼♀️', ':writing_hand_tone1:': '✍️🏻', ':writing_hand_tone2:': '✍️🏼', ':writing_hand_tone3:': '✍️🏽', ':writing_hand_tone4:': '✍️🏾', ':writing_hand_tone5:': '✍️🏿', ':keycap_asterisk:': '*️⃣', ':asterisk:': '*️⃣', ':eight:': '8️⃣', ':five:': '5️⃣', ':four:': '4️⃣', ':hash:': '#️⃣', ':man_bouncing_ball:': '⛹️‍♂️', ':nine:': '9️⃣', ':one:': '1️⃣', ':seven:': '7️⃣', ':six:': '6️⃣', ':three:': '3️⃣', ':two:': '2️⃣', ':woman_bouncing_ball:': '⛹️‍♀️', ':zero:': '0️⃣', ':100:': '💯', ':1234:': '🔢', ':8ball:': '🎱', ':a:': '🅰️', ':ab:': '🆎', ':abacus:': '🧮', ':abc:': '🔤', ':abcd:': '🔡', ':accept:': '🉑', ':adhesive_bandage:': '🩹', ':adult:': '🧑', ':aerial_tramway:': '🚡', ':airplane_arriving:': '🛬', ':airplane_departure:': '🛫', ':small_airplane:': '🛩️', ':airplane_small:': '🛩️', ':alien:': '👽', ':ambulance:': '🚑', ':amphora:': '🏺', ':angel:': '👼', ':anger:': '💢', ':right_anger_bubble:': '🗯️', ':anger_right:': '🗯️', ':angry:': '😠', ':anguished:': '😧', ':ant:': '🐜', ':apple:': '🍎', ':arrow_down_small:': '🔽', ':arrow_up_small:': '🔼', ':arrows_clockwise:': '🔃', ':arrows_counterclockwise:': '🔄', ':art:': '🎨', ':articulated_lorry:': '🚛', ':astonished:': '😲', ':athletic_shoe:': '👟', ':atm:': '🏧', ':auto_rickshaw:': '🛺', ':avocado:': '🥑', ':axe:': '🪓', ':b:': '🅱️', ':baby:': '👶', ':baby_bottle:': '🍼', ':baby_chick:': '🐤', ':baby_symbol:': '🚼', ':back:': '🔙', ':bacon:': '🥓', ':badger:': '🦡', ':badminton:': '🏸', ':bagel:': '🥯', ':baggage_claim:': '🛄', ':bald:': '🦲', ':ballet_shoes:': '🩰', ':balloon:': '🎈', ':ballot_box_with_ballot:': '🗳️', ':ballot_box:': '🗳️', ':bamboo:': '🎍', ':banana:': '🍌', ':banjo:': '🪕', ':bank:': '🏦', ':bar_chart:': '📊', ':barber:': '💈', ':basket:': '🧺', ':basketball:': '🏀', ':bat:': '🦇', ':bath:': '🛀', ':bathtub:': '🛁', ':battery:': '🔋', ':beach_with_umbrella:': '🏖️', ':beach:': '🏖️', ':bear:': '🐻', ':bearded_person:': '🧔', ':bed:': '🛏️', ':bee:': '🐝', ':beer:': '🍺', ':beers:': '🍻', ':beetle:': '🐞', ':beginner:': '🔰', ':bell:': '🔔', ':bellhop_bell:': '🛎️', ':bellhop:': '🛎️', ':bento:': '🍱', ':beverage_box:': '🧃', ':bike:': '🚲', ':bikini:': '👙', ':billed_cap:': '🧢', ':bird:': '🐦', ':birthday:': '🎂', ':black_heart:': '🖤', ':black_joker:': '🃏', ':black_square_button:': '🔲', ':person_with_blond_hair:': '👱', ':blond_haired_person:': '👱', ':blossom:': '🌼', ':blowfish:': '🐡', ':blue_book:': '📘', ':blue_car:': '🚙', ':blue_circle:': '🔵', ':blue_heart:': '💙', ':blue_square:': '🟦', ':blush:': '😊', ':boar:': '🐗', ':bomb:': '💣', ':bone:': '🦴', ':book:': '📖', ':bookmark:': '🔖', ':bookmark_tabs:': '📑', ':books:': '📚', ':boom:': '💥', ':boot:': '👢', ':bouquet:': '💐', ':archery:': '🏹', ':bow_and_arrow:': '🏹', ':bowl_with_spoon:': '🥣', ':bowling:': '🎳', ':boxing_gloves:': '🥊', ':boxing_glove:': '🥊', ':boy:': '👦', ':brain:': '🧠', ':bread:': '🍞', ':breast_feeding:': '🤱', ':bricks:': '🧱', ':bride_with_veil:': '👰', ':bridge_at_night:': '🌉', ':briefcase:': '💼', ':briefs:': '🩲', ':broccoli:': '🥦', ':broken_heart:': '💔', ':broom:': '🧹', ':brown_circle:': '🟤', ':brown_heart:': '🤎', ':brown_square:': '🟫', ':bug:': '🐛', ':bulb:': '💡', ':bullettrain_front:': '🚅', ':bullettrain_side:': '🚄', ':burrito:': '🌯', ':bus:': '🚌', ':busstop:': '🚏', ':bust_in_silhouette:': '👤', ':busts_in_silhouette:': '👥', ':butter:': '🧈', ':butterfly:': '🦋', ':cactus:': '🌵', ':cake:': '🍰', ':calendar:': '📆', ':spiral_calendar_pad:': '🗓️', ':calendar_spiral:': '🗓️', ':call_me_hand:': '🤙', ':call_me:': '🤙', ':calling:': '📲', ':camel:': '🐫', ':camera:': '📷', ':camera_with_flash:': '📸', ':camping:': '🏕️', ':candle:': '🕯️', ':candy:': '🍬', ':canned_food:': '🥫', ':kayak:': '🛶', ':canoe:': '🛶', ':capital_abcd:': '🔠', ':card_file_box:': '🗃️', ':card_box:': '🗃️', ':card_index:': '📇', ':carousel_horse:': '🎠', ':carrot:': '🥕', ':cat2:': '🐈', ':cat:': '🐱', ':cd:': '💿', ':chair:': '🪑', ':bottle_with_popping_cork:': '🍾', ':champagne:': '🍾', ':clinking_glass:': '🥂', ':champagne_glass:': '🥂', ':chart:': '💹', ':chart_with_downwards_trend:': '📉', ':chart_with_upwards_trend:': '📈', ':checkered_flag:': '🏁', ':cheese_wedge:': '🧀', ':cheese:': '🧀', ':cherries:': '🍒', ':cherry_blossom:': '🌸', ':chestnut:': '🌰', ':chicken:': '🐔', ':child:': '🧒', ':children_crossing:': '🚸', ':chipmunk:': '🐿️', ':chocolate_bar:': '🍫', ':chopsticks:': '🥢', ':christmas_tree:': '🎄', ':cinema:': '🎦', ':circus_tent:': '🎪', ':city_dusk:': '🌆', ':city_sunrise:': '🌇', ':city_sunset:': '🌇', ':cityscape:': '🏙️', ':cl:': '🆑', ':clap:': '👏', ':clapper:': '🎬', ':classical_building:': '🏛️', ':clipboard:': '📋', ':clock1030:': '🕥', ':clock10:': '🕙', ':clock1130:': '🕦', ':clock11:': '🕚', ':clock1230:': '🕧', ':clock12:': '🕛', ':clock130:': '🕜', ':clock1:': '🕐', ':clock230:': '🕝', ':clock2:': '🕑', ':clock330:': '🕞', ':clock3:': '🕒', ':clock430:': '🕟', ':clock4:': '🕓', ':clock530:': '🕠', ':clock5:': '🕔', ':clock630:': '🕡', ':clock6:': '🕕', ':clock730:': '🕢', ':clock7:': '🕖', ':clock830:': '🕣', ':clock8:': '🕗', ':clock930:': '🕤', ':clock9:': '🕘', ':mantlepiece_clock:': '🕰️', ':clock:': '🕰️', ':closed_book:': '📕', ':closed_lock_with_key:': '🔐', ':closed_umbrella:': '🌂', ':cloud_with_lightning:': '🌩️', ':cloud_lightning:': '🌩️', ':cloud_with_rain:': '🌧️', ':cloud_rain:': '🌧️', ':cloud_with_snow:': '🌨️', ':cloud_snow:': '🌨️', ':cloud_with_tornado:': '🌪️', ':cloud_tornado:': '🌪️', ':clown_face:': '🤡', ':clown:': '🤡', ':coat:': '🧥', ':cocktail:': '🍸', ':coconut:': '🥥', ':cold_face:': '🥶', ':cold_sweat:': '😰', ':compass:': '🧭', ':compression:': '🗜️', ':computer:': '💻', ':confetti_ball:': '🎊', ':confounded:': '😖', ':confused:': '😕', ':construction:': '🚧', ':building_construction:': '🏗️', ':construction_site:': '🏗️', ':construction_worker:': '👷', ':control_knobs:': '🎛️', ':convenience_store:': '🏪', ':cookie:': '🍪', ':cooking:': '🍳', ':cool:': '🆒', ':corn:': '🌽', ':couch_and_lamp:': '🛋️', ':couch:': '🛋️', ':couple:': '👫', ':couple_with_heart:': '💑', ':couplekiss:': '💏', ':cow2:': '🐄', ':cow:': '🐮', ':face_with_cowboy_hat:': '🤠', ':cowboy:': '🤠', ':crab:': '🦀', ':lower_left_crayon:': '🖍️', ':crayon:': '🖍️', ':credit_card:': '💳', ':crescent_moon:': '🌙', ':cricket:': '🦗', ':cricket_bat_ball:': '🏏', ':cricket_game:': '🏏', ':crocodile:': '🐊', ':croissant:': '🥐', ':crossed_flags:': '🎌', ':crown:': '👑', ':passenger_ship:': '🛳️', ':cruise_ship:': '🛳️', ':cry:': '😢', ':crying_cat_face:': '😿', ':crystal_ball:': '🔮', ':cucumber:': '🥒', ':cup_with_straw:': '🥤', ':cupcake:': '🧁', ':cupid:': '💘', ':curling_stone:': '🥌', ':curly_haired:': '🦱', ':currency_exchange:': '💱', ':curry:': '🍛', ':pudding:': '🍮', ':flan:': '🍮', ':custard:': '🍮', ':customs:': '🛃', ':cut_of_meat:': '🥩', ':cyclone:': '🌀', ':dagger_knife:': '🗡️', ':dagger:': '🗡️', ':dancer:': '💃', ':dango:': '🍡', ':dark_sunglasses:': '🕶️', ':dart:': '🎯', ':dash:': '💨', ':date:': '📅', ':deaf_person:': '🧏', ':deciduous_tree:': '🌳', ':deer:': '🦌', ':department_store:': '🏬', ':desert:': '🏜️', ':desktop_computer:': '🖥️', ':desktop:': '🖥️', ':spy:': '🕵️', ':sleuth_or_spy:': '🕵️', ':detective:': '🕵️', ':diamond_shape_with_a_dot_inside:': '💠', ':disappointed:': '😞', ':disappointed_relieved:': '😥', ':card_index_dividers:': '🗂️', ':dividers:': '🗂️', ':diving_mask:': '🤿', ':diya_lamp:': '🪔', ':dizzy:': '💫', ':dizzy_face:': '😵', ':dna:': '🧬', ':do_not_litter:': '🚯', ':dog2:': '🐕', ':dog:': '🐶', ':dollar:': '💵', ':dolls:': '🎎', ':dolphin:': '🐬', ':door:': '🚪', ':doughnut:': '🍩', ':dove_of_peace:': '🕊️', ':dove:': '🕊️', ':dragon:': '🐉', ':dragon_face:': '🐲', ':dress:': '👗', ':dromedary_camel:': '🐪', ':drool:': '🤤', ':drooling_face:': '🤤', ':drop_of_blood:': '🩸', ':droplet:': '💧', ':drum_with_drumsticks:': '🥁', ':drum:': '🥁', ':duck:': '🦆', ':dumpling:': '🥟', ':dvd:': '📀', ':email:': '📧', ':e-mail:': '📧', ':eagle:': '🦅', ':ear:': '👂', ':ear_of_rice:': '🌾', ':ear_with_hearing_aid:': '🦻', ':earth_africa:': '🌍', ':earth_americas:': '🌎', ':earth_asia:': '🌏', ':egg:': '🥚', ':eggplant:': '🍆', ':electric_plug:': '🔌', ':elephant:': '🐘', ':elf:': '🧝', ':end:': '🔚', ':envelope_with_arrow:': '📩', ':euro:': '💶', ':european_castle:': '🏰', ':european_post_office:': '🏤', ':evergreen_tree:': '🌲', ':exploding_head:': '🤯', ':expressionless:': '😑', ':eye:': '👁️', ':eyeglasses:': '👓', ':eyes:': '👀', ':face_vomiting:': '🤮', ':face_with_hand_over_mouth:': '🤭', ':face_with_monocle:': '🧐', ':face_with_raised_eyebrow:': '🤨', ':face_with_symbols_over_mouth:': '🤬', ':factory:': '🏭', ':fairy:': '🧚', ':falafel:': '🧆', ':fallen_leaf:': '🍂', ':family:': '👪', ':fax:': '📠', ':fearful:': '😨', ':paw_prints:': '🐾', ':feet:': '🐾', ':ferris_wheel:': '🎡', ':field_hockey:': '🏑', ':file_cabinet:': '🗄️', ':file_folder:': '📁', ':film_frames:': '🎞️', ':hand_with_index_and_middle_finger_crossed:': '🤞', ':fingers_crossed:': '🤞', ':flame:': '🔥', ':fire:': '🔥', ':fire_engine:': '🚒', ':fire_extinguisher:': '🧯', ':firecracker:': '🧨', ':fireworks:': '🎆', ':first_place_medal:': '🥇', ':first_place:': '🥇', ':first_quarter_moon:': '🌓', ':first_quarter_moon_with_face:': '🌛', ':fish:': '🐟', ':fish_cake:': '🍥', ':fishing_pole_and_fish:': '🎣', ':waving_black_flag:': '🏴', ':flag_black:': '🏴', ':waving_white_flag:': '🏳️', ':flag_white:': '🏳️', ':flags:': '🎏', ':flamingo:': '🦩', ':flashlight:': '🔦', ':floppy_disk:': '💾', ':flower_playing_cards:': '🎴', ':flushed:': '😳', ':flying_disc:': '🥏', ':flying_saucer:': '🛸', ':fog:': '🌫️', ':foggy:': '🌁', ':foot:': '🦶', ':football:': '🏈', ':footprints:': '👣', ':fork_and_knife:': '🍴', ':fork_and_knife_with_plate:': '🍽️', ':fork_knife_plate:': '🍽️', ':fortune_cookie:': '🥠', ':four_leaf_clover:': '🍀', ':fox_face:': '🦊', ':fox:': '🦊', ':frame_with_picture:': '🖼️', ':frame_photo:': '🖼️', ':free:': '🆓', ':baguette_bread:': '🥖', ':french_bread:': '🥖', ':fried_shrimp:': '🍤', ':fries:': '🍟', ':frog:': '🐸', ':frowning:': '😦', ':full_moon:': '🌕', ':full_moon_with_face:': '🌝', ':game_die:': '🎲', ':garlic:': '🧄', ':gem:': '💎', ':genie:': '🧞', ':ghost:': '👻', ':gift:': '🎁', ':gift_heart:': '💝', ':giraffe:': '🦒', ':girl:': '👧', ':globe_with_meridians:': '🌐', ':gloves:': '🧤', ':goal_net:': '🥅', ':goal:': '🥅', ':goat:': '🐐', ':goggles:': '🥽', ':gorilla:': '🦍', ':grapes:': '🍇', ':green_apple:': '🍏', ':green_book:': '📗', ':green_circle:': '🟢', ':green_heart:': '💚', ':green_square:': '🟩', ':grimacing:': '😬', ':grin:': '😁', ':grinning:': '😀', ':guardsman:': '💂', ':guard:': '💂', ':guide_dog:': '🦮', ':guitar:': '🎸', ':gun:': '🔫', ':hamburger:': '🍔', ':hammer:': '🔨', ':hamster:': '🐹', ':raised_hand_with_fingers_splayed:': '🖐️', ':hand_splayed:': '🖐️', ':handbag:': '👜', ':shaking_hands:': '🤝', ':handshake:': '🤝', ':hatched_chick:': '🐥', ':hatching_chick:': '🐣', ':face_with_head_bandage:': '🤕', ':head_bandage:': '🤕', ':headphones:': '🎧', ':hear_no_evil:': '🙉', ':heart_decoration:': '💟', ':heart_eyes:': '😍', ':heart_eyes_cat:': '😻', ':heartbeat:': '💓', ':heartpulse:': '💗', ':heavy_dollar_sign:': '💲', ':hedgehog:': '🦔', ':helicopter:': '🚁', ':herb:': '🌿', ':hibiscus:': '🌺', ':high_brightness:': '🔆', ':high_heel:': '👠', ':hiking_boot:': '🥾', ':hindu_temple:': '🛕', ':hippopotamus:': '🦛', ':hockey:': '🏒', ':hole:': '🕳️', ':house_buildings:': '🏘️', ':homes:': '🏘️', ':honey_pot:': '🍯', ':horse:': '🐴', ':horse_racing:': '🏇', ':hospital:': '🏥', ':hot_face:': '🥵', ':hot_pepper:': '🌶️', ':hot_dog:': '🌭', ':hotdog:': '🌭', ':hotel:': '🏨', ':house:': '🏠', ':derelict_house_building:': '🏚️', ':house_abandoned:': '🏚️', ':house_with_garden:': '🏡', ':hugging_face:': '🤗', ':hugging:': '🤗', ':hushed:': '😯', ':ice_cream:': '🍨', ':ice_cube:': '🧊', ':icecream:': '🍦', ':id:': '🆔', ':ideograph_advantage:': '🉐', ':imp:': '👿', ':inbox_tray:': '📥', ':incoming_envelope:': '📨', ':innocent:': '😇', ':iphone:': '📱', ':desert_island:': '🏝️', ':island:': '🏝️', ':izakaya_lantern:': '🏮', ':jack_o_lantern:': '🎃', ':japan:': '🗾', ':japanese_castle:': '🏯', ':japanese_goblin:': '👺', ':japanese_ogre:': '👹', ':jeans:': '👖', ':jigsaw:': '🧩', ':joy:': '😂', ':joy_cat:': '😹', ':joystick:': '🕹️', ':kaaba:': '🕋', ':kangaroo:': '🦘', ':old_key:': '🗝️', ':key2:': '🗝️', ':key:': '🔑', ':keycap_ten:': '🔟', ':kimono:': '👘', ':kiss:': '💋', ':kissing:': '😗', ':kissing_cat:': '😽', ':kissing_closed_eyes:': '😚', ':kissing_heart:': '😘', ':kissing_smiling_eyes:': '😙', ':kite:': '🪁', ':kiwifruit:': '🥝', ':kiwi:': '🥝', ':knife:': '🔪', ':koala:': '🐨', ':koko:': '🈁', ':lab_coat:': '🥼', ':label:': '🏷️', ':lacrosse:': '🥍', ':large_blue_diamond:': '🔷', ':large_orange_diamond:': '🔶', ':last_quarter_moon:': '🌗', ':last_quarter_moon_with_face:': '🌜', ':satisfied:': '😆', ':laughing:': '😆', ':leafy_green:': '🥬', ':leaves:': '🍃', ':ledger:': '📒', ':left_fist:': '🤛', ':left_facing_fist:': '🤛', ':left_luggage:': '🛅', ':leg:': '🦵', ':lemon:': '🍋', ':leopard:': '🐆', ':level_slider:': '🎚️', ':man_in_business_suit_levitating:': '🕴️', ':levitate:': '🕴️', ':light_rail:': '🚈', ':link:': '🔗', ':lion:': '🦁', ':lion_face:': '🦁', ':lips:': '👄', ':lipstick:': '💄', ':lizard:': '🦎', ':llama:': '🦙', ':lobster:': '🦞', ':lock:': '🔒', ':lock_with_ink_pen:': '🔏', ':lollipop:': '🍭', ':loud_sound:': '🔊', ':loudspeaker:': '📢', ':love_hotel:': '🏩', ':love_letter:': '💌', ':love_you_gesture:': '🤟', ':low_brightness:': '🔅', ':luggage:': '🧳', ':liar:': '🤥', ':lying_face:': '🤥', ':mag:': '🔍', ':mag_right:': '🔎', ':mage:': '🧙', ':magnet:': '🧲', ':mahjong:': '🀄', ':mailbox:': '📫', ':mailbox_closed:': '📪', ':mailbox_with_mail:': '📬', ':mailbox_with_no_mail:': '📭', ':man:': '👨', ':male_dancer:': '🕺', ':man_dancing:': '🕺', ':man_in_tuxedo:': '🤵', ':man_with_gua_pi_mao:': '👲', ':man_with_chinese_cap:': '👲', ':mango:': '🥭', ':mans_shoe:': '👞', ':manual_wheelchair:': '🦽', ':world_map:': '🗺️', ':map:': '🗺️', ':maple_leaf:': '🍁', ':karate_uniform:': '🥋', ':martial_arts_uniform:': '🥋', ':mask:': '😷', ':mate:': '🧉', ':meat_on_bone:': '🍖', ':mechanical_arm:': '🦾', ':mechanical_leg:': '🦿', ':sports_medal:': '🏅', ':medal:': '🏅', ':mega:': '📣', ':melon:': '🍈', ':menorah:': '🕎', ':mens:': '🚹', ':merperson:': '🧜', ':sign_of_the_horns:': '🤘', ':metal:': '🤘', ':metro:': '🚇', ':microbe:': '🦠', ':studio_microphone:': '🎙️', ':microphone2:': '🎙️', ':microphone:': '🎤', ':microscope:': '🔬', ':reversed_hand_with_middle_finger_extended:': '🖕', ':middle_finger:': '🖕', ':military_medal:': '🎖️', ':glass_of_milk:': '🥛', ':milk:': '🥛', ':milky_way:': '🌌', ':minibus:': '🚐', ':minidisc:': '💽', ':mobile_phone_off:': '📴', ':money_mouth_face:': '🤑', ':money_mouth:': '🤑', ':money_with_wings:': '💸', ':moneybag:': '💰', ':monkey:': '🐒', ':monkey_face:': '🐵', ':monorail:': '🚝', ':moon_cake:': '🥮', ':mortar_board:': '🎓', ':mosque:': '🕌', ':mosquito:': '🦟', ':motorbike:': '🛵', ':motor_scooter:': '🛵', ':motorboat:': '🛥️', ':racing_motorcycle:': '🏍️', ':motorcycle:': '🏍️', ':motorized_wheelchair:': '🦼', ':motorway:': '🛣️', ':mount_fuji:': '🗻', ':mountain_cableway:': '🚠', ':mountain_railway:': '🚞', ':snow_capped_mountain:': '🏔️', ':mountain_snow:': '🏔️', ':mouse2:': '🐁', ':mouse:': '🐭', ':three_button_mouse:': '🖱️', ':mouse_three_button:': '🖱️', ':movie_camera:': '🎥', ':moyai:': '🗿', ':mother_christmas:': '🤶', ':mrs_claus:': '🤶', ':muscle:': '💪', ':mushroom:': '🍄', ':musical_keyboard:': '🎹', ':musical_note:': '🎵', ':musical_score:': '🎼', ':mute:': '🔇', ':nail_care:': '💅', ':name_badge:': '📛', ':sick:': '🤢', ':nauseated_face:': '🤢', ':nazar_amulet:': '🧿', ':necktie:': '👔', ':nerd_face:': '🤓', ':nerd:': '🤓', ':neutral_face:': '😐', ':new:': '🆕', ':new_moon:': '🌑', ':new_moon_with_face:': '🌚', ':rolled_up_newspaper:': '🗞️', ':newspaper2:': '🗞️', ':newspaper:': '📰', ':ng:': '🆖', ':night_with_stars:': '🌃', ':no_bell:': '🔕', ':no_bicycles:': '🚳', ':no_entry_sign:': '🚫', ':no_mobile_phones:': '📵', ':no_mouth:': '😶', ':no_pedestrians:': '🚷', ':no_smoking:': '🚭', ':non-potable_water:': '🚱', ':nose:': '👃', ':notebook:': '📓', ':notebook_with_decorative_cover:': '📔', ':spiral_note_pad:': '🗒️', ':notepad_spiral:': '🗒️', ':notes:': '🎶', ':nut_and_bolt:': '🔩', ':o2:': '🅾️', ':ocean:': '🌊', ':stop_sign:': '🛑', ':octagonal_sign:': '🛑', ':octopus:': '🐙', ':oden:': '🍢', ':office:': '🏢', ':oil_drum:': '🛢️', ':oil:': '🛢️', ':ok:': '🆗', ':ok_hand:': '👌', ':older_adult:': '🧓', ':older_man:': '👴', ':grandma:': '👵', ':older_woman:': '👵', ':om_symbol:': '🕉️', ':on:': '🔛', ':oncoming_automobile:': '🚘', ':oncoming_bus:': '🚍', ':oncoming_police_car:': '🚔', ':oncoming_taxi:': '🚖', ':one_piece_swimsuit:': '🩱', ':onion:': '🧅', ':open_file_folder:': '📂', ':open_hands:': '👐', ':open_mouth:': '😮', ':orange_book:': '📙', ':orange_circle:': '🟠', ':orange_heart:': '🧡', ':orange_square:': '🟧', ':orangutan:': '🦧', ':otter:': '🦦', ':outbox_tray:': '📤', ':owl:': '🦉', ':ox:': '🐂', ':oyster:': '🦪', ':package:': '📦', ':page_facing_up:': '📄', ':page_with_curl:': '📃', ':pager:': '📟', ':lower_left_paintbrush:': '🖌️', ':paintbrush:': '🖌️', ':palm_tree:': '🌴', ':palms_up_together:': '🤲', ':pancakes:': '🥞', ':panda_face:': '🐼', ':paperclip:': '📎', ':linked_paperclips:': '🖇️', ':paperclips:': '🖇️', ':parachute:': '🪂', ':national_park:': '🏞️', ':park:': '🏞️', ':parking:': '🅿️', ':parrot:': '🦜', ':partying_face:': '🥳', ':passport_control:': '🛂', ':peach:': '🍑', ':peacock:': '🦚', ':shelled_peanut:': '🥜', ':peanuts:': '🥜', ':pear:': '🍐', ':lower_left_ballpoint_pen:': '🖊️', ':pen_ballpoint:': '🖊️', ':lower_left_fountain_pen:': '🖋️', ':pen_fountain:': '🖋️', ':memo:': '📝', ':pencil:': '📝', ':penguin:': '🐧', ':pensive:': '😔', ':dancers:': '👯', ':people_with_bunny_ears_partying:': '👯', ':wrestlers:': '🤼', ':wrestling:': '🤼', ':people_wrestling:': '🤼', ':performing_arts:': '🎭', ':persevere:': '😣', ':bicyclist:': '🚴', ':person_biking:': '🚴', ':bow:': '🙇', ':person_bowing:': '🙇', ':person_climbing:': '🧗', ':cartwheel:': '🤸', ':person_doing_cartwheel:': '🤸', ':face_palm:': '🤦', ':facepalm:': '🤦', ':person_facepalming:': '🤦', ':fencer:': '🤺', ':fencing:': '🤺', ':person_fencing:': '🤺', ':person_frowning:': '🙍', ':no_good:': '🙅', ':person_gesturing_no:': '🙅', ':ok_woman:': '🙆', ':person_gesturing_ok:': '🙆', ':haircut:': '💇', ':person_getting_haircut:': '💇', ':massage:': '💆', ':person_getting_massage:': '💆', ':golfer:': '🏌️', ':person_golfing:': '🏌️', ':person_in_lotus_position:': '🧘', ':person_in_steamy_room:': '🧖', ':juggling:': '🤹', ':juggler:': '🤹', ':person_juggling:': '🤹', ':person_kneeling:': '🧎', ':lifter:': '🏋️', ':weight_lifter:': '🏋️', ':person_lifting_weights:': '🏋️', ':mountain_bicyclist:': '🚵', ':person_mountain_biking:': '🚵', ':handball:': '🤾', ':person_playing_handball:': '🤾', ':water_polo:': '🤽', ':person_playing_water_polo:': '🤽', ':person_with_pouting_face:': '🙎', ':person_pouting:': '🙎', ':raising_hand:': '🙋', ':person_raising_hand:': '🙋', ':rowboat:': '🚣', ':person_rowing_boat:': '🚣', ':runner:': '🏃', ':person_running:': '🏃', ':shrug:': '🤷', ':person_shrugging:': '🤷', ':person_standing:': '🧍', ':surfer:': '🏄', ':person_surfing:': '🏄', ':swimmer:': '🏊', ':person_swimming:': '🏊', ':information_desk_person:': '💁', ':person_tipping_hand:': '💁', ':walking:': '🚶', ':person_walking:': '🚶', ':man_with_turban:': '👳', ':person_wearing_turban:': '👳', ':petri_dish:': '🧫', ':pie:': '🥧', ':pig2:': '🐖', ':pig:': '🐷', ':pig_nose:': '🐽', ':pill:': '💊', ':pinching_hand:': '🤏', ':pineapple:': '🍍', ':table_tennis:': '🏓', ':ping_pong:': '🏓', ':pizza:': '🍕', ':worship_symbol:': '🛐', ':place_of_worship:': '🛐', ':pleading_face:': '🥺', ':point_down:': '👇', ':point_left:': '👈', ':point_right:': '👉', ':point_up_2:': '👆', ':police_car:': '🚓', ':cop:': '👮', ':police_officer:': '👮', ':poodle:': '🐩', ':shit:': '💩', ':hankey:': '💩', ':poo:': '💩', ':poop:': '💩', ':popcorn:': '🍿', ':post_office:': '🏣', ':postal_horn:': '📯', ':postbox:': '📮', ':potable_water:': '🚰', ':potato:': '🥔', ':pouch:': '👝', ':poultry_leg:': '🍗', ':pound:': '💷', ':pouting_cat:': '😾', ':pray:': '🙏', ':prayer_beads:': '📿', ':expecting_woman:': '🤰', ':pregnant_woman:': '🤰', ':pretzel:': '🥨', ':prince:': '🤴', ':princess:': '👸', ':printer:': '🖨️', ':probing_cane:': '🦯', ':film_projector:': '📽️', ':projector:': '📽️', ':punch:': '👊', ':purple_circle:': '🟣', ':purple_heart:': '💜', ':purple_square:': '🟪', ':purse:': '👛', ':pushpin:': '📌', ':put_litter_in_its_place:': '🚮', ':rabbit2:': '🐇', ':rabbit:': '🐰', ':raccoon:': '🦝', ':racing_car:': '🏎️', ':race_car:': '🏎️', ':racehorse:': '🐎', ':radio:': '📻', ':radio_button:': '🔘', ':rage:': '😡', ':railway_car:': '🚃', ':railroad_track:': '🛤️', ':railway_track:': '🛤️', ':rainbow:': '🌈', ':back_of_hand:': '🤚', ':raised_back_of_hand:': '🤚', ':raised_hands:': '🙌', ':ram:': '🐏', ':ramen:': '🍜', ':rat:': '🐀', ':razor:': '🪒', ':receipt:': '🧾', ':red_car:': '🚗', ':red_circle:': '🔴', ':red_envelope:': '🧧', ':red_haired:': '🦰', ':red_square:': '🟥', ':regional_indicator_a:': '🇦', ':regional_indicator_b:': '🇧', ':regional_indicator_c:': '🇨', ':regional_indicator_d:': '🇩', ':regional_indicator_e:': '🇪', ':regional_indicator_f:': '🇫', ':regional_indicator_g:': '🇬', ':regional_indicator_h:': '🇭', ':regional_indicator_i:': '🇮', ':regional_indicator_j:': '🇯', ':regional_indicator_k:': '🇰', ':regional_indicator_l:': '🇱', ':regional_indicator_m:': '🇲', ':regional_indicator_n:': '🇳', ':regional_indicator_o:': '🇴', ':regional_indicator_p:': '🇵', ':regional_indicator_q:': '🇶', ':regional_indicator_r:': '🇷', ':regional_indicator_s:': '🇸', ':regional_indicator_t:': '🇹', ':regional_indicator_u:': '🇺', ':regional_indicator_v:': '🇻', ':regional_indicator_w:': '🇼', ':regional_indicator_x:': '🇽', ':regional_indicator_y:': '🇾', ':regional_indicator_z:': '🇿', ':relieved:': '😌', ':reminder_ribbon:': '🎗️', ':repeat:': '🔁', ':repeat_one:': '🔂', ':restroom:': '🚻', ':revolving_hearts:': '💞', ':rhinoceros:': '🦏', ':rhino:': '🦏', ':ribbon:': '🎀', ':rice:': '🍚', ':rice_ball:': '🍙', ':rice_cracker:': '🍘', ':rice_scene:': '🎑', ':right_fist:': '🤜', ':right_facing_fist:': '🤜', ':ring:': '💍', ':ringed_planet:': '🪐', ':robot_face:': '🤖', ':robot:': '🤖', ':rocket:': '🚀', ':rolling_on_the_floor_laughing:': '🤣', ':rofl:': '🤣', ':roll_of_paper:': '🧻', ':roller_coaster:': '🎢', ':face_with_rolling_eyes:': '🙄', ':rolling_eyes:': '🙄', ':rooster:': '🐓', ':rose:': '🌹', ':rosette:': '🏵️', ':rotating_light:': '🚨', ':round_pushpin:': '📍', ':rugby_football:': '🏉', ':running_shirt_with_sash:': '🎽', ':sa:': '🈂️', ':safety_pin:': '🧷', ':safety_vest:': '🦺', ':sake:': '🍶', ':green_salad:': '🥗', ':salad:': '🥗', ':salt:': '🧂', ':sandal:': '👡', ':sandwich:': '🥪', ':santa:': '🎅', ':sari:': '🥻', ':satellite:': '📡', ':satellite_orbital:': '🛰️', ':sauropod:': '🦕', ':saxophone:': '🎷', ':scarf:': '🧣', ':school:': '🏫', ':school_satchel:': '🎒', ':scooter:': '🛴', ':scorpion:': '🦂', ':scream:': '😱', ':scream_cat:': '🙀', ':scroll:': '📜', ':seat:': '💺', ':second_place_medal:': '🥈', ':second_place:': '🥈', ':see_no_evil:': '🙈', ':seedling:': '🌱', ':selfie:': '🤳', ':paella:': '🥘', ':shallow_pan_of_food:': '🥘', ':shark:': '🦈', ':shaved_ice:': '🍧', ':sheep:': '🐑', ':shell:': '🐚', ':shield:': '🛡️', ':ship:': '🚢', ':shirt:': '👕', ':shopping_bags:': '🛍️', ':shopping_trolley:': '🛒', ':shopping_cart:': '🛒', ':shorts:': '🩳', ':shower:': '🚿', ':shrimp:': '🦐', ':shushing_face:': '🤫', ':signal_strength:': '📶', ':six_pointed_star:': '🔯', ':skateboard:': '🛹', ':ski:': '🎿', ':skeleton:': '💀', ':skull:': '💀', ':skunk:': '🦨', ':sled:': '🛷', ':sleeping:': '😴', ':sleeping_accommodation:': '🛌', ':sleepy:': '😪', ':slightly_frowning_face:': '🙁', ':slight_frown:': '🙁', ':slightly_smiling_face:': '🙂', ':slight_smile:': '🙂', ':slot_machine:': '🎰', ':sloth:': '🦥', ':small_blue_diamond:': '🔹', ':small_orange_diamond:': '🔸', ':small_red_triangle:': '🔺', ':small_red_triangle_down:': '🔻', ':smile:': '😄', ':smile_cat:': '😸', ':smiley:': '😃', ':smiley_cat:': '😺', ':smiling_face_with_3_hearts:': '🥰', ':smiling_imp:': '😈', ':smirk:': '😏', ':smirk_cat:': '😼', ':smoking:': '🚬', ':snail:': '🐌', ':snake:': '🐍', ':sneeze:': '🤧', ':sneezing_face:': '🤧', ':snowboarder:': '🏂', ':soap:': '🧼', ':sob:': '😭', ':socks:': '🧦', ':softball:': '🥎', ':soon:': '🔜', ':sos:': '🆘', ':sound:': '🔉', ':space_invader:': '👾', ':spaghetti:': '🍝', ':sparkler:': '🎇', ':sparkling_heart:': '💖', ':speak_no_evil:': '🙊', ':speaker:': '🔈', ':speaking_head_in_silhouette:': '🗣️', ':speaking_head:': '🗣️', ':speech_balloon:': '💬', ':left_speech_bubble:': '🗨️', ':speech_left:': '🗨️', ':speedboat:': '🚤', ':spider:': '🕷️', ':spider_web:': '🕸️', ':sponge:': '🧽', ':spoon:': '🥄', ':squeeze_bottle:': '🧴', ':squid:': '🦑', ':stadium:': '🏟️', ':star2:': '🌟', ':star_struck:': '🤩', ':stars:': '🌠', ':station:': '🚉', ':statue_of_liberty:': '🗽', ':steam_locomotive:': '🚂', ':stethoscope:': '🩺', ':stew:': '🍲', ':straight_ruler:': '📏', ':strawberry:': '🍓', ':stuck_out_tongue:': '😛', ':stuck_out_tongue_closed_eyes:': '😝', ':stuck_out_tongue_winking_eye:': '😜', ':stuffed_pita:': '🥙', ':stuffed_flatbread:': '🥙', ':sun_with_face:': '🌞', ':sunflower:': '🌻', ':sunglasses:': '😎', ':sunrise:': '🌅', ':sunrise_over_mountains:': '🌄', ':superhero:': '🦸', ':supervillain:': '🦹', ':sushi:': '🍣', ':suspension_railway:': '🚟', ':swan:': '🦢', ':sweat:': '😓', ':sweat_drops:': '💦', ':sweat_smile:': '😅', ':sweet_potato:': '🍠', ':symbols:': '🔣', ':synagogue:': '🕍', ':syringe:': '💉', ':t_rex:': '🦖', ':taco:': '🌮', ':tada:': '🎉', ':takeout_box:': '🥡', ':tanabata_tree:': '🎋', ':tangerine:': '🍊', ':taxi:': '🚕', ':tea:': '🍵', ':teddy_bear:': '🧸', ':telephone_receiver:': '📞', ':telescope:': '🔭', ':tennis:': '🎾', ':test_tube:': '🧪', ':thermometer:': '🌡️', ':face_with_thermometer:': '🤒', ':thermometer_face:': '🤒', ':thinking_face:': '🤔', ':thinking:': '🤔', ':third_place_medal:': '🥉', ':third_place:': '🥉', ':thought_balloon:': '💭', ':thread:': '🧵', ':-1:': '👎', ':thumbdown:': '👎', ':thumbsdown:': '👎', ':+1:': '👍', ':thumbup:': '👍', ':thumbsup:': '👍', ':ticket:': '🎫', ':admission_tickets:': '🎟️', ':tickets:': '🎟️', ':tiger2:': '🐅', ':tiger:': '🐯', ':tired_face:': '😫', ':toilet:': '🚽', ':tokyo_tower:': '🗼', ':tomato:': '🍅', ':tone1:': '🏻', ':tone2:': '🏼', ':tone3:': '🏽', ':tone4:': '🏾', ':tone5:': '🏿', ':tongue:': '👅', ':toolbox:': '🧰', ':hammer_and_wrench:': '🛠️', ':tools:': '🛠️', ':tooth:': '🦷', ':top:': '🔝', ':tophat:': '🎩', ':trackball:': '🖲️', ':tractor:': '🚜', ':traffic_light:': '🚥', ':train2:': '🚆', ':train:': '🚋', ':tram:': '🚊', ':triangular_flag_on_post:': '🚩', ':triangular_ruler:': '📐', ':trident:': '🔱', ':triumph:': '😤', ':trolleybus:': '🚎', ':trophy:': '🏆', ':tropical_drink:': '🍹', ':tropical_fish:': '🐠', ':truck:': '🚚', ':trumpet:': '🎺', ':tulip:': '🌷', ':whisky:': '🥃', ':tumbler_glass:': '🥃', ':turkey:': '🦃', ':turtle:': '🐢', ':tv:': '📺', ':twisted_rightwards_arrows:': '🔀', ':two_hearts:': '💕', ':two_men_holding_hands:': '👬', ':two_women_holding_hands:': '👭', ':u5272:': '🈹', ':u5408:': '🈴', ':u55b6:': '🈺', ':u6307:': '🈯', ':u6708:': '🈷️', ':u6709:': '🈶', ':u6e80:': '🈵', ':u7121:': '🈚', ':u7533:': '🈸', ':u7981:': '🈲', ':u7a7a:': '🈳', ':unamused:': '😒', ':underage:': '🔞', ':unicorn_face:': '🦄', ':unicorn:': '🦄', ':unlock:': '🔓', ':up:': '🆙', ':upside_down_face:': '🙃', ':upside_down:': '🙃', ':vampire:': '🧛', ':vertical_traffic_light:': '🚦', ':vhs:': '📼', ':vibration_mode:': '📳', ':video_camera:': '📹', ':video_game:': '🎮', ':violin:': '🎻', ':volcano:': '🌋', ':volleyball:': '🏐', ':vs:': '🆚', ':raised_hand_with_part_between_middle_and_ring_fingers:': '🖖', ':vulcan:': '🖖', ':waffle:': '🧇', ':waning_crescent_moon:': '🌘', ':waning_gibbous_moon:': '🌖', ':wastebasket:': '🗑️', ':water_buffalo:': '🐃', ':watermelon:': '🍉', ':wave:': '👋', ':waxing_crescent_moon:': '🌒', ':waxing_gibbous_moon:': '🌔', ':wc:': '🚾', ':weary:': '😩', ':wedding:': '💒', ':whale2:': '🐋', ':whale:': '🐳', ':white_flower:': '💮', ':white_haired:': '🦳', ':white_heart:': '🤍', ':white_square_button:': '🔳', ':white_sun_behind_cloud:': '🌥️', ':white_sun_cloud:': '🌥️', ':white_sun_behind_cloud_with_rain:': '🌦️', ':white_sun_rain_cloud:': '🌦️', ':white_sun_with_small_cloud:': '🌤️', ':white_sun_small_cloud:': '🌤️', ':wilted_flower:': '🥀', ':wilted_rose:': '🥀', ':wind_blowing_face:': '🌬️', ':wind_chime:': '🎐', ':wine_glass:': '🍷', ':wink:': '😉', ':wolf:': '🐺', ':woman:': '👩', ':woman_with_headscarf:': '🧕', ':womans_clothes:': '👚', ':womans_flat_shoe:': '🥿', ':womans_hat:': '👒', ':womens:': '🚺', ':woozy_face:': '🥴', ':worried:': '😟', ':wrench:': '🔧', ':yarn:': '🧶', ':yawning_face:': '🥱', ':yellow_circle:': '🟡', ':yellow_heart:': '💛', ':yellow_square:': '🟨', ':yen:': '💴', ':yo_yo:': '🪀', ':yum:': '😋', ':zany_face:': '🤪', ':zebra:': '🦓', ':zipper_mouth_face:': '🤐', ':zipper_mouth:': '🤐', ':zombie:': '🧟', ':zzz:': '💤', ':airplane:': '✈️', ':alarm_clock:': '⏰', ':alembic:': '⚗️', ':anchor:': '⚓', ':aquarius:': '♒', ':aries:': '♈', ':arrow_backward:': '◀️', ':arrow_double_down:': '⏬', ':arrow_double_up:': '⏫', ':arrow_down:': '⬇️', ':arrow_forward:': '▶️', ':arrow_heading_down:': '⤵️', ':arrow_heading_up:': '⤴️', ':arrow_left:': '⬅️', ':arrow_lower_left:': '↙️', ':arrow_lower_right:': '↘️', ':arrow_right:': '➡️', ':arrow_right_hook:': '↪️', ':arrow_up:': '⬆️', ':arrow_up_down:': '↕️', ':arrow_upper_left:': '↖️', ':arrow_upper_right:': '↗️', ':asterisk_symbol:': '*️', ':atom_symbol:': '⚛️', ':atom:': '⚛️', ':ballot_box_with_check:': '☑️', ':bangbang:': '‼️', ':baseball:': '⚾', ':umbrella_on_ground:': '⛱️', ':beach_umbrella:': '⛱️', ':biohazard_sign:': '☣️', ':biohazard:': '☣️', ':black_circle:': '⚫', ':black_large_square:': '⬛', ':black_medium_small_square:': '◾', ':black_medium_square:': '◼️', ':black_nib:': '✒️', ':black_small_square:': '▪️', ':cancer:': '♋', ':capricorn:': '♑', ':chains:': '⛓️', ':chess_pawn:': '♟️', ':church:': '⛪', ':cloud:': '☁️', ':clubs:': '♣️', ':coffee:': '☕', ':coffin:': '⚰️', ':comet:': '☄️', ':congratulations:': '㊗️', ':copyright:': '©️', ':latin_cross:': '✝️', ':cross:': '✝️', ':crossed_swords:': '⚔️', ':curly_loop:': '➰', ':diamonds:': '♦️', ':digit_eight:': '8️', ':digit_five:': '5️', ':digit_four:': '4️', ':digit_nine:': '9️', ':digit_one:': '1️', ':digit_seven:': '7️', ':digit_six:': '6️', ':digit_three:': '3️', ':digit_two:': '2️', ':digit_zero:': '0️', ':eight_pointed_black_star:': '✴️', ':eight_spoked_asterisk:': '✳️', ':eject_symbol:': '⏏️', ':eject:': '⏏️', ':envelope:': '✉️', ':exclamation:': '❗', ':fast_forward:': '⏩', ':female_sign:': '♀️', ':ferry:': '⛴️', ':fist:': '✊', ':fleur-de-lis:': '⚜️', ':fountain:': '⛲', ':white_frowning_face:': '☹️', ':frowning2:': '☹️', ':fuelpump:': '⛽', ':gear:': '⚙️', ':gemini:': '♊', ':golf:': '⛳', ':grey_exclamation:': '❕', ':grey_question:': '❔', ':hammer_and_pick:': '⚒️', ':hammer_pick:': '⚒️', ':heart:': '❤️', ':heavy_heart_exclamation_mark_ornament:': '❣️', ':heart_exclamation:': '❣️', ':hearts:': '♥️', ':heavy_check_mark:': '✔️', ':heavy_division_sign:': '➗', ':heavy_minus_sign:': '➖', ':heavy_multiplication_x:': '✖️', ':heavy_plus_sign:': '➕', ':helmet_with_white_cross:': '⛑️', ':helmet_with_cross:': '⛑️', ':hotsprings:': '♨️', ':hourglass:': '⌛', ':hourglass_flowing_sand:': '⏳', ':ice_skate:': '⛸️', ':infinity:': '♾️', ':information_source:': 'ℹ️', ':interrobang:': '⁉️', ':keyboard:': '⌨️', ':left_right_arrow:': '↔️', ':leftwards_arrow_with_hook:': '↩️', ':leo:': '♌', ':libra:': '♎', ':loop:': '➿', ':m:': 'Ⓜ️', ':male_sign:': '♂️', ':medical_symbol:': '⚕️', ':mountain:': '⛰️', ':negative_squared_cross_mark:': '❎', ':no_entry:': '⛔', ':o:': '⭕', ':ophiuchus:': '⛎', ':orthodox_cross:': '☦️', ':part_alternation_mark:': '〽️', ':partly_sunny:': '⛅', ':double_vertical_bar:': '⏸️', ':pause_button:': '⏸️', ':peace_symbol:': '☮️', ':peace:': '☮️', ':pencil2:': '✏️', ':basketball_player:': '⛹️', ':person_with_ball:': '⛹️', ':person_bouncing_ball:': '⛹️', ':pick:': '⛏️', ':pisces:': '♓', ':play_pause:': '⏯️', ':point_up:': '☝️', ':pound_symbol:': '#️', ':question:': '❓', ':radioactive_sign:': '☢️', ':radioactive:': '☢️', ':raised_hand:': '✋', ':record_button:': '⏺️', ':recycle:': '♻️', ':registered:': '®️', ':relaxed:': '☺️', ':rewind:': '⏪', ':sagittarius:': '♐', ':sailboat:': '⛵', ':scales:': '⚖️', ':scissors:': '✂️', ':scorpius:': '♏', ':secret:': '㊙️', ':shamrock:': '☘️', ':shinto_shrine:': '⛩️', ':skier:': '⛷️', ':skull_and_crossbones:': '☠️', ':skull_crossbones:': '☠️', ':snowflake:': '❄️', ':snowman2:': '☃️', ':snowman:': '⛄', ':soccer:': '⚽', ':spades:': '♠️', ':sparkle:': '❇️', ':sparkles:': '✨', ':star:': '⭐', ':star_and_crescent:': '☪️', ':star_of_david:': '✡️', ':stop_button:': '⏹️', ':stopwatch:': '⏱️', ':sunny:': '☀️', ':taurus:': '♉', ':telephone:': '☎️', ':tent:': '⛺', ':thunder_cloud_and_rain:': '⛈️', ':thunder_cloud_rain:': '⛈️', ':timer_clock:': '⏲️', ':timer:': '⏲️', ':tm:': '™️', ':next_track:': '⏭️', ':track_next:': '⏭️', ':previous_track:': '⏮️', ':track_previous:': '⏮️', ':umbrella2:': '☂️', ':umbrella:': '☔', ':funeral_urn:': '⚱️', ':urn:': '⚱️', ':v:': '✌️', ':virgo:': '♍', ':warning:': '⚠️', ':watch:': '⌚', ':wavy_dash:': '〰️', ':wheel_of_dharma:': '☸️', ':wheelchair:': '♿', ':white_check_mark:': '✅', ':white_circle:': '⚪', ':white_large_square:': '⬜', ':white_medium_small_square:': '◽', ':white_medium_square:': '◻️', ':white_small_square:': '▫️', ':writing_hand:': '✍️', ':x:': '❌', ':yin_yang:': '☯️', ':zap:': '⚡' };\nexport default emojis;\n","import ascii, { asciiRegexp } from './ascii';\nimport emojis from './emojis';\n\nconst shortnamePattern = new RegExp(/:[-+_a-z0-9]+:/, 'gi');\nconst replaceShortNameWithUnicode = (shortname) => emojis[shortname] || shortname;\nconst regAscii = new RegExp(`((\\\\s|^)${ asciiRegexp }(?=\\\\s|$|[!,.?]))`, 'gi');\n\nconst unescapeHTML = (string) => {\n\tconst unescaped = {\n\t\t'&amp;': '&',\n\t\t'&#38;': '&',\n\t\t'&#x26;': '&',\n\t\t'&lt;': '<',\n\t\t'&#60;': '<',\n\t\t'&#x3C;': '<',\n\t\t'&gt;': '>',\n\t\t'&#62;': '>',\n\t\t'&#x3E;': '>',\n\t\t'&quot;': '\"',\n\t\t'&#34;': '\"',\n\t\t'&#x22;': '\"',\n\t\t'&apos;': '\\'',\n\t\t'&#39;': '\\'',\n\t\t'&#x27;': '\\'',\n\t};\n\n\treturn string.replace(/&(?:amp|#38|#x26|lt|#60|#x3C|gt|#62|#x3E|apos|#39|#x27|quot|#34|#x22);/ig, (match) => unescaped[match]);\n};\n\nconst shortnameToUnicode = (stringMessage) => {\n\tstringMessage = stringMessage.replace(shortnamePattern, replaceShortNameWithUnicode);\n\tstringMessage = stringMessage.replace(regAscii, (entire, m1, m2, m3) => {\n\t\tif (!m3 || !(unescapeHTML(m3) in ascii)) {\n\t\t\treturn entire;\n\t\t}\n\n\t\tm3 = unescapeHTML(m3);\n\t\treturn ascii[m3];\n\t});\n\n\treturn stringMessage;\n};\n\nexport default shortnameToUnicode;\n","import shortnameToUnicode from '../../Emoji/shortnameToUnicode';\n\nconst emojiUnicode = '\\u00a9|\\u00ae|[\\u2000-\\u3039]|[\\u3100-\\u3300]|\\ud83c[\\ud000-\\udfff]|\\ud83d[\\ud000-\\udfff]|\\ud83e[\\ud000-\\udfff]'; // unicode emoji from https://www.regextester.com/106421\n\nconst emojiRanges = [\n\temojiUnicode, // unicode emoji from https://www.regextester.com/106421\n\t':.{1,40}:', // custom emoji\n\t' |\\n', // allow spaces and line breaks\n].join('|');\n\n// this func is called for each emoji, input-> emoji shortname, o/p-> emoji icon in html format\nconst transformEmojisToNormalSize = (emoji) => `<span>${ emoji }</span>`;\n\nconst transformEmojisToLargeSize = (emoji) => `<span style=\"font-size:2rem\">${ emoji }</span>`;\n\nconst removeSpaces = (str) => str && str.replace(/\\s/g, '');\n\nconst removeAllEmoji = (str) => str.replace(new RegExp(emojiRanges, 'g'), '');\n\nconst isOnlyEmoji = (str) => {\n\tstr = removeSpaces(str);\n\treturn !removeAllEmoji(str).length;\n};\n\nconst renderEmojis = (origPlainText) => {\n\tconst textWithOnlyUnicode = shortnameToUnicode(origPlainText);\n\n\tif (isOnlyEmoji(textWithOnlyUnicode)) {\n\t\treturn textWithOnlyUnicode.replace(new RegExp(emojiUnicode, 'g'), transformEmojisToLargeSize);\n\t}\n\n\treturn textWithOnlyUnicode.replace(new RegExp(emojiUnicode, 'g'), transformEmojisToNormalSize);\n};\n\nexport default renderEmojis;\n","import MarkdownIt from 'markdown-it';\n\n\nconst md = new MarkdownIt({\n\thtml: true,\n\tbreaks: true,\n\tlinkify: true,\n\ttypographer: true,\n});\n\nconst defaultRender = md.renderer.rules.link_open || ((tokens, idx, options, env, self) => self.renderToken(tokens, idx, options));\n\nmd.renderer.rules.link_open = (tokens, idx, options, env, self) => {\n\tconst targetAttrIndex = tokens[idx].attrIndex('target');\n\tconst relAttrIndex = tokens[idx].attrIndex('rel');\n\n\tif (targetAttrIndex < 0) {\n\t\ttokens[idx].attrPush(['target', '_blank']);\n\t} else {\n\t\ttokens[idx].attrs[targetAttrIndex][1] = '_blank';\n\t}\n\n\tif (relAttrIndex < 0) {\n\t\ttokens[idx].attrPush(['rel', 'noopener noreferrer']);\n\t} else {\n\t\ttokens[idx].attrs[relAttrIndex][1] = 'noopener noreferrer';\n\t}\n\n\treturn defaultRender(tokens, idx, options, env, self);\n};\n\nmd.use((md) => {\n\tconst renderStrong = (tokens, idx, opts, _, slf) => {\n\t\tconst token = tokens[idx];\n\t\tif (token.markup === '*') {\n\t\t\ttoken.tag = 'strong';\n\t\t}\n\t\treturn slf.renderToken(tokens, idx, opts);\n\t};\n\n\tmd.renderer.rules.em_open = renderStrong;\n\tmd.renderer.rules.em_close = renderStrong;\n});\n\nmd.use((md) => {\n\tmd.inline.ruler.push('strikethrough', (state, silent) => {\n\t\tconst marker = state.src.charCodeAt(state.pos);\n\n\t\tif (silent) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (marker !== 0x7E/* ~ */) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst scanned = state.scanDelims(state.pos, true);\n\n\t\tconst ch = String.fromCharCode(marker);\n\n\t\tconst len = scanned.length;\n\t\tfor (let i = 0; i < len; i += 1) {\n\t\t\tconst token = state.push('text', '', 0);\n\t\t\ttoken.content = ch;\n\n\t\t\tstate.delimiters.push({\n\t\t\t\tmarker,\n\t\t\t\tlength: 0,\n\t\t\t\tjump: i,\n\t\t\t\ttoken: state.tokens.length - 1,\n\t\t\t\tend: -1,\n\t\t\t\topen: scanned.can_open,\n\t\t\t\tclose: scanned.can_close,\n\t\t\t});\n\t\t}\n\n\t\tstate.pos += scanned.length;\n\n\t\treturn true;\n\t});\n});\n\nexport const renderMarkdown = (...args) => md.render(...args);\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport renderEmojis from '../../../Messages/MessageText/emoji';\nimport { renderMarkdown } from '../../../Messages/MessageText/markdown';\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst Mrkdwn = ({ text/* , verbatim = false */ }) =>\n\t<div\n\t\tclassName={createClassName(styles, 'uikit-mrkdwn')}\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{ __html: renderEmojis(renderMarkdown(text), text) }}\n\t\tdir='auto'\n\t/>;\n\nexport default memo(Mrkdwn);\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport KebabIcon from '../../../../icons/kebab.svg';\nimport { Button } from '../../../Button';\nimport Menu, { PopoverMenu } from '../../../Menu';\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst OverflowTrigger = ({ loading, onClick }) => {\n\tconst handleMouseUp = useCallback(({ target }) => {\n\t\ttarget.blur();\n\t}, []);\n\n\treturn <Button\n\t\tclassName={createClassName(styles, 'uikit-overflow__trigger')}\n\t\tdisabled={loading}\n\t\toutline\n\t\tsecondary\n\t\tonClick={onClick}\n\t\tonMouseUp={handleMouseUp}\n\t>\n\t\t<KebabIcon width={20} height={20} />\n\t</Button>;\n};\n\nconst OverflowOption = ({ confirm, text, value, url, parser, onClick }) => {\n\tconst handleClick = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tif (url) {\n\t\t\tconst newTab = window.open();\n\t\t\tnewTab.opener = null;\n\t\t\tnewTab.location = url;\n\t\t\treturn;\n\t\t}\n\n\t\tawait onClick(value);\n\t}, [confirm, onClick, url, value]);\n\n\treturn <Menu.Item onClick={handleClick}>\n\t\t {parser.text(text)}\n\t </Menu.Item>;\n};\n\nconst OverflowElement = ({ actionId, confirm, options, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleClick = useCallback(async (value) => {\n\t\tawait performAction({ value });\n\t}, [performAction]);\n\n\treturn <PopoverMenu trigger={({ pop }) => <OverflowTrigger loading={performingAction} onClick={pop} />}>\n\t\t<Menu.Group>\n\t\t\t{Array.isArray(options) && options.map((option, i) =>\n\t\t\t\t<OverflowOption key={i} {...option} confirm={confirm} parser={parser} onClick={handleClick} />)}\n\t\t</Menu.Group>\n\t</PopoverMenu>;\n};\n\nexport default memo(OverflowElement);\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport shortnameToUnicode from '../../../Emoji/shortnameToUnicode';\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst escapeHtml = (unsafe) =>\n\tunsafe\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;')\n\t\t.replace(/'/g, '&#039;');\n\nconst PlainText = ({ text, emoji = false }) =>\n\t<span\n\t\tclassName={createClassName(styles, 'uikit-plain-text')}\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{\n\t\t\t__html: escapeHtml(emoji ? text : shortnameToUnicode(text)).replace(/\\n/g, () => '<br/>'),\n\t\t}}\n\t\tdir='auto'\n\t/>;\n\nexport default memo(PlainText);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst SectionBlock = ({ appId, blockId, text, fields, accessory, parser }) =>\n\t<Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-section-block')}>\n\t\t\t<div className={createClassName(styles, 'uikit-section-block__content')}>\n\t\t\t\t{text && (\n\t\t\t\t\t<div className={createClassName(styles, 'uikit-section-block__text')}>\n\t\t\t\t\t\t{parser.text(text, BLOCK_CONTEXT.SECTION)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{Array.isArray(fields) && fields.length > 0 && (\n\t\t\t\t\t<div className={createClassName(styles, 'uikit-section-block__fields')}>\n\t\t\t\t\t\t{fields.map((field, i) => (\n\t\t\t\t\t\t\t<div key={i} className={createClassName(styles, 'uikit-section-block__field')}>\n\t\t\t\t\t\t\t\t{parser.text(field, BLOCK_CONTEXT.SECTION)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{accessory && <div className={createClassName(styles, 'uikit-section-block__accessory')}>\n\t\t\t\t{parser.renderAccessories(accessory, BLOCK_CONTEXT.SECTION)}\n\t\t\t</div>}\n\t\t</div>\n\t</Block>;\n\nexport default memo(SectionBlock);\n","import { h, Component } from 'preact';\n\nimport ArrowIcon from '../../../icons/arrowDown.svg';\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport class SelectInput extends Component {\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tif (props.value !== state.value) {\n\t\t\treturn { value: props.value };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\tvalue: this.props.value,\n\t}\n\n\thandleChange = (event) => {\n\t\tconst { onChange } = this.props;\n\t\tonChange && onChange(event);\n\n\t\tif (event.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState({ value: event.target.value });\n\t}\n\n\trender = ({\n\t\tname,\n\t\tplaceholder,\n\t\toptions = [],\n\t\tdisabled,\n\t\tsmall,\n\t\terror,\n\t\tonInput,\n\t\tclassName,\n\t\tstyle = {},\n\t\t...props\n\t}) => (\n\t\t<div\n\t\t\tclassName={createClassName(styles, 'select-input', {}, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<select\n\t\t\t\tname={name}\n\t\t\t\tvalue={this.state.value}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'select-input__select', {\n\t\t\t\t\tdisabled,\n\t\t\t\t\terror,\n\t\t\t\t\tsmall,\n\t\t\t\t\tplaceholder: !this.state.value,\n\t\t\t\t})}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<option value='' disabled hidden>{placeholder}</option>\n\t\t\t\t{Array.from(options).map(({ value, label }, key) => (\n\t\t\t\t\t<option key={key} value={value} className={createClassName(styles, 'select-input__option')}>{label}</option>\n\t\t\t\t))}\n\t\t\t</select>\n\t\t\t<ArrowIcon className={createClassName(styles, 'select-input__arrow')} />\n\t\t</div>\n\t)\n}\n","import { h } from 'preact';\nimport { memo, useCallback, useMemo } from 'preact/compat';\n\nimport { SelectInput } from '../../../Form/SelectInput';\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst StaticSelectElement = ({ actionId, confirm, placeholder, options/* , optionGroups */, initialOption, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleChange = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tawait performAction({\n\t\t\tvalue: event.target.value,\n\t\t});\n\t}, [confirm, performAction]);\n\n\tconst selectOptions = useMemo(() => options.map((option) => ({\n\t\tlabel: parser.text(option.text),\n\t\tvalue: option.value,\n\t})), [options, parser]);\n\n\treturn <SelectInput\n\t\tclassName={createClassName(styles, 'uikit-static-select')}\n\t\tdisabled={performingAction}\n\t\toptions={selectOptions}\n\t\tplaceholder={placeholder && parser.text(placeholder)}\n\t\tsmall\n\t\tvalue={(initialOption && initialOption.value) || ''}\n\t\tonChange={handleChange}\n\t/>;\n};\n\nexport default memo(StaticSelectElement);\n","import { uiKitMessage, UiKitParserMessage, BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\n\nimport ActionsBlock from './ActionsBlock';\nimport ButtonElement from './ButtonElement';\nimport ContextBlock from './ContextBlock';\nimport DatePickerElement from './DatePickerElement';\nimport DividerBlock from './DividerBlock';\nimport ImageBlock from './ImageBlock';\nimport ImageElement from './ImageElement';\nimport Mrkdwn from './Mrkdwn';\nimport OverflowElement from './OverflowElement';\nimport PlainText from './PlainText';\nimport SectionBlock from './SectionBlock';\nimport StaticSelectElement from './StaticSelectElement';\n\nclass MessageParser extends UiKitParserMessage {\n\tdivider = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <DividerBlock key={index} {...element} />;\n\t}\n\n\tsection = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <SectionBlock key={index} {...element} parser={this} />;\n\t}\n\n\timage = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn <ImageBlock key={index} {...element} parser={this} />;\n\t\t}\n\n\t\treturn <ImageElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tactions = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <ActionsBlock key={index} {...element} parser={this} />;\n\t}\n\n\tcontext = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <ContextBlock key={index} {...element} parser={this} />;\n\t}\n\n\tplainText = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <PlainText key={index} {...element} />;\n\t}\n\n\tmrkdwn = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <Mrkdwn key={index} {...element} />;\n\t}\n\n\tbutton = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <ButtonElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\toverflow = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <OverflowElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tdatePicker = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <DatePickerElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tstaticSelect = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <StaticSelectElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tmultiStaticSelect = () =>\n\t\tnull\n}\n\nexport const parser = new MessageParser();\n\nexport const renderMessageBlocks = uiKitMessage(parser, {\n\tengine: 'livechat',\n});\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport {\n\ttriggerAction,\n\tUIKitIncomingInteractionType,\n\tUIKitIncomingInteractionContainerType,\n} from '../../../lib/uiKit';\nimport { createClassName } from '../../helpers';\nimport { renderMessageBlocks } from '../../uiKit';\nimport Surface from '../../uiKit/message/Surface';\nimport styles from './styles.scss';\n\nconst MessageBlocks = ({ blocks = [], mid, rid }) => {\n\tconst dispatchAction = useCallback(({\n\t\tappId,\n\t\tactionId,\n\t\tpayload,\n\t}) => triggerAction({\n\t\tappId,\n\t\ttype: UIKitIncomingInteractionType.BLOCK,\n\t\tactionId,\n\t\trid,\n\t\tmid,\n\t\tviewId: null,\n\t\tcontainer: {\n\t\t\ttype: UIKitIncomingInteractionContainerType.MESSAGE,\n\t\t\tid: mid,\n\t\t},\n\t\tpayload,\n\t}), [mid, rid]);\n\n\treturn <Surface dispatchAction={dispatchAction}>\n\t\t{Array.isArray(blocks) && blocks.length > 0\n\t\t\t? <div className={createClassName(styles, 'message-blocks')}>\n\t\t\t\t{renderMessageBlocks(blocks)}\n\t\t\t</div>\n\t\t\t: null}\n\t</Surface>;\n};\n\nexport default memo(MessageBlocks);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageContainer = memo(({\n\tid,\n\tcompact,\n\treverse,\n\tuse: Element = 'div',\n\tclassName,\n\tstyle = {},\n\tchildren,\n\tsystem = false,\n}) => (\n\t<Element\n\t\tid={id}\n\t\tclassName={createClassName(styles, 'message-container', { compact, reverse, system }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</Element>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageContent = memo(({ reverse, className, style = {}, children }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'message-content', { reverse }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</div>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport renderEmojis from './emoji';\nimport { renderMarkdown } from './markdown';\nimport styles from './styles.scss';\n\nexport const MessageText = memo(({\n\ttext,\n\tsystem,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<div\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{ __html: renderMarkdown(renderEmojis(text)) }}\n\t\tclassName={createClassName(styles, 'message-text', { system }, [className])}\n\t\tstyle={style}\n\t/>\n));\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\nimport isToday from 'date-fns/isToday';\nimport { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const parseDate = (ts) => {\n\tconst timestamp = new Date(ts).toISOString();\n\treturn format(parseISO(timestamp), isToday(parseISO(timestamp)) ? 'HH:mm' : 'dddd HH:mm');\n};\n\nexport const MessageTime = memo(({ ts, normal, inverted, className, style = {} }) => (\n\t<div className={createClassName(styles, 'message-time-wrapper')}>\n\t\t<time\n\t\t\tdateTime={new Date(ts).toISOString()}\n\t\t\tclassName={createClassName(styles, 'message-time', { normal, inverted }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{parseDate(ts)}\n\t\t</time>\n\t</div>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const VideoAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'video-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<video\n\t\t\tsrc={url}\n\t\t\tcontrols\n\t\t\tclassName={createClassName(styles, 'video-attachment__inner')}\n\t\t>\n\t\t\t{I18n.t('You browser doesn\\'t support video element')}\n\t\t</video>\n\t</MessageBubble>\n));\n","import { formatDistance } from 'date-fns';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\nimport { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { getAttachmentUrl, memo, normalizeTransferHistoryMessage, resolveDate } from '../../helpers';\nimport { AudioAttachment } from '../AudioAttachment';\nimport { FileAttachment } from '../FileAttachment';\nimport { ImageAttachment } from '../ImageAttachment';\nimport { MessageAvatars } from '../MessageAvatars';\nimport MessageBlocks from '../MessageBlocks';\nimport { MessageBubble } from '../MessageBubble';\nimport { MessageContainer } from '../MessageContainer';\nimport { MessageContent } from '../MessageContent';\nimport { MessageText } from '../MessageText';\nimport { MessageTime } from '../MessageTime';\nimport { VideoAttachment } from '../VideoAttachment';\nimport {\n\tMESSAGE_TYPE_ROOM_NAME_CHANGED,\n\tMESSAGE_TYPE_USER_ADDED,\n\tMESSAGE_TYPE_USER_REMOVED,\n\tMESSAGE_TYPE_USER_JOINED,\n\tMESSAGE_TYPE_USER_LEFT,\n\tMESSAGE_TYPE_WELCOME,\n\tMESSAGE_TYPE_LIVECHAT_CLOSED,\n\tMESSAGE_TYPE_LIVECHAT_STARTED,\n\tMESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY,\n\tMESSAGE_WEBRTC_CALL,\n} from '../constants';\n\nconst renderContent = ({\n\ttext,\n\tsystem,\n\tquoted,\n\tme,\n\tblocks,\n\tattachments,\n\tattachmentResolver,\n\tmid,\n\trid,\n}) => [\n\t...(attachments || [])\n\t\t.map((attachment) =>\n\t\t\t(attachment.audio_url\n\t\t\t\t&& <AudioAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.audio_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.video_url\n\t\t\t\t&& <VideoAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.video_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.image_url\n\t\t\t\t&& <ImageAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.image_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.title_link\n\t\t\t\t&& <FileAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.title_link)}\n\t\t\t\t\ttitle={attachment.title}\n\t\t\t\t/>)\n\t\t\t|| ((attachment.message_link || attachment.tmid) && renderContent({\n\t\t\t\ttext: attachment.text,\n\t\t\t\tquoted: true,\n\t\t\t\tattachments: attachment.attachments,\n\t\t\t\tattachmentResolver,\n\t\t\t})),\n\t\t),\n\ttext && (\n\t\t<MessageBubble inverse={me} quoted={quoted} system={system}>\n\t\t\t<MessageText text={text} system={system} />\n\t\t</MessageBubble>\n\t),\n\tblocks && (\n\t\t<MessageBlocks\n\t\t\tblocks={blocks}\n\t\t\tmid={mid}\n\t\t\trid={rid}\n\t\t/>\n\t),\n].filter(Boolean);\n\n\nconst resolveWebRTCEndCallMessage = ({ webRtcCallEndTs, ts }) => {\n\tconst callEndTime = resolveDate(webRtcCallEndTs);\n\tconst callStartTime = resolveDate(ts);\n\tconst callDuration = formatDistance(callEndTime, callStartTime);\n\tconst time = format(callEndTime, isToday(callEndTime) ? 'HH:mm' : 'dddd HH:mm');\n\treturn `${ I18n.t('Call ended at %{time}', { time }) } ${ I18n.t(' - Lasted %{callDuration}', { callDuration }) }`;\n};\n\nconst getSystemMessageText = ({ t, conversationFinishedMessage, transferData, u, webRtcCallEndTs, ts }) =>\n\t(t === MESSAGE_TYPE_ROOM_NAME_CHANGED && I18n.t('Room name changed'))\n\t|| (t === MESSAGE_TYPE_USER_ADDED && I18n.t('User added by'))\n\t|| (t === MESSAGE_TYPE_USER_REMOVED && I18n.t('User removed by'))\n\t|| (t === MESSAGE_TYPE_USER_JOINED && I18n.t('User joined'))\n\t|| (t === MESSAGE_TYPE_USER_LEFT && I18n.t('User left'))\n\t|| (t === MESSAGE_TYPE_WELCOME && I18n.t('Welcome'))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_CLOSED && (conversationFinishedMessage || I18n.t('Conversation finished')))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_STARTED && I18n.t('Chat started'))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY && normalizeTransferHistoryMessage(transferData, u))\n\t|| (t === MESSAGE_WEBRTC_CALL && webRtcCallEndTs && ts && resolveWebRTCEndCallMessage({ webRtcCallEndTs, ts }));\n\nconst getMessageUsernames = (compact, message) => {\n\tif (compact || !message.u) {\n\t\treturn [];\n\t}\n\n\tconst { alias, u: { username, name } } = message;\n\tif (alias && name) {\n\t\treturn [name];\n\t}\n\n\treturn [username];\n};\n\nexport const Message = memo(({\n\tavatarResolver,\n\tattachmentResolver = getAttachmentUrl,\n\tuse,\n\tme,\n\tcompact,\n\tclassName,\n\tstyle = {},\n\t...message\n}) => (\n\t<MessageContainer\n\t\tid={message._id}\n\t\tcompact={compact}\n\t\treverse={me}\n\t\tuse={use}\n\t\tclassName={className}\n\t\tstyle={style}\n\t\tsystem={!!message.t}\n\t>\n\t\t{!message.t && <MessageAvatars\n\t\t\tavatarResolver={avatarResolver}\n\t\t\tusernames={getMessageUsernames(compact, message)}\n\t\t/>}\n\t\t<MessageContent reverse={me}>\n\t\t\t{renderContent({\n\t\t\t\ttext: message.t ? getSystemMessageText(message) : message.msg,\n\t\t\t\tsystem: !!message.t,\n\t\t\t\tme,\n\t\t\t\tattachments: message.attachments,\n\t\t\t\tblocks: message.blocks,\n\t\t\t\tmid: message._id,\n\t\t\t\trid: message.rid,\n\t\t\t\tattachmentResolver,\n\t\t\t})}\n\t\t</MessageContent>\n\t\t{!compact && !message.t && <MessageTime normal={!me} inverse={me} ts={message.ts} />}\n\t</MessageContainer>\n));\n","export const MESSAGE_TYPE_ROOM_NAME_CHANGED = 'r';\nexport const MESSAGE_TYPE_USER_ADDED = 'au';\nexport const MESSAGE_TYPE_USER_REMOVED = 'ru';\nexport const MESSAGE_TYPE_USER_JOINED = 'uj';\nexport const MESSAGE_TYPE_USER_LEFT = 'ul';\nexport const MESSAGE_TYPE_WELCOME = 'wm';\nexport const MESSAGE_TYPE_LIVECHAT_CLOSED = 'livechat-close';\nexport const MESSAGE_TYPE_LIVECHAT_STARTED = 'livechat-started';\nexport const MESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY = 'livechat_transfer_history';\nexport const MESSAGE_JITSI_CALL = 'jitsi_call_started';\nexport const MESSAGE_WEBRTC_CALL = 'livechat_webrtc_video_call';\n","import { h } from 'preact';\n\nimport { Livechat } from '../../api';\nimport I18n from '../../i18n';\nimport VideoIcon from '../../icons/video.svg';\nimport constants from '../../lib/constants';\nimport store from '../../store';\nimport { Button } from '../Button';\nimport { createClassName } from '../helpers';\nimport { isCallOngoing } from './CallStatus';\nimport styles from './styles.scss';\n\n\nexport const JoinCallButton = (props) => {\n\tconst { token, room } = store.state;\n\n\tconst clickJoinCall = () => {\n\t\tswitch (props.callProvider) {\n\t\t\tcase constants.jitsiCallStartedMessageType: {\n\t\t\t\twindow.open(props.url, room._id);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase constants.webRTCCallStartedMessageType: {\n\t\t\t\twindow.open(`${ Livechat.client.host }/meet/${ room._id }?token=${ token }`, room._id);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\treturn (\n\t\t<div className={createClassName(styles, 'joinCall')}>\n\t\t\t{\n\t\t\t\tisCallOngoing(props.callStatus)\n\t\t\t\t&& (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className={createClassName(styles, 'joinCall__content')} >\n\t\t\t\t\t\t\t<div className={createClassName(styles, 'joinCall__content-videoIcon')} >\n\t\t\t\t\t\t\t\t<VideoIcon width={20} height={20} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ I18n.t('Join my room to start the video call') }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Button onClick={clickJoinCall} className={createClassName(styles, 'joinCall__content-action')}>\n\t\t\t\t\t\t\t<VideoIcon width={20} height={20} />\n\t\t\t\t\t\t\t{I18n.t('Join Call')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</div>\n\t);\n};\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\nimport { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageSeparator = memo(({\n\tdate,\n\tunread,\n\tuse: Element = 'div',\n\tclassName,\n\tstyle = {},\n}) => (\n\t<Element\n\t\tclassName={createClassName(styles, 'separator', {\n\t\t\tdate: !!date && !unread,\n\t\t\tunread: !date && !!unread,\n\t\t}, [className])}\n\t\tstyle={style}\n\t>\n\t\t<hr className={createClassName(styles, 'separator__line')} />\n\t\t{(date || unread) && (\n\t\t\t<span className={createClassName(styles, 'separator__text')}>\n\t\t\t\t{\n\t\t\t\t\t(!!date && format(parseISO(date), 'MMM dd, yyyy').toUpperCase())\n\t\t\t\t\t|| (unread && I18n.t('unread messages'))\n\t\t\t\t}\n\t\t\t</span>\n\t\t)}\n\t\t<hr className={createClassName(styles, 'separator__line')} />\n\t</Element>\n));\n","import { h } from 'preact';\n\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\nexport const TypingDots = ({\n\ttext,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<div\n\t\taria-label={text}\n\t\tclassName={createClassName(styles, 'typing-dots', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t</div>\n);\n","import { h } from 'preact';\n\nimport { memo } from '../../helpers';\nimport { MessageAvatars } from '../MessageAvatars';\nimport { MessageBubble } from '../MessageBubble';\nimport { MessageContainer } from '../MessageContainer';\nimport { MessageContent } from '../MessageContent';\nimport { TypingDots } from '../TypingDots';\n\n\nexport const TypingIndicator = memo(({\n\tavatarResolver = () => null,\n\tusernames = [],\n\ttext,\n\t...containerProps\n}) => (\n\t<MessageContainer {...containerProps}>\n\t\t<MessageAvatars\n\t\t\tavatarResolver={avatarResolver}\n\t\t\tusernames={usernames}\n\t\t/>\n\t\t<MessageContent>\n\t\t\t<MessageBubble>\n\t\t\t\t<TypingDots text={text} />\n\t\t\t</MessageBubble>\n\t\t</MessageContent>\n\t</MessageContainer>\n));\n","import { parseISO } from 'date-fns/fp';\nimport isSameDay from 'date-fns/isSameDay';\nimport { h } from 'preact';\n\nimport constants from '../../../lib/constants';\nimport store from '../../../store';\nimport { isCallOngoing } from '../../Calls/CallStatus';\nimport { JoinCallButton } from '../../Calls/JoinCallButton';\nimport { createClassName, getAttachmentUrl, MemoizedComponent } from '../../helpers';\nimport { Message } from '../Message';\nimport { MessageSeparator } from '../MessageSeparator';\nimport { TypingIndicator } from '../TypingIndicator';\nimport styles from './styles.scss';\n\nexport class MessageList extends MemoizedComponent {\n\tstatic defaultProps = {\n\t\ttypingUsernames: [],\n\t}\n\n\tstatic SCROLL_AT_TOP = 'top';\n\n\tstatic SCROLL_AT_BOTTOM = 'bottom';\n\n\tstatic SCROLL_FREE = 'free';\n\n\tscrollPosition = MessageList.SCROLL_AT_BOTTOM\n\n\thandleScroll = () => {\n\t\tif (this.isResizingFromBottom) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\tdelete this.isResizingFromBottom;\n\t\t\treturn;\n\t\t}\n\n\t\tlet scrollPosition;\n\t\tif (this.base.scrollHeight <= this.base.clientHeight) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t} else if (this.base.scrollTop === 0) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_TOP;\n\t\t} else if (this.base.scrollHeight === this.base.scrollTop + this.base.clientHeight) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t} else {\n\t\t\tscrollPosition = MessageList.SCROLL_FREE;\n\t\t}\n\n\t\tif (this.scrollPosition !== scrollPosition) {\n\t\t\tthis.scrollPosition = scrollPosition;\n\t\t\tconst { onScrollTo } = this.props;\n\t\t\tonScrollTo && onScrollTo(scrollPosition);\n\t\t}\n\t}\n\n\thandleResize = () => {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\tthis.isResizingFromBottom = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.base.scrollHeight <= this.base.clientHeight) {\n\t\t\tconst { onScrollTo } = this.props;\n\t\t\tthis.scrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t\tonScrollTo && onScrollTo(MessageList.SCROLL_AT_BOTTOM);\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tconst { handleEmojiClick } = this.props;\n\t\thandleEmojiClick && handleEmojiClick();\n\t}\n\n\tcomponentWillUpdate() {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_TOP) {\n\t\t\tthis.previousScrollHeight = this.base.scrollHeight;\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_TOP) {\n\t\t\tconst delta = this.base.scrollHeight - this.previousScrollHeight;\n\t\t\tif (delta > 0) {\n\t\t\t\tthis.base.scrollTop = delta;\n\t\t\t}\n\t\t\tdelete this.previousScrollHeight;\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.handleResize();\n\t\twindow.addEventListener('resize', this.handleResize);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.handleResize);\n\t}\n\n\trenderItems = ({\n\t\tattachmentResolver = getAttachmentUrl,\n\t\tavatarResolver,\n\t\tmessages,\n\t\tlastReadMessageId,\n\t\tuid,\n\t\tconversationFinishedMessage,\n\t\ttypingUsernames,\n\t}) => {\n\t\tconst items = [];\n\t\tconst { incomingCallAlert } = store.state;\n\t\tconst { ongoingCall } = store.state;\n\n\t\tfor (let i = 0; i < messages.length; ++i) {\n\t\t\tconst previousMessage = messages[i - 1];\n\t\t\tconst message = messages[i];\n\t\t\tconst nextMessage = messages[i + 1];\n\n\t\t\tif ((message.t === constants.webRTCCallStartedMessageType || message.t === constants.jitsiCallStartedMessageType)\n\t\t\t\t&& message.actionLinks && message.actionLinks.length\n\t\t\t\t&& ongoingCall && isCallOngoing(ongoingCall.callStatus)\n\t\t\t\t&& !message.webRtcCallEndTs) {\n\t\t\t\tconst { url, callProvider, rid } = incomingCallAlert || {};\n\t\t\t\titems.push(\n\t\t\t\t\t<JoinCallButton callStatus={ongoingCall.callStatus} url={url} callProvider={callProvider} rid={rid} />,\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst showDateSeparator = !previousMessage || !isSameDay(parseISO(message.ts), parseISO(previousMessage.ts));\n\t\t\tif (showDateSeparator) {\n\t\t\t\titems.push(\n\t\t\t\t\t<MessageSeparator\n\t\t\t\t\t\tkey={`sep-${ message.ts }`}\n\t\t\t\t\t\tuse='li'\n\t\t\t\t\t\tdate={message.ts}\n\t\t\t\t\t/>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\titems.push(\n\t\t\t\t<Message\n\t\t\t\t\tkey={message._id}\n\t\t\t\t\tattachmentResolver={attachmentResolver}\n\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\tuse='li'\n\t\t\t\t\tme={uid && message.u && uid === message.u._id}\n\t\t\t\t\tcompact={nextMessage && message.u && nextMessage.u && message.u._id === nextMessage.u._id && !nextMessage.t}\n\t\t\t\t\tconversationFinishedMessage={conversationFinishedMessage}\n\t\t\t\t\t{...message}\n\t\t\t\t/>,\n\t\t\t);\n\n\t\t\tconst showUnreadSeparator = lastReadMessageId && nextMessage && lastReadMessageId === message._id;\n\t\t\tif (showUnreadSeparator) {\n\t\t\t\titems.push(\n\t\t\t\t\t<MessageSeparator\n\t\t\t\t\t\tkey='unread'\n\t\t\t\t\t\tuse='li'\n\t\t\t\t\t\tunread\n\t\t\t\t\t/>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (typingUsernames && typingUsernames.length) {\n\t\t\titems.push(\n\t\t\t\t<TypingIndicator\n\t\t\t\t\tkey='typing'\n\t\t\t\t\tuse='li'\n\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\tusernames={typingUsernames}\n\t\t\t\t/>,\n\t\t\t);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\trender = ({\n\t\tclassName,\n\t\tstyle = {},\n\t}) => (\n\t\t<div\n\t\t\tonScroll={this.handleScroll}\n\t\t\tclassName={createClassName(styles, 'message-list', {}, [className])}\n\t\t\tonClick={this.handleClick}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<ol className={createClassName(styles, 'message-list__content')}>\n\t\t\t\t{this.renderItems(this.props)}\n\t\t\t</ol>\n\t\t</div>\n\t)\n}\n","import { h, Component } from 'preact';\n\nimport I18n from '../../i18n';\nimport CloseIcon from '../../icons/close.svg';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Alert extends Component {\n\tstatic defaultProps = {\n\t\ttimeout: 3000,\n\t\thideCloseButton: false,\n\t}\n\n\thandleDismiss = () => {\n\t\tconst { onDismiss, id } = this.props;\n\t\tonDismiss && onDismiss(id);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { timeout } = this.props;\n\t\tif (Number.isFinite(timeout) && timeout > 0) {\n\t\t\tthis.dismissTimeout = setTimeout(this.handleDismiss, timeout);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout(this.dismissTimeout);\n\t}\n\n\trender = ({ success, warning, error, color, hideCloseButton, className, style = {}, children }) => (\n\t\t<div\n\t\t\trole='alert'\n\t\t\tclassName={createClassName(styles, 'alert', { success, warning, error }, [className])}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\t...color && { backgroundColor: color },\n\t\t\t}}\n\t\t>\n\t\t\t<div className={createClassName(styles, 'alert__content')}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{!hideCloseButton && (\n\t\t\t\t<button\n\t\t\t\t\tonClick={this.handleDismiss}\n\t\t\t\t\tclassName={createClassName(styles, 'alert__close')}\n\t\t\t\t\taria-label={I18n.t('Dismiss this alert')}\n\t\t\t\t>\n\t\t\t\t\t<CloseIcon width={20} height={20} />\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n","import { h, toChildArray } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const Header = ({\n\tchildren,\n\ttheme: { color: backgroundColor, fontColor: color } = {},\n\tclassName,\n\tpost,\n\tlarge,\n\tstyle,\n\t...props\n}) => (\n\t<header\n\t\tclassName={createClassName(styles, 'header', { large }, [className])}\n\t\tstyle={style || backgroundColor || color ? { ...style || {}, backgroundColor, color } : null}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t{post}\n\t</header>\n);\n\nexport const Picture = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__picture', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const Content = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__content', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const Title = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__title', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const SubTitle = ({ children, className, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'header__subtitle', {\n\t\t\tchildren: toChildArray(children).length > 0,\n\t\t}, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\nexport const Actions = ({ children, className, ...props }) => (\n\t<nav className={createClassName(styles, 'header__actions', {}, [className])} {...props}>\n\t\t{children}\n\t</nav>\n);\n\nexport const Action = ({ children, className, ...props }) => (\n\t<button className={createClassName(styles, 'header__action', {}, [className])} {...props}>\n\t\t{children}\n\t</button>\n);\n\nexport const Post = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__post', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const CustomField = ({ children, className, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'header__custom-field', {}, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\nHeader.Picture = Picture;\nHeader.Content = Content;\nHeader.Title = Title;\nHeader.SubTitle = SubTitle;\nHeader.Actions = Actions;\nHeader.Action = Action;\nHeader.Post = Post;\nHeader.CustomField = CustomField;\n\nexport default Header;\n","import { h, Component } from 'preact';\n\nexport class Sound extends Component {\n\tplay = () => {\n\t\tthis.audio.play();\n\t}\n\n\thandleRef = (audio) => {\n\t\tthis.audio = audio;\n\t}\n\n\thandlePlayProp = () => {\n\t\tconst { play, dismissNotification } = this.props;\n\n\t\tif (play) {\n\t\t\tif (dismissNotification && dismissNotification()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.audio.play();\n\t\t} else if (!this.audio.ended && !this.audio.paused) {\n\t\t\tthis.audio.pause();\n\t\t\tthis.audio.currentTime = 0;\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.handlePlayProp();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.handlePlayProp();\n\t}\n\n\trender = ({ src, onStart, onStop }) => (\n\t\t<audio\n\t\t\tref={this.handleRef}\n\t\t\tsrc={src}\n\t\t\tonPlay={onStart}\n\t\t\tonEnded={onStop}\n\t\t\ttype='audio/mpeg'\n\t\t/>\n\t)\n}\n","import { h, cloneElement, Component, createContext, toChildArray } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst getPositioningStyle = (placement, { left, top, right, bottom }) => {\n\tswitch (placement) {\n\t\tcase 'left':\n\t\t\treturn {\n\t\t\t\tleft: `${ left }px`,\n\t\t\t\ttop: `${ (top + bottom) / 2 }px`,\n\t\t\t};\n\n\t\tcase 'top':\n\t\tcase 'top-left':\n\t\tcase 'top-right':\n\t\t\treturn {\n\t\t\t\tleft: `${ (left + right) / 2 }px`,\n\t\t\t\ttop: `${ top }px`,\n\t\t\t};\n\n\t\tcase 'right':\n\t\t\treturn {\n\t\t\t\tleft: `${ right }px`,\n\t\t\t\ttop: `${ (top + bottom) / 2 }px`,\n\t\t\t};\n\n\t\tcase 'bottom':\n\t\tcase 'bottom-left':\n\t\tcase 'bottom-right':\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\tleft: `${ (left + right) / 2 }px`,\n\t\t\t\ttop: `${ bottom }px`,\n\t\t\t};\n\t}\n};\n\n\nexport const Tooltip = ({ children, hidden = false, placement, floating = false, triggerBounds, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'tooltip', { hidden, placement, floating })}\n\t\tstyle={floating ? getPositioningStyle(placement, triggerBounds) : {}}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\n\nconst TooltipContext = createContext();\n\n\nexport class TooltipContainer extends Component {\n\tstate = {\n\t\ttooltip: null,\n\t\tactiveChild: null,\n\t\tevent: null,\n\t\tplacement: null,\n\t}\n\n\tshowTooltip = (event, { content, placement = 'bottom', childIndex }) => {\n\t\tconst triggerBounds = event.target.getBoundingClientRect();\n\t\tthis.setState({ tooltip: <Tooltip floating placement={placement} triggerBounds={triggerBounds}>{content}</Tooltip>, activeChild: childIndex, event, placement, content });\n\t}\n\n\thideTooltip = () => {\n\t\tthis.setState({ tooltip: null });\n\t}\n\n\tUNSAFE_componentWillReceiveProps(props) {\n\t\tif (this.state.tooltip) {\n\t\t\tconst activeChildren = props?.children?.props?.children[this.state.activeChild];\n\t\t\tif (activeChildren && activeChildren.props.content !== this.state.content) {\n\t\t\t\tthis.showTooltip(this.state.event, { content: activeChildren.props.content, placement: this.state.placement, childIndex: this.state.activeChild });\n\t\t\t}\n\t\t}\n\t}\n\n\trender({ children }) {\n\t\treturn (\n\t\t\t<TooltipContext.Provider value={{ ...this.state, showTooltip: this.showTooltip, hideTooltip: this.hideTooltip }}>\n\t\t\t\t{children}\n\t\t\t\t<TooltipContext.Consumer>\n\t\t\t\t\t{({ tooltip }) => tooltip}\n\t\t\t\t</TooltipContext.Consumer>\n\t\t\t</TooltipContext.Provider>\n\t\t);\n\t}\n}\n\n\nexport const TooltipTrigger = ({ children, content, placement }) => (\n\t<TooltipContext.Consumer>\n\t\t{({ showTooltip, hideTooltip }) => toChildArray(children).map((child, index) => cloneElement(child, {\n\t\t\tonMouseEnter: (event) => showTooltip(event, { content, placement, childIndex: index }),\n\t\t\tonMouseLeave: (event) => hideTooltip(event),\n\t\t\tonFocusCapture: (event) => showTooltip(event, { content, placement, childIndex: index }),\n\t\t\tonBlurCapture: (event) => hideTooltip(event),\n\t\t\tcontent,\n\t\t}))}\n\t</TooltipContext.Consumer>\n);\n\n\nexport const withTooltip = (component) => {\n\tconst TooltipConnection = ({ tooltip, ...props }) => (\n\t\t<Tooltip.Trigger content={tooltip}>\n\t\t\t{h(component, props)}\n\t\t</Tooltip.Trigger>\n\t);\n\tTooltipConnection.displayName = `withTooltip(${ component.displayName })`;\n\n\treturn TooltipConnection;\n};\n\n\nTooltip.Container = TooltipContainer;\nTooltip.Trigger = TooltipTrigger;\n\n\nexport default Tooltip;\n","import { Component, h } from 'preact';\nimport { useEffect } from 'preact/hooks';\n\nimport I18n from '../../i18n';\nimport MinimizeIcon from '../../icons/arrowDown.svg';\nimport RestoreIcon from '../../icons/arrowUp.svg';\nimport NotificationsEnabledIcon from '../../icons/bell.svg';\nimport NotificationsDisabledIcon from '../../icons/bellOff.svg';\nimport ChatIcon from '../../icons/chat.svg';\nimport CloseIcon from '../../icons/close.svg';\nimport OpenWindowIcon from '../../icons/newWindow.svg';\nimport { Alert } from '../Alert';\nimport { Avatar } from '../Avatar';\nimport { Button } from '../Button';\nimport { Footer, FooterContent, PoweredBy } from '../Footer';\nimport Header from '../Header';\nimport { PopoverContainer } from '../Popover';\nimport { Sound } from '../Sound';\nimport Tooltip from '../Tooltip';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\nclass ScreenHeader extends Component {\n\tlargeHeader = () => {\n\t\tconst { agent } = this.props;\n\t\treturn !!(agent && agent.email && agent.phone);\n\t}\n\n\theaderTitle = () => {\n\t\tconst { agent, queueInfo, title } = this.props;\n\t\tif (agent && agent.name) {\n\t\t\treturn agent.name;\n\t\t}\n\n\t\tif (queueInfo && queueInfo.spot && queueInfo.spot > 0) {\n\t\t\treturn I18n.t('Waiting queue...');\n\t\t}\n\n\t\treturn title;\n\t}\n\n\trender = ({\n\t\talerts,\n\t\tagent,\n\t\tnotificationsEnabled,\n\t\tminimized,\n\t\texpanded,\n\t\twindowed,\n\t\tonDismissAlert,\n\t\tonEnableNotifications,\n\t\tonDisableNotifications,\n\t\tonMinimize,\n\t\tonRestore,\n\t\tonOpenWindow,\n\t}) => (\n\t\t<Header\n\t\t\tref={this.handleRef}\n\t\t\tpost={\n\t\t\t\t<Header.Post>\n\t\t\t\t\t{alerts && alerts.map((alert) => <Alert {...alert} onDismiss={onDismissAlert}>{alert.children}</Alert>)}\n\t\t\t\t</Header.Post>\n\t\t\t}\n\t\t\tlarge={this.largeHeader()}\n\t\t>\n\t\t\t{agent && agent.avatar && (\n\t\t\t\t<Header.Picture>\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\tsrc={agent.avatar.src}\n\t\t\t\t\t\tdescription={agent.avatar.description}\n\t\t\t\t\t\tstatus={agent.status}\n\t\t\t\t\t\tlarge={this.largeHeader()}\n\t\t\t\t\t\tstatusBorder\n\t\t\t\t\t/>\n\t\t\t\t</Header.Picture>\n\t\t\t)}\n\n\t\t\t<Header.Content>\n\t\t\t\t<Header.Title>{this.headerTitle()}</Header.Title>\n\t\t\t\t{agent && agent.email && (\n\t\t\t\t\t<Header.SubTitle>{agent.email}</Header.SubTitle>\n\t\t\t\t)}\n\t\t\t\t{agent && agent.phone && (\n\t\t\t\t\t<Header.CustomField>{agent.phone}</Header.CustomField>\n\t\t\t\t)}\n\t\t\t</Header.Content>\n\t\t\t<Tooltip.Container>\n\t\t\t\t<Header.Actions>\n\t\t\t\t\t<Tooltip.Trigger content={notificationsEnabled ? I18n.t('Sound is on') : I18n.t('Sound is off')}>\n\t\t\t\t\t\t<Header.Action\n\t\t\t\t\t\t\taria-label={notificationsEnabled ? I18n.t('Disable notifications') : I18n.t('Enable notifications')}\n\t\t\t\t\t\t\tonClick={notificationsEnabled ? onDisableNotifications : onEnableNotifications}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{notificationsEnabled\n\t\t\t\t\t\t\t\t? <NotificationsEnabledIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t: <NotificationsDisabledIcon width={20} height={20} />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t{(expanded || !windowed) && (\n\t\t\t\t\t\t<Tooltip.Trigger content={minimized ? I18n.t('Restore chat') : I18n.t('Minimize chat')}>\n\t\t\t\t\t\t\t<Header.Action\n\t\t\t\t\t\t\t\taria-label={minimized ? I18n.t('Restore chat') : I18n.t('Minimize chat')}\n\t\t\t\t\t\t\t\tonClick={minimized ? onRestore : onMinimize}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{minimized\n\t\t\t\t\t\t\t\t\t? <RestoreIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t: <MinimizeIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t\t{(!expanded && !windowed) && (\n\t\t\t\t\t\t<Tooltip.Trigger content={I18n.t('Expand chat')} placement='bottom-left'>\n\t\t\t\t\t\t\t<Header.Action aria-label={I18n.t('Expand chat')} onClick={onOpenWindow}>\n\t\t\t\t\t\t\t\t<OpenWindowIcon width={20} height={20} />\n\t\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t</Header.Actions>\n\t\t\t</Tooltip.Container>\n\t\t</Header>\n\t)\n}\n\n\nexport const ScreenContent = ({ children, nopadding, triggered = false }) => (\n\t<main className={createClassName(styles, 'screen__main', { nopadding, triggered })}>\n\t\t{children}\n\t</main>\n);\n\n\nexport const ScreenFooter = ({ children, options, limit }) => (\n\t<Footer>\n\t\t{children && (\n\t\t\t<FooterContent>\n\t\t\t\t{children}\n\t\t\t</FooterContent>\n\t\t)}\n\t\t<FooterContent>\n\t\t\t{options}\n\t\t\t{limit}\n\t\t\t<PoweredBy />\n\t\t</FooterContent>\n\t</Footer>\n);\n\nconst ChatButton = ({\n\ttext,\n\tminimized,\n\tbadge,\n\tonClick,\n\ttriggered = false,\n\tagent,\n}) => (\n\t<Button\n\t\ticon={minimized || triggered ? <ChatIcon /> : <CloseIcon />}\n\t\tbadge={badge}\n\t\tonClick={onClick}\n\t\tclassName={createClassName(styles, 'screen__chat-button')}\n\t\timg={triggered && agent && agent.avatar.src}\n\t>\n\t\t{text}\n\t</Button>\n);\n\nconst CssVar = ({ theme }) => {\n\tuseEffect(() => {\n\t\tif (window.CSS && CSS.supports('color', 'var(--color)')) {\n\t\t\treturn;\n\t\t}\n\t\tlet mounted = true;\n\t\t(async () => {\n\t\t\tconst { default: cssVars } = await import('css-vars-ponyfill');\n\t\t\tif (!mounted) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcssVars({\n\t\t\t\tvariables: {\n\t\t\t\t\t'--color': theme.color,\n\t\t\t\t\t'--font-color': theme.fontColor,\n\t\t\t\t\t'--icon-color': theme.iconColor,\n\t\t\t\t},\n\t\t\t});\n\t\t})();\n\t\treturn () => {\n\t\t\tmounted = false;\n\t\t};\n\t}, [theme]);\n\n\treturn <style>{`\n\t\t.${ styles.screen } {\n\t\t\t${ theme.color ? `--color: ${ theme.color };` : '' }\n\t\t\t${ theme.fontColor ? `--font-color: ${ theme.fontColor };` : '' }\n\t\t\t${ theme.iconColor ? `--icon-color: ${ theme.iconColor };` : '' }\n\t\t}\n\t`}</style>;\n};\n\nexport const Screen = ({\n\ttheme = {},\n\tagent,\n\ttitle,\n\tnotificationsEnabled,\n\tminimized = false,\n\texpanded = false,\n\twindowed = false,\n\tchildren,\n\tclassName,\n\talerts,\n\tmodal,\n\tunread,\n\tsound,\n\tonDismissAlert,\n\tonEnableNotifications,\n\tonDisableNotifications,\n\tonMinimize,\n\tonRestore,\n\tonOpenWindow,\n\tonSoundStop,\n\tqueueInfo,\n\tdismissNotification,\n\ttriggered = false,\n}) => (\n\t<div className={createClassName(styles, 'screen', { minimized, expanded, windowed, triggered })}>\n\t\t<CssVar theme={theme} />\n\t\t{triggered && <Button onClick={onMinimize} className={createClassName(styles, 'screen__chat-close-button')} icon={<CloseIcon />}>Close</Button>}\n\t\t<div className={createClassName(styles, 'screen__inner', { fitTextSize: triggered }, [className])}>\n\t\t\t<PopoverContainer>\n\t\t\t\t{!triggered && <ScreenHeader\n\t\t\t\t\talerts={alerts}\n\t\t\t\t\tagent={agent}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\tnotificationsEnabled={notificationsEnabled}\n\t\t\t\t\tminimized={minimized}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\twindowed={windowed}\n\t\t\t\t\tonDismissAlert={onDismissAlert}\n\t\t\t\t\tonEnableNotifications={onEnableNotifications}\n\t\t\t\t\tonDisableNotifications={onDisableNotifications}\n\t\t\t\t\tonMinimize={onMinimize}\n\t\t\t\t\tonRestore={onRestore}\n\t\t\t\t\tonOpenWindow={onOpenWindow}\n\t\t\t\t\tqueueInfo={queueInfo}\n\t\t\t\t/>}\n\n\t\t\t\t{modal}\n\t\t\t\t{children}\n\t\t\t</PopoverContainer>\n\t\t</div>\n\n\t\t<ChatButton\n\t\t\tagent={agent}\n\t\t\ttriggered={triggered}\n\t\t\ttext={title}\n\t\t\tbadge={unread}\n\t\t\tminimized={minimized}\n\t\t\tonClick={minimized ? onRestore : onMinimize}\n\t\t/>\n\n\t\t{sound && <Sound src={sound.src} play={sound.play} onStop={onSoundStop} dismissNotification={dismissNotification} />}\n\t</div>\n);\n\n\nScreen.Content = ScreenContent;\nScreen.Footer = ScreenFooter;\n\n\nexport default Screen;\n","import { Picker } from 'emoji-mart';\nimport { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { CallIframe } from '../../components/Calls/CallIFrame';\nimport { CallNotification } from '../../components/Calls/CallNotification';\nimport { CallStatus } from '../../components/Calls/CallStatus';\nimport { Composer, ComposerAction, ComposerActions } from '../../components/Composer';\nimport { FilesDropTarget } from '../../components/FilesDropTarget';\nimport { FooterOptions, CharCounter } from '../../components/Footer';\nimport { Menu } from '../../components/Menu';\nimport { MessageList } from '../../components/Messages';\nimport { Screen } from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport ChangeIcon from '../../icons/change.svg';\nimport FinishIcon from '../../icons/finish.svg';\nimport PlusIcon from '../../icons/plus.svg';\nimport RemoveIcon from '../../icons/remove.svg';\nimport SendIcon from '../../icons/send.svg';\nimport EmojiIcon from '../../icons/smile.svg';\nimport styles from './styles.scss';\n\nexport default class Chat extends Component {\n\tstate = {\n\t\tatBottom: true,\n\t\ttext: '',\n\t\temojiPickerActive: false,\n\t}\n\n\thandleFilesDropTargetRef = (ref) => {\n\t\tthis.filesDropTarget = ref;\n\t}\n\n\thandleMessagesContainerRef = (messagesContainer) => {\n\t\tthis.messagesContainer = messagesContainer ? messagesContainer.base : null;\n\t}\n\n\thandleScrollTo = (region) => {\n\t\tconst { onTop, onBottom } = this.props;\n\n\t\tif (region === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.setState({ atBottom: true });\n\t\t\tonBottom && onBottom();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState({ atBottom: false });\n\n\t\tif (region === MessageList.SCROLL_AT_TOP) {\n\t\t\tonTop && onTop();\n\t\t}\n\t}\n\n\thandleUploadClick = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.filesDropTarget.browse();\n\t}\n\n\thandleSendClick = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.handleSubmit(this.state.text);\n\t}\n\n\thandleSubmit = (text) => {\n\t\tif (this.props.onSubmit) {\n\t\t\tthis.props.onSubmit(text);\n\t\t\tthis.setState({ text: '' });\n\t\t\tthis.turnOffEmojiPicker();\n\t\t}\n\t}\n\n\thandleChangeText = (text) => {\n\t\tlet value = text;\n\t\tconst { onChangeText, limitTextLength } = this.props;\n\t\tif (limitTextLength && limitTextLength < text.length) {\n\t\t\tvalue = value.substring(0, limitTextLength);\n\t\t}\n\t\tthis.setState({ text: value });\n\t\tonChangeText && onChangeText(value);\n\t}\n\n\ttoggleEmojiPickerState = () => {\n\t\tthis.setState({ emojiPickerActive: !this.state.emojiPickerActive });\n\t}\n\n\thandleEmojiSelect = (emoji) => {\n\t\tthis.toggleEmojiPickerState();\n\t\tthis.notifyEmojiSelect(emoji.native);\n\t}\n\n\thandleEmojiClick = () => {\n\t\tthis.turnOffEmojiPicker();\n\t}\n\n\tturnOffEmojiPicker = () => {\n\t\tif (this.state.emojiPickerActive) {\n\t\t\tthis.setState({ emojiPickerActive: !this.state.emojiPickerActive });\n\t\t}\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tfontColor,\n\t\tuid,\n\t\tagent,\n\t\ttypingUsernames,\n\t\tavatarResolver,\n\t\tconversationFinishedMessage,\n\t\tloading,\n\t\tonUpload,\n\t\tmessages,\n\t\tuploads = false,\n\t\toptions,\n\t\tonChangeDepartment,\n\t\tonFinishChat,\n\t\tonRemoveUserData,\n\t\tlastReadMessageId,\n\t\tqueueInfo,\n\t\tregistrationRequired,\n\t\tonRegisterUser,\n\t\tlimitTextLength,\n\t\tincomingCallAlert,\n\t\tongoingCall,\n\t\tdispatch,\n\t\t...props\n\t}, {\n\t\tatBottom = true,\n\t\ttext,\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title || I18n.t('Need help?')}\n\t\t\tfontColor={fontColor}\n\t\t\tagent={agent || null}\n\t\t\tqueueInfo={queueInfo}\n\t\t\tnopadding\n\t\t\tonChangeDepartment={onChangeDepartment}\n\t\t\tonFinishChat={onFinishChat}\n\t\t\tonRemoveUserData={onRemoveUserData}\n\t\t\tclassName={createClassName(styles, 'chat')}\n\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t{...props}\n\t\t>\n\t\t\t<FilesDropTarget\n\t\t\t\tref={this.handleFilesDropTargetRef}\n\t\t\t\toverlayed\n\t\t\t\toverlayText={I18n.t('Drop here to upload a file')}\n\t\t\t\tonUpload={onUpload}\n\t\t\t>\n\t\t\t\t<Screen.Content nopadding>\n\t\t\t\t\t{ incomingCallAlert && !!incomingCallAlert.show && <CallNotification { ...incomingCallAlert } dispatch={dispatch} />}\n\t\t\t\t\t{ incomingCallAlert?.show && ongoingCall && ongoingCall.callStatus === CallStatus.IN_PROGRESS_SAME_TAB ? <CallIframe { ...incomingCallAlert } /> : null }\n\t\t\t\t\t<div className={createClassName(styles, 'chat__messages', { atBottom, loading })}>\n\t\t\t\t\t\t<MessageList\n\t\t\t\t\t\t\tref={this.handleMessagesContainerRef}\n\t\t\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\t\t\tuid={uid}\n\t\t\t\t\t\t\tmessages={messages}\n\t\t\t\t\t\t\ttypingUsernames={typingUsernames}\n\t\t\t\t\t\t\tconversationFinishedMessage={conversationFinishedMessage}\n\t\t\t\t\t\t\tlastReadMessageId={lastReadMessageId}\n\t\t\t\t\t\t\tonScrollTo={this.handleScrollTo}\n\t\t\t\t\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.state.emojiPickerActive && <Picker\n\t\t\t\t\t\t\tstyle={{ position: 'absolute', zIndex: 10, bottom: 0, maxWidth: '90%', left: 20, maxHeight: '90%' }}\n\t\t\t\t\t\t\tshowPreview={false}\n\t\t\t\t\t\t\tshowSkinTones={false}\n\t\t\t\t\t\t\tsheetSize={64}\n\t\t\t\t\t\t\tonSelect={this.handleEmojiSelect}\n\t\t\t\t\t\t\tautoFocus={true}\n\t\t\t\t\t\t/>}\n\t\t\t\t\t</div>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer\n\t\t\t\t\toptions={options ? (\n\t\t\t\t\t\t<FooterOptions>\n\t\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t\t{onChangeDepartment && (\n\t\t\t\t\t\t\t\t\t<Menu.Item onClick={onChangeDepartment} icon={ChangeIcon}>{I18n.t('Change department')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{onRemoveUserData && (\n\t\t\t\t\t\t\t\t\t<Menu.Item onClick={onRemoveUserData} icon={RemoveIcon}>{I18n.t('Forget/Remove my data')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{onFinishChat && (\n\t\t\t\t\t\t\t\t\t<Menu.Item danger onClick={onFinishChat} icon={FinishIcon}>{I18n.t('Finish this chat')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t\t</FooterOptions>\n\t\t\t\t\t) : null}\n\t\t\t\t\tlimit={limitTextLength\n\t\t\t\t\t\t? <CharCounter\n\t\t\t\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\t\t\t\ttextLength={text.length}\n\t\t\t\t\t\t/> : null}\n\t\t\t\t>\n\t\t\t\t\t{ registrationRequired\n\t\t\t\t\t\t? <Button loading={loading} disabled={loading} onClick={onRegisterUser} stack>{I18n.t('Chat now')}</Button>\n\t\t\t\t\t\t: <Composer onUpload={onUpload}\n\t\t\t\t\t\t\tonSubmit={this.handleSubmit}\n\t\t\t\t\t\t\tonChange={this.handleChangeText}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Type your message here')}\n\t\t\t\t\t\t\tvalue={text}\n\t\t\t\t\t\t\tnotifyEmojiSelect={(click) => { this.notifyEmojiSelect = click; }}\n\t\t\t\t\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t\t\t\t\tpre={(\n\t\t\t\t\t\t\t\t<ComposerActions>\n\t\t\t\t\t\t\t\t\t<ComposerAction className={createClassName(styles, 'emoji-picker-icon')} onClick={this.toggleEmojiPickerState}>\n\t\t\t\t\t\t\t\t\t\t<EmojiIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t</ComposerActions>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tpost={(\n\t\t\t\t\t\t\t\t<ComposerActions>\n\t\t\t\t\t\t\t\t\t{text.length === 0 && uploads && (\n\t\t\t\t\t\t\t\t\t\t<ComposerAction onClick={this.handleUploadClick}>\n\t\t\t\t\t\t\t\t\t\t\t<PlusIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{text.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<ComposerAction onClick={this.handleSendClick}>\n\t\t\t\t\t\t\t\t\t\t\t<SendIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ComposerActions>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t</Screen.Footer>\n\t\t\t</FilesDropTarget>\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { debounce, getAvatarUrl, canRenderMessage, throttle, upsert, parse } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport { normalizeQueueAlert } from '../../lib/api';\nimport constants from '../../lib/constants';\nimport { loadConfig } from '../../lib/main';\nimport { parentCall, runCallbackEventEmitter } from '../../lib/parentCall';\nimport { createToken } from '../../lib/random';\nimport { initRoom, closeChat, loadMessages, loadMoreMessages, defaultRoomParams, getGreetingMessages } from '../../lib/room';\nimport { Consumer } from '../../store';\nimport Chat from './component';\n\nexport class ChatContainer extends Component {\n\tstate = {\n\t\troom: null,\n\t\tconnectingAgent: false,\n\t\tqueueSpot: 0,\n\t\ttriggerQueueMessage: true,\n\t\testimatedWaitTime: null,\n\t}\n\n\tcheckConnectingAgent = async () => {\n\t\tconst { connecting, queueInfo } = this.props;\n\t\tconst { connectingAgent, queueSpot, estimatedWaitTime } = this.state;\n\n\t\tconst newConnecting = connecting;\n\t\tconst newQueueSpot = (queueInfo && queueInfo.spot) || 0;\n\t\tconst newEstimatedWaitTime = queueInfo && queueInfo.estimatedWaitTimeSeconds;\n\n\t\tif (newConnecting !== connectingAgent || newQueueSpot !== queueSpot || newEstimatedWaitTime !== estimatedWaitTime) {\n\t\t\tthis.state.connectingAgent = newConnecting;\n\t\t\tthis.state.queueSpot = newQueueSpot;\n\t\t\tthis.state.estimatedWaitTime = newEstimatedWaitTime;\n\t\t\tawait this.handleQueueMessage(connecting, queueInfo);\n\t\t\tawait this.handleConnectingAgentAlert(newConnecting, normalizeQueueAlert(queueInfo));\n\t\t}\n\t}\n\n\tcheckRoom = () => {\n\t\tconst { room } = this.props;\n\t\tconst { room: stateRoom } = this.state;\n\t\tif (room && (!stateRoom || room._id !== stateRoom._id)) {\n\t\t\tthis.state.room = room;\n\t\t\tsetTimeout(loadMessages, 500);\n\t\t}\n\t}\n\n\tgrantUser = async () => {\n\t\tconst { token, user, guest, dispatch } = this.props;\n\n\t\tif (user) {\n\t\t\treturn user;\n\t\t}\n\n\t\tconst visitor = { token, ...guest };\n\t\tconst newUser = await Livechat.grantVisitor({ visitor });\n\t\tawait dispatch({ user: newUser });\n\t}\n\n\tgetRoom = async () => {\n\t\tconst { alerts, dispatch, room, messages } = this.props;\n\t\tconst previousMessages = getGreetingMessages(messages);\n\n\t\tif (room) {\n\t\t\treturn room;\n\t\t}\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst params = defaultRoomParams();\n\t\t\tconst newRoom = await Livechat.room(params);\n\t\t\tawait dispatch({ room: newRoom, messages: previousMessages, noMoreMessages: false });\n\t\t\tawait initRoom();\n\n\t\t\tparentCall('callback', 'chat-started');\n\t\t\treturn newRoom;\n\t\t} catch (error) {\n\t\t\tconst { data: { error: reason } } = error;\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error starting a new conversation: %{reason}', { reason }), error: true, timeout: 10000 };\n\t\t\tawait dispatch({ loading: false, alerts: (alerts.push(alert), alerts) });\n\n\t\t\trunCallbackEventEmitter(reason);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\thandleTop = () => {\n\t\tloadMoreMessages();\n\t}\n\n\tstartTyping = throttle(async ({ rid, username }) => {\n\t\tawait Livechat.notifyVisitorTyping(rid, username, true);\n\t\tthis.stopTypingDebounced({ rid, username });\n\t}, 4500)\n\n\tstopTyping = ({ rid, username }) => Livechat.notifyVisitorTyping(rid, username, false)\n\n\tstopTypingDebounced = debounce(this.stopTyping, 5000)\n\n\thandleChangeText = async () => {\n\t\tconst { user, room } = this.props;\n\t\tif (!(user && user.username && room && room._id)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.startTyping({ rid: room._id, username: user.username });\n\t}\n\n\thandleSubmit = async (msg) => {\n\t\tif (msg.trim() === '') {\n\t\t\treturn;\n\t\t}\n\t\tmsg = parse(msg);\n\n\t\tawait this.grantUser();\n\t\tconst { _id: rid } = await this.getRoom();\n\t\tconst { alerts, dispatch, token, user } = this.props;\n\n\t\ttry {\n\t\t\tthis.stopTypingDebounced.stop();\n\t\t\tawait Promise.all([\n\t\t\t\tthis.stopTyping({ rid, username: user.username }),\n\t\t\t\tLivechat.sendMessage({ msg, token, rid }),\n\t\t\t]);\n\t\t} catch (error) {\n\t\t\tconst reason = error?.data?.error ?? error.message;\n\t\t\tconst alert = { id: createToken(), children: reason, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t\tawait Livechat.notifyVisitorTyping(rid, user.username, false);\n\t}\n\n\tdoFileUpload = async (rid, file) => {\n\t\tconst { alerts, dispatch } = this.props;\n\n\t\ttry {\n\t\t\tawait Livechat.uploadFile({ rid, file });\n\t\t} catch (error) {\n\t\t\tconst { data: { reason, sizeAllowed } } = error;\n\n\t\t\tlet message = I18n.t('FileUpload Error');\n\t\t\tswitch (reason) {\n\t\t\t\tcase 'error-type-not-allowed':\n\t\t\t\t\tmessage = I18n.t('Media Types Not Accepted.');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'error-size-not-allowed':\n\t\t\t\t\tmessage = I18n.t('File exceeds allowed size of %{size}.', { size: sizeAllowed });\n\t\t\t}\n\n\t\t\tconst alert = { id: createToken(), children: message, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t};\n\n\thandleUpload = async (files) => {\n\t\tawait this.grantUser();\n\t\tconst { _id: rid } = await this.getRoom();\n\n\t\tfiles.forEach((file) => this.doFileUpload(rid, file));\n\t}\n\n\thandleSoundStop = async () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tawait dispatch({ sound: { ...sound, play: false } });\n\t}\n\n\tonChangeDepartment = () => {\n\t\troute('/switch-department');\n\t}\n\n\tonFinishChat = async () => {\n\t\tconst { success } = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to finish this chat?'),\n\t\t});\n\n\t\tif (!success) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { alerts, dispatch, room: { _id: rid } = {} } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tif (rid) {\n\t\t\t\tawait Livechat.closeChat({ rid });\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error closing chat.'), error: true, timeout: 0 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t\tawait closeChat();\n\t\t}\n\t}\n\n\tonRemoveUserData = async () => {\n\t\tconst { success } = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to remove all of your personal data?'),\n\t\t});\n\n\t\tif (!success) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { alerts, dispatch } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tawait Livechat.deleteVisitor();\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error removing user data.'), error: true, timeout: 0 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t} finally {\n\t\t\tawait loadConfig();\n\t\t\tawait dispatch({ loading: false });\n\t\t\troute('/chat-finished');\n\t\t}\n\t}\n\n\tcanSwitchDepartment = () => {\n\t\tconst { allowSwitchingDepartments, departments = {} } = this.props;\n\t\treturn allowSwitchingDepartments && departments.filter((dept) => dept.showOnRegistration).length > 1;\n\t}\n\n\tcanFinishChat = () => {\n\t\tconst { room, connecting } = this.props;\n\t\treturn (room !== undefined) || connecting;\n\t}\n\n\tcanRemoveUserData = () => {\n\t\tconst { allowRemoveUserData } = this.props;\n\t\treturn allowRemoveUserData;\n\t}\n\n\tregistrationRequired = () => {\n\t\tconst {\n\t\t\tregistrationFormEnabled,\n\t\t\tnameFieldRegistrationForm,\n\t\t\temailFieldRegistrationForm,\n\t\t\tdepartments = [],\n\t\t\tuser,\n\t\t} = this.props;\n\n\t\tif (user && user.token) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!registrationFormEnabled) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst showDepartment = departments.filter((dept) => dept.showOnRegistration).length > 0;\n\t\treturn nameFieldRegistrationForm || emailFieldRegistrationForm || showDepartment;\n\t}\n\n\tonRegisterUser = () => route('/register');\n\n\tshowOptionsMenu = () =>\n\t\tthis.canSwitchDepartment() || this.canFinishChat() || this.canRemoveUserData()\n\n\n\tasync handleConnectingAgentAlert(connecting, message) {\n\t\tconst { alerts: oldAlerts, dispatch } = this.props;\n\t\tconst { connectingAgentAlertId } = constants;\n\t\tconst alerts = oldAlerts.filter((item) => item.id !== connectingAgentAlertId);\n\t\tif (connecting) {\n\t\t\talerts.push({\n\t\t\t\tid: connectingAgentAlertId,\n\t\t\t\tchildren: message || I18n.t('Please, wait for the next available agent..'),\n\t\t\t\twarning: true,\n\t\t\t\thideCloseButton: true,\n\t\t\t\ttimeout: 0,\n\t\t\t});\n\t\t}\n\n\t\tawait dispatch({ alerts });\n\t}\n\n\tasync handleQueueMessage(connecting, queueInfo) {\n\t\tif (!queueInfo) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { livechatQueueMessageId } = constants;\n\t\tconst { message: { text: msg, user: u } = {} } = queueInfo;\n\t\tconst { triggerQueueMessage } = this.state;\n\n\t\tconst { room } = this.props;\n\t\tif (!room || !connecting || !msg || !triggerQueueMessage) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.state.triggerQueueMessage = false;\n\n\t\tconst { dispatch, messages } = this.props;\n\t\tconst ts = new Date();\n\t\tconst message = { _id: livechatQueueMessageId, msg, u, ts: ts.toISOString() };\n\t\tawait dispatch({\n\t\t\tmessages: upsert(messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t\t});\n\t}\n\n\tasync componentDidMount() {\n\t\tawait this.checkConnectingAgent();\n\t\tloadMessages();\n\t}\n\n\tasync componentDidUpdate(prevProps) {\n\t\tconst { messages, visible, minimized, dispatch } = this.props;\n\t\tconst { messages: prevMessages, alerts: prevAlerts } = prevProps;\n\n\t\tif (messages && prevMessages && messages.length !== prevMessages.length && visible && !minimized) {\n\t\t\tconst nextLastMessage = messages[messages.length - 1];\n\t\t\tconst lastMessage = prevMessages[prevMessages.length - 1];\n\t\t\tif ((nextLastMessage && lastMessage && nextLastMessage._id !== lastMessage._id) || (messages.length === 1 && prevMessages.length === 0)) {\n\t\t\t\tconst newAlerts = prevAlerts.filter((item) => item.id !== constants.unreadMessagesAlertId);\n\t\t\t\tdispatch({ alerts: newAlerts, unread: null, lastReadMessageId: nextLastMessage._id });\n\t\t\t}\n\t\t}\n\n\t\tawait this.checkConnectingAgent();\n\t\tthis.checkRoom();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.handleConnectingAgentAlert(false);\n\t}\n\n\trender = ({ user, ...props }) => (\n\t\t<Chat\n\t\t\t{...props}\n\t\t\tavatarResolver={getAvatarUrl}\n\t\t\tuid={user && user._id}\n\t\t\tonTop={this.handleTop}\n\t\t\tonChangeText={this.handleChangeText}\n\t\t\tonSubmit={this.handleSubmit}\n\t\t\tonUpload={this.handleUpload}\n\t\t\toptions={this.showOptionsMenu()}\n\t\t\tonChangeDepartment={(this.canSwitchDepartment() && this.onChangeDepartment) || null}\n\t\t\tonFinishChat={(this.canFinishChat() && this.onFinishChat) || null}\n\t\t\tonRemoveUserData={(this.canRemoveUserData() && this.onRemoveUserData) || null}\n\t\t\tonSoundStop={this.handleSoundStop}\n\t\t\tregistrationRequired={this.registrationRequired()}\n\t\t\tonRegisterUser={this.onRegisterUser}\n\t\t/>\n\t)\n}\n\n\nexport const ChatConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tsettings: {\n\t\t\t\t\tfileUpload: uploads,\n\t\t\t\t\tallowSwitchingDepartments,\n\t\t\t\t\tforceAcceptDataProcessingConsent: allowRemoveUserData,\n\t\t\t\t\tshowConnecting,\n\t\t\t\t\tregistrationForm,\n\t\t\t\t\tnameFieldRegistrationForm,\n\t\t\t\t\temailFieldRegistrationForm,\n\t\t\t\t\tlimitTextLength,\n\t\t\t\t} = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tconversationFinishedMessage,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t\ttitle,\n\t\t\t\t} = {},\n\t\t\t\tdepartments = {},\n\t\t\t},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t} = {},\n\t\t\t\tguest,\n\t\t\t} = {},\n\t\t\ttoken,\n\t\t\tagent,\n\t\t\tsound,\n\t\t\tuser,\n\t\t\troom,\n\t\t\tmessages,\n\t\t\tnoMoreMessages,\n\t\t\ttyping,\n\t\t\tloading,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t\tvisible,\n\t\t\tunread,\n\t\t\tlastReadMessageId,\n\t\t\ttriggerAgent,\n\t\t\tqueueInfo,\n\t\t\tincomingCallAlert,\n\t\t\tongoingCall,\n\t\t}) => (\n\t\t\t<ChatContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customTitle || title || I18n.t('Need help?')}\n\t\t\t\tsound={sound}\n\t\t\t\ttoken={token}\n\t\t\t\tuser={user}\n\t\t\t\tagent={agent ? {\n\t\t\t\t\t_id: agent._id,\n\t\t\t\t\tname: agent.name,\n\t\t\t\t\tstatus: agent.status,\n\t\t\t\t\temail: agent.emails && agent.emails[0] && agent.emails[0].address,\n\t\t\t\t\tusername: agent.username,\n\t\t\t\t\tphone: (agent.phone && agent.phone[0] && agent.phone[0].phoneNumber) || (agent.customFields && agent.customFields.phone),\n\t\t\t\t\tavatar: agent.username ? {\n\t\t\t\t\t\tdescription: agent.username,\n\t\t\t\t\t\tsrc: getAvatarUrl(agent.username),\n\t\t\t\t\t} : undefined,\n\t\t\t\t} : undefined}\n\t\t\t\troom={room}\n\t\t\t\tmessages={messages && messages.filter((message) => canRenderMessage(message))}\n\t\t\t\tnoMoreMessages={noMoreMessages}\n\t\t\t\temoji={true}\n\t\t\t\tuploads={uploads}\n\t\t\t\ttypingUsernames={Array.isArray(typing) ? typing : []}\n\t\t\t\tloading={loading}\n\t\t\t\tshowConnecting={showConnecting} // setting from server that tells if app needs to show \"connecting\" sometimes\n\t\t\t\tconnecting={!!(room && !agent && (showConnecting || queueInfo))}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdepartments={departments}\n\t\t\t\tallowSwitchingDepartments={allowSwitchingDepartments}\n\t\t\t\tconversationFinishedMessage={conversationFinishedMessage || I18n.t('Conversation finished')}\n\t\t\t\tallowRemoveUserData={allowRemoveUserData}\n\t\t\t\talerts={alerts}\n\t\t\t\tvisible={visible}\n\t\t\t\tunread={unread}\n\t\t\t\tlastReadMessageId={lastReadMessageId}\n\t\t\t\tguest={guest}\n\t\t\t\ttriggerAgent={triggerAgent}\n\t\t\t\tqueueInfo={queueInfo ? {\n\t\t\t\t\tspot: queueInfo.spot,\n\t\t\t\t\testimatedWaitTimeSeconds: queueInfo.estimatedWaitTimeSeconds,\n\t\t\t\t\tmessage: queueInfo.message,\n\t\t\t\t} : undefined}\n\t\t\t\tregistrationFormEnabled={registrationForm}\n\t\t\t\tnameFieldRegistrationForm={nameFieldRegistrationForm}\n\t\t\t\temailFieldRegistrationForm={emailFieldRegistrationForm}\n\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\tincomingCallAlert={incomingCallAlert}\n\t\t\t\tongoingCall={ongoingCall}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default ChatConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\nconst defaultGreeting = I18n.t('Thanks for talking with us');\nconst defaultMessage = I18n.t('If you have any other questions, just press the button below to start a new chat.');\n\nexport default class ChatFinished extends Component {\n\thandleClick = () => {\n\t\tconst { onRedirectChat } = this.props;\n\t\tonRedirectChat && onRedirectChat();\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tgreeting,\n\t\tmessage,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tonRedirectChat,\n\t\t...props\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title}\n\t\t\tclassName={createClassName(styles, 'chat-finished')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<p className={createClassName(styles, 'chat-finished__greeting')}>{greeting || defaultGreeting}</p>\n\t\t\t\t<p className={createClassName(styles, 'chat-finished__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<Button onClick={this.handleClick} stack>{ I18n.t('New Chat') }</Button>\n\t\t\t\t</ButtonGroup>\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport I18n from '../../i18n';\nimport { Consumer } from '../../store';\nimport ChatFinished from './component';\n\n\nexport class ChatFinishedContainer extends Component {\n\thandleRedirect = () => {\n\t\troute('/');\n\t}\n\n\trender = (props) => (\n\t\t<ChatFinished {...props} onRedirectChat={this.handleRedirect} />\n\t)\n}\n\n\nexport const ChatFinishedConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tmessages: {\n\t\t\t\t\tconversationFinishedMessage: greeting,\n\t\t\t\t\tconversationFinishedText: message,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t}) => (\n\t\t\t<ChatFinishedContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\ttitle={I18n.t('Chat Finished')}\n\t\t\t\tgreeting={greeting}\n\t\t\t\tmessage={message}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default ChatFinishedConnector;\n","import MarkdownIt from 'markdown-it';\nimport { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst md = new MarkdownIt({\n\tlinkify: false,\n\ttypographer: false,\n});\n\nconst defaultConsentText = I18n.t(\n\t'The controller of your personal data is [Company Name], with registered '\n\t+ 'office at [Company Address]. To start the chat you agree that your '\n\t+ 'personal data shall be processed and trasmitted in accordance with the General Data Protection Regulation (GDPR).',\n);\n\nconst defaultInstructions = I18n.t(\n\t'Go to **menu options → Forget/Remove my personal data** to request the immediate removal of your data.',\n);\n\nexport default class GDPR extends Component {\n\thandleClick = () => {\n\t\tconst { onAgree } = this.props;\n\t\tonAgree && onAgree();\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tconsentText,\n\t\tinstructions,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tonAgree,\n\t\t...props\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title}\n\t\t\tclassName={createClassName(styles, 'gdpr')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<p\n\t\t\t\t\tclassName={createClassName(styles, 'gdpr__consent-text')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: md.renderInline(consentText || defaultConsentText) }}\n\t\t\t\t/>\n\t\t\t\t<p\n\t\t\t\t\tclassName={createClassName(styles, 'gdpr__instructions')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: md.renderInline(instructions || defaultInstructions) }}\n\t\t\t\t/>\n\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<Button onClick={this.handleClick} stack>{ I18n.t('I Agree') }</Button>\n\t\t\t\t</ButtonGroup>\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport I18n from '../../i18n';\nimport { Consumer } from '../../store';\nimport GDPRAgreement from './component';\n\n\nexport class GDPRContainer extends Component {\n\thandleAgree = async () => {\n\t\tconst { dispatch } = this.props;\n\t\tawait dispatch({ gdpr: { accepted: true } });\n\t\troute('/');\n\t}\n\n\trender = (props) => (\n\t\t<GDPRAgreement {...props} onAgree={this.handleAgree} />\n\t)\n}\n\nexport const GDPRConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tdataProcessingConsentText: consentText,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tdispatch,\n\t\t}) => (\n\t\t\t<GDPRContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\ttitle={I18n.t('GDPR')}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tconsentText={consentText}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default GDPRConnector;\n","import { h, cloneElement } from 'preact';\n\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const FormField = ({\n\trequired,\n\tlabel,\n\tdescription,\n\terror,\n\tclassName,\n\tstyle = {},\n\tchildren,\n}) => (\n\t<div\n\t\tclassName={createClassName(styles, 'form-field', { required, error: !!error }, [className])}\n\t\tstyle={style}\n\t>\n\t\t<label className={createClassName(styles, 'form-field__label-wrapper')}>\n\t\t\t{label\n\t\t\t\t? <span className={createClassName(styles, 'form-field__label')}>{label}</span>\n\t\t\t\t: null}\n\t\t\t<span className={createClassName(styles, 'form-field__input')}>\n\t\t\t\t{error\n\t\t\t\t\t? (Array.isArray(children) ? children : [children])\n\t\t\t\t\t\t.map((child) => cloneElement(child, { error: !!error }))\n\t\t\t\t\t: children}\n\t\t\t</span>\n\t\t</label>\n\t\t<small className={createClassName(styles, 'form-field__description')}>\n\t\t\t{error || description}\n\t\t</small>\n\t</div>\n);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const TextInput = memo(({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\tmultiline = false,\n\trows = 1,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n\t...props\n}) => (\n\tmultiline\n\t\t? (\n\t\t\t<textarea\n\t\t\t\trows={rows}\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={onChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'text-input', { disabled, error, small, multiline }, [className])}\n\t\t\t\tstyle={style}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t\t: (\n\t\t\t<input\n\t\t\t\ttype='text'\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={onChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'text-input', { disabled, error, small }, [className])}\n\t\t\t\tstyle={style}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const PasswordInput = memo(({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<input\n\t\ttype='password'\n\t\tname={name}\n\t\tvalue={value}\n\t\tplaceholder={placeholder}\n\t\tdisabled={disabled}\n\t\tonChange={onChange}\n\t\tonInput={onInput}\n\t\tclassName={createClassName(styles, 'password-input', { disabled, error, small }, [className])}\n\t\tstyle={style}\n\t/>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../i18n';\nimport { createClassName, MemoizedComponent } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Form extends MemoizedComponent {\n\tstatic defaultHandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\t}\n\n\trender = ({ onSubmit, className, style = {}, children }) => (\n\t\t<form\n\t\t\tnoValidate\n\t\t\tonSubmit={onSubmit || Form.defaultHandleSubmit}\n\t\t\tclassName={createClassName(styles, 'form', {}, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{children}\n\t\t</form>\n\t)\n}\n\nexport const Validations = {\n\tnonEmpty: ({ value }) => (!value ? I18n.t('Field required') : undefined),\n\n\temail: ({ value }) => (!/^\\S+@\\S+\\.\\S+/.test(String(value).toLowerCase()) ? I18n.t('Invalid email') : null),\n\n\tcustom: ({ value, pattern }) => (new RegExp(pattern, 'i').test(String(value)) ? null : I18n.t('Invalid value')),\n};\n\n\nexport { FormField } from './FormField';\nexport { TextInput } from './TextInput';\nexport { PasswordInput } from './PasswordInput';\nexport { SelectInput } from './SelectInput';\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport { Form, FormField, SelectInput, TextInput, Validations } from '../../components/Form';\nimport { renderMarkdown } from '../../components/Messages/MessageText/markdown';\nimport Screen from '../../components/Screen';\nimport { createClassName, sortArrayByColumn } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Leave a message');\nconst defaultMessage = I18n.t('We are not online right now. Please, leave a message.');\nconst defaultUnavailableMessage = ''; // TODO\n\nexport default class LeaveMessage extends Component {\n\tvalidations = {\n\t\tname: [Validations.nonEmpty],\n\t\temail: [Validations.nonEmpty, Validations.email],\n\t\tdepartment: [],\n\t\tmessage: [Validations.nonEmpty],\n\t}\n\n\tgetDefaultState = () => {\n\t\tconst { hasDepartmentField, departments } = this.props;\n\n\t\tlet department = null;\n\t\tif (hasDepartmentField && departments && departments.length > 0) {\n\t\t\tdepartment = { value: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tname: { value: '' },\n\t\t\temail: { value: '' },\n\t\t\tdepartment,\n\t\t\tmessage: { value: '' },\n\t\t};\n\t};\n\n\tgetValidableFields = () => Object.keys(this.validations)\n\t\t.map((fieldName) => (this.state[fieldName] ? { fieldName, ...this.state[fieldName] } : null))\n\t\t.filter(Boolean)\n\n\tvalidate = ({ name, value }) => this.validations[name].reduce((error, validation) => error || validation({ value }), undefined)\n\n\tvalidateAll = () => {\n\t\tfor (const { fieldName: name, value } of this.getValidableFields()) {\n\t\t\tconst error = this.validate({ name, value });\n\t\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } });\n\t\t}\n\t}\n\n\treset = () => this.setState(this.getDefaultState());\n\n\tisValid = () => this.getValidableFields().every(({ error } = {}) => !error)\n\n\thandleFieldChange = (name) => ({ target: { value } }) => {\n\t\tconst error = this.validate({ name, value });\n\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } }, () => { this.validateAll(); });\n\t}\n\n\thandleNameChange = this.handleFieldChange('name')\n\n\thandleEmailChange = this.handleFieldChange('email')\n\n\thandleDepartmentChange = this.handleFieldChange('department')\n\n\thandleMessageChange = this.handleFieldChange('message')\n\n\thandleSubmit = async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\n\t\t\tif (await this.props.onSubmit(values)) {\n\t\t\t\tthis.reset();\n\t\t\t}\n\t\t}\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = this.getDefaultState();\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.validateAll();\n\t}\n\n\trenderForm = ({ loading, departments, valid = this.isValid() }, { name, email, department, message }) => (\n\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t{name\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Name')}\n\t\t\t\t\t\terror={name.showError && name.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='name'\n\t\t\t\t\t\t\tvalue={name.value}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Name') })}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\tonInput={this.handleNameChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{email\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Email')}\n\t\t\t\t\t\terror={email.showError && email.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='email'\n\t\t\t\t\t\t\tvalue={email.value}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Email') })}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\tonInput={this.handleEmailChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{department\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tlabel={I18n.t('I need help with...')}\n\t\t\t\t\t\terror={department.showError && department.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\tvalue={department.value}\n\t\t\t\t\t\t\toptions={sortArrayByColumn(departments, 'name').map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\terror={department.showError}\n\t\t\t\t\t\t\tonInput={this.handleDepartmentChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{message\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Message')}\n\t\t\t\t\t\terror={message.showError && message.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='message'\n\t\t\t\t\t\t\tvalue={message.value}\n\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\trows={4}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Write your message...')}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\terror={message.showError}\n\t\t\t\t\t\t\tonInput={this.handleMessageChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t<ButtonGroup>\n\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Send')}</Button>\n\t\t\t</ButtonGroup>\n\t\t</Form>\n\t)\n\n\trender = ({ color, title, message, unavailableMessage, hasForm, ...props }) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title || defaultTitle}\n\t\t\tclassName={createClassName(styles, 'leave-message')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<div className={createClassName(styles, 'leave-message__main-message')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: renderMarkdown(hasForm ? message || defaultMessage : unavailableMessage || defaultUnavailableMessage) }}\n\t\t\t\t/>\n\t\t\t\t{hasForm && this.renderForm(this.props, this.state)}\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { parseOfflineMessage } from '../../components/helpers';\nimport { parentCall } from '../../lib/parentCall';\nimport { createToken } from '../../lib/random';\nimport { Consumer } from '../../store';\nimport LeaveMessage from './component';\n\n\nexport class LeaveMessageContainer extends Component {\n\thandleSubmit = async (fields) => {\n\t\tconst { alerts, dispatch, successMessage } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst payload = parseOfflineMessage(fields);\n\t\t\tconst text = await Livechat.sendOfflineMessage(payload);\n\t\t\tawait ModalManager.alert({\n\t\t\t\ttext: successMessage || text,\n\t\t\t});\n\t\t\tparentCall('callback', ['offline-form-submit', fields]);\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tconst { data: { message } } = error;\n\t\t\tconsole.error(message);\n\t\t\tconst alert = { id: createToken(), children: message, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\trender = (props) => (\n\t\t<LeaveMessage {...props} onSubmit={this.handleSubmit} />\n\t)\n}\n\n\nexport const LeaveMessageConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tofflineMessage: message,\n\t\t\t\t\tofflineSuccessMessage: successMessage,\n\t\t\t\t\tofflineUnavailableMessage: unavailableMessage,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tofflineTitle: title,\n\t\t\t\t\tofflineColor: color,\n\t\t\t\t} = {},\n\t\t\t\tsettings: {\n\t\t\t\t\tdisplayOfflineForm,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tofflineTitle: customOfflineTitle,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tloading,\n\t\t\ttoken,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t}) => (\n\t\t\t<LeaveMessageContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor,\n\t\t\t\t\tofflineTitle: customOfflineTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customOfflineTitle || title}\n\t\t\t\tmessage={message}\n\t\t\t\tsuccessMessage={successMessage}\n\t\t\t\tunavailableMessage={unavailableMessage}\n\t\t\t\tloading={loading}\n\t\t\t\ttoken={token}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\talerts={alerts}\n\t\t\t\thasForm={displayOfflineForm}\n\t\t\t\thasDepartmentField={departments && departments.some((dept) => dept.showOnOfflineForm)}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnOfflineForm)}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default LeaveMessageConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport {\n\tForm,\n\tFormField,\n\tTextInput,\n\tSelectInput,\n\tValidations,\n} from '../../components/Form';\nimport Screen from '../../components/Screen';\nimport { createClassName, sortArrayByColumn } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\nconst defaultTitle = I18n.t('Need help?');\nconst defaultMessage = I18n.t('Please, tell us some information to start the chat');\n\nconst getDefaultDepartment = (departments = []) => (departments.length === 1 && departments[0]._id) || '';\n\nconst renderCustomFields = (customFields, { loading, handleFieldChange = () => {} }, state) => customFields.map(({ _id, required, label, type, options }) => {\n\tswitch (type) {\n\t\tcase 'input':\n\t\t\treturn <FormField\n\t\t\t\tlabel={label}\n\t\t\t\trequired={required}\n\t\t\t\tkey={_id}\n\t\t\t\terror={state[_id].showError && state[_id].error}\n\t\t\t>\n\t\t\t\t<TextInput\n\t\t\t\t\tname={_id}\n\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: label })}\n\t\t\t\t\tvalue={state[_id].value}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t\tonInput={handleFieldChange}\n\t\t\t\t\tcustom\n\t\t\t\t/>\n\t\t\t</FormField>;\n\t\tcase 'select':\n\t\t\treturn <FormField\n\t\t\t\tlabel={label}\n\t\t\t\trequired={required}\n\t\t\t\tkey={_id}\n\t\t\t\terror={state[_id].showError && state[_id].error}\n\t\t\t>\n\t\t\t\t<SelectInput\n\t\t\t\t\tname={_id}\n\t\t\t\t\tvalue={state[_id].value}\n\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\toptions={options && options.map((option) => ({ value: option, label: option }))}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t\tonInput={handleFieldChange}\n\t\t\t\t\tcustom\n\t\t\t\t/>\n\t\t\t</FormField>;\n\t}\n\treturn null;\n});\n\nconst validations = {\n\tname: [Validations.nonEmpty],\n\temail: [Validations.nonEmpty, Validations.email],\n\tdepartment: [],\n};\n\nconst getCustomValidations = ({ customFields = [] }) =>\n\tcustomFields\n\t\t.map(({ _id, required, regexp }) => {\n\t\t\tconst customFieldValidation = [];\n\n\t\t\tif (required) {\n\t\t\t\tcustomFieldValidation.push(Validations.nonEmpty);\n\t\t\t}\n\n\t\t\tif (regexp) {\n\t\t\t\tcustomFieldValidation.push(Validations.custom);\n\t\t\t}\n\n\t\t\tvalidations[_id] = customFieldValidation;\n\n\t\t\treturn { [_id]: customFieldValidation };\n\t\t})\n\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\nconst getValidableFields = (state) =>\n\tObject.keys(validations)\n\t\t.map((fieldName) => (state[fieldName] ? { fieldName, ...state[fieldName] } : null))\n\t\t.filter(Boolean);\n\nconst validate = (props, { _id, name, value, regexp: pattern }) => {\n\tconst validation = validations[name] || getCustomValidations(props)[_id];\n\treturn validation.reduce((error, validation) => error || validation({ value, pattern }), undefined);\n};\n\nconst getDefaultState = (props) => {\n\tconst { hasNameField, hasEmailField, hasDepartmentField, departments, customFields = [] } = props;\n\n\tlet state = {\n\t\t...hasNameField && { name: { value: '' } },\n\t\t...hasEmailField && { email: { value: '' } },\n\t\t...hasDepartmentField && { department: { value: getDefaultDepartment(departments) } },\n\t};\n\n\tcustomFields.forEach(({ _id, defaultValue, options, regexp }) => {\n\t\tlet value = '';\n\t\tif ((defaultValue && !options) || (Array.isArray(options) && options.includes(defaultValue))) {\n\t\t\tvalue = defaultValue;\n\t\t}\n\t\tconst error = validate(props, { _id, value, regexp });\n\n\t\tstate[_id] = {\n\t\t\tvalue,\n\t\t\t...regexp && { regexp },\n\t\t\terror,\n\t\t\tshowError: false,\n\t\t};\n\t});\n\n\tfor (const { fieldName: name, value, regexp } of getValidableFields(state)) {\n\t\tconst error = validate(props, { name, value, regexp });\n\t\tstate = {\n\t\t\t...state,\n\t\t\t[name]: {\n\t\t\t\t...state[name],\n\t\t\t\tvalue,\n\t\t\t\terror,\n\t\t\t\tshowError: false,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn state;\n};\n\nexport default class Register extends Component {\n\tstatic getDerivedStateFromProps(nextProps, state) {\n\t\tconst { hasNameField, hasEmailField, hasDepartmentField, departmentDefault, departments, nameDefault, emailDefault } = nextProps;\n\n\t\tconst nameValue = nameDefault || '';\n\t\tif (hasNameField && (!state.name || state.name !== nameValue)) {\n\t\t\tstate = { ...state, name: { ...state.name, value: nameValue } };\n\t\t} else if (!hasNameField) {\n\t\t\tstate = { ...state, name: null };\n\t\t}\n\n\t\tconst emailValue = emailDefault || '';\n\t\tif (hasEmailField && (!state.email || state.name !== emailValue)) {\n\t\t\tstate = { ...state, email: { ...state.email, value: emailValue } };\n\t\t} else if (!hasEmailField) {\n\t\t\tstate = { ...state, email: null };\n\t\t}\n\n\t\tconst departmentValue = departmentDefault || getDefaultDepartment(departments);\n\t\tconst showDepartmentField = hasDepartmentField && departments && departments.length > 1;\n\t\tif (showDepartmentField && (!state.department || state.department !== departmentValue)) {\n\t\t\tstate = { ...state, department: { ...state.department, value: departmentValue } };\n\t\t} else if (!showDepartmentField) {\n\t\t\tstate = { ...state, department: null };\n\t\t}\n\n\t\tfor (const { fieldName: name, value, regexp } of getValidableFields(state)) {\n\t\t\tconst error = validate(nextProps, { name, value, regexp });\n\t\t\tstate = { ...state, [name]: { ...state[name], value, error, showError: false } };\n\t\t}\n\t}\n\n\tstate = {\n\t\tname: null,\n\t\temail: null,\n\t\tdepartment: null,\n\t}\n\n\thandleFieldChange = ({ target }) => {\n\t\tconst { name, value } = target;\n\t\tconst { regexp } = this.state[name];\n\t\tconst error = validate(this.props, { name, value, regexp });\n\t\tthis.setState({\n\t\t\t[name]: {\n\t\t\t\t...this.state[name],\n\t\t\t\tvalue,\n\t\t\t\terror,\n\t\t\t\tshowError: true,\n\t\t\t},\n\t\t});\n\t}\n\n\thandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\t\t\tthis.props.onSubmit(values);\n\t\t}\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = getDefaultState(props);\n\t}\n\n\trender({ title, color, message, loading, departments, customFields, ...props }, { name, email, department, ...state }) {\n\t\tconst valid = getValidableFields(this.state).every(({ error } = {}) => !error);\n\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\tcolor={color}\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\tclassName={createClassName(styles, 'register')}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Screen.Content>\n\t\t\t\t\t<p className={createClassName(styles, 'register__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t\t\t\t{name\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('Name')}\n\t\t\t\t\t\t\t\t\terror={name.showError && name.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\t\t\tname='name'\n\t\t\t\t\t\t\t\t\t\tvalue={name.value}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Name') })}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{email\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('Email')}\n\t\t\t\t\t\t\t\t\terror={email.showError && email.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\t\t\tname='email'\n\t\t\t\t\t\t\t\t\t\tvalue={email.value}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Email') })}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{department\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('I need help with...')}\n\t\t\t\t\t\t\t\t\terror={department.showError && department.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\t\t\t\tvalue={department.value}\n\t\t\t\t\t\t\t\t\t\toptions={sortArrayByColumn(departments, 'name').map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{customFields && renderCustomFields(customFields, { loading, handleFieldChange: this.handleFieldChange }, state)}\n\n\t\t\t\t\t\t<ButtonGroup>\n\t\t\t\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Start chat')}</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</Form>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer />\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { Livechat } from '../../api';\nimport CustomFields from '../../lib/customFields';\nimport { parentCall } from '../../lib/parentCall';\nimport { Consumer } from '../../store';\nimport Register from './component';\n\nexport class RegisterContainer extends Component {\n\tregisterCustomFields(customFields = {}) {\n\t\tObject.entries(customFields).forEach(([key, value]) => {\n\t\t\tif (!value || value === '') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tCustomFields.setCustomField(key, value, true);\n\t\t});\n\t}\n\n\tgetDepartment = (department) => {\n\t\tif (department !== '') {\n\t\t\treturn department;\n\t\t}\n\n\t\tconst { departments = {} } = this.props;\n\t\tconst deptDefault = departments.find((dept) => dept.showOnRegistration);\n\n\t\tif (deptDefault) {\n\t\t\treturn deptDefault._id;\n\t\t}\n\t}\n\n\thandleSubmit = async ({ name, email, department, ...customFields }) => {\n\t\tconst { dispatch, token } = this.props;\n\t\tconst fields = {\n\t\t\tname,\n\t\t\temail,\n\t\t\tdepartment: this.getDepartment(department),\n\t\t};\n\n\t\tawait dispatch({ loading: true, department });\n\t\ttry {\n\t\t\tconst user = await Livechat.grantVisitor({ visitor: { ...fields, token } });\n\t\t\tawait dispatch({ user });\n\t\t\tparentCall('callback', ['pre-chat-form-submit', fields]);\n\t\t\tthis.registerCustomFields(customFields);\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\tgetDepartmentDefault() {\n\t\tconst { guestDepartment, departments } = this.props;\n\t\tif (departments && departments.some((dept) => dept._id === guestDepartment)) {\n\t\t\treturn guestDepartment;\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst { user: prevUser } = prevProps;\n\t\tconst { user } = this.props;\n\n\t\tif (!prevUser && user && user._id) {\n\t\t\troute('/');\n\t\t}\n\t}\n\n\trender = (props) => (\n\t\t<Register {...props} onSubmit={this.handleSubmit} departmentDefault={this.getDepartmentDefault()} />\n\t)\n}\n\nexport const RegisterConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tregistrationFormMessage: message,\n\t\t\t\t} = {},\n\t\t\t\tsettings: {\n\t\t\t\t\tnameFieldRegistrationForm: hasNameField,\n\t\t\t\t\temailFieldRegistrationForm: hasEmailField,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\ttitle,\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t\tcustomFields = [],\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\tguest: {\n\t\t\t\t\tdepartment: guestDepartment,\n\t\t\t\t\tname: guestName,\n\t\t\t\t\temail: guestEmail,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tloading = false,\n\t\t\ttoken,\n\t\t\tdispatch,\n\t\t\tuser,\n\t\t}) => (\n\t\t\t<RegisterContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customTitle || title}\n\t\t\t\tmessage={message}\n\t\t\t\thasNameField={hasNameField}\n\t\t\t\thasEmailField={hasEmailField}\n\t\t\t\thasDepartmentField={departments && departments.some((dept) => dept.showOnRegistration)}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnRegistration)}\n\t\t\t\tnameDefault={guestName}\n\t\t\t\temailDefault={guestEmail}\n\t\t\t\tguestDepartment={guestDepartment}\n\t\t\t\tloading={loading}\n\t\t\t\ttoken={token}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tuser={user}\n\t\t\t\tcustomFields={customFields}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default RegisterConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport { Form, FormField, SelectInput, Validations } from '../../components/Form';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Change Department');\nconst defaultMessage = I18n.t('Choose a department');\n\nexport default class SwitchDepartment extends Component {\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tif (props.departments && props.departments.length > 0 && !state.department) {\n\t\t\treturn { department: { value: '' } };\n\t\t}\n\n\t\tif (!props.departments || props.departments.length === 0) {\n\t\t\treturn { department: null };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\tdepartment: null,\n\t}\n\n\tvalidations = {\n\t\tdepartment: [Validations.nonEmpty],\n\t}\n\n\tgetValidableFields = () => Object.keys(this.validations)\n\t\t.map((fieldName) => (this.state[fieldName] ? { fieldName, ...this.state[fieldName] } : null))\n\t\t.filter(Boolean)\n\n\tvalidate = ({ name, value }) => this.validations[name].reduce((error, validation) => error || validation({ value }), undefined)\n\n\tvalidateAll = () => {\n\t\tfor (const { fieldName: name, value } of this.getValidableFields()) {\n\t\t\tconst error = this.validate({ name, value });\n\t\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } });\n\t\t}\n\t}\n\n\tisValid = () => this.getValidableFields().every(({ error } = {}) => !error)\n\n\thandleFieldChange = (name) => ({ target: { value } }) => {\n\t\tconst error = this.validate({ name, value });\n\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } }, () => { this.validateAll(); });\n\t}\n\n\thandleDepartmentChange = this.handleFieldChange('department')\n\n\thandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\t\t\tthis.props.onSubmit(values);\n\t\t}\n\t}\n\n\thandleCancelClick = () => {\n\t\tconst { onCancel } = this.props;\n\t\tonCancel && onCancel();\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst { departments } = props;\n\t\tif (departments && departments.length > 0) {\n\t\t\tthis.state.department = { value: '' };\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.validateAll();\n\t}\n\n\trender({ title, color, message, loading, departments, ...props }, { department }) {\n\t\tconst valid = this.isValid();\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\tcolor={color}\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\tclassName={createClassName(styles, 'switch-department')}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Screen.Content>\n\t\t\t\t\t<p className={createClassName(styles, 'switch-department__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\tlabel={I18n.t('Departments')}\n\t\t\t\t\t\t\terror={department && department.showError && department.error}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\t\tvalue={department && department.value}\n\t\t\t\t\t\t\t\toptions={departments.map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\t\tplaceholder={I18n.t('Choose a department...')}\n\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\terror={department && department.showError}\n\t\t\t\t\t\t\t\tonInput={this.handleDepartmentChange}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormField>\n\n\t\t\t\t\t\t<ButtonGroup>\n\t\t\t\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Start chat')}</Button>\n\t\t\t\t\t\t\t<Button disabled={loading} stack secondary nude onClick={this.handleCancelClick}>{I18n.t('Cancel')}</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</Form>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer />\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport history from '../../history';\nimport I18n from '../../i18n';\nimport { loadConfig } from '../../lib/main';\nimport { createToken } from '../../lib/random';\nimport { Consumer } from '../../store';\nimport SwitchDepartment from './component';\n\nexport class SwitchDepartmentContainer extends Component {\n\tconfirmChangeDepartment = async () => {\n\t\tconst result = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to switch the department?'),\n\t\t});\n\n\t\treturn typeof result.success === 'boolean' && result.success;\n\t}\n\n\thandleSubmit = async (fields) => {\n\t\tconst { alerts, dispatch, room, token } = this.props;\n\t\tconst { department } = fields;\n\n\t\tconst confirm = await this.confirmChangeDepartment();\n\t\tif (!confirm) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!room) {\n\t\t\tconst user = await Livechat.grantVisitor({ visitor: { department, token } });\n\t\t\tawait dispatch({ user, alerts: (alerts.push({ id: createToken(), children: I18n.t('Department switched'), success: true }), alerts) });\n\t\t\treturn history.go(-1);\n\t\t}\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst { _id: rid } = room;\n\t\t\tconst result = await Livechat.transferChat({ rid, department });\n\t\t\tconst { success } = result;\n\t\t\tif (!success) {\n\t\t\t\tthrow I18n.t('No available agents to transfer');\n\t\t\t}\n\n\t\t\tawait dispatch({ department, loading: false });\n\t\t\tawait loadConfig();\n\n\t\t\tawait ModalManager.alert({\n\t\t\t\ttext: I18n.t('Department switched'),\n\t\t\t});\n\n\t\t\thistory.go(-1);\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tawait dispatch({ alerts: (alerts.push({ id: createToken(), children: I18n.t('No available agents to transfer'), warning: true }), alerts) });\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\thandleCancel = () => {\n\t\thistory.go(-1);\n\t}\n\n\trender = (props) => (\n\t\t<SwitchDepartment {...props} onSubmit={this.handleSubmit} onCancel={this.handleCancel} />\n\t)\n}\n\nexport const SwitchDepartmentConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\troom,\n\t\t\tloading = false,\n\t\t\tdepartment,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t\ttoken,\n\t\t}) => (\n\t\t\t<SwitchDepartmentContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\tloading={loading}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnRegistration && dept._id !== department)}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\troom={room}\n\t\t\t\talerts={alerts}\n\t\t\t\ttoken={token}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default SwitchDepartmentConnector;\n","import { h, Component, createRef } from 'preact';\n\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport { parentCall } from '../../lib/parentCall';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Messages');\n\nexport default class TriggerMessage extends Component {\n\tstate = { }\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.ref = createRef();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tlet height = 0;\n\n\t\tthis.ref.current.base.children.forEach((el) => {\n\t\t\theight += el.scrollHeight;\n\t\t});\n\n\t\tparentCall('resizeWidget', height);\n\t}\n\n\trender({ title, messages, loading, onStartChat = () => {}, departments, ...props }) {\n\t\tconst { theme: { color } } = props;\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\t{...props}\n\t\t\t\ttriggered={true}\n\t\t\t\tref={this.ref}\n\t\t\t>\n\t\t\t\t<Screen.Content triggered={true}>\n\t\t\t\t\t{messages && messages.map((message) => message.msg && <p className={createClassName(styles, 'trigger-message__message')}>{message.msg}</p>)}\n\t\t\t\t</Screen.Content>\n\t\t\t\t<footer className={createClassName(styles, 'trigger-message__footer')}>\n\t\t\t\t\t<hr className={createClassName(styles, 'trigger-message__separator')} />\n\t\t\t\t\t<button style={color && { color }} onClick={onStartChat} className={createClassName(styles, 'trigger-message__link-reply')}>{I18n.t('Start chat')}</button>\n\t\t\t\t</footer>\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { canRenderMessage, getAvatarUrl } from '../../components/helpers';\nimport { parentCall } from '../../lib/parentCall';\nimport { Consumer } from '../../store';\nimport TriggerMessage from './component';\n\n\nexport class TriggerMessageContainer extends Component {\n\thandleStart() {\n\t\tparentCall('setFullScreenDocumentMobile');\n\t\tparentCall('openWidget');\n\t\troute('/');\n\t}\n\n\trender = (props) => {\n\t\tparentCall('resetDocumentStyle');\n\t\treturn <TriggerMessage onStartChat={this.handleStart} {...props} />;\n\t}\n}\n\nexport const TriggerMessageConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tmessages,\n\t\t\tagent,\n\t\t\tunread,\n\t\t}) => (\n\t\t\t<TriggerMessageContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\tunread={unread}\n\t\t\t\tagent={agent ? {\n\t\t\t\t\t_id: agent._id,\n\t\t\t\t\tname: agent.name,\n\t\t\t\t\tstatus: agent.status,\n\t\t\t\t\temail: agent.emails && agent.emails[0] && agent.emails[0].address,\n\t\t\t\t\tusername: agent.username,\n\t\t\t\t\tphone: (agent.phone && agent.phone[0] && agent.phone[0].phoneNumber) || (agent.customFields && agent.customFields.phone),\n\t\t\t\t\tavatar: agent.username ? {\n\t\t\t\t\t\tdescription: agent.username,\n\t\t\t\t\t\tsrc: getAvatarUrl(agent.username),\n\t\t\t\t\t} : undefined,\n\t\t\t\t} : undefined}\n\t\t\t\tmessages={messages && messages.filter((message) => canRenderMessage(message))}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\nexport default TriggerMessageConnector;\n","import { h, Component } from 'preact';\nimport { Router, route } from 'preact-router';\nimport queryString from 'query-string';\n\nimport history from '../../history';\nimport I18n from '../../i18n';\nimport Connection from '../../lib/connection';\nimport CustomFields from '../../lib/customFields';\nimport Hooks from '../../lib/hooks';\nimport { setWidgetLanguage } from '../../lib/locale';\nimport { parentCall } from '../../lib/parentCall';\nimport Triggers from '../../lib/triggers';\nimport userPresence from '../../lib/userPresence';\nimport Chat from '../../routes/Chat';\nimport ChatFinished from '../../routes/ChatFinished';\nimport GDPRAgreement from '../../routes/GDPRAgreement';\nimport LeaveMessage from '../../routes/LeaveMessage';\nimport Register from '../../routes/Register';\nimport SwitchDepartment from '../../routes/SwitchDepartment';\nimport TriggerMessage from '../../routes/TriggerMessage';\nimport { Provider as StoreProvider, Consumer as StoreConsumer, store } from '../../store';\nimport { visibility, isActiveSession, setInitCookies } from '../helpers';\n\nfunction isRTL(s) {\n\tconst rtlChars = '\\u0591-\\u07FF\\u200F\\u202B\\u202E\\uFB1D-\\uFDFD\\uFE70-\\uFEFC';\n\tconst rtlDirCheck = new RegExp(`^[^${ rtlChars }]*?[${ rtlChars }]`);\n\n\treturn rtlDirCheck.test(s);\n}\n\nexport class App extends Component {\n\tstate = {\n\t\tinitialized: false,\n\t\tpoppedOut: false,\n\t}\n\n\thandleRoute = async () => {\n\t\tsetTimeout(() => {\n\t\t\tconst {\n\t\t\t\tconfig: {\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tregistrationForm,\n\t\t\t\t\t\tnameFieldRegistrationForm,\n\t\t\t\t\t\temailFieldRegistrationForm,\n\t\t\t\t\t\tforceAcceptDataProcessingConsent: gdprRequired,\n\t\t\t\t\t},\n\t\t\t\t\tonline,\n\t\t\t\t\tdepartments = [],\n\t\t\t\t},\n\t\t\t\tgdpr: {\n\t\t\t\t\taccepted: gdprAccepted,\n\t\t\t\t},\n\t\t\t\ttriggered,\n\t\t\t\tuser,\n\t\t\t} = this.props;\n\n\t\t\tsetInitCookies();\n\n\t\t\tif (gdprRequired && !gdprAccepted) {\n\t\t\t\treturn route('/gdpr');\n\t\t\t}\n\n\t\t\tif (!online) {\n\t\t\t\tparentCall('callback', 'no-agent-online');\n\t\t\t\treturn route('/leave-message');\n\t\t\t}\n\n\t\t\tconst showDepartment = departments.filter((dept) => dept.showOnRegistration).length > 0;\n\n\t\t\tconst showRegistrationForm = (\n\t\t\t\tregistrationForm\n\t\t\t\t\t&& (nameFieldRegistrationForm || emailFieldRegistrationForm || showDepartment)\n\t\t\t)\n\t\t\t\t&& !triggered\n\t\t\t\t&& !(user && user.token);\n\t\t\tif (showRegistrationForm) {\n\t\t\t\treturn route('/register');\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\thandleTriggers() {\n\t\tconst { config: { online, enabled } } = this.props;\n\n\t\tTriggers.enabled = online && enabled;\n\n\t\tif (online && enabled) {\n\t\t\tTriggers.init();\n\t\t}\n\t}\n\n\thandleEnableNotifications = () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tdispatch({ sound: { ...sound, enabled: true } });\n\t}\n\n\thandleDisableNotifications = () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tdispatch({ sound: { ...sound, enabled: false } });\n\t}\n\n\thandleMinimize = () => {\n\t\tparentCall('minimizeWindow');\n\t\tconst { dispatch } = this.props;\n\t\tdispatch({ minimized: true });\n\t}\n\n\thandleRestore = () => {\n\t\tparentCall('restoreWindow');\n\t\tconst { dispatch, undocked } = this.props;\n\t\tconst dispatchRestore = () => dispatch({ minimized: false, undocked: false });\n\t\tconst dispatchEvent = () => {\n\t\t\tdispatchRestore();\n\t\t\tstore.off('storageSynced', dispatchEvent);\n\t\t};\n\t\tif (undocked) {\n\t\t\tstore.on('storageSynced', dispatchEvent);\n\t\t} else {\n\t\t\tdispatchRestore();\n\t\t}\n\t}\n\n\thandleOpenWindow = () => {\n\t\tparentCall('openPopout');\n\t\tconst { dispatch } = this.props;\n\t\tdispatch({ undocked: true, minimized: false });\n\t}\n\n\thandleDismissAlert = (id) => {\n\t\tconst { dispatch, alerts = [] } = this.props;\n\t\tdispatch({ alerts: alerts.filter((alert) => alert.id !== id) });\n\t}\n\n\thandleVisibilityChange = async () => {\n\t\tconst { dispatch } = this.props;\n\t\tawait dispatch({ visible: !visibility.hidden });\n\t}\n\n\thandleLanguageChange = () => {\n\t\tthis.forceUpdate();\n\t}\n\n\tdismissNotification = () => !isActiveSession();\n\n\tinitWidget() {\n\t\tsetWidgetLanguage();\n\t\tconst { minimized, iframe: { visible }, dispatch } = this.props;\n\t\tparentCall(minimized ? 'minimizeWindow' : 'restoreWindow');\n\t\tparentCall(visible ? 'showWidget' : 'hideWidget');\n\n\t\tvisibility.addListener(this.handleVisibilityChange);\n\t\tthis.handleVisibilityChange();\n\t\twindow.addEventListener('beforeunload', () => {\n\t\t\tvisibility.removeListener(this.handleVisibilityChange);\n\t\t\tdispatch({ minimized: true, undocked: false });\n\t\t});\n\n\t\tI18n.on('change', this.handleLanguageChange);\n\t}\n\n\tcheckPoppedOutWindow() {\n\t\t// Checking if the window is poppedOut and setting parent minimized if yes for the restore purpose\n\t\tconst { dispatch } = this.props;\n\t\tconst poppedOut = queryString.parse(window.location.search).mode === 'popout';\n\t\tthis.setState({ poppedOut });\n\t\tif (poppedOut) {\n\t\t\tdispatch({ minimized: false });\n\t\t}\n\t}\n\n\tasync initialize() {\n\t\t// TODO: split these behaviors into composable components\n\t\tawait Connection.init();\n\t\tthis.handleTriggers();\n\t\tCustomFields.init();\n\t\tHooks.init();\n\t\tuserPresence.init();\n\t\tthis.initWidget();\n\t\tthis.checkPoppedOutWindow();\n\n\t\tthis.setState({ initialized: true });\n\t\tparentCall('ready');\n\t}\n\n\tasync finalize() {\n\t\tCustomFields.reset();\n\t\tuserPresence.reset();\n\t\tvisibility.removeListener(this.handleVisibilityChange);\n\t\tI18n.off('change', this.handleLanguageChange);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.initialize();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.finalize();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tdocument.dir = isRTL(I18n.t('Yes')) ? 'rtl' : 'ltr';\n\t}\n\n\trender = ({\n\t\tsound,\n\t\tundocked,\n\t\tminimized,\n\t\texpanded,\n\t\talerts,\n\t\tmodal,\n\t\tconfig,\n\t}, { initialized, poppedOut }) => {\n\t\tif (!initialized) {\n\t\t\treturn null;\n\t\t}\n\t\tif (!config.enabled) {\n\t\t\treturn null;\n\t\t}\n\t\tconst screenProps = {\n\t\t\tnotificationsEnabled: sound && sound.enabled,\n\t\t\tminimized: !poppedOut && (minimized || undocked),\n\t\t\texpanded: !minimized && expanded,\n\t\t\twindowed: !minimized && poppedOut,\n\t\t\tsound,\n\t\t\talerts,\n\t\t\tmodal,\n\t\t\tonEnableNotifications: this.handleEnableNotifications,\n\t\t\tonDisableNotifications: this.handleDisableNotifications,\n\t\t\tonMinimize: this.handleMinimize,\n\t\t\tonRestore: this.handleRestore,\n\t\t\tonOpenWindow: this.handleOpenWindow,\n\t\t\tonDismissAlert: this.handleDismissAlert,\n\t\t\tdismissNotification: this.dismissNotification,\n\t\t};\n\n\t\treturn (\n\t\t\t<Router history={history} onChange={this.handleRoute}>\n\t\t\t\t<Chat default path='/' {...screenProps} />\n\t\t\t\t<ChatFinished path='/chat-finished' {...screenProps} />\n\t\t\t\t<GDPRAgreement path='/gdpr' {...screenProps} />\n\t\t\t\t<LeaveMessage path='/leave-message' {...screenProps} />\n\t\t\t\t<Register path='/register' {...screenProps} />\n\t\t\t\t<SwitchDepartment path='/switch-department' {...screenProps} />\n\t\t\t\t<TriggerMessage path='/trigger-messages' {...screenProps} />\n\t\t\t</Router>\n\t\t);\n\t}\n}\n\nconst AppConnector = () => (\n\t<div id='app'>\n\t\t<StoreProvider>\n\t\t\t<StoreConsumer>\n\t\t\t\t{({\n\t\t\t\t\tconfig,\n\t\t\t\t\tuser,\n\t\t\t\t\ttriggered,\n\t\t\t\t\tgdpr,\n\t\t\t\t\tsound,\n\t\t\t\t\tundocked,\n\t\t\t\t\tminimized = true,\n\t\t\t\t\texpanded = false,\n\t\t\t\t\talerts,\n\t\t\t\t\tmodal,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tiframe,\n\t\t\t\t}) => (\n\t\t\t\t\t<App\n\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\tgdpr={gdpr}\n\t\t\t\t\t\ttriggered={triggered}\n\t\t\t\t\t\tuser={user}\n\t\t\t\t\t\tsound={sound}\n\t\t\t\t\t\tundocked={undocked}\n\t\t\t\t\t\tminimized={minimized}\n\t\t\t\t\t\texpanded={expanded}\n\t\t\t\t\t\talerts={alerts}\n\t\t\t\t\t\tmodal={modal}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tiframe={iframe}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</StoreConsumer>\n\t\t</StoreProvider>\n\t</div>\n);\n\nexport default AppConnector;\n","// Generated by i18nline and preact-i18nline.\r\nimport I18n from 'preact-i18nline/i18n';\r\n\r\nI18n.supportedLocales = ['af','ar','az','be_BY','bg','bs','ca','cs','cy','da','de','de_AT','de_IN','el','en','eo','es','et','eu','fa','fi','fr','he','hr','hu','id','it','ja','km','ko','ku','lo','lt','lv','mn','ms_MY','nl','no','pl','pt','pt_BR','ro','ru','sk_SK','sl_SI','sq','sr','sv','ta_IN','th_TH','tr','ug','uk','vi_VN','zh','zh_HK','zh_TW'];\nI18n.defaultLocale = 'en';\r\n\r\nI18n.import = locale => {\r\n\t// we use a switch here so the import statements are statically\r\n\t// analyzable. the use of import() will make build tools generate\r\n\t// separate bundles which are downloaded on-demand.\r\n\tswitch (locale) {\r\n\t\tcase 'af': return import(/* webpackChunkName: 'i18n.af' */ './af.json');\n\t\tcase 'ar': return import(/* webpackChunkName: 'i18n.ar' */ './ar.json');\n\t\tcase 'az': return import(/* webpackChunkName: 'i18n.az' */ './az.json');\n\t\tcase 'be_BY': return import(/* webpackChunkName: 'i18n.be_BY' */ './be_BY.json');\n\t\tcase 'bg': return import(/* webpackChunkName: 'i18n.bg' */ './bg.json');\n\t\tcase 'bs': return import(/* webpackChunkName: 'i18n.bs' */ './bs.json');\n\t\tcase 'ca': return import(/* webpackChunkName: 'i18n.ca' */ './ca.json');\n\t\tcase 'cs': return import(/* webpackChunkName: 'i18n.cs' */ './cs.json');\n\t\tcase 'cy': return import(/* webpackChunkName: 'i18n.cy' */ './cy.json');\n\t\tcase 'da': return import(/* webpackChunkName: 'i18n.da' */ './da.json');\n\t\tcase 'de': return import(/* webpackChunkName: 'i18n.de' */ './de.json');\n\t\tcase 'de_AT': return import(/* webpackChunkName: 'i18n.de_AT' */ './de_AT.json');\n\t\tcase 'de_IN': return import(/* webpackChunkName: 'i18n.de_IN' */ './de_IN.json');\n\t\tcase 'el': return import(/* webpackChunkName: 'i18n.el' */ './el.json');\n\t\tcase 'en': return import(/* webpackChunkName: 'i18n.en' */ './en.json');\n\t\tcase 'eo': return import(/* webpackChunkName: 'i18n.eo' */ './eo.json');\n\t\tcase 'es': return import(/* webpackChunkName: 'i18n.es' */ './es.json');\n\t\tcase 'et': return import(/* webpackChunkName: 'i18n.et' */ './et.json');\n\t\tcase 'eu': return import(/* webpackChunkName: 'i18n.eu' */ './eu.json');\n\t\tcase 'fa': return import(/* webpackChunkName: 'i18n.fa' */ './fa.json');\n\t\tcase 'fi': return import(/* webpackChunkName: 'i18n.fi' */ './fi.json');\n\t\tcase 'fr': return import(/* webpackChunkName: 'i18n.fr' */ './fr.json');\n\t\tcase 'he': return import(/* webpackChunkName: 'i18n.he' */ './he.json');\n\t\tcase 'hr': return import(/* webpackChunkName: 'i18n.hr' */ './hr.json');\n\t\tcase 'hu': return import(/* webpackChunkName: 'i18n.hu' */ './hu.json');\n\t\tcase 'id': return import(/* webpackChunkName: 'i18n.id' */ './id.json');\n\t\tcase 'it': return import(/* webpackChunkName: 'i18n.it' */ './it.json');\n\t\tcase 'ja': return import(/* webpackChunkName: 'i18n.ja' */ './ja.json');\n\t\tcase 'km': return import(/* webpackChunkName: 'i18n.km' */ './km.json');\n\t\tcase 'ko': return import(/* webpackChunkName: 'i18n.ko' */ './ko.json');\n\t\tcase 'ku': return import(/* webpackChunkName: 'i18n.ku' */ './ku.json');\n\t\tcase 'lo': return import(/* webpackChunkName: 'i18n.lo' */ './lo.json');\n\t\tcase 'lt': return import(/* webpackChunkName: 'i18n.lt' */ './lt.json');\n\t\tcase 'lv': return import(/* webpackChunkName: 'i18n.lv' */ './lv.json');\n\t\tcase 'mn': return import(/* webpackChunkName: 'i18n.mn' */ './mn.json');\n\t\tcase 'ms_MY': return import(/* webpackChunkName: 'i18n.ms_MY' */ './ms_MY.json');\n\t\tcase 'nl': return import(/* webpackChunkName: 'i18n.nl' */ './nl.json');\n\t\tcase 'no': return import(/* webpackChunkName: 'i18n.no' */ './no.json');\n\t\tcase 'pl': return import(/* webpackChunkName: 'i18n.pl' */ './pl.json');\n\t\tcase 'pt': return import(/* webpackChunkName: 'i18n.pt' */ './pt.json');\n\t\tcase 'pt_BR': return import(/* webpackChunkName: 'i18n.pt_BR' */ './pt_BR.json');\n\t\tcase 'ro': return import(/* webpackChunkName: 'i18n.ro' */ './ro.json');\n\t\tcase 'ru': return import(/* webpackChunkName: 'i18n.ru' */ './ru.json');\n\t\tcase 'sk_SK': return import(/* webpackChunkName: 'i18n.sk_SK' */ './sk_SK.json');\n\t\tcase 'sl_SI': return import(/* webpackChunkName: 'i18n.sl_SI' */ './sl_SI.json');\n\t\tcase 'sq': return import(/* webpackChunkName: 'i18n.sq' */ './sq.json');\n\t\tcase 'sr': return import(/* webpackChunkName: 'i18n.sr' */ './sr.json');\n\t\tcase 'sv': return import(/* webpackChunkName: 'i18n.sv' */ './sv.json');\n\t\tcase 'ta_IN': return import(/* webpackChunkName: 'i18n.ta_IN' */ './ta_IN.json');\n\t\tcase 'th_TH': return import(/* webpackChunkName: 'i18n.th_TH' */ './th_TH.json');\n\t\tcase 'tr': return import(/* webpackChunkName: 'i18n.tr' */ './tr.json');\n\t\tcase 'ug': return import(/* webpackChunkName: 'i18n.ug' */ './ug.json');\n\t\tcase 'uk': return import(/* webpackChunkName: 'i18n.uk' */ './uk.json');\n\t\tcase 'vi_VN': return import(/* webpackChunkName: 'i18n.vi_VN' */ './vi_VN.json');\n\t\tcase 'zh': return import(/* webpackChunkName: 'i18n.zh' */ './zh.json');\n\t\tcase 'zh_HK': return import(/* webpackChunkName: 'i18n.zh_HK' */ './zh_HK.json');\n\t\tcase 'zh_TW': return import(/* webpackChunkName: 'i18n.zh_TW' */ './zh_TW.json');\r\n\t\tdefault: return import(/* webpackChunkName: 'i18n.default' */ './default.json');\r\n\t}\r\n};\r\n\r\nif ((typeof module === 'object') && module.hot) {\r\n\tmodule.hot.accept('./af.json', I18n.reload('af'));\n\tmodule.hot.accept('./ar.json', I18n.reload('ar'));\n\tmodule.hot.accept('./az.json', I18n.reload('az'));\n\tmodule.hot.accept('./be_BY.json', I18n.reload('be_BY'));\n\tmodule.hot.accept('./bg.json', I18n.reload('bg'));\n\tmodule.hot.accept('./bs.json', I18n.reload('bs'));\n\tmodule.hot.accept('./ca.json', I18n.reload('ca'));\n\tmodule.hot.accept('./cs.json', I18n.reload('cs'));\n\tmodule.hot.accept('./cy.json', I18n.reload('cy'));\n\tmodule.hot.accept('./da.json', I18n.reload('da'));\n\tmodule.hot.accept('./de.json', I18n.reload('de'));\n\tmodule.hot.accept('./de_AT.json', I18n.reload('de_AT'));\n\tmodule.hot.accept('./de_IN.json', I18n.reload('de_IN'));\n\tmodule.hot.accept('./el.json', I18n.reload('el'));\n\tmodule.hot.accept('./en.json', I18n.reload('en'));\n\tmodule.hot.accept('./eo.json', I18n.reload('eo'));\n\tmodule.hot.accept('./es.json', I18n.reload('es'));\n\tmodule.hot.accept('./et.json', I18n.reload('et'));\n\tmodule.hot.accept('./eu.json', I18n.reload('eu'));\n\tmodule.hot.accept('./fa.json', I18n.reload('fa'));\n\tmodule.hot.accept('./fi.json', I18n.reload('fi'));\n\tmodule.hot.accept('./fr.json', I18n.reload('fr'));\n\tmodule.hot.accept('./he.json', I18n.reload('he'));\n\tmodule.hot.accept('./hr.json', I18n.reload('hr'));\n\tmodule.hot.accept('./hu.json', I18n.reload('hu'));\n\tmodule.hot.accept('./id.json', I18n.reload('id'));\n\tmodule.hot.accept('./it.json', I18n.reload('it'));\n\tmodule.hot.accept('./ja.json', I18n.reload('ja'));\n\tmodule.hot.accept('./km.json', I18n.reload('km'));\n\tmodule.hot.accept('./ko.json', I18n.reload('ko'));\n\tmodule.hot.accept('./ku.json', I18n.reload('ku'));\n\tmodule.hot.accept('./lo.json', I18n.reload('lo'));\n\tmodule.hot.accept('./lt.json', I18n.reload('lt'));\n\tmodule.hot.accept('./lv.json', I18n.reload('lv'));\n\tmodule.hot.accept('./mn.json', I18n.reload('mn'));\n\tmodule.hot.accept('./ms_MY.json', I18n.reload('ms_MY'));\n\tmodule.hot.accept('./nl.json', I18n.reload('nl'));\n\tmodule.hot.accept('./no.json', I18n.reload('no'));\n\tmodule.hot.accept('./pl.json', I18n.reload('pl'));\n\tmodule.hot.accept('./pt.json', I18n.reload('pt'));\n\tmodule.hot.accept('./pt_BR.json', I18n.reload('pt_BR'));\n\tmodule.hot.accept('./ro.json', I18n.reload('ro'));\n\tmodule.hot.accept('./ru.json', I18n.reload('ru'));\n\tmodule.hot.accept('./sk_SK.json', I18n.reload('sk_SK'));\n\tmodule.hot.accept('./sl_SI.json', I18n.reload('sl_SI'));\n\tmodule.hot.accept('./sq.json', I18n.reload('sq'));\n\tmodule.hot.accept('./sr.json', I18n.reload('sr'));\n\tmodule.hot.accept('./sv.json', I18n.reload('sv'));\n\tmodule.hot.accept('./ta_IN.json', I18n.reload('ta_IN'));\n\tmodule.hot.accept('./th_TH.json', I18n.reload('th_TH'));\n\tmodule.hot.accept('./tr.json', I18n.reload('tr'));\n\tmodule.hot.accept('./ug.json', I18n.reload('ug'));\n\tmodule.hot.accept('./uk.json', I18n.reload('uk'));\n\tmodule.hot.accept('./vi_VN.json', I18n.reload('vi_VN'));\n\tmodule.hot.accept('./zh.json', I18n.reload('zh'));\n\tmodule.hot.accept('./zh_HK.json', I18n.reload('zh_HK'));\n\tmodule.hot.accept('./zh_TW.json', I18n.reload('zh_TW'));\r\n\tmodule.hot.accept('./default.json', I18n.reload('default'));\r\n}\r\n\r\nexport default I18n;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"call-notification\":\"call-notification__3RkXD\",\"call-notification__content\":\"call-notification__content__3b5tH\",\"call-notification__content-avatar\":\"call-notification__content-avatar__2cgrA\",\"call-notification__content-message\":\"call-notification__content-message__3YU9P\",\"call-notification__content-actions\":\"call-notification__content-actions__1I_9w\",\"call-notification__content-actions-accept\":\"call-notification__content-actions-accept__2E61Z\",\"call-notification__content-actions-decline\":\"call-notification__content-actions-decline__2HSA9\",\"call-iframe\":\"call-iframe__1TpCn\",\"call-iframe__content\":\"call-iframe__content__pkcRS\",\"joinCall\":\"joinCall__36EOn\",\"joinCall__content\":\"joinCall__content__1P0Vp\",\"joinCall__content-videoIcon\":\"joinCall__content-videoIcon__1_ZVy\",\"joinCall__content-action\":\"joinCall__content-action__WSl7W\"};"],"sourceRoot":""}