@usecapsule/core-components 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (343) hide show
  1. package/css/capsule-core.css +160 -0
  2. package/css/capsule-core.css.map +1 -0
  3. package/dist/capsule/capsule.esm.js +2 -0
  4. package/dist/capsule/capsule.esm.js.map +1 -0
  5. package/dist/capsule/index.esm.js +2 -0
  6. package/dist/capsule/index.esm.js.map +1 -0
  7. package/dist/capsule/p-11048392.entry.js +2 -0
  8. package/dist/capsule/p-11048392.entry.js.map +1 -0
  9. package/dist/capsule/p-62e7869a.entry.js +2 -0
  10. package/dist/capsule/p-62e7869a.entry.js.map +1 -0
  11. package/dist/capsule/p-888b5108.entry.js +20 -0
  12. package/dist/capsule/p-888b5108.entry.js.map +1 -0
  13. package/dist/capsule/p-9647dd63.js +3 -0
  14. package/dist/capsule/p-9647dd63.js.map +1 -0
  15. package/dist/capsule/p-b7cb3ddd.entry.js +2 -0
  16. package/dist/capsule/p-b7cb3ddd.entry.js.map +1 -0
  17. package/dist/capsule/p-d871d963.entry.js +2 -0
  18. package/dist/capsule/p-d871d963.entry.js.map +1 -0
  19. package/dist/capsule/p-e1255160.js +2 -0
  20. package/dist/capsule/p-e1255160.js.map +1 -0
  21. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  22. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  23. package/dist/cjs/capsule.cjs.js +27 -0
  24. package/dist/cjs/capsule.cjs.js.map +1 -0
  25. package/dist/cjs/cpsl-alert_17.cjs.entry.js +7483 -0
  26. package/dist/cjs/cpsl-alert_17.cjs.entry.js.map +1 -0
  27. package/dist/cjs/cpsl-col.cjs.entry.js +125 -0
  28. package/dist/cjs/cpsl-col.cjs.entry.js.map +1 -0
  29. package/dist/cjs/cpsl-grid.cjs.entry.js +25 -0
  30. package/dist/cjs/cpsl-grid.cjs.entry.js.map +1 -0
  31. package/dist/cjs/cpsl-info-box.cjs.entry.js +22 -0
  32. package/dist/cjs/cpsl-info-box.cjs.entry.js.map +1 -0
  33. package/dist/cjs/cpsl-row.cjs.entry.js +22 -0
  34. package/dist/cjs/cpsl-row.cjs.entry.js.map +1 -0
  35. package/dist/cjs/index-2a026742.js +1962 -0
  36. package/dist/cjs/index-2a026742.js.map +1 -0
  37. package/dist/cjs/index.cjs.js +4 -0
  38. package/dist/cjs/index.cjs.js.map +1 -0
  39. package/dist/cjs/loader.cjs.js +17 -0
  40. package/dist/cjs/loader.cjs.js.map +1 -0
  41. package/dist/collection/assets/icons/alert-circle.svg +3 -0
  42. package/dist/collection/assets/icons/angel-list-brand.svg +3 -0
  43. package/dist/collection/assets/icons/angel-list.svg +3 -0
  44. package/dist/collection/assets/icons/apple-brand.svg +3 -0
  45. package/dist/collection/assets/icons/apple.svg +3 -0
  46. package/dist/collection/assets/icons/arrow-narrow.svg +3 -0
  47. package/dist/collection/assets/icons/arrow.svg +3 -0
  48. package/dist/collection/assets/icons/backup-kit.svg +4 -0
  49. package/dist/collection/assets/icons/capsule-logo.svg +18 -0
  50. package/dist/collection/assets/icons/capsule-rings.svg +34 -0
  51. package/dist/collection/assets/icons/capsule.svg +4 -0
  52. package/dist/collection/assets/icons/check.svg +3 -0
  53. package/dist/collection/assets/icons/clock.svg +3 -0
  54. package/dist/collection/assets/icons/close.svg +4 -0
  55. package/dist/collection/assets/icons/clubhouse-brand.svg +4 -0
  56. package/dist/collection/assets/icons/clubhouse.svg +4 -0
  57. package/dist/collection/assets/icons/copy.svg +3 -0
  58. package/dist/collection/assets/icons/discord-brand.svg +4 -0
  59. package/dist/collection/assets/icons/discord.svg +4 -0
  60. package/dist/collection/assets/icons/download-cloud.svg +3 -0
  61. package/dist/collection/assets/icons/dribbble-brand.svg +4 -0
  62. package/dist/collection/assets/icons/dribbble.svg +3 -0
  63. package/dist/collection/assets/icons/eye-off.svg +3 -0
  64. package/dist/collection/assets/icons/eye.svg +4 -0
  65. package/dist/collection/assets/icons/facebook-brand.svg +11 -0
  66. package/dist/collection/assets/icons/facebook.svg +10 -0
  67. package/dist/collection/assets/icons/figma-brand.svg +14 -0
  68. package/dist/collection/assets/icons/figma.svg +3 -0
  69. package/dist/collection/assets/icons/github-brand.svg +10 -0
  70. package/dist/collection/assets/icons/github.svg +10 -0
  71. package/dist/collection/assets/icons/google-brand.svg +13 -0
  72. package/dist/collection/assets/icons/google.svg +10 -0
  73. package/dist/collection/assets/icons/help-circle.svg +3 -0
  74. package/dist/collection/assets/icons/hero-email.svg +34 -0
  75. package/dist/collection/assets/icons/hero-lock.svg +34 -0
  76. package/dist/collection/assets/icons/hero-passkey.svg +33 -0
  77. package/dist/collection/assets/icons/hero-phone.svg +15 -0
  78. package/dist/collection/assets/icons/hero-wallet.svg +44 -0
  79. package/dist/collection/assets/icons/index.js +69 -0
  80. package/dist/collection/assets/icons/index.js.map +1 -0
  81. package/dist/collection/assets/icons/info-circle.svg +3 -0
  82. package/dist/collection/assets/icons/instagram-brand.svg +12 -0
  83. package/dist/collection/assets/icons/instagram.svg +12 -0
  84. package/dist/collection/assets/icons/key.svg +3 -0
  85. package/dist/collection/assets/icons/linkedin-brand.svg +10 -0
  86. package/dist/collection/assets/icons/linkedin.svg +10 -0
  87. package/dist/collection/assets/icons/mail.svg +3 -0
  88. package/dist/collection/assets/icons/more-login-options.svg +12 -0
  89. package/dist/collection/assets/icons/phone.svg +3 -0
  90. package/dist/collection/assets/icons/pintrest-brand.svg +11 -0
  91. package/dist/collection/assets/icons/pintrest.svg +10 -0
  92. package/dist/collection/assets/icons/reddit-brand.svg +11 -0
  93. package/dist/collection/assets/icons/reddit.svg +3 -0
  94. package/dist/collection/assets/icons/signal-brand.svg +3 -0
  95. package/dist/collection/assets/icons/signal.svg +3 -0
  96. package/dist/collection/assets/icons/snapchat-brand.svg +4 -0
  97. package/dist/collection/assets/icons/snapchat.svg +3 -0
  98. package/dist/collection/assets/icons/telegram-brand.svg +15 -0
  99. package/dist/collection/assets/icons/telegram.svg +10 -0
  100. package/dist/collection/assets/icons/tik-tok-brand.svg +5 -0
  101. package/dist/collection/assets/icons/tik-tok.svg +3 -0
  102. package/dist/collection/assets/icons/tumblr-brand.svg +10 -0
  103. package/dist/collection/assets/icons/tumblr.svg +10 -0
  104. package/dist/collection/assets/icons/twitter-brand.svg +3 -0
  105. package/dist/collection/assets/icons/twitter.svg +3 -0
  106. package/dist/collection/assets/icons/x-brand.svg +3 -0
  107. package/dist/collection/assets/icons/x.svg +3 -0
  108. package/dist/collection/assets/icons/youtube-brand.svg +11 -0
  109. package/dist/collection/assets/icons/youtube.svg +3 -0
  110. package/dist/collection/collection-manifest.json +32 -0
  111. package/dist/collection/components/cpsl-alert/cpsl-alert.css +97 -0
  112. package/dist/collection/components/cpsl-alert/cpsl-alert.js +80 -0
  113. package/dist/collection/components/cpsl-alert/cpsl-alert.js.map +1 -0
  114. package/dist/collection/components/cpsl-alert/test/cpsl-alert.e2e.js +29 -0
  115. package/dist/collection/components/cpsl-alert/test/cpsl-alert.e2e.js.map +1 -0
  116. package/dist/collection/components/cpsl-alert/test/cpsl-alert.spec.js +37 -0
  117. package/dist/collection/components/cpsl-alert/test/cpsl-alert.spec.js.map +1 -0
  118. package/dist/collection/components/cpsl-button/cpsl-button.css +158 -0
  119. package/dist/collection/components/cpsl-button/cpsl-button.js +68 -0
  120. package/dist/collection/components/cpsl-button/cpsl-button.js.map +1 -0
  121. package/dist/collection/components/cpsl-button/test/cpsl-button.e2e.js +29 -0
  122. package/dist/collection/components/cpsl-button/test/cpsl-button.e2e.js.map +1 -0
  123. package/dist/collection/components/cpsl-button/test/cpsl-button.spec.js +37 -0
  124. package/dist/collection/components/cpsl-button/test/cpsl-button.spec.js.map +1 -0
  125. package/dist/collection/components/cpsl-code-input/code-change-interface.js +2 -0
  126. package/dist/collection/components/cpsl-code-input/code-change-interface.js.map +1 -0
  127. package/dist/collection/components/cpsl-code-input/cpsl-code-input.css +134 -0
  128. package/dist/collection/components/cpsl-code-input/cpsl-code-input.js +223 -0
  129. package/dist/collection/components/cpsl-code-input/cpsl-code-input.js.map +1 -0
  130. package/dist/collection/components/cpsl-code-input/test/cpsl-code-input.e2e.js +29 -0
  131. package/dist/collection/components/cpsl-code-input/test/cpsl-code-input.e2e.js.map +1 -0
  132. package/dist/collection/components/cpsl-code-input/test/cpsl-code-input.spec.js +37 -0
  133. package/dist/collection/components/cpsl-code-input/test/cpsl-code-input.spec.js.map +1 -0
  134. package/dist/collection/components/cpsl-col/cpsl-col.css +200 -0
  135. package/dist/collection/components/cpsl-col/cpsl-col.js +528 -0
  136. package/dist/collection/components/cpsl-col/cpsl-col.js.map +1 -0
  137. package/dist/collection/components/cpsl-col/test/cpsl-col.e2e.js +29 -0
  138. package/dist/collection/components/cpsl-col/test/cpsl-col.e2e.js.map +1 -0
  139. package/dist/collection/components/cpsl-col/test/cpsl-col.spec.js +37 -0
  140. package/dist/collection/components/cpsl-col/test/cpsl-col.spec.js.map +1 -0
  141. package/dist/collection/components/cpsl-divider/cpsl-divider.css +72 -0
  142. package/dist/collection/components/cpsl-divider/cpsl-divider.js +19 -0
  143. package/dist/collection/components/cpsl-divider/cpsl-divider.js.map +1 -0
  144. package/dist/collection/components/cpsl-divider/test/cpsl-divider.e2e.js +29 -0
  145. package/dist/collection/components/cpsl-divider/test/cpsl-divider.e2e.js.map +1 -0
  146. package/dist/collection/components/cpsl-divider/test/cpsl-divider.spec.js +37 -0
  147. package/dist/collection/components/cpsl-divider/test/cpsl-divider.spec.js.map +1 -0
  148. package/dist/collection/components/cpsl-grid/cpsl-grid.css +235 -0
  149. package/dist/collection/components/cpsl-grid/cpsl-grid.js +46 -0
  150. package/dist/collection/components/cpsl-grid/cpsl-grid.js.map +1 -0
  151. package/dist/collection/components/cpsl-grid/test/cpsl-grid.e2e.js +29 -0
  152. package/dist/collection/components/cpsl-grid/test/cpsl-grid.e2e.js.map +1 -0
  153. package/dist/collection/components/cpsl-grid/test/cpsl-grid.spec.js +37 -0
  154. package/dist/collection/components/cpsl-grid/test/cpsl-grid.spec.js.map +1 -0
  155. package/dist/collection/components/cpsl-icon/cpsl-icon.css +81 -0
  156. package/dist/collection/components/cpsl-icon/cpsl-icon.js +69 -0
  157. package/dist/collection/components/cpsl-icon/cpsl-icon.js.map +1 -0
  158. package/dist/collection/components/cpsl-icon/test/cpsl-icon.e2e.js +29 -0
  159. package/dist/collection/components/cpsl-icon/test/cpsl-icon.e2e.js.map +1 -0
  160. package/dist/collection/components/cpsl-icon/test/cpsl-icon.spec.js +37 -0
  161. package/dist/collection/components/cpsl-icon/test/cpsl-icon.spec.js.map +1 -0
  162. package/dist/collection/components/cpsl-info-box/cpsl-info-box.css +74 -0
  163. package/dist/collection/components/cpsl-info-box/cpsl-info-box.js +19 -0
  164. package/dist/collection/components/cpsl-info-box/cpsl-info-box.js.map +1 -0
  165. package/dist/collection/components/cpsl-info-box/test/cpsl-info-box.e2e.js +29 -0
  166. package/dist/collection/components/cpsl-info-box/test/cpsl-info-box.e2e.js.map +1 -0
  167. package/dist/collection/components/cpsl-info-box/test/cpsl-info-box.spec.js +37 -0
  168. package/dist/collection/components/cpsl-info-box/test/cpsl-info-box.spec.js.map +1 -0
  169. package/dist/collection/components/cpsl-input/cpsl-input.css +187 -0
  170. package/dist/collection/components/cpsl-input/cpsl-input.js +706 -0
  171. package/dist/collection/components/cpsl-input/cpsl-input.js.map +1 -0
  172. package/dist/collection/components/cpsl-input/input-interface.js +2 -0
  173. package/dist/collection/components/cpsl-input/input-interface.js.map +1 -0
  174. package/dist/collection/components/cpsl-input/test/cpsl-input.e2e.js +29 -0
  175. package/dist/collection/components/cpsl-input/test/cpsl-input.e2e.js.map +1 -0
  176. package/dist/collection/components/cpsl-input/test/cpsl-input.spec.js +37 -0
  177. package/dist/collection/components/cpsl-input/test/cpsl-input.spec.js.map +1 -0
  178. package/dist/collection/components/cpsl-modal/cpsl-modal.css +120 -0
  179. package/dist/collection/components/cpsl-modal/cpsl-modal.js +106 -0
  180. package/dist/collection/components/cpsl-modal/cpsl-modal.js.map +1 -0
  181. package/dist/collection/components/cpsl-modal/test/cpsl-modal.e2e.js +29 -0
  182. package/dist/collection/components/cpsl-modal/test/cpsl-modal.e2e.js.map +1 -0
  183. package/dist/collection/components/cpsl-modal/test/cpsl-modal.spec.js +37 -0
  184. package/dist/collection/components/cpsl-modal/test/cpsl-modal.spec.js.map +1 -0
  185. package/dist/collection/components/cpsl-overlay/cpsl-overlay.css +11 -0
  186. package/dist/collection/components/cpsl-overlay/cpsl-overlay.js +91 -0
  187. package/dist/collection/components/cpsl-overlay/cpsl-overlay.js.map +1 -0
  188. package/dist/collection/components/cpsl-overlay/test/cpsl-overlay.e2e.js +29 -0
  189. package/dist/collection/components/cpsl-overlay/test/cpsl-overlay.e2e.js.map +1 -0
  190. package/dist/collection/components/cpsl-overlay/test/cpsl-overlay.spec.js +37 -0
  191. package/dist/collection/components/cpsl-overlay/test/cpsl-overlay.spec.js.map +1 -0
  192. package/dist/collection/components/cpsl-pill/cpsl-pill.css +92 -0
  193. package/dist/collection/components/cpsl-pill/cpsl-pill.js +43 -0
  194. package/dist/collection/components/cpsl-pill/cpsl-pill.js.map +1 -0
  195. package/dist/collection/components/cpsl-pill/test/cpsl-pill.e2e.js +29 -0
  196. package/dist/collection/components/cpsl-pill/test/cpsl-pill.e2e.js.map +1 -0
  197. package/dist/collection/components/cpsl-pill/test/cpsl-pill.spec.js +37 -0
  198. package/dist/collection/components/cpsl-pill/test/cpsl-pill.spec.js.map +1 -0
  199. package/dist/collection/components/cpsl-progress-indicator/cpsl-progress-indicator.css +82 -0
  200. package/dist/collection/components/cpsl-progress-indicator/cpsl-progress-indicator.js +71 -0
  201. package/dist/collection/components/cpsl-progress-indicator/cpsl-progress-indicator.js.map +1 -0
  202. package/dist/collection/components/cpsl-progress-indicator/progress-indicator-interface.js +2 -0
  203. package/dist/collection/components/cpsl-progress-indicator/progress-indicator-interface.js.map +1 -0
  204. package/dist/collection/components/cpsl-progress-indicator/test/cpsl-progress-indicator.e2e.js +29 -0
  205. package/dist/collection/components/cpsl-progress-indicator/test/cpsl-progress-indicator.e2e.js.map +1 -0
  206. package/dist/collection/components/cpsl-progress-indicator/test/cpsl-progress-indicator.spec.js +37 -0
  207. package/dist/collection/components/cpsl-progress-indicator/test/cpsl-progress-indicator.spec.js.map +1 -0
  208. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.css +79 -0
  209. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.js +107 -0
  210. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.js.map +1 -0
  211. package/dist/collection/components/cpsl-qr-code/test/cpsl-qr-code.e2e.js +29 -0
  212. package/dist/collection/components/cpsl-qr-code/test/cpsl-qr-code.e2e.js.map +1 -0
  213. package/dist/collection/components/cpsl-qr-code/test/cpsl-qr-code.spec.js +37 -0
  214. package/dist/collection/components/cpsl-qr-code/test/cpsl-qr-code.spec.js.map +1 -0
  215. package/dist/collection/components/cpsl-row/cpsl-row.css +136 -0
  216. package/dist/collection/components/cpsl-row/cpsl-row.js +19 -0
  217. package/dist/collection/components/cpsl-row/cpsl-row.js.map +1 -0
  218. package/dist/collection/components/cpsl-row/test/cpsl-row.e2e.js +29 -0
  219. package/dist/collection/components/cpsl-row/test/cpsl-row.e2e.js.map +1 -0
  220. package/dist/collection/components/cpsl-row/test/cpsl-row.spec.js +37 -0
  221. package/dist/collection/components/cpsl-row/test/cpsl-row.spec.js.map +1 -0
  222. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.css +165 -0
  223. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.js +205 -0
  224. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.js.map +1 -0
  225. package/dist/collection/components/cpsl-slide-button/test/cpsl-slide-button.e2e.js +29 -0
  226. package/dist/collection/components/cpsl-slide-button/test/cpsl-slide-button.e2e.js.map +1 -0
  227. package/dist/collection/components/cpsl-slide-button/test/cpsl-slide-button.spec.js +37 -0
  228. package/dist/collection/components/cpsl-slide-button/test/cpsl-slide-button.spec.js.map +1 -0
  229. package/dist/collection/components/cpsl-spinner/cpsl-spinner.css +68 -0
  230. package/dist/collection/components/cpsl-spinner/cpsl-spinner.js +69 -0
  231. package/dist/collection/components/cpsl-spinner/cpsl-spinner.js.map +1 -0
  232. package/dist/collection/components/cpsl-spinner/test/cpsl-spinner.e2e.js +29 -0
  233. package/dist/collection/components/cpsl-spinner/test/cpsl-spinner.e2e.js.map +1 -0
  234. package/dist/collection/components/cpsl-spinner/test/cpsl-spinner.spec.js +37 -0
  235. package/dist/collection/components/cpsl-spinner/test/cpsl-spinner.spec.js.map +1 -0
  236. package/dist/collection/components/cpsl-tab/cpsl-tab.css +20 -0
  237. package/dist/collection/components/cpsl-tab/cpsl-tab.js +121 -0
  238. package/dist/collection/components/cpsl-tab/cpsl-tab.js.map +1 -0
  239. package/dist/collection/components/cpsl-tab/tab-interface.js +2 -0
  240. package/dist/collection/components/cpsl-tab/tab-interface.js.map +1 -0
  241. package/dist/collection/components/cpsl-tab/test/cpsl-tab.e2e.js +29 -0
  242. package/dist/collection/components/cpsl-tab/test/cpsl-tab.e2e.js.map +1 -0
  243. package/dist/collection/components/cpsl-tab/test/cpsl-tab.spec.js +37 -0
  244. package/dist/collection/components/cpsl-tab/test/cpsl-tab.spec.js.map +1 -0
  245. package/dist/collection/components/cpsl-tabs/cpsl-tabs.css +110 -0
  246. package/dist/collection/components/cpsl-tabs/cpsl-tabs.js +163 -0
  247. package/dist/collection/components/cpsl-tabs/cpsl-tabs.js.map +1 -0
  248. package/dist/collection/components/cpsl-tabs/tabs-interface.js +2 -0
  249. package/dist/collection/components/cpsl-tabs/tabs-interface.js.map +1 -0
  250. package/dist/collection/components/cpsl-tabs/test/cpsl-tabs.e2e.js +29 -0
  251. package/dist/collection/components/cpsl-tabs/test/cpsl-tabs.e2e.js.map +1 -0
  252. package/dist/collection/components/cpsl-tabs/test/cpsl-tabs.spec.js +37 -0
  253. package/dist/collection/components/cpsl-tabs/test/cpsl-tabs.spec.js.map +1 -0
  254. package/dist/collection/components/cpsl-text/cpsl-text.css +59 -0
  255. package/dist/collection/components/cpsl-text/cpsl-text.js +19 -0
  256. package/dist/collection/components/cpsl-text/cpsl-text.js.map +1 -0
  257. package/dist/collection/components/cpsl-text/test/cpsl-text.e2e.js +29 -0
  258. package/dist/collection/components/cpsl-text/test/cpsl-text.e2e.js.map +1 -0
  259. package/dist/collection/components/cpsl-text/test/cpsl-text.spec.js +37 -0
  260. package/dist/collection/components/cpsl-text/test/cpsl-text.spec.js.map +1 -0
  261. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.css +94 -0
  262. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.js +67 -0
  263. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.js.map +1 -0
  264. package/dist/collection/components/cpsl-tile-button/test/cpsl-tile-button.e2e.js +29 -0
  265. package/dist/collection/components/cpsl-tile-button/test/cpsl-tile-button.e2e.js.map +1 -0
  266. package/dist/collection/components/cpsl-tile-button/test/cpsl-tile-button.spec.js +37 -0
  267. package/dist/collection/components/cpsl-tile-button/test/cpsl-tile-button.spec.js.map +1 -0
  268. package/dist/collection/index.js +2 -0
  269. package/dist/collection/index.js.map +1 -0
  270. package/dist/collection/interface.js +2 -0
  271. package/dist/collection/interface.js.map +1 -0
  272. package/dist/collection/utils/media.js +18 -0
  273. package/dist/collection/utils/media.js.map +1 -0
  274. package/dist/esm/app-globals-0f993ce5.js +5 -0
  275. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  276. package/dist/esm/capsule.js +22 -0
  277. package/dist/esm/capsule.js.map +1 -0
  278. package/dist/esm/cpsl-alert_17.entry.js +7463 -0
  279. package/dist/esm/cpsl-alert_17.entry.js.map +1 -0
  280. package/dist/esm/cpsl-col.entry.js +121 -0
  281. package/dist/esm/cpsl-col.entry.js.map +1 -0
  282. package/dist/esm/cpsl-grid.entry.js +21 -0
  283. package/dist/esm/cpsl-grid.entry.js.map +1 -0
  284. package/dist/esm/cpsl-info-box.entry.js +18 -0
  285. package/dist/esm/cpsl-info-box.entry.js.map +1 -0
  286. package/dist/esm/cpsl-row.entry.js +18 -0
  287. package/dist/esm/cpsl-row.entry.js.map +1 -0
  288. package/dist/esm/index-7c2f5cb9.js +1932 -0
  289. package/dist/esm/index-7c2f5cb9.js.map +1 -0
  290. package/dist/esm/index.js +3 -0
  291. package/dist/esm/index.js.map +1 -0
  292. package/dist/esm/loader.js +13 -0
  293. package/dist/esm/loader.js.map +1 -0
  294. package/dist/esm/polyfills/core-js.js +11 -0
  295. package/dist/esm/polyfills/dom.js +79 -0
  296. package/dist/esm/polyfills/es5-html-element.js +1 -0
  297. package/dist/esm/polyfills/index.js +34 -0
  298. package/dist/esm/polyfills/system.js +6 -0
  299. package/dist/index.cjs.js +1 -0
  300. package/dist/index.js +1 -0
  301. package/dist/loader/cdn.js +3 -0
  302. package/dist/loader/index.cjs.js +3 -0
  303. package/dist/loader/index.d.ts +21 -0
  304. package/dist/loader/index.es2017.js +3 -0
  305. package/dist/loader/index.js +4 -0
  306. package/dist/loader/package.json +11 -0
  307. package/dist/scripts/buildIconLibrary.js +33 -0
  308. package/dist/scripts/buildIconLibrary.js.map +1 -0
  309. package/dist/types/Users/taylorbosch/Documents/GitHub/Capsule/component-library/core/.stencil/scripts/buildIconLibrary.d.ts +5 -0
  310. package/dist/types/assets/icons/index.d.ts +69 -0
  311. package/dist/types/components/cpsl-alert/cpsl-alert.d.ts +7 -0
  312. package/dist/types/components/cpsl-button/cpsl-button.d.ts +5 -0
  313. package/dist/types/components/cpsl-code-input/code-change-interface.d.ts +3 -0
  314. package/dist/types/components/cpsl-code-input/cpsl-code-input.d.ts +17 -0
  315. package/dist/types/components/cpsl-col/cpsl-col.d.ts +34 -0
  316. package/dist/types/components/cpsl-divider/cpsl-divider.d.ts +3 -0
  317. package/dist/types/components/cpsl-grid/cpsl-grid.d.ts +4 -0
  318. package/dist/types/components/cpsl-icon/cpsl-icon.d.ts +6 -0
  319. package/dist/types/components/cpsl-info-box/cpsl-info-box.d.ts +3 -0
  320. package/dist/types/components/cpsl-input/cpsl-input.d.ts +53 -0
  321. package/dist/types/components/cpsl-input/input-interface.d.ts +8 -0
  322. package/dist/types/components/cpsl-modal/cpsl-modal.d.ts +15 -0
  323. package/dist/types/components/cpsl-overlay/cpsl-overlay.d.ts +9 -0
  324. package/dist/types/components/cpsl-pill/cpsl-pill.d.ts +4 -0
  325. package/dist/types/components/cpsl-progress-indicator/cpsl-progress-indicator.d.ts +5 -0
  326. package/dist/types/components/cpsl-progress-indicator/progress-indicator-interface.d.ts +4 -0
  327. package/dist/types/components/cpsl-qr-code/cpsl-qr-code.d.ts +8 -0
  328. package/dist/types/components/cpsl-row/cpsl-row.d.ts +3 -0
  329. package/dist/types/components/cpsl-slide-button/cpsl-slide-button.d.ts +19 -0
  330. package/dist/types/components/cpsl-spinner/cpsl-spinner.d.ts +5 -0
  331. package/dist/types/components/cpsl-tab/cpsl-tab.d.ts +14 -0
  332. package/dist/types/components/cpsl-tab/tab-interface.d.ts +4 -0
  333. package/dist/types/components/cpsl-tabs/cpsl-tabs.d.ts +17 -0
  334. package/dist/types/components/cpsl-tabs/tabs-interface.d.ts +9 -0
  335. package/dist/types/components/cpsl-text/cpsl-text.d.ts +3 -0
  336. package/dist/types/components/cpsl-tile-button/cpsl-tile-button.d.ts +6 -0
  337. package/dist/types/components.d.ts +1094 -0
  338. package/dist/types/index.d.ts +1 -0
  339. package/dist/types/interface.d.ts +10 -0
  340. package/dist/types/stencil-public-runtime.d.ts +1681 -0
  341. package/dist/types/utils/media.d.ts +2 -0
  342. package/package.json +51 -0
  343. package/readme.md +3 -0
@@ -0,0 +1 @@
1
+ {"file":"cpsl-alert.cpsl-button.cpsl-code-input.cpsl-divider.cpsl-icon.cpsl-input.cpsl-modal.cpsl-overlay.cpsl-pill.cpsl-progress-indicator.cpsl-qr-code.cpsl-slide-button.cpsl-spinner.cpsl-tab.cpsl-tabs.cpsl-text.cpsl-tile-button.entry.cjs.js","mappings":"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C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC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EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,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AM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CA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AC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CA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AAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,C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aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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AC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GA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,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAK,0BAA0B,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAK,6BAA6B,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAC,CAAC,KAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAA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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,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","names":["h","Host","_reverting","_bigNum","_windowExists","_win","_doc","gsap"],"sources":["src/assets/icons/index.ts","src/components/cpsl-alert/cpsl-alert.scss?tag=cpsl-alert&encapsulation=shadow","src/components/cpsl-alert/cpsl-alert.tsx","src/components/cpsl-button/cpsl-button.scss?tag=cpsl-button&encapsulation=shadow","src/components/cpsl-button/cpsl-button.tsx","src/components/cpsl-code-input/cpsl-code-input.scss?tag=cpsl-code-input&encapsulation=shadow","src/components/cpsl-code-input/cpsl-code-input.tsx","src/components/cpsl-divider/cpsl-divider.scss?tag=cpsl-divider&encapsulation=shadow","src/components/cpsl-divider/cpsl-divider.tsx","src/components/cpsl-icon/cpsl-icon.scss?tag=cpsl-icon&encapsulation=shadow","src/components/cpsl-icon/cpsl-icon.tsx","src/components/cpsl-input/cpsl-input.scss?tag=cpsl-input&encapsulation=shadow","src/components/cpsl-input/cpsl-input.tsx","../node_modules/gsap/gsap-core.js","../node_modules/gsap/CSSPlugin.js","../node_modules/gsap/index.js","src/components/cpsl-modal/cpsl-modal.scss?tag=cpsl-modal&encapsulation=shadow","src/components/cpsl-modal/cpsl-modal.tsx","src/components/cpsl-overlay/cpsl-overlay.scss?tag=cpsl-overlay&encapsulation=shadow","src/components/cpsl-overlay/cpsl-overlay.tsx","src/components/cpsl-pill/cpsl-pill.scss?tag=cpsl-pill&encapsulation=shadow","src/components/cpsl-pill/cpsl-pill.tsx","src/components/cpsl-progress-indicator/cpsl-progress-indicator.scss?tag=cpsl-progress-indicator&encapsulation=shadow","src/components/cpsl-progress-indicator/cpsl-progress-indicator.tsx","../node_modules/qr-code-styling/lib/qr-code-styling.js","src/components/cpsl-qr-code/cpsl-qr-code.scss?tag=cpsl-qr-code&encapsulation=shadow","src/components/cpsl-qr-code/cpsl-qr-code.tsx","src/components/cpsl-slide-button/cpsl-slide-button.scss?tag=cpsl-slide-button&encapsulation=shadow","src/components/cpsl-slide-button/cpsl-slide-button.tsx","src/components/cpsl-spinner/cpsl-spinner.scss?tag=cpsl-spinner&encapsulation=shadow","src/components/cpsl-spinner/cpsl-spinner.tsx","src/components/cpsl-tab/cpsl-tab.scss?tag=cpsl-tab&encapsulation=shadow","src/components/cpsl-tab/cpsl-tab.tsx","src/components/cpsl-tabs/cpsl-tabs.scss?tag=cpsl-tabs&encapsulation=shadow","src/components/cpsl-tabs/cpsl-tabs.tsx","src/components/cpsl-text/cpsl-text.scss?tag=cpsl-text&encapsulation=shadow","src/components/cpsl-text/cpsl-text.tsx","src/components/cpsl-tile-button/cpsl-tile-button.scss?tag=cpsl-tile-button&encapsulation=shadow","src/components/cpsl-tile-button/cpsl-tile-button.tsx"],"sourcesContent":["import AlertCircle from './alert-circle.svg';import AngelListBrand from './angel-list-brand.svg';import AngelList from './angel-list.svg';import AppleBrand from './apple-brand.svg';import Apple from './apple.svg';import ArrowNarrow from './arrow-narrow.svg';import Arrow from './arrow.svg';import BackupKit from './backup-kit.svg';import CapsuleLogo from './capsule-logo.svg';import CapsuleRings from './capsule-rings.svg';import Capsule from './capsule.svg';import Check from './check.svg';import Clock from './clock.svg';import Close from './close.svg';import ClubhouseBrand from './clubhouse-brand.svg';import Clubhouse from './clubhouse.svg';import Copy from './copy.svg';import DiscordBrand from './discord-brand.svg';import Discord from './discord.svg';import DownloadCloud from './download-cloud.svg';import DribbbleBrand from './dribbble-brand.svg';import Dribbble from './dribbble.svg';import EyeOff from './eye-off.svg';import Eye from './eye.svg';import FacebookBrand from './facebook-brand.svg';import Facebook from './facebook.svg';import FigmaBrand from './figma-brand.svg';import Figma from './figma.svg';import GithubBrand from './github-brand.svg';import Github from './github.svg';import GoogleBrand from './google-brand.svg';import Google from './google.svg';import HelpCircle from './help-circle.svg';import HeroEmail from './hero-email.svg';import HeroLock from './hero-lock.svg';import HeroPasskey from './hero-passkey.svg';import HeroPhone from './hero-phone.svg';import HeroWallet from './hero-wallet.svg';import InfoCircle from './info-circle.svg';import InstagramBrand from './instagram-brand.svg';import Instagram from './instagram.svg';import Key from './key.svg';import LinkedinBrand from './linkedin-brand.svg';import Linkedin from './linkedin.svg';import Mail from './mail.svg';import MoreLoginOptions from './more-login-options.svg';import Phone from './phone.svg';import PintrestBrand from './pintrest-brand.svg';import Pintrest from './pintrest.svg';import RedditBrand from './reddit-brand.svg';import Reddit from './reddit.svg';import SignalBrand from './signal-brand.svg';import Signal from './signal.svg';import SnapchatBrand from './snapchat-brand.svg';import Snapchat from './snapchat.svg';import TelegramBrand from './telegram-brand.svg';import Telegram from './telegram.svg';import TikTokBrand from './tik-tok-brand.svg';import TikTok from './tik-tok.svg';import TumblrBrand from './tumblr-brand.svg';import Tumblr from './tumblr.svg';import TwitterBrand from './twitter-brand.svg';import Twitter from './twitter.svg';import XBrand from './x-brand.svg';import X from './x.svg';import YoutubeBrand from './youtube-brand.svg';import Youtube from './youtube.svg';\nexport const Icons = {alertCircle: AlertCircle,angelListBrand: AngelListBrand,angelList: AngelList,appleBrand: AppleBrand,apple: Apple,arrowNarrow: ArrowNarrow,arrow: Arrow,backupKit: BackupKit,capsuleLogo: CapsuleLogo,capsuleRings: CapsuleRings,capsule: Capsule,check: Check,clock: Clock,close: Close,clubhouseBrand: ClubhouseBrand,clubhouse: Clubhouse,copy: Copy,discordBrand: DiscordBrand,discord: Discord,downloadCloud: DownloadCloud,dribbbleBrand: DribbbleBrand,dribbble: Dribbble,eyeOff: EyeOff,eye: Eye,facebookBrand: FacebookBrand,facebook: Facebook,figmaBrand: FigmaBrand,figma: Figma,githubBrand: GithubBrand,github: Github,googleBrand: GoogleBrand,google: Google,helpCircle: HelpCircle,heroEmail: HeroEmail,heroLock: HeroLock,heroPasskey: HeroPasskey,heroPhone: HeroPhone,heroWallet: HeroWallet,infoCircle: InfoCircle,instagramBrand: InstagramBrand,instagram: Instagram,key: Key,linkedinBrand: LinkedinBrand,linkedin: Linkedin,mail: Mail,moreLoginOptions: MoreLoginOptions,phone: Phone,pintrestBrand: PintrestBrand,pintrest: Pintrest,redditBrand: RedditBrand,reddit: Reddit,signalBrand: SignalBrand,signal: Signal,snapchatBrand: SnapchatBrand,snapchat: Snapchat,telegramBrand: TelegramBrand,telegram: Telegram,tikTokBrand: TikTokBrand,tikTok: TikTok,tumblrBrand: TumblrBrand,tumblr: Tumblr,twitterBrand: TwitterBrand,twitter: Twitter,xBrand: XBrand,x: X,youtubeBrand: YoutubeBrand,youtube: Youtube,}","@import '../../themes/capsule.globals';\n\n:host {\n --container-gap: 8px;\n\n --container-padding-top: 4px;\n --container-padding-bottom: 4px;\n --container-padding-start: 16px;\n --container-padding-end: 16px;\n\n --container-font-size: #{dynamic-font-clamp(1, 12px, 1.5)};\n\n --container-border-width: 1px;\n --container-border-radius: var(--cpsl-border-radius-alert);\n\n display: inline-block;\n font-family: $font-family-base;\n}\n\n:host(.error) {\n --container-background-color: var(--cpsl-color-alert-surface-error);\n --container-border-color: var(--cpsl-color-alert-border-error);\n --container-color: var(--cpsl-color-text-error);\n}\n\n.alert-container {\n @include border-radius(var(--container-border-radius));\n @include padding(var(--container-padding-top), var(--container-padding-end), var(--container-padding-bottom), var(--container-padding-start));\n\n font-size: var(--container-font-size);\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--container-gap);\n\n border-style: solid;\n border-width: var(--container-border-width);\n border-color: var(--container-border-color);\n\n background-color: var(--container-background-color);\n color: var(--container-color);\n}\n\n.icon {\n display: flex;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { Icons } from '../../assets/icons';\nimport { IconType } from '../../interface';\n\n@Component({\n tag: 'cpsl-alert',\n styleUrl: 'cpsl-alert.scss',\n shadow: true,\n})\nexport class CpslAlert {\n /**\n * The type of alert.\n * Options are: `\"error\"`\n * Default is: `\"error\"`.\n */\n @Prop() type?: 'error' = 'error';\n\n /**\n * The name of the icon to show.\n */\n @Prop() icon?: IconType;\n\n private get Icon() {\n if (Boolean(this.icon)) {\n return Icons[this.icon];\n }\n\n switch (this.type) {\n case 'error':\n default: {\n return Icons.alertCircle;\n }\n }\n }\n\n render() {\n return (\n <Host class={{ error: this.type === 'error' }}>\n <div class=\"alert-container\">\n <div class=\"icon\" innerHTML={this.Icon} />\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --button-border-radius: var(--cpsl-border-radius-primary-button);\n --button-border-width: 1px;\n\n --button-box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05), 0px 2px 2px 0px var(--cpsl-color-alpha-white-25) inset, 0px -2px 2px 0px var(--cpsl-color-alpha-black-25) inset;\n\n --button-padding-top: 10px;\n --button-padding-bottom: 10px;\n --button-padding-start: 16px;\n --button-padding-end: 16px;\n\n --button-font-size: #{dynamic-font-clamp(1, 14px, 1.5)};\n\n height: 100%;\n width: 100%;\n\n font-family: $font-family-base;\n}\n\n:host(.button-disabled) {\n cursor: default;\n pointer-events: none;\n}\n\n:host(.primary) {\n --button-color: var(--cpsl-color-text-inverted);\n --button-background-color: var(--cpsl-color-primary-button-surface-default);\n --button-border-color: var(--cpsl-color-primary-button-border-default);\n\n &:host(.button-disabled) {\n --button-background-color: var(--cpsl-color-primary-button-surface-disabled);\n --button-border-color: var(--cpsl-color-primary-button-border-disabled);\n --button-box-shadow: none;\n --button-outline-color: transparent;\n }\n\n :not(.button-disabled) {\n &:hover {\n --button-background-color: var(--cpsl-color-primary-button-surface-hover);\n }\n &:active {\n --button-background-color: var(--cpsl-color-primary-button-surface-pressed);\n }\n &:focus-visible {\n --button-outline-color: var(--cpsl-color-primary-button-outline);\n }\n }\n\n ::slotted(cpsl-icon) {\n --icon-color: var(--cpsl-text-inverted);\n }\n}\n\n:host(.secondary) {\n --button-color: var(--cpsl-color-text-primary);\n --button-background-color: var(--cpsl-color-secondary-button-surface-default);\n --button-border-color: var(--cpsl-color-secondary-button-border-default);\n\n &:host(.button-disabled) {\n --button-background-color: var(--cpsl-color-secondary-button-surface-disabled);\n --button-border-color: var(--cpsl-color-secondary-button-border-disabled);\n --button-box-shadow: none;\n --button-outline-color: transparent;\n }\n\n :not(.button-disabled) {\n &:hover {\n --button-background-color: var(--cpsl-color-secondary-button-surface-hover);\n }\n &:active {\n --button-background-color: var(--cpsl-color-secondary-button-surface-pressed);\n }\n &:focus-visible {\n --button-outline-color: var(--cpsl-color-secondary-button-outline);\n }\n }\n\n ::slotted(cpsl-icon) {\n --icon-color: var(--cpsl-text-primary);\n }\n}\n\n:host(.icon) {\n ::slotted(cpsl-icon) {\n --icon-color: var(--cpsl-color-text-secondary);\n }\n\n --button-color: transparent;\n --button-background-color: transparent;\n --button-border-color: transparent;\n --button-box-shadow: none;\n --button-outline-color: transparent;\n\n :not(.button-disabled) {\n &:hover {\n ::slotted(cpsl-icon) {\n --icon-color: var(--cpsl-color-text-primary);\n }\n }\n }\n}\n\n.button-native {\n @include border-radius(var(--button-border-radius));\n @include padding(var(--button-padding-top), var(--button-padding-end), var(--button-padding-bottom), var(--button-padding-start));\n\n font-size: var(--container-font-size);\n\n border: var(--button-border-width) solid transparent;\n cursor: pointer;\n\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n box-shadow: var(--button-box-shadow);\n\n outline-color: var(--button-outline-color);\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'cpsl-button',\n styleUrl: 'cpsl-button.scss',\n shadow: true,\n})\nexport class CpslButton {\n /**\n * If the button is disabled.\n * Default is: false.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /**\n * The variant of button.\n * Options are: `\"primary\"`, `\"secondary\", `\"icon\".\n * Default is: `\"primary\"`.\n */\n @Prop({ reflect: true }) variant?: 'primary' | 'secondary' | 'icon' = 'primary';\n\n render() {\n return (\n <Host\n class={{\n 'primary': this.variant === 'primary',\n 'secondary': this.variant === 'secondary',\n 'icon': this.variant === 'icon',\n 'button-disabled': this.disabled,\n }}\n >\n <button class=\"button-native\">\n <slot></slot>\n </button>\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --input-width: 40px;\n --input-height: 54px;\n\n --input-border-radius: var(--cpsl-border-radius-input);\n --input-border-color: var(--cpsl-color-input-border-placeholder);\n --input-border-width: 1px;\n --input-background-color: var(--cpsl-color-input-surface-default);\n --input-border-error-color: var(--cpsl-color-input-border-error);\n\n --input-font-size: #{dynamic-font-clamp(1, 20px, 1.5)};\n --input-color: var(--cpsl-color-text-primary);\n\n --helper-text-color: var(--cpsl-color-text-secondary);\n --helper-text-error-color: var(--cpsl-color-text-error);\n --helper-text-icon-color: var(--cpsl-color-text-secondary);\n --helper-text-icon-error-color: var(--cpsl-color-text-error);\n --helper-text-icon-size: 16px;\n --helper-text-font-size: 12px;\n --helper-text-margin-top: 6px;\n\n display: block;\n font-family: $font-family-base;\n}\n\n.code-container {\n display: flex;\n gap: 8px;\n}\n\n.code-input {\n font-family: $font-family-base;\n @include border-radius(var(--input-border-radius));\n font-size: var(--input-font-size);\n\n border-color: var(--input-border-color);\n border-width: var(--input-border-width);\n border-style: solid;\n\n font-size: var(--input-font-size);\n color: var(--input-color);\n\n width: var(--input-width);\n height: var(--input-height);\n background-color: var(--input-background-color);\n\n box-sizing: border-box;\n text-align: center;\n outline: none;\n\n &:focus {\n --input-border-color: var(--cpsl-color-input-border-active);\n }\n\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n}\n\n.code-input .error-container {\n border-color: var(--input-border-error-color);\n}\n\ninput[type='number'] {\n -moz-appearance: textfield;\n}\n\n.helper-text-container {\n flex-basis: 100%;\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--helper-text-color);\n font-size: var(--helper-text-font-size);\n\n margin-top: var(--helper-text-margin-top);\n\n cpsl-icon {\n --height: var(--helper-text-icon-size);\n --width: var(--helper-text-icon-size);\n --icon-color: var(--helper-text-icon-color);\n }\n}\n\n.error-text {\n color: var(--helper-text-error-color);\n\n cpsl-icon {\n --icon-color: var(--helper-text-icon-error-color);\n }\n}\n","import { Component, Host, h, Prop, Element, Event, EventEmitter } from '@stencil/core';\nimport { CodeChangeEventDetail } from './code-change-interface';\n\n@Component({\n tag: 'cpsl-code-input',\n styleUrl: 'cpsl-code-input.scss',\n shadow: true,\n})\nexport class CpslCodeInput {\n @Element() el!: HTMLCpslCodeInputElement;\n\n /**\n * Value of the code.\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) code: string;\n\n /**\n * Error text to show below the input. If this is provided the input will enter an error state.\n */\n @Prop() errorText?: string;\n\n /**\n * Helper text to show below the input. If `\"errorText\"` is provided that will take precedence.\n */\n @Prop() helperText?: string;\n\n /**\n * Length of the code.\n */\n @Prop() length: number;\n\n /**\n * Type of characters to accept in the code.\n * Defaults to number.\n */\n @Prop() type?: 'number' | 'string' = 'number';\n\n /**\n * The `cpslInput` event is fired each time the user modifies the input's value.\n */\n @Event() cpslInput!: EventEmitter<CodeChangeEventDetail>;\n\n private handleInput = (ind: number, ev: InputEvent) => {\n const inputElements = this.inputs;\n if (ev.inputType == 'insertText') {\n if (this.type === 'number' && isNaN(parseInt(ev.data))) {\n inputElements[ind].value = '';\n return;\n }\n inputElements[Math.min(this.length - 1, ind + 1)].focus();\n\n const newCode = `${this.code ?? ''}${ev.data}`;\n this.cpslInput.emit({ value: newCode });\n this.code = newCode;\n }\n };\n\n private handleKeyDown = (ind: number, ev: KeyboardEvent) => {\n const inputElements = this.inputs;\n\n switch (ev.key) {\n case 'Backspace': {\n let newCode;\n if (!inputElements[ind].value) {\n inputElements[Math.max(0, ind - 1)].value = '';\n inputElements[Math.max(0, ind - 1)].focus();\n newCode = this.code.substring(0, ind - 1);\n } else {\n newCode = this.code.substring(0, ind);\n }\n this.cpslInput.emit({ value: newCode });\n this.code = newCode;\n break;\n }\n case 'ArrowLeft': {\n setTimeout(() => {\n this.inputs[ind].setSelectionRange(1, 1);\n }, 0);\n break;\n }\n default: {\n break;\n }\n }\n };\n\n private handleFocus = (ind: number) => {\n const inputElements = this.inputs;\n\n for (const input of inputElements) {\n if (!input.value) {\n input.focus();\n break;\n } else if (input.id === `code-input-${this.length - 1}`) {\n input.focus();\n break;\n }\n }\n\n setTimeout(() => {\n inputElements[ind].setSelectionRange(1, 1);\n }, 0);\n };\n\n // TODO: figure out why pasting a string populates the first input\n private handlePaste = (e: ClipboardEvent) => {\n const inputElements = this.inputs;\n const pastedCode = e.clipboardData.getData('text');\n\n if (this.type === 'number' && isNaN(parseInt(pastedCode))) {\n // Remove illegal value from the first input. Not using a timeout here doesn't change the value properly.\n setTimeout(() => {\n inputElements[0].value = '';\n }, 0);\n return;\n }\n\n this.cpslInput.emit({\n value: pastedCode,\n });\n inputElements.forEach((input, index) => {\n input.value = pastedCode.charAt(index);\n });\n inputElements[this.length - 1].focus();\n };\n\n private get inputs() {\n return Array.from(this.el.shadowRoot.querySelectorAll('input'));\n }\n\n render() {\n return (\n <Host>\n <div class=\"code-container\">\n {new Array(this.length).fill(0).map((_, i) => (\n <input\n class={{ 'code-input': true, 'error': Boolean(this.errorText) }}\n id={`code-input-${i}`}\n maxLength={1}\n onKeyDown={ev => this.handleKeyDown(i, ev)}\n onInput={ev => this.handleInput(i, ev)}\n onFocus={() => this.handleFocus(i)}\n onPaste={this.handlePaste}\n min={0}\n max={9}\n value={this.code?.[i]}\n />\n ))}\n </div>\n {(this.errorText || this.helperText) && (\n <div class={{ 'helper-text-container': true, 'error-text': Boolean(this.errorText) }}>\n <cpsl-icon icon={Boolean(this.errorText) ? 'alertCircle' : 'infoCircle'} />\n <span>{this.errorText ?? this.helperText}</span>\n </div>\n )}\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --divider-height: 1px;\n --divider-color: var(--cpsl-color-divider);\n\n display: flex;\n align-items: center;\n height: 24px;\n color: var(--cpsl-color-text-subtle);\n\n font-family: $font-family-base;\n font-size: #{dynamic-font-clamp(1, 12px, 1.5)};\n gap: 16px;\n}\n\n:host div {\n flex: 1;\n background-color: var(--divider-color);\n height: var(--divider-height);\n}\n","import { Component, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'cpsl-divider',\n styleUrl: 'cpsl-divider.scss',\n shadow: true,\n})\nexport class CpslDivider {\n render() {\n return (\n <Host>\n <div />\n <slot></slot>\n <div />\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n display: block;\n\n --height: 24px;\n --width: 24px;\n\n --icon-color: var(--cpsl-color-text-primary);\n\n width: var(--width);\n height: var(--height);\n}\n\n:host div {\n display: flex;\n\n width: var(--width);\n height: var(--height);\n\n color: var(--icon-color);\n}\n\n:host svg {\n width: var(--width);\n height: var(--height);\n}\n\n:host img {\n width: var(--width);\n height: var(--height);\n\n object-fit: contain;\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { IconType } from '../../interface';\nimport { Icons } from '../../assets/icons';\n\n@Component({\n tag: 'cpsl-icon',\n styleUrl: 'cpsl-icon.scss',\n shadow: true,\n assetsDirs: ['../assets'],\n})\nexport class CpslIcon {\n /**\n * The external source of the icon. If both `icon` and `src` are provided, `icon` will be used.\n */\n @Prop() src?: string;\n\n /**\n * The name of the icon. If both `icon` and `src` are provided, `icon` will be used.\n */\n @Prop() icon?: IconType;\n\n render() {\n return (\n <Host part=\"icon\" role=\"img\">\n {!Boolean(this.icon) ? <img src={this.src} /> : <div innerHTML={Icons[this.icon]} />}\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --container-box-shadow: none;\n --container-box-shadow-color: var(--cpsl-color-alpha-black-16);\n --container-border-color: var(--cpsl-color-input-border-active);\n --container-border-error-color: var(--cpsl-color-input-border-error);\n --container-background-color: var(--cpsl-color-input-surface-default);\n --container-background-color-disabled: var(--cpsl-color-input-surface-disabled);\n --container-border-width: 1px;\n --container-border-radius: var(--cpsl-border-radius-input);\n --container-padding-top: 4px;\n --container-padding-bottom: 4px;\n --container-padding-end: 4px;\n --container-padding-start: 8px;\n --container-height: 46px;\n --container-gap: 8px;\n\n --input-background-color: var(--cpsl-color-input-surface-default);\n --input-background-color-disabled: var(--cpsl-color-input-surface-disabled);\n --input-color: var(--cpsl-color-text-primary);\n --input-placeholder-color: var(--cpsl-color-text-secondary);\n --input-font-size: 14px;\n\n --label-color: var(--cpsl-color-text-primary);\n --label-font-size: 14px;\n --label-margin-bottom: 5px;\n\n --helper-text-color: var(--cpsl-color-text-secondary);\n --helper-text-error-color: var(--cpsl-color-text-error);\n --helper-text-icon-color: var(--cpsl-color-text-secondary);\n --helper-text-icon-error-color: var(--cpsl-color-text-error);\n --helper-text-icon-size: 16px;\n --helper-text-font-size: 12px;\n --helper-text-margin-top: 6px;\n\n display: block;\n\n font-family: $font-family-base;\n}\n\n:host(.disabled) {\n --container-background-color: var(--container-background-color-disabled);\n --input-background-color: var(--input-background-color-disabled);\n --input-color: var(--cpsl-color-text-secondary);\n}\n\n:host(.focused) {\n --container-box-shadow: 0px 0px 0px 2px var(--container-box-shadow-color);\n}\n\n:host(:not(.has-value)) {\n --container-border-color: var(--cpsl-color-input-border-placeholder);\n --input-color: var(--cpsl-color-text-secondary);\n}\n\n.input-container {\n @include padding(var(--container-padding-top), var(--container-padding-end), var(--container-padding-bottom), var(--container-padding-start));\n\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: var(--container-height);\n gap: var(--container-gap);\n\n border-style: solid;\n border-width: var(--container-border-width);\n border-color: var(--container-border-color);\n border-radius: var(--container-border-radius);\n background-color: var(--container-background-color);\n\n box-shadow: var(--container-box-shadow);\n}\n\n.error-container {\n border-color: var(--container-border-error-color);\n}\n\n.native-input {\n flex: 1;\n min-width: 0;\n border: none;\n height: 100%;\n box-sizing: border-box;\n\n font-size: var(--input-font-size);\n color: var(--input-color);\n background-color: var(--input-background-color);\n\n &:focus,\n &:focus-visible {\n outline: none;\n }\n\n &::placeholder {\n color: var(--input-placeholder-color);\n opacity: 1; /* Firefox */\n }\n\n font-family: $font-family-base;\n}\n\n.label {\n display: inline-block;\n color: var(--label-color);\n font-size: var(--label-font-size);\n\n margin-bottom: var(--label-margin-bottom);\n}\n\n.helper-text-container {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--helper-text-color);\n font-size: var(--helper-text-font-size);\n\n margin-top: var(--helper-text-margin-top);\n\n cpsl-icon {\n --height: var(--helper-text-icon-size);\n --width: var(--helper-text-icon-size);\n --icon-color: var(--helper-text-icon-color);\n }\n}\n\n.error-text {\n color: var(--helper-text-error-color);\n\n cpsl-icon {\n --icon-color: var(--helper-text-icon-error-color);\n }\n}\n\n:host {\n ::slotted([slot='start']) {\n flex: 0;\n }\n ::slotted([slot='end']) {\n flex: 0;\n }\n ::slotted(cpsl-icon) {\n --icon-color: var(--input-color);\n }\n ::slotted(cpsl-button) {\n width: calc(var(--container-height) - var(--container-padding-top) - var(--container-padding-bottom) - var(--container-border-width) * 2);\n }\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, State, Element, Watch } from '@stencil/core';\nimport { AutocompleteTypes, IconType, TextFieldTypes } from '../../interface';\nimport { InputChangeEventDetail, InputInputEventDetail } from './input-interface';\n\n@Component({\n tag: 'cpsl-input',\n styleUrl: 'cpsl-input.scss',\n shadow: true,\n})\nexport class CpslInput {\n @Element() el!: HTMLCpslInputElement;\n\n private inputId = `cpsl-input-${inputIds++}`;\n /**\n * The value of the input when the input is focused.\n */\n private focusedValue?: string | number | null;\n\n @State() hasFocus = false;\n\n /**\n * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\n * Available options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`.\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() autocapitalize = 'off';\n\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n @Prop() autocomplete: AutocompleteTypes = 'off';\n\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n @Prop() autocorrect: 'on' | 'off' = 'off';\n\n /**\n * Whether to disable auto disabling of the slotted components.\n */\n @Prop() noAutoDisable: boolean;\n\n /**\n * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.\n *\n * This may not be sufficient for the element to be focused on page load.\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() autofocus = false;\n\n /**\n * If `true`, the user cannot interact with the input.\n */\n @Prop() disabled = false;\n\n /**\n * A hint to the browser for which enter key to display.\n * Possible values: `\"enter\"`, `\"done\"`, `\"go\"`, `\"next\"`,\n * `\"previous\"`, `\"search\"`, and `\"send\"`.\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n\n /**\n * Error text to show below the input. If this is provided the input will enter an error state.\n */\n @Prop() errorText?: string;\n\n /**\n * Helper text to show below the input. If `\"errorText\"` is provided that will take precedence.\n */\n @Prop() helperText?: string;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';\n\n /**\n * The label for the input.\n */\n @Prop() label?: string;\n\n /**\n * The maximum value, which must not be less than its minimum (min attribute) value.\n */\n @Prop() max?: string | number;\n\n /**\n * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.\n */\n @Prop() maxlength?: number;\n\n /**\n * The minimum value, which must not be greater than its maximum (max attribute) value.\n */\n @Prop() min?: string | number;\n\n /**\n * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.\n */\n @Prop() minlength?: number;\n\n /**\n * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `\"email\"`, otherwise it is ignored.\n */\n @Prop() multiple?: boolean;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, `\"date\"`, or `\"password\"`, otherwise it is ignored. When the type attribute is `\"date\"`, `pattern` will only be used in browsers that do not support the `\"date\"` input type natively. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date for more information.\n */\n @Prop() pattern?: string;\n\n /**\n * Instructional text that shows before the input has a value.\n * This property applies only when the `type` property is set to `\"email\"`,\n * `\"number\"`, `\"password\"`, `\"search\"`, `\"tel\"`, `\"text\"`, or `\"url\"`, otherwise it is ignored.\n */\n @Prop() placeholder?: string;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() spellcheck = false;\n\n /**\n * The external source of the icon at the start of the input. If both `startIcon` and `startIconSrc` are provided, `startIcon` will be used.\n */\n @Prop() startIconSrc?: string;\n\n /**\n * The name of the icon at the start of the input. If both `startIcon` and `startIconSrc` are provided, `startIcon` will be used.\n */\n @Prop() startIcon?: IconType;\n\n /**\n * Works with the min and max attributes to limit the increments at which a value can be set.\n * Possible values are: `\"any\"` or a positive floating point number.\n */\n @Prop() step?: string;\n\n /**\n * The type of control to display. The default type is `text`.\n */\n @Prop() type: TextFieldTypes = 'text';\n\n /**\n * The value of the controlled input.\n */\n @Prop({ mutable: true }) value?: string;\n\n /**\n * The `cpslInput` event is fired each time the user modifies the input's value.\n * Unlike the `cpslChange` event, the `cpslInput` event is fired for each alteration\n * to the input's value. This typically happens for each keystroke as the user types.\n *\n * For elements that accept text input (`type=text`, `type=tel`, etc.), the interface\n * is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,\n * the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If\n * the input is cleared on edit, the type is `null`.\n */\n @Event() cpslInput!: EventEmitter<InputInputEventDetail>;\n\n /**\n * The `cpslChange` event is fired when the user modifies the input's value.\n * Unlike the `cpslInput` event, the `cpslChange` event is only fired when changes\n * are committed, not as the user types.\n *\n * Depending on the way the users interacts with the element, the `cpslChange`\n * event fires at a different moment:\n * - When the element loses focus after its value has changed: for elements\n * where the user's interaction is typing.\n */\n @Event() cpslChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() cpslBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input has focus.\n */\n @Event() cpslFocus!: EventEmitter<FocusEvent>;\n\n @Watch('disabled')\n handleDisable() {\n if (this.disabled) {\n this.disableSlots();\n } else {\n this.enableSlots();\n }\n }\n\n componentDidLoad() {\n if (Boolean(this.value)) {\n this.enableSlots();\n } else {\n this.disableSlots();\n }\n }\n\n private disableSlots() {\n if (!this.noAutoDisable) {\n this.el.querySelector('[slot=\"end\"]').setAttribute('disabled', 'true');\n this.el.querySelector('[slot=\"start\"]').setAttribute('disabled', 'true');\n }\n }\n\n private enableSlots() {\n this.el.querySelector('[slot=\"end\"]').setAttribute('disabled', 'false');\n this.el.querySelector('[slot=\"start\"]').setAttribute('disabled', 'false');\n }\n\n /**\n * Emits a `cpslInput` event.\n */\n private emitInputChange(event?: Event) {\n const { value } = this;\n\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n\n this.cpslInput.emit({ value: newValue, event });\n }\n\n /**\n * Emits a `cpslChange` event.\n *\n * This API should be called for user committed changes.\n * This API should not be used for external value changes.\n */\n private emitValueChange(event?: Event) {\n const { value } = this;\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n // Emitting a value change should update the internal state for tracking the focused value\n this.focusedValue = newValue;\n this.cpslChange.emit({ value: newValue, event });\n }\n\n private onInput = (ev: InputEvent | Event) => {\n const input = ev.target as HTMLInputElement | null;\n if (Boolean(input)) {\n this.value = input.value || '';\n input.value === '' ? this.disableSlots() : this.enableSlots();\n }\n this.emitInputChange(ev);\n };\n\n private onChange = (ev: Event) => {\n this.emitValueChange(ev);\n };\n\n private onBlur = (ev: FocusEvent) => {\n this.hasFocus = false;\n\n if (this.focusedValue !== this.value) {\n /**\n * Emits the `cpslChange` event when the input value\n * is different than the value when the input was focused.\n */\n this.emitValueChange(ev);\n }\n\n this.cpslBlur.emit(ev);\n };\n\n private onFocus = (ev: FocusEvent) => {\n this.hasFocus = true;\n this.focusedValue = this.value;\n\n this.cpslFocus.emit(ev);\n };\n\n private focusInput = () => {\n this.nativeInput.focus();\n };\n\n private get nativeInput() {\n return this.el.shadowRoot.getElementById(this.inputId);\n }\n\n render() {\n return (\n <Host class={{ 'disabled': this.disabled, 'focused': this.hasFocus, 'has-value': Boolean(this.focusedValue) || Boolean(this.value) }}>\n {this.label && (\n <label class=\"label\" htmlFor={this.inputId}>\n {this.label}\n </label>\n )}\n <div onClick={this.focusInput} class={{ 'input-container': true, 'error-container': Boolean(this.errorText) }}>\n <slot name=\"start\"></slot>\n <input\n class=\"native-input\"\n id={this.inputId}\n disabled={this.disabled}\n autoCapitalize={this.autocapitalize}\n autoComplete={this.autocomplete}\n autoCorrect={this.autocorrect}\n autoFocus={this.autofocus}\n enterKeyHint={this.enterkeyhint}\n inputMode={this.inputmode}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n multiple={this.multiple}\n name={this.name}\n pattern={this.pattern}\n placeholder={this.placeholder || ''}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n type={this.type}\n value={this.value}\n onInput={this.onInput}\n onChange={this.onChange}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n />\n <slot name=\"end\"></slot>\n </div>\n {(this.errorText || this.helperText) && (\n <div class={{ 'helper-text-container': true, 'error-text': Boolean(this.errorText) }}>\n <cpsl-icon icon={Boolean(this.errorText) ? 'alertCircle' : 'infoCircle'} />\n <span>{this.errorText ?? this.helperText}</span>\n </div>\n )}\n </Host>\n );\n }\n}\n\nlet inputIds = 0;\n","function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/*!\n * GSAP 3.12.5\n * https://gsap.com\n *\n * @license Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n*/\n\n/* eslint-disable */\nvar _config = {\n autoSleep: 120,\n force3D: \"auto\",\n nullTargetWarn: 1,\n units: {\n lineHeight: \"\"\n }\n},\n _defaults = {\n duration: .5,\n overwrite: false,\n delay: 0\n},\n _suppressOverwrites,\n _reverting,\n _context,\n _bigNum = 1e8,\n _tinyNum = 1 / _bigNum,\n _2PI = Math.PI * 2,\n _HALF_PI = _2PI / 4,\n _gsID = 0,\n _sqrt = Math.sqrt,\n _cos = Math.cos,\n _sin = Math.sin,\n _isString = function _isString(value) {\n return typeof value === \"string\";\n},\n _isFunction = function _isFunction(value) {\n return typeof value === \"function\";\n},\n _isNumber = function _isNumber(value) {\n return typeof value === \"number\";\n},\n _isUndefined = function _isUndefined(value) {\n return typeof value === \"undefined\";\n},\n _isObject = function _isObject(value) {\n return typeof value === \"object\";\n},\n _isNotFalse = function _isNotFalse(value) {\n return value !== false;\n},\n _windowExists = function _windowExists() {\n return typeof window !== \"undefined\";\n},\n _isFuncOrString = function _isFuncOrString(value) {\n return _isFunction(value) || _isString(value);\n},\n _isTypedArray = typeof ArrayBuffer === \"function\" && ArrayBuffer.isView || function () {},\n // note: IE10 has ArrayBuffer, but NOT ArrayBuffer.isView().\n_isArray = Array.isArray,\n _strictNumExp = /(?:-?\\.?\\d|\\.)+/gi,\n //only numbers (including negatives and decimals) but NOT relative values.\n_numExp = /[-+=.]*\\d+[.e\\-+]*\\d*[e\\-+]*\\d*/g,\n //finds any numbers, including ones that start with += or -=, negative numbers, and ones in scientific notation like 1e-8.\n_numWithUnitExp = /[-+=.]*\\d+[.e-]*\\d*[a-z%]*/g,\n _complexStringNumExp = /[-+=.]*\\d+\\.?\\d*(?:e-|e\\+)?\\d*/gi,\n //duplicate so that while we're looping through matches from exec(), it doesn't contaminate the lastIndex of _numExp which we use to search for colors too.\n_relExp = /[+-]=-?[.\\d]+/,\n _delimitedValueExp = /[^,'\"\\[\\]\\s]+/gi,\n // previously /[#\\-+.]*\\b[a-z\\d\\-=+%.]+/gi but didn't catch special characters.\n_unitExp = /^[+\\-=e\\s\\d]*\\d+[.\\d]*([a-z]*|%)\\s*$/i,\n _globalTimeline,\n _win,\n _coreInitted,\n _doc,\n _globals = {},\n _installScope = {},\n _coreReady,\n _install = function _install(scope) {\n return (_installScope = _merge(scope, _globals)) && gsap;\n},\n _missingPlugin = function _missingPlugin(property, value) {\n return console.warn(\"Invalid property\", property, \"set to\", value, \"Missing plugin? gsap.registerPlugin()\");\n},\n _warn = function _warn(message, suppress) {\n return !suppress && console.warn(message);\n},\n _addGlobal = function _addGlobal(name, obj) {\n return name && (_globals[name] = obj) && _installScope && (_installScope[name] = obj) || _globals;\n},\n _emptyFunc = function _emptyFunc() {\n return 0;\n},\n _startAtRevertConfig = {\n suppressEvents: true,\n isStart: true,\n kill: false\n},\n _revertConfigNoKill = {\n suppressEvents: true,\n kill: false\n},\n _revertConfig = {\n suppressEvents: true\n},\n _reservedProps = {},\n _lazyTweens = [],\n _lazyLookup = {},\n _lastRenderedFrame,\n _plugins = {},\n _effects = {},\n _nextGCFrame = 30,\n _harnessPlugins = [],\n _callbackNames = \"\",\n _harness = function _harness(targets) {\n var target = targets[0],\n harnessPlugin,\n i;\n _isObject(target) || _isFunction(target) || (targets = [targets]);\n\n if (!(harnessPlugin = (target._gsap || {}).harness)) {\n // find the first target with a harness. We assume targets passed into an animation will be of similar type, meaning the same kind of harness can be used for them all (performance optimization)\n i = _harnessPlugins.length;\n\n while (i-- && !_harnessPlugins[i].targetTest(target)) {}\n\n harnessPlugin = _harnessPlugins[i];\n }\n\n i = targets.length;\n\n while (i--) {\n targets[i] && (targets[i]._gsap || (targets[i]._gsap = new GSCache(targets[i], harnessPlugin))) || targets.splice(i, 1);\n }\n\n return targets;\n},\n _getCache = function _getCache(target) {\n return target._gsap || _harness(toArray(target))[0]._gsap;\n},\n _getProperty = function _getProperty(target, property, v) {\n return (v = target[property]) && _isFunction(v) ? target[property]() : _isUndefined(v) && target.getAttribute && target.getAttribute(property) || v;\n},\n _forEachName = function _forEachName(names, func) {\n return (names = names.split(\",\")).forEach(func) || names;\n},\n //split a comma-delimited list of names into an array, then run a forEach() function and return the split array (this is just a way to consolidate/shorten some code).\n_round = function _round(value) {\n return Math.round(value * 100000) / 100000 || 0;\n},\n _roundPrecise = function _roundPrecise(value) {\n return Math.round(value * 10000000) / 10000000 || 0;\n},\n // increased precision mostly for timing values.\n_parseRelative = function _parseRelative(start, value) {\n var operator = value.charAt(0),\n end = parseFloat(value.substr(2));\n start = parseFloat(start);\n return operator === \"+\" ? start + end : operator === \"-\" ? start - end : operator === \"*\" ? start * end : start / end;\n},\n _arrayContainsAny = function _arrayContainsAny(toSearch, toFind) {\n //searches one array to find matches for any of the items in the toFind array. As soon as one is found, it returns true. It does NOT return all the matches; it's simply a boolean search.\n var l = toFind.length,\n i = 0;\n\n for (; toSearch.indexOf(toFind[i]) < 0 && ++i < l;) {}\n\n return i < l;\n},\n _lazyRender = function _lazyRender() {\n var l = _lazyTweens.length,\n a = _lazyTweens.slice(0),\n i,\n tween;\n\n _lazyLookup = {};\n _lazyTweens.length = 0;\n\n for (i = 0; i < l; i++) {\n tween = a[i];\n tween && tween._lazy && (tween.render(tween._lazy[0], tween._lazy[1], true)._lazy = 0);\n }\n},\n _lazySafeRender = function _lazySafeRender(animation, time, suppressEvents, force) {\n _lazyTweens.length && !_reverting && _lazyRender();\n animation.render(time, suppressEvents, force || _reverting && time < 0 && (animation._initted || animation._startAt));\n _lazyTweens.length && !_reverting && _lazyRender(); //in case rendering caused any tweens to lazy-init, we should render them because typically when someone calls seek() or time() or progress(), they expect an immediate render.\n},\n _numericIfPossible = function _numericIfPossible(value) {\n var n = parseFloat(value);\n return (n || n === 0) && (value + \"\").match(_delimitedValueExp).length < 2 ? n : _isString(value) ? value.trim() : value;\n},\n _passThrough = function _passThrough(p) {\n return p;\n},\n _setDefaults = function _setDefaults(obj, defaults) {\n for (var p in defaults) {\n p in obj || (obj[p] = defaults[p]);\n }\n\n return obj;\n},\n _setKeyframeDefaults = function _setKeyframeDefaults(excludeDuration) {\n return function (obj, defaults) {\n for (var p in defaults) {\n p in obj || p === \"duration\" && excludeDuration || p === \"ease\" || (obj[p] = defaults[p]);\n }\n };\n},\n _merge = function _merge(base, toMerge) {\n for (var p in toMerge) {\n base[p] = toMerge[p];\n }\n\n return base;\n},\n _mergeDeep = function _mergeDeep(base, toMerge) {\n for (var p in toMerge) {\n p !== \"__proto__\" && p !== \"constructor\" && p !== \"prototype\" && (base[p] = _isObject(toMerge[p]) ? _mergeDeep(base[p] || (base[p] = {}), toMerge[p]) : toMerge[p]);\n }\n\n return base;\n},\n _copyExcluding = function _copyExcluding(obj, excluding) {\n var copy = {},\n p;\n\n for (p in obj) {\n p in excluding || (copy[p] = obj[p]);\n }\n\n return copy;\n},\n _inheritDefaults = function _inheritDefaults(vars) {\n var parent = vars.parent || _globalTimeline,\n func = vars.keyframes ? _setKeyframeDefaults(_isArray(vars.keyframes)) : _setDefaults;\n\n if (_isNotFalse(vars.inherit)) {\n while (parent) {\n func(vars, parent.vars.defaults);\n parent = parent.parent || parent._dp;\n }\n }\n\n return vars;\n},\n _arraysMatch = function _arraysMatch(a1, a2) {\n var i = a1.length,\n match = i === a2.length;\n\n while (match && i-- && a1[i] === a2[i]) {}\n\n return i < 0;\n},\n _addLinkedListItem = function _addLinkedListItem(parent, child, firstProp, lastProp, sortBy) {\n if (firstProp === void 0) {\n firstProp = \"_first\";\n }\n\n if (lastProp === void 0) {\n lastProp = \"_last\";\n }\n\n var prev = parent[lastProp],\n t;\n\n if (sortBy) {\n t = child[sortBy];\n\n while (prev && prev[sortBy] > t) {\n prev = prev._prev;\n }\n }\n\n if (prev) {\n child._next = prev._next;\n prev._next = child;\n } else {\n child._next = parent[firstProp];\n parent[firstProp] = child;\n }\n\n if (child._next) {\n child._next._prev = child;\n } else {\n parent[lastProp] = child;\n }\n\n child._prev = prev;\n child.parent = child._dp = parent;\n return child;\n},\n _removeLinkedListItem = function _removeLinkedListItem(parent, child, firstProp, lastProp) {\n if (firstProp === void 0) {\n firstProp = \"_first\";\n }\n\n if (lastProp === void 0) {\n lastProp = \"_last\";\n }\n\n var prev = child._prev,\n next = child._next;\n\n if (prev) {\n prev._next = next;\n } else if (parent[firstProp] === child) {\n parent[firstProp] = next;\n }\n\n if (next) {\n next._prev = prev;\n } else if (parent[lastProp] === child) {\n parent[lastProp] = prev;\n }\n\n child._next = child._prev = child.parent = null; // don't delete the _dp just so we can revert if necessary. But parent should be null to indicate the item isn't in a linked list.\n},\n _removeFromParent = function _removeFromParent(child, onlyIfParentHasAutoRemove) {\n child.parent && (!onlyIfParentHasAutoRemove || child.parent.autoRemoveChildren) && child.parent.remove && child.parent.remove(child);\n child._act = 0;\n},\n _uncache = function _uncache(animation, child) {\n if (animation && (!child || child._end > animation._dur || child._start < 0)) {\n // performance optimization: if a child animation is passed in we should only uncache if that child EXTENDS the animation (its end time is beyond the end)\n var a = animation;\n\n while (a) {\n a._dirty = 1;\n a = a.parent;\n }\n }\n\n return animation;\n},\n _recacheAncestors = function _recacheAncestors(animation) {\n var parent = animation.parent;\n\n while (parent && parent.parent) {\n //sometimes we must force a re-sort of all children and update the duration/totalDuration of all ancestor timelines immediately in case, for example, in the middle of a render loop, one tween alters another tween's timeScale which shoves its startTime before 0, forcing the parent timeline to shift around and shiftChildren() which could affect that next tween's render (startTime). Doesn't matter for the root timeline though.\n parent._dirty = 1;\n parent.totalDuration();\n parent = parent.parent;\n }\n\n return animation;\n},\n _rewindStartAt = function _rewindStartAt(tween, totalTime, suppressEvents, force) {\n return tween._startAt && (_reverting ? tween._startAt.revert(_revertConfigNoKill) : tween.vars.immediateRender && !tween.vars.autoRevert || tween._startAt.render(totalTime, true, force));\n},\n _hasNoPausedAncestors = function _hasNoPausedAncestors(animation) {\n return !animation || animation._ts && _hasNoPausedAncestors(animation.parent);\n},\n _elapsedCycleDuration = function _elapsedCycleDuration(animation) {\n return animation._repeat ? _animationCycle(animation._tTime, animation = animation.duration() + animation._rDelay) * animation : 0;\n},\n // feed in the totalTime and cycleDuration and it'll return the cycle (iteration minus 1) and if the playhead is exactly at the very END, it will NOT bump up to the next cycle.\n_animationCycle = function _animationCycle(tTime, cycleDuration) {\n var whole = Math.floor(tTime /= cycleDuration);\n return tTime && whole === tTime ? whole - 1 : whole;\n},\n _parentToChildTotalTime = function _parentToChildTotalTime(parentTime, child) {\n return (parentTime - child._start) * child._ts + (child._ts >= 0 ? 0 : child._dirty ? child.totalDuration() : child._tDur);\n},\n _setEnd = function _setEnd(animation) {\n return animation._end = _roundPrecise(animation._start + (animation._tDur / Math.abs(animation._ts || animation._rts || _tinyNum) || 0));\n},\n _alignPlayhead = function _alignPlayhead(animation, totalTime) {\n // adjusts the animation's _start and _end according to the provided totalTime (only if the parent's smoothChildTiming is true and the animation isn't paused). It doesn't do any rendering or forcing things back into parent timelines, etc. - that's what totalTime() is for.\n var parent = animation._dp;\n\n if (parent && parent.smoothChildTiming && animation._ts) {\n animation._start = _roundPrecise(parent._time - (animation._ts > 0 ? totalTime / animation._ts : ((animation._dirty ? animation.totalDuration() : animation._tDur) - totalTime) / -animation._ts));\n\n _setEnd(animation);\n\n parent._dirty || _uncache(parent, animation); //for performance improvement. If the parent's cache is already dirty, it already took care of marking the ancestors as dirty too, so skip the function call here.\n }\n\n return animation;\n},\n\n/*\n_totalTimeToTime = (clampedTotalTime, duration, repeat, repeatDelay, yoyo) => {\n\tlet cycleDuration = duration + repeatDelay,\n\t\ttime = _round(clampedTotalTime % cycleDuration);\n\tif (time > duration) {\n\t\ttime = duration;\n\t}\n\treturn (yoyo && (~~(clampedTotalTime / cycleDuration) & 1)) ? duration - time : time;\n},\n*/\n_postAddChecks = function _postAddChecks(timeline, child) {\n var t;\n\n if (child._time || !child._dur && child._initted || child._start < timeline._time && (child._dur || !child.add)) {\n // in case, for example, the _start is moved on a tween that has already rendered, or if it's being inserted into a timeline BEFORE where the playhead is currently. Imagine it's at its end state, then the startTime is moved WAY later (after the end of this timeline), it should render at its beginning. Special case: if it's a timeline (has .add() method) and no duration, we can skip rendering because the user may be populating it AFTER adding it to a parent timeline (unconventional, but possible, and we wouldn't want it to get removed if the parent's autoRemoveChildren is true).\n t = _parentToChildTotalTime(timeline.rawTime(), child);\n\n if (!child._dur || _clamp(0, child.totalDuration(), t) - child._tTime > _tinyNum) {\n child.render(t, true);\n }\n } //if the timeline has already ended but the inserted tween/timeline extends the duration, we should enable this timeline again so that it renders properly. We should also align the playhead with the parent timeline's when appropriate.\n\n\n if (_uncache(timeline, child)._dp && timeline._initted && timeline._time >= timeline._dur && timeline._ts) {\n //in case any of the ancestors had completed but should now be enabled...\n if (timeline._dur < timeline.duration()) {\n t = timeline;\n\n while (t._dp) {\n t.rawTime() >= 0 && t.totalTime(t._tTime); //moves the timeline (shifts its startTime) if necessary, and also enables it. If it's currently zero, though, it may not be scheduled to render until later so there's no need to force it to align with the current playhead position. Only move to catch up with the playhead.\n\n t = t._dp;\n }\n }\n\n timeline._zTime = -_tinyNum; // helps ensure that the next render() will be forced (crossingStart = true in render()), even if the duration hasn't changed (we're adding a child which would need to get rendered). Definitely an edge case. Note: we MUST do this AFTER the loop above where the totalTime() might trigger a render() because this _addToTimeline() method gets called from the Animation constructor, BEFORE tweens even record their targets, etc. so we wouldn't want things to get triggered in the wrong order.\n }\n},\n _addToTimeline = function _addToTimeline(timeline, child, position, skipChecks) {\n child.parent && _removeFromParent(child);\n child._start = _roundPrecise((_isNumber(position) ? position : position || timeline !== _globalTimeline ? _parsePosition(timeline, position, child) : timeline._time) + child._delay);\n child._end = _roundPrecise(child._start + (child.totalDuration() / Math.abs(child.timeScale()) || 0));\n\n _addLinkedListItem(timeline, child, \"_first\", \"_last\", timeline._sort ? \"_start\" : 0);\n\n _isFromOrFromStart(child) || (timeline._recent = child);\n skipChecks || _postAddChecks(timeline, child);\n timeline._ts < 0 && _alignPlayhead(timeline, timeline._tTime); // if the timeline is reversed and the new child makes it longer, we may need to adjust the parent's _start (push it back)\n\n return timeline;\n},\n _scrollTrigger = function _scrollTrigger(animation, trigger) {\n return (_globals.ScrollTrigger || _missingPlugin(\"scrollTrigger\", trigger)) && _globals.ScrollTrigger.create(trigger, animation);\n},\n _attemptInitTween = function _attemptInitTween(tween, time, force, suppressEvents, tTime) {\n _initTween(tween, time, tTime);\n\n if (!tween._initted) {\n return 1;\n }\n\n if (!force && tween._pt && !_reverting && (tween._dur && tween.vars.lazy !== false || !tween._dur && tween.vars.lazy) && _lastRenderedFrame !== _ticker.frame) {\n _lazyTweens.push(tween);\n\n tween._lazy = [tTime, suppressEvents];\n return 1;\n }\n},\n _parentPlayheadIsBeforeStart = function _parentPlayheadIsBeforeStart(_ref) {\n var parent = _ref.parent;\n return parent && parent._ts && parent._initted && !parent._lock && (parent.rawTime() < 0 || _parentPlayheadIsBeforeStart(parent));\n},\n // check parent's _lock because when a timeline repeats/yoyos and does its artificial wrapping, we shouldn't force the ratio back to 0\n_isFromOrFromStart = function _isFromOrFromStart(_ref2) {\n var data = _ref2.data;\n return data === \"isFromStart\" || data === \"isStart\";\n},\n _renderZeroDurationTween = function _renderZeroDurationTween(tween, totalTime, suppressEvents, force) {\n var prevRatio = tween.ratio,\n ratio = totalTime < 0 || !totalTime && (!tween._start && _parentPlayheadIsBeforeStart(tween) && !(!tween._initted && _isFromOrFromStart(tween)) || (tween._ts < 0 || tween._dp._ts < 0) && !_isFromOrFromStart(tween)) ? 0 : 1,\n // if the tween or its parent is reversed and the totalTime is 0, we should go to a ratio of 0. Edge case: if a from() or fromTo() stagger tween is placed later in a timeline, the \"startAt\" zero-duration tween could initially render at a time when the parent timeline's playhead is technically BEFORE where this tween is, so make sure that any \"from\" and \"fromTo\" startAt tweens are rendered the first time at a ratio of 1.\n repeatDelay = tween._rDelay,\n tTime = 0,\n pt,\n iteration,\n prevIteration;\n\n if (repeatDelay && tween._repeat) {\n // in case there's a zero-duration tween that has a repeat with a repeatDelay\n tTime = _clamp(0, tween._tDur, totalTime);\n iteration = _animationCycle(tTime, repeatDelay);\n tween._yoyo && iteration & 1 && (ratio = 1 - ratio);\n\n if (iteration !== _animationCycle(tween._tTime, repeatDelay)) {\n // if iteration changed\n prevRatio = 1 - ratio;\n tween.vars.repeatRefresh && tween._initted && tween.invalidate();\n }\n }\n\n if (ratio !== prevRatio || _reverting || force || tween._zTime === _tinyNum || !totalTime && tween._zTime) {\n if (!tween._initted && _attemptInitTween(tween, totalTime, force, suppressEvents, tTime)) {\n // if we render the very beginning (time == 0) of a fromTo(), we must force the render (normal tweens wouldn't need to render at a time of 0 when the prevTime was also 0). This is also mandatory to make sure overwriting kicks in immediately.\n return;\n }\n\n prevIteration = tween._zTime;\n tween._zTime = totalTime || (suppressEvents ? _tinyNum : 0); // when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect.\n\n suppressEvents || (suppressEvents = totalTime && !prevIteration); // if it was rendered previously at exactly 0 (_zTime) and now the playhead is moving away, DON'T fire callbacks otherwise they'll seem like duplicates.\n\n tween.ratio = ratio;\n tween._from && (ratio = 1 - ratio);\n tween._time = 0;\n tween._tTime = tTime;\n pt = tween._pt;\n\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n\n totalTime < 0 && _rewindStartAt(tween, totalTime, suppressEvents, true);\n tween._onUpdate && !suppressEvents && _callback(tween, \"onUpdate\");\n tTime && tween._repeat && !suppressEvents && tween.parent && _callback(tween, \"onRepeat\");\n\n if ((totalTime >= tween._tDur || totalTime < 0) && tween.ratio === ratio) {\n ratio && _removeFromParent(tween, 1);\n\n if (!suppressEvents && !_reverting) {\n _callback(tween, ratio ? \"onComplete\" : \"onReverseComplete\", true);\n\n tween._prom && tween._prom();\n }\n }\n } else if (!tween._zTime) {\n tween._zTime = totalTime;\n }\n},\n _findNextPauseTween = function _findNextPauseTween(animation, prevTime, time) {\n var child;\n\n if (time > prevTime) {\n child = animation._first;\n\n while (child && child._start <= time) {\n if (child.data === \"isPause\" && child._start > prevTime) {\n return child;\n }\n\n child = child._next;\n }\n } else {\n child = animation._last;\n\n while (child && child._start >= time) {\n if (child.data === \"isPause\" && child._start < prevTime) {\n return child;\n }\n\n child = child._prev;\n }\n }\n},\n _setDuration = function _setDuration(animation, duration, skipUncache, leavePlayhead) {\n var repeat = animation._repeat,\n dur = _roundPrecise(duration) || 0,\n totalProgress = animation._tTime / animation._tDur;\n totalProgress && !leavePlayhead && (animation._time *= dur / animation._dur);\n animation._dur = dur;\n animation._tDur = !repeat ? dur : repeat < 0 ? 1e10 : _roundPrecise(dur * (repeat + 1) + animation._rDelay * repeat);\n totalProgress > 0 && !leavePlayhead && _alignPlayhead(animation, animation._tTime = animation._tDur * totalProgress);\n animation.parent && _setEnd(animation);\n skipUncache || _uncache(animation.parent, animation);\n return animation;\n},\n _onUpdateTotalDuration = function _onUpdateTotalDuration(animation) {\n return animation instanceof Timeline ? _uncache(animation) : _setDuration(animation, animation._dur);\n},\n _zeroPosition = {\n _start: 0,\n endTime: _emptyFunc,\n totalDuration: _emptyFunc\n},\n _parsePosition = function _parsePosition(animation, position, percentAnimation) {\n var labels = animation.labels,\n recent = animation._recent || _zeroPosition,\n clippedDuration = animation.duration() >= _bigNum ? recent.endTime(false) : animation._dur,\n //in case there's a child that infinitely repeats, users almost never intend for the insertion point of a new child to be based on a SUPER long value like that so we clip it and assume the most recently-added child's endTime should be used instead.\n i,\n offset,\n isPercent;\n\n if (_isString(position) && (isNaN(position) || position in labels)) {\n //if the string is a number like \"1\", check to see if there's a label with that name, otherwise interpret it as a number (absolute value).\n offset = position.charAt(0);\n isPercent = position.substr(-1) === \"%\";\n i = position.indexOf(\"=\");\n\n if (offset === \"<\" || offset === \">\") {\n i >= 0 && (position = position.replace(/=/, \"\"));\n return (offset === \"<\" ? recent._start : recent.endTime(recent._repeat >= 0)) + (parseFloat(position.substr(1)) || 0) * (isPercent ? (i < 0 ? recent : percentAnimation).totalDuration() / 100 : 1);\n }\n\n if (i < 0) {\n position in labels || (labels[position] = clippedDuration);\n return labels[position];\n }\n\n offset = parseFloat(position.charAt(i - 1) + position.substr(i + 1));\n\n if (isPercent && percentAnimation) {\n offset = offset / 100 * (_isArray(percentAnimation) ? percentAnimation[0] : percentAnimation).totalDuration();\n }\n\n return i > 1 ? _parsePosition(animation, position.substr(0, i - 1), percentAnimation) + offset : clippedDuration + offset;\n }\n\n return position == null ? clippedDuration : +position;\n},\n _createTweenType = function _createTweenType(type, params, timeline) {\n var isLegacy = _isNumber(params[1]),\n varsIndex = (isLegacy ? 2 : 1) + (type < 2 ? 0 : 1),\n vars = params[varsIndex],\n irVars,\n parent;\n\n isLegacy && (vars.duration = params[1]);\n vars.parent = timeline;\n\n if (type) {\n irVars = vars;\n parent = timeline;\n\n while (parent && !(\"immediateRender\" in irVars)) {\n // inheritance hasn't happened yet, but someone may have set a default in an ancestor timeline. We could do vars.immediateRender = _isNotFalse(_inheritDefaults(vars).immediateRender) but that'd exact a slight performance penalty because _inheritDefaults() also runs in the Tween constructor. We're paying a small kb price here to gain speed.\n irVars = parent.vars.defaults || {};\n parent = _isNotFalse(parent.vars.inherit) && parent.parent;\n }\n\n vars.immediateRender = _isNotFalse(irVars.immediateRender);\n type < 2 ? vars.runBackwards = 1 : vars.startAt = params[varsIndex - 1]; // \"from\" vars\n }\n\n return new Tween(params[0], vars, params[varsIndex + 1]);\n},\n _conditionalReturn = function _conditionalReturn(value, func) {\n return value || value === 0 ? func(value) : func;\n},\n _clamp = function _clamp(min, max, value) {\n return value < min ? min : value > max ? max : value;\n},\n getUnit = function getUnit(value, v) {\n return !_isString(value) || !(v = _unitExp.exec(value)) ? \"\" : v[1];\n},\n // note: protect against padded numbers as strings, like \"100.100\". That shouldn't return \"00\" as the unit. If it's numeric, return no unit.\nclamp = function clamp(min, max, value) {\n return _conditionalReturn(value, function (v) {\n return _clamp(min, max, v);\n });\n},\n _slice = [].slice,\n _isArrayLike = function _isArrayLike(value, nonEmpty) {\n return value && _isObject(value) && \"length\" in value && (!nonEmpty && !value.length || value.length - 1 in value && _isObject(value[0])) && !value.nodeType && value !== _win;\n},\n _flatten = function _flatten(ar, leaveStrings, accumulator) {\n if (accumulator === void 0) {\n accumulator = [];\n }\n\n return ar.forEach(function (value) {\n var _accumulator;\n\n return _isString(value) && !leaveStrings || _isArrayLike(value, 1) ? (_accumulator = accumulator).push.apply(_accumulator, toArray(value)) : accumulator.push(value);\n }) || accumulator;\n},\n //takes any value and returns an array. If it's a string (and leaveStrings isn't true), it'll use document.querySelectorAll() and convert that to an array. It'll also accept iterables like jQuery objects.\ntoArray = function toArray(value, scope, leaveStrings) {\n return _context && !scope && _context.selector ? _context.selector(value) : _isString(value) && !leaveStrings && (_coreInitted || !_wake()) ? _slice.call((scope || _doc).querySelectorAll(value), 0) : _isArray(value) ? _flatten(value, leaveStrings) : _isArrayLike(value) ? _slice.call(value, 0) : value ? [value] : [];\n},\n selector = function selector(value) {\n value = toArray(value)[0] || _warn(\"Invalid scope\") || {};\n return function (v) {\n var el = value.current || value.nativeElement || value;\n return toArray(v, el.querySelectorAll ? el : el === value ? _warn(\"Invalid scope\") || _doc.createElement(\"div\") : value);\n };\n},\n shuffle = function shuffle(a) {\n return a.sort(function () {\n return .5 - Math.random();\n });\n},\n // alternative that's a bit faster and more reliably diverse but bigger: for (let j, v, i = a.length; i; j = Math.floor(Math.random() * i), v = a[--i], a[i] = a[j], a[j] = v); return a;\n//for distributing values across an array. Can accept a number, a function or (most commonly) a function which can contain the following properties: {base, amount, from, ease, grid, axis, length, each}. Returns a function that expects the following parameters: index, target, array. Recognizes the following\ndistribute = function distribute(v) {\n if (_isFunction(v)) {\n return v;\n }\n\n var vars = _isObject(v) ? v : {\n each: v\n },\n //n:1 is just to indicate v was a number; we leverage that later to set v according to the length we get. If a number is passed in, we treat it like the old stagger value where 0.1, for example, would mean that things would be distributed with 0.1 between each element in the array rather than a total \"amount\" that's chunked out among them all.\n ease = _parseEase(vars.ease),\n from = vars.from || 0,\n base = parseFloat(vars.base) || 0,\n cache = {},\n isDecimal = from > 0 && from < 1,\n ratios = isNaN(from) || isDecimal,\n axis = vars.axis,\n ratioX = from,\n ratioY = from;\n\n if (_isString(from)) {\n ratioX = ratioY = {\n center: .5,\n edges: .5,\n end: 1\n }[from] || 0;\n } else if (!isDecimal && ratios) {\n ratioX = from[0];\n ratioY = from[1];\n }\n\n return function (i, target, a) {\n var l = (a || vars).length,\n distances = cache[l],\n originX,\n originY,\n x,\n y,\n d,\n j,\n max,\n min,\n wrapAt;\n\n if (!distances) {\n wrapAt = vars.grid === \"auto\" ? 0 : (vars.grid || [1, _bigNum])[1];\n\n if (!wrapAt) {\n max = -_bigNum;\n\n while (max < (max = a[wrapAt++].getBoundingClientRect().left) && wrapAt < l) {}\n\n wrapAt < l && wrapAt--;\n }\n\n distances = cache[l] = [];\n originX = ratios ? Math.min(wrapAt, l) * ratioX - .5 : from % wrapAt;\n originY = wrapAt === _bigNum ? 0 : ratios ? l * ratioY / wrapAt - .5 : from / wrapAt | 0;\n max = 0;\n min = _bigNum;\n\n for (j = 0; j < l; j++) {\n x = j % wrapAt - originX;\n y = originY - (j / wrapAt | 0);\n distances[j] = d = !axis ? _sqrt(x * x + y * y) : Math.abs(axis === \"y\" ? y : x);\n d > max && (max = d);\n d < min && (min = d);\n }\n\n from === \"random\" && shuffle(distances);\n distances.max = max - min;\n distances.min = min;\n distances.v = l = (parseFloat(vars.amount) || parseFloat(vars.each) * (wrapAt > l ? l - 1 : !axis ? Math.max(wrapAt, l / wrapAt) : axis === \"y\" ? l / wrapAt : wrapAt) || 0) * (from === \"edges\" ? -1 : 1);\n distances.b = l < 0 ? base - l : base;\n distances.u = getUnit(vars.amount || vars.each) || 0; //unit\n\n ease = ease && l < 0 ? _invertEase(ease) : ease;\n }\n\n l = (distances[i] - distances.min) / distances.max || 0;\n return _roundPrecise(distances.b + (ease ? ease(l) : l) * distances.v) + distances.u; //round in order to work around floating point errors\n };\n},\n _roundModifier = function _roundModifier(v) {\n //pass in 0.1 get a function that'll round to the nearest tenth, or 5 to round to the closest 5, or 0.001 to the closest 1000th, etc.\n var p = Math.pow(10, ((v + \"\").split(\".\")[1] || \"\").length); //to avoid floating point math errors (like 24 * 0.1 == 2.4000000000000004), we chop off at a specific number of decimal places (much faster than toFixed())\n\n return function (raw) {\n var n = _roundPrecise(Math.round(parseFloat(raw) / v) * v * p);\n\n return (n - n % 1) / p + (_isNumber(raw) ? 0 : getUnit(raw)); // n - n % 1 replaces Math.floor() in order to handle negative values properly. For example, Math.floor(-150.00000000000003) is 151!\n };\n},\n snap = function snap(snapTo, value) {\n var isArray = _isArray(snapTo),\n radius,\n is2D;\n\n if (!isArray && _isObject(snapTo)) {\n radius = isArray = snapTo.radius || _bigNum;\n\n if (snapTo.values) {\n snapTo = toArray(snapTo.values);\n\n if (is2D = !_isNumber(snapTo[0])) {\n radius *= radius; //performance optimization so we don't have to Math.sqrt() in the loop.\n }\n } else {\n snapTo = _roundModifier(snapTo.increment);\n }\n }\n\n return _conditionalReturn(value, !isArray ? _roundModifier(snapTo) : _isFunction(snapTo) ? function (raw) {\n is2D = snapTo(raw);\n return Math.abs(is2D - raw) <= radius ? is2D : raw;\n } : function (raw) {\n var x = parseFloat(is2D ? raw.x : raw),\n y = parseFloat(is2D ? raw.y : 0),\n min = _bigNum,\n closest = 0,\n i = snapTo.length,\n dx,\n dy;\n\n while (i--) {\n if (is2D) {\n dx = snapTo[i].x - x;\n dy = snapTo[i].y - y;\n dx = dx * dx + dy * dy;\n } else {\n dx = Math.abs(snapTo[i] - x);\n }\n\n if (dx < min) {\n min = dx;\n closest = i;\n }\n }\n\n closest = !radius || min <= radius ? snapTo[closest] : raw;\n return is2D || closest === raw || _isNumber(raw) ? closest : closest + getUnit(raw);\n });\n},\n random = function random(min, max, roundingIncrement, returnFunction) {\n return _conditionalReturn(_isArray(min) ? !max : roundingIncrement === true ? !!(roundingIncrement = 0) : !returnFunction, function () {\n return _isArray(min) ? min[~~(Math.random() * min.length)] : (roundingIncrement = roundingIncrement || 1e-5) && (returnFunction = roundingIncrement < 1 ? Math.pow(10, (roundingIncrement + \"\").length - 2) : 1) && Math.floor(Math.round((min - roundingIncrement / 2 + Math.random() * (max - min + roundingIncrement * .99)) / roundingIncrement) * roundingIncrement * returnFunction) / returnFunction;\n });\n},\n pipe = function pipe() {\n for (var _len = arguments.length, functions = new Array(_len), _key = 0; _key < _len; _key++) {\n functions[_key] = arguments[_key];\n }\n\n return function (value) {\n return functions.reduce(function (v, f) {\n return f(v);\n }, value);\n };\n},\n unitize = function unitize(func, unit) {\n return function (value) {\n return func(parseFloat(value)) + (unit || getUnit(value));\n };\n},\n normalize = function normalize(min, max, value) {\n return mapRange(min, max, 0, 1, value);\n},\n _wrapArray = function _wrapArray(a, wrapper, value) {\n return _conditionalReturn(value, function (index) {\n return a[~~wrapper(index)];\n });\n},\n wrap = function wrap(min, max, value) {\n // NOTE: wrap() CANNOT be an arrow function! A very odd compiling bug causes problems (unrelated to GSAP).\n var range = max - min;\n return _isArray(min) ? _wrapArray(min, wrap(0, min.length), max) : _conditionalReturn(value, function (value) {\n return (range + (value - min) % range) % range + min;\n });\n},\n wrapYoyo = function wrapYoyo(min, max, value) {\n var range = max - min,\n total = range * 2;\n return _isArray(min) ? _wrapArray(min, wrapYoyo(0, min.length - 1), max) : _conditionalReturn(value, function (value) {\n value = (total + (value - min) % total) % total || 0;\n return min + (value > range ? total - value : value);\n });\n},\n _replaceRandom = function _replaceRandom(value) {\n //replaces all occurrences of random(...) in a string with the calculated random value. can be a range like random(-100, 100, 5) or an array like random([0, 100, 500])\n var prev = 0,\n s = \"\",\n i,\n nums,\n end,\n isArray;\n\n while (~(i = value.indexOf(\"random(\", prev))) {\n end = value.indexOf(\")\", i);\n isArray = value.charAt(i + 7) === \"[\";\n nums = value.substr(i + 7, end - i - 7).match(isArray ? _delimitedValueExp : _strictNumExp);\n s += value.substr(prev, i - prev) + random(isArray ? nums : +nums[0], isArray ? 0 : +nums[1], +nums[2] || 1e-5);\n prev = end + 1;\n }\n\n return s + value.substr(prev, value.length - prev);\n},\n mapRange = function mapRange(inMin, inMax, outMin, outMax, value) {\n var inRange = inMax - inMin,\n outRange = outMax - outMin;\n return _conditionalReturn(value, function (value) {\n return outMin + ((value - inMin) / inRange * outRange || 0);\n });\n},\n interpolate = function interpolate(start, end, progress, mutate) {\n var func = isNaN(start + end) ? 0 : function (p) {\n return (1 - p) * start + p * end;\n };\n\n if (!func) {\n var isString = _isString(start),\n master = {},\n p,\n i,\n interpolators,\n l,\n il;\n\n progress === true && (mutate = 1) && (progress = null);\n\n if (isString) {\n start = {\n p: start\n };\n end = {\n p: end\n };\n } else if (_isArray(start) && !_isArray(end)) {\n interpolators = [];\n l = start.length;\n il = l - 2;\n\n for (i = 1; i < l; i++) {\n interpolators.push(interpolate(start[i - 1], start[i])); //build the interpolators up front as a performance optimization so that when the function is called many times, it can just reuse them.\n }\n\n l--;\n\n func = function func(p) {\n p *= l;\n var i = Math.min(il, ~~p);\n return interpolators[i](p - i);\n };\n\n progress = end;\n } else if (!mutate) {\n start = _merge(_isArray(start) ? [] : {}, start);\n }\n\n if (!interpolators) {\n for (p in end) {\n _addPropTween.call(master, start, p, \"get\", end[p]);\n }\n\n func = function func(p) {\n return _renderPropTweens(p, master) || (isString ? start.p : start);\n };\n }\n }\n\n return _conditionalReturn(progress, func);\n},\n _getLabelInDirection = function _getLabelInDirection(timeline, fromTime, backward) {\n //used for nextLabel() and previousLabel()\n var labels = timeline.labels,\n min = _bigNum,\n p,\n distance,\n label;\n\n for (p in labels) {\n distance = labels[p] - fromTime;\n\n if (distance < 0 === !!backward && distance && min > (distance = Math.abs(distance))) {\n label = p;\n min = distance;\n }\n }\n\n return label;\n},\n _callback = function _callback(animation, type, executeLazyFirst) {\n var v = animation.vars,\n callback = v[type],\n prevContext = _context,\n context = animation._ctx,\n params,\n scope,\n result;\n\n if (!callback) {\n return;\n }\n\n params = v[type + \"Params\"];\n scope = v.callbackScope || animation;\n executeLazyFirst && _lazyTweens.length && _lazyRender(); //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onUpdate on a timeline that reports/checks tweened values.\n\n context && (_context = context);\n result = params ? callback.apply(scope, params) : callback.call(scope);\n _context = prevContext;\n return result;\n},\n _interrupt = function _interrupt(animation) {\n _removeFromParent(animation);\n\n animation.scrollTrigger && animation.scrollTrigger.kill(!!_reverting);\n animation.progress() < 1 && _callback(animation, \"onInterrupt\");\n return animation;\n},\n _quickTween,\n _registerPluginQueue = [],\n _createPlugin = function _createPlugin(config) {\n if (!config) return;\n config = !config.name && config[\"default\"] || config; // UMD packaging wraps things oddly, so for example MotionPathHelper becomes {MotionPathHelper:MotionPathHelper, default:MotionPathHelper}.\n\n if (_windowExists() || config.headless) {\n // edge case: some build tools may pass in a null/undefined value\n var name = config.name,\n isFunc = _isFunction(config),\n Plugin = name && !isFunc && config.init ? function () {\n this._props = [];\n } : config,\n //in case someone passes in an object that's not a plugin, like CustomEase\n instanceDefaults = {\n init: _emptyFunc,\n render: _renderPropTweens,\n add: _addPropTween,\n kill: _killPropTweensOf,\n modifier: _addPluginModifier,\n rawVars: 0\n },\n statics = {\n targetTest: 0,\n get: 0,\n getSetter: _getSetter,\n aliases: {},\n register: 0\n };\n\n _wake();\n\n if (config !== Plugin) {\n if (_plugins[name]) {\n return;\n }\n\n _setDefaults(Plugin, _setDefaults(_copyExcluding(config, instanceDefaults), statics)); //static methods\n\n\n _merge(Plugin.prototype, _merge(instanceDefaults, _copyExcluding(config, statics))); //instance methods\n\n\n _plugins[Plugin.prop = name] = Plugin;\n\n if (config.targetTest) {\n _harnessPlugins.push(Plugin);\n\n _reservedProps[name] = 1;\n }\n\n name = (name === \"css\" ? \"CSS\" : name.charAt(0).toUpperCase() + name.substr(1)) + \"Plugin\"; //for the global name. \"motionPath\" should become MotionPathPlugin\n }\n\n _addGlobal(name, Plugin);\n\n config.register && config.register(gsap, Plugin, PropTween);\n } else {\n _registerPluginQueue.push(config);\n }\n},\n\n/*\n * --------------------------------------------------------------------------------------\n * COLORS\n * --------------------------------------------------------------------------------------\n */\n_255 = 255,\n _colorLookup = {\n aqua: [0, _255, _255],\n lime: [0, _255, 0],\n silver: [192, 192, 192],\n black: [0, 0, 0],\n maroon: [128, 0, 0],\n teal: [0, 128, 128],\n blue: [0, 0, _255],\n navy: [0, 0, 128],\n white: [_255, _255, _255],\n olive: [128, 128, 0],\n yellow: [_255, _255, 0],\n orange: [_255, 165, 0],\n gray: [128, 128, 128],\n purple: [128, 0, 128],\n green: [0, 128, 0],\n red: [_255, 0, 0],\n pink: [_255, 192, 203],\n cyan: [0, _255, _255],\n transparent: [_255, _255, _255, 0]\n},\n // possible future idea to replace the hard-coded color name values - put this in the ticker.wake() where we set the _doc:\n// let ctx = _doc.createElement(\"canvas\").getContext(\"2d\");\n// _forEachName(\"aqua,lime,silver,black,maroon,teal,blue,navy,white,olive,yellow,orange,gray,purple,green,red,pink,cyan\", color => {ctx.fillStyle = color; _colorLookup[color] = splitColor(ctx.fillStyle)});\n_hue = function _hue(h, m1, m2) {\n h += h < 0 ? 1 : h > 1 ? -1 : 0;\n return (h * 6 < 1 ? m1 + (m2 - m1) * h * 6 : h < .5 ? m2 : h * 3 < 2 ? m1 + (m2 - m1) * (2 / 3 - h) * 6 : m1) * _255 + .5 | 0;\n},\n splitColor = function splitColor(v, toHSL, forceAlpha) {\n var a = !v ? _colorLookup.black : _isNumber(v) ? [v >> 16, v >> 8 & _255, v & _255] : 0,\n r,\n g,\n b,\n h,\n s,\n l,\n max,\n min,\n d,\n wasHSL;\n\n if (!a) {\n if (v.substr(-1) === \",\") {\n //sometimes a trailing comma is included and we should chop it off (typically from a comma-delimited list of values like a textShadow:\"2px 2px 2px blue, 5px 5px 5px rgb(255,0,0)\" - in this example \"blue,\" has a trailing comma. We could strip it out inside parseComplex() but we'd need to do it to the beginning and ending values plus it wouldn't provide protection from other potential scenarios like if the user passes in a similar value.\n v = v.substr(0, v.length - 1);\n }\n\n if (_colorLookup[v]) {\n a = _colorLookup[v];\n } else if (v.charAt(0) === \"#\") {\n if (v.length < 6) {\n //for shorthand like #9F0 or #9F0F (could have alpha)\n r = v.charAt(1);\n g = v.charAt(2);\n b = v.charAt(3);\n v = \"#\" + r + r + g + g + b + b + (v.length === 5 ? v.charAt(4) + v.charAt(4) : \"\");\n }\n\n if (v.length === 9) {\n // hex with alpha, like #fd5e53ff\n a = parseInt(v.substr(1, 6), 16);\n return [a >> 16, a >> 8 & _255, a & _255, parseInt(v.substr(7), 16) / 255];\n }\n\n v = parseInt(v.substr(1), 16);\n a = [v >> 16, v >> 8 & _255, v & _255];\n } else if (v.substr(0, 3) === \"hsl\") {\n a = wasHSL = v.match(_strictNumExp);\n\n if (!toHSL) {\n h = +a[0] % 360 / 360;\n s = +a[1] / 100;\n l = +a[2] / 100;\n g = l <= .5 ? l * (s + 1) : l + s - l * s;\n r = l * 2 - g;\n a.length > 3 && (a[3] *= 1); //cast as number\n\n a[0] = _hue(h + 1 / 3, r, g);\n a[1] = _hue(h, r, g);\n a[2] = _hue(h - 1 / 3, r, g);\n } else if (~v.indexOf(\"=\")) {\n //if relative values are found, just return the raw strings with the relative prefixes in place.\n a = v.match(_numExp);\n forceAlpha && a.length < 4 && (a[3] = 1);\n return a;\n }\n } else {\n a = v.match(_strictNumExp) || _colorLookup.transparent;\n }\n\n a = a.map(Number);\n }\n\n if (toHSL && !wasHSL) {\n r = a[0] / _255;\n g = a[1] / _255;\n b = a[2] / _255;\n max = Math.max(r, g, b);\n min = Math.min(r, g, b);\n l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0;\n } else {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = max === r ? (g - b) / d + (g < b ? 6 : 0) : max === g ? (b - r) / d + 2 : (r - g) / d + 4;\n h *= 60;\n }\n\n a[0] = ~~(h + .5);\n a[1] = ~~(s * 100 + .5);\n a[2] = ~~(l * 100 + .5);\n }\n\n forceAlpha && a.length < 4 && (a[3] = 1);\n return a;\n},\n _colorOrderData = function _colorOrderData(v) {\n // strips out the colors from the string, finds all the numeric slots (with units) and returns an array of those. The Array also has a \"c\" property which is an Array of the index values where the colors belong. This is to help work around issues where there's a mis-matched order of color/numeric data like drop-shadow(#f00 0px 1px 2px) and drop-shadow(0x 1px 2px #f00). This is basically a helper function used in _formatColors()\n var values = [],\n c = [],\n i = -1;\n v.split(_colorExp).forEach(function (v) {\n var a = v.match(_numWithUnitExp) || [];\n values.push.apply(values, a);\n c.push(i += a.length + 1);\n });\n values.c = c;\n return values;\n},\n _formatColors = function _formatColors(s, toHSL, orderMatchData) {\n var result = \"\",\n colors = (s + result).match(_colorExp),\n type = toHSL ? \"hsla(\" : \"rgba(\",\n i = 0,\n c,\n shell,\n d,\n l;\n\n if (!colors) {\n return s;\n }\n\n colors = colors.map(function (color) {\n return (color = splitColor(color, toHSL, 1)) && type + (toHSL ? color[0] + \",\" + color[1] + \"%,\" + color[2] + \"%,\" + color[3] : color.join(\",\")) + \")\";\n });\n\n if (orderMatchData) {\n d = _colorOrderData(s);\n c = orderMatchData.c;\n\n if (c.join(result) !== d.c.join(result)) {\n shell = s.replace(_colorExp, \"1\").split(_numWithUnitExp);\n l = shell.length - 1;\n\n for (; i < l; i++) {\n result += shell[i] + (~c.indexOf(i) ? colors.shift() || type + \"0,0,0,0)\" : (d.length ? d : colors.length ? colors : orderMatchData).shift());\n }\n }\n }\n\n if (!shell) {\n shell = s.split(_colorExp);\n l = shell.length - 1;\n\n for (; i < l; i++) {\n result += shell[i] + colors[i];\n }\n }\n\n return result + shell[l];\n},\n _colorExp = function () {\n var s = \"(?:\\\\b(?:(?:rgb|rgba|hsl|hsla)\\\\(.+?\\\\))|\\\\B#(?:[0-9a-f]{3,4}){1,2}\\\\b\",\n //we'll dynamically build this Regular Expression to conserve file size. After building it, it will be able to find rgb(), rgba(), # (hexadecimal), and named color values like red, blue, purple, etc.,\n p;\n\n for (p in _colorLookup) {\n s += \"|\" + p + \"\\\\b\";\n }\n\n return new RegExp(s + \")\", \"gi\");\n}(),\n _hslExp = /hsl[a]?\\(/,\n _colorStringFilter = function _colorStringFilter(a) {\n var combined = a.join(\" \"),\n toHSL;\n _colorExp.lastIndex = 0;\n\n if (_colorExp.test(combined)) {\n toHSL = _hslExp.test(combined);\n a[1] = _formatColors(a[1], toHSL);\n a[0] = _formatColors(a[0], toHSL, _colorOrderData(a[1])); // make sure the order of numbers/colors match with the END value.\n\n return true;\n }\n},\n\n/*\n * --------------------------------------------------------------------------------------\n * TICKER\n * --------------------------------------------------------------------------------------\n */\n_tickerActive,\n _ticker = function () {\n var _getTime = Date.now,\n _lagThreshold = 500,\n _adjustedLag = 33,\n _startTime = _getTime(),\n _lastUpdate = _startTime,\n _gap = 1000 / 240,\n _nextTime = _gap,\n _listeners = [],\n _id,\n _req,\n _raf,\n _self,\n _delta,\n _i,\n _tick = function _tick(v) {\n var elapsed = _getTime() - _lastUpdate,\n manual = v === true,\n overlap,\n dispatch,\n time,\n frame;\n\n (elapsed > _lagThreshold || elapsed < 0) && (_startTime += elapsed - _adjustedLag);\n _lastUpdate += elapsed;\n time = _lastUpdate - _startTime;\n overlap = time - _nextTime;\n\n if (overlap > 0 || manual) {\n frame = ++_self.frame;\n _delta = time - _self.time * 1000;\n _self.time = time = time / 1000;\n _nextTime += overlap + (overlap >= _gap ? 4 : _gap - overlap);\n dispatch = 1;\n }\n\n manual || (_id = _req(_tick)); //make sure the request is made before we dispatch the \"tick\" event so that timing is maintained. Otherwise, if processing the \"tick\" requires a bunch of time (like 15ms) and we're using a setTimeout() that's based on 16.7ms, it'd technically take 31.7ms between frames otherwise.\n\n if (dispatch) {\n for (_i = 0; _i < _listeners.length; _i++) {\n // use _i and check _listeners.length instead of a variable because a listener could get removed during the loop, and if that happens to an element less than the current index, it'd throw things off in the loop.\n _listeners[_i](time, _delta, frame, v);\n }\n }\n };\n\n _self = {\n time: 0,\n frame: 0,\n tick: function tick() {\n _tick(true);\n },\n deltaRatio: function deltaRatio(fps) {\n return _delta / (1000 / (fps || 60));\n },\n wake: function wake() {\n if (_coreReady) {\n if (!_coreInitted && _windowExists()) {\n _win = _coreInitted = window;\n _doc = _win.document || {};\n _globals.gsap = gsap;\n (_win.gsapVersions || (_win.gsapVersions = [])).push(gsap.version);\n\n _install(_installScope || _win.GreenSockGlobals || !_win.gsap && _win || {});\n\n _registerPluginQueue.forEach(_createPlugin);\n }\n\n _raf = typeof requestAnimationFrame !== \"undefined\" && requestAnimationFrame;\n _id && _self.sleep();\n\n _req = _raf || function (f) {\n return setTimeout(f, _nextTime - _self.time * 1000 + 1 | 0);\n };\n\n _tickerActive = 1;\n\n _tick(2);\n }\n },\n sleep: function sleep() {\n (_raf ? cancelAnimationFrame : clearTimeout)(_id);\n _tickerActive = 0;\n _req = _emptyFunc;\n },\n lagSmoothing: function lagSmoothing(threshold, adjustedLag) {\n _lagThreshold = threshold || Infinity; // zero should be interpreted as basically unlimited\n\n _adjustedLag = Math.min(adjustedLag || 33, _lagThreshold);\n },\n fps: function fps(_fps) {\n _gap = 1000 / (_fps || 240);\n _nextTime = _self.time * 1000 + _gap;\n },\n add: function add(callback, once, prioritize) {\n var func = once ? function (t, d, f, v) {\n callback(t, d, f, v);\n\n _self.remove(func);\n } : callback;\n\n _self.remove(callback);\n\n _listeners[prioritize ? \"unshift\" : \"push\"](func);\n\n _wake();\n\n return func;\n },\n remove: function remove(callback, i) {\n ~(i = _listeners.indexOf(callback)) && _listeners.splice(i, 1) && _i >= i && _i--;\n },\n _listeners: _listeners\n };\n return _self;\n}(),\n _wake = function _wake() {\n return !_tickerActive && _ticker.wake();\n},\n //also ensures the core classes are initialized.\n\n/*\n* -------------------------------------------------\n* EASING\n* -------------------------------------------------\n*/\n_easeMap = {},\n _customEaseExp = /^[\\d.\\-M][\\d.\\-,\\s]/,\n _quotesExp = /[\"']/g,\n _parseObjectInString = function _parseObjectInString(value) {\n //takes a string like \"{wiggles:10, type:anticipate})\" and turns it into a real object. Notice it ends in \")\" and includes the {} wrappers. This is because we only use this function for parsing ease configs and prioritized optimization rather than reusability.\n var obj = {},\n split = value.substr(1, value.length - 3).split(\":\"),\n key = split[0],\n i = 1,\n l = split.length,\n index,\n val,\n parsedVal;\n\n for (; i < l; i++) {\n val = split[i];\n index = i !== l - 1 ? val.lastIndexOf(\",\") : val.length;\n parsedVal = val.substr(0, index);\n obj[key] = isNaN(parsedVal) ? parsedVal.replace(_quotesExp, \"\").trim() : +parsedVal;\n key = val.substr(index + 1).trim();\n }\n\n return obj;\n},\n _valueInParentheses = function _valueInParentheses(value) {\n var open = value.indexOf(\"(\") + 1,\n close = value.indexOf(\")\"),\n nested = value.indexOf(\"(\", open);\n return value.substring(open, ~nested && nested < close ? value.indexOf(\")\", close + 1) : close);\n},\n _configEaseFromString = function _configEaseFromString(name) {\n //name can be a string like \"elastic.out(1,0.5)\", and pass in _easeMap as obj and it'll parse it out and call the actual function like _easeMap.Elastic.easeOut.config(1,0.5). It will also parse custom ease strings as long as CustomEase is loaded and registered (internally as _easeMap._CE).\n var split = (name + \"\").split(\"(\"),\n ease = _easeMap[split[0]];\n return ease && split.length > 1 && ease.config ? ease.config.apply(null, ~name.indexOf(\"{\") ? [_parseObjectInString(split[1])] : _valueInParentheses(name).split(\",\").map(_numericIfPossible)) : _easeMap._CE && _customEaseExp.test(name) ? _easeMap._CE(\"\", name) : ease;\n},\n _invertEase = function _invertEase(ease) {\n return function (p) {\n return 1 - ease(1 - p);\n };\n},\n // allow yoyoEase to be set in children and have those affected when the parent/ancestor timeline yoyos.\n_propagateYoyoEase = function _propagateYoyoEase(timeline, isYoyo) {\n var child = timeline._first,\n ease;\n\n while (child) {\n if (child instanceof Timeline) {\n _propagateYoyoEase(child, isYoyo);\n } else if (child.vars.yoyoEase && (!child._yoyo || !child._repeat) && child._yoyo !== isYoyo) {\n if (child.timeline) {\n _propagateYoyoEase(child.timeline, isYoyo);\n } else {\n ease = child._ease;\n child._ease = child._yEase;\n child._yEase = ease;\n child._yoyo = isYoyo;\n }\n }\n\n child = child._next;\n }\n},\n _parseEase = function _parseEase(ease, defaultEase) {\n return !ease ? defaultEase : (_isFunction(ease) ? ease : _easeMap[ease] || _configEaseFromString(ease)) || defaultEase;\n},\n _insertEase = function _insertEase(names, easeIn, easeOut, easeInOut) {\n if (easeOut === void 0) {\n easeOut = function easeOut(p) {\n return 1 - easeIn(1 - p);\n };\n }\n\n if (easeInOut === void 0) {\n easeInOut = function easeInOut(p) {\n return p < .5 ? easeIn(p * 2) / 2 : 1 - easeIn((1 - p) * 2) / 2;\n };\n }\n\n var ease = {\n easeIn: easeIn,\n easeOut: easeOut,\n easeInOut: easeInOut\n },\n lowercaseName;\n\n _forEachName(names, function (name) {\n _easeMap[name] = _globals[name] = ease;\n _easeMap[lowercaseName = name.toLowerCase()] = easeOut;\n\n for (var p in ease) {\n _easeMap[lowercaseName + (p === \"easeIn\" ? \".in\" : p === \"easeOut\" ? \".out\" : \".inOut\")] = _easeMap[name + \".\" + p] = ease[p];\n }\n });\n\n return ease;\n},\n _easeInOutFromOut = function _easeInOutFromOut(easeOut) {\n return function (p) {\n return p < .5 ? (1 - easeOut(1 - p * 2)) / 2 : .5 + easeOut((p - .5) * 2) / 2;\n };\n},\n _configElastic = function _configElastic(type, amplitude, period) {\n var p1 = amplitude >= 1 ? amplitude : 1,\n //note: if amplitude is < 1, we simply adjust the period for a more natural feel. Otherwise the math doesn't work right and the curve starts at 1.\n p2 = (period || (type ? .3 : .45)) / (amplitude < 1 ? amplitude : 1),\n p3 = p2 / _2PI * (Math.asin(1 / p1) || 0),\n easeOut = function easeOut(p) {\n return p === 1 ? 1 : p1 * Math.pow(2, -10 * p) * _sin((p - p3) * p2) + 1;\n },\n ease = type === \"out\" ? easeOut : type === \"in\" ? function (p) {\n return 1 - easeOut(1 - p);\n } : _easeInOutFromOut(easeOut);\n\n p2 = _2PI / p2; //precalculate to optimize\n\n ease.config = function (amplitude, period) {\n return _configElastic(type, amplitude, period);\n };\n\n return ease;\n},\n _configBack = function _configBack(type, overshoot) {\n if (overshoot === void 0) {\n overshoot = 1.70158;\n }\n\n var easeOut = function easeOut(p) {\n return p ? --p * p * ((overshoot + 1) * p + overshoot) + 1 : 0;\n },\n ease = type === \"out\" ? easeOut : type === \"in\" ? function (p) {\n return 1 - easeOut(1 - p);\n } : _easeInOutFromOut(easeOut);\n\n ease.config = function (overshoot) {\n return _configBack(type, overshoot);\n };\n\n return ease;\n}; // a cheaper (kb and cpu) but more mild way to get a parameterized weighted ease by feeding in a value between -1 (easeIn) and 1 (easeOut) where 0 is linear.\n// _weightedEase = ratio => {\n// \tlet y = 0.5 + ratio / 2;\n// \treturn p => (2 * (1 - p) * p * y + p * p);\n// },\n// a stronger (but more expensive kb/cpu) parameterized weighted ease that lets you feed in a value between -1 (easeIn) and 1 (easeOut) where 0 is linear.\n// _weightedEaseStrong = ratio => {\n// \tratio = .5 + ratio / 2;\n// \tlet o = 1 / 3 * (ratio < .5 ? ratio : 1 - ratio),\n// \t\tb = ratio - o,\n// \t\tc = ratio + o;\n// \treturn p => p === 1 ? p : 3 * b * (1 - p) * (1 - p) * p + 3 * c * (1 - p) * p * p + p * p * p;\n// };\n\n\n_forEachName(\"Linear,Quad,Cubic,Quart,Quint,Strong\", function (name, i) {\n var power = i < 5 ? i + 1 : i;\n\n _insertEase(name + \",Power\" + (power - 1), i ? function (p) {\n return Math.pow(p, power);\n } : function (p) {\n return p;\n }, function (p) {\n return 1 - Math.pow(1 - p, power);\n }, function (p) {\n return p < .5 ? Math.pow(p * 2, power) / 2 : 1 - Math.pow((1 - p) * 2, power) / 2;\n });\n});\n\n_easeMap.Linear.easeNone = _easeMap.none = _easeMap.Linear.easeIn;\n\n_insertEase(\"Elastic\", _configElastic(\"in\"), _configElastic(\"out\"), _configElastic());\n\n(function (n, c) {\n var n1 = 1 / c,\n n2 = 2 * n1,\n n3 = 2.5 * n1,\n easeOut = function easeOut(p) {\n return p < n1 ? n * p * p : p < n2 ? n * Math.pow(p - 1.5 / c, 2) + .75 : p < n3 ? n * (p -= 2.25 / c) * p + .9375 : n * Math.pow(p - 2.625 / c, 2) + .984375;\n };\n\n _insertEase(\"Bounce\", function (p) {\n return 1 - easeOut(1 - p);\n }, easeOut);\n})(7.5625, 2.75);\n\n_insertEase(\"Expo\", function (p) {\n return p ? Math.pow(2, 10 * (p - 1)) : 0;\n});\n\n_insertEase(\"Circ\", function (p) {\n return -(_sqrt(1 - p * p) - 1);\n});\n\n_insertEase(\"Sine\", function (p) {\n return p === 1 ? 1 : -_cos(p * _HALF_PI) + 1;\n});\n\n_insertEase(\"Back\", _configBack(\"in\"), _configBack(\"out\"), _configBack());\n\n_easeMap.SteppedEase = _easeMap.steps = _globals.SteppedEase = {\n config: function config(steps, immediateStart) {\n if (steps === void 0) {\n steps = 1;\n }\n\n var p1 = 1 / steps,\n p2 = steps + (immediateStart ? 0 : 1),\n p3 = immediateStart ? 1 : 0,\n max = 1 - _tinyNum;\n return function (p) {\n return ((p2 * _clamp(0, max, p) | 0) + p3) * p1;\n };\n }\n};\n_defaults.ease = _easeMap[\"quad.out\"];\n\n_forEachName(\"onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt\", function (name) {\n return _callbackNames += name + \",\" + name + \"Params,\";\n});\n/*\n * --------------------------------------------------------------------------------------\n * CACHE\n * --------------------------------------------------------------------------------------\n */\n\n\nexport var GSCache = function GSCache(target, harness) {\n this.id = _gsID++;\n target._gsap = this;\n this.target = target;\n this.harness = harness;\n this.get = harness ? harness.get : _getProperty;\n this.set = harness ? harness.getSetter : _getSetter;\n};\n/*\n * --------------------------------------------------------------------------------------\n * ANIMATION\n * --------------------------------------------------------------------------------------\n */\n\nexport var Animation = /*#__PURE__*/function () {\n function Animation(vars) {\n this.vars = vars;\n this._delay = +vars.delay || 0;\n\n if (this._repeat = vars.repeat === Infinity ? -2 : vars.repeat || 0) {\n // TODO: repeat: Infinity on a timeline's children must flag that timeline internally and affect its totalDuration, otherwise it'll stop in the negative direction when reaching the start.\n this._rDelay = vars.repeatDelay || 0;\n this._yoyo = !!vars.yoyo || !!vars.yoyoEase;\n }\n\n this._ts = 1;\n\n _setDuration(this, +vars.duration, 1, 1);\n\n this.data = vars.data;\n\n if (_context) {\n this._ctx = _context;\n\n _context.data.push(this);\n }\n\n _tickerActive || _ticker.wake();\n }\n\n var _proto = Animation.prototype;\n\n _proto.delay = function delay(value) {\n if (value || value === 0) {\n this.parent && this.parent.smoothChildTiming && this.startTime(this._start + value - this._delay);\n this._delay = value;\n return this;\n }\n\n return this._delay;\n };\n\n _proto.duration = function duration(value) {\n return arguments.length ? this.totalDuration(this._repeat > 0 ? value + (value + this._rDelay) * this._repeat : value) : this.totalDuration() && this._dur;\n };\n\n _proto.totalDuration = function totalDuration(value) {\n if (!arguments.length) {\n return this._tDur;\n }\n\n this._dirty = 0;\n return _setDuration(this, this._repeat < 0 ? value : (value - this._repeat * this._rDelay) / (this._repeat + 1));\n };\n\n _proto.totalTime = function totalTime(_totalTime, suppressEvents) {\n _wake();\n\n if (!arguments.length) {\n return this._tTime;\n }\n\n var parent = this._dp;\n\n if (parent && parent.smoothChildTiming && this._ts) {\n _alignPlayhead(this, _totalTime);\n\n !parent._dp || parent.parent || _postAddChecks(parent, this); // edge case: if this is a child of a timeline that already completed, for example, we must re-activate the parent.\n //in case any of the ancestor timelines had completed but should now be enabled, we should reset their totalTime() which will also ensure that they're lined up properly and enabled. Skip for animations that are on the root (wasteful). Example: a TimelineLite.exportRoot() is performed when there's a paused tween on the root, the export will not complete until that tween is unpaused, but imagine a child gets restarted later, after all [unpaused] tweens have completed. The start of that child would get pushed out, but one of the ancestors may have completed.\n\n while (parent && parent.parent) {\n if (parent.parent._time !== parent._start + (parent._ts >= 0 ? parent._tTime / parent._ts : (parent.totalDuration() - parent._tTime) / -parent._ts)) {\n parent.totalTime(parent._tTime, true);\n }\n\n parent = parent.parent;\n }\n\n if (!this.parent && this._dp.autoRemoveChildren && (this._ts > 0 && _totalTime < this._tDur || this._ts < 0 && _totalTime > 0 || !this._tDur && !_totalTime)) {\n //if the animation doesn't have a parent, put it back into its last parent (recorded as _dp for exactly cases like this). Limit to parents with autoRemoveChildren (like globalTimeline) so that if the user manually removes an animation from a timeline and then alters its playhead, it doesn't get added back in.\n _addToTimeline(this._dp, this, this._start - this._delay);\n }\n }\n\n if (this._tTime !== _totalTime || !this._dur && !suppressEvents || this._initted && Math.abs(this._zTime) === _tinyNum || !_totalTime && !this._initted && (this.add || this._ptLookup)) {\n // check for _ptLookup on a Tween instance to ensure it has actually finished being instantiated, otherwise if this.reverse() gets called in the Animation constructor, it could trigger a render() here even though the _targets weren't populated, thus when _init() is called there won't be any PropTweens (it'll act like the tween is non-functional)\n this._ts || (this._pTime = _totalTime); // otherwise, if an animation is paused, then the playhead is moved back to zero, then resumed, it'd revert back to the original time at the pause\n //if (!this._lock) { // avoid endless recursion (not sure we need this yet or if it's worth the performance hit)\n // this._lock = 1;\n\n _lazySafeRender(this, _totalTime, suppressEvents); // this._lock = 0;\n //}\n\n }\n\n return this;\n };\n\n _proto.time = function time(value, suppressEvents) {\n return arguments.length ? this.totalTime(Math.min(this.totalDuration(), value + _elapsedCycleDuration(this)) % (this._dur + this._rDelay) || (value ? this._dur : 0), suppressEvents) : this._time; // note: if the modulus results in 0, the playhead could be exactly at the end or the beginning, and we always defer to the END with a non-zero value, otherwise if you set the time() to the very end (duration()), it would render at the START!\n };\n\n _proto.totalProgress = function totalProgress(value, suppressEvents) {\n return arguments.length ? this.totalTime(this.totalDuration() * value, suppressEvents) : this.totalDuration() ? Math.min(1, this._tTime / this._tDur) : this.rawTime() > 0 ? 1 : 0;\n };\n\n _proto.progress = function progress(value, suppressEvents) {\n return arguments.length ? this.totalTime(this.duration() * (this._yoyo && !(this.iteration() & 1) ? 1 - value : value) + _elapsedCycleDuration(this), suppressEvents) : this.duration() ? Math.min(1, this._time / this._dur) : this.rawTime() > 0 ? 1 : 0;\n };\n\n _proto.iteration = function iteration(value, suppressEvents) {\n var cycleDuration = this.duration() + this._rDelay;\n\n return arguments.length ? this.totalTime(this._time + (value - 1) * cycleDuration, suppressEvents) : this._repeat ? _animationCycle(this._tTime, cycleDuration) + 1 : 1;\n } // potential future addition:\n // isPlayingBackwards() {\n // \tlet animation = this,\n // \t\torientation = 1; // 1 = forward, -1 = backward\n // \twhile (animation) {\n // \t\torientation *= animation.reversed() || (animation.repeat() && !(animation.iteration() & 1)) ? -1 : 1;\n // \t\tanimation = animation.parent;\n // \t}\n // \treturn orientation < 0;\n // }\n ;\n\n _proto.timeScale = function timeScale(value, suppressEvents) {\n if (!arguments.length) {\n return this._rts === -_tinyNum ? 0 : this._rts; // recorded timeScale. Special case: if someone calls reverse() on an animation with timeScale of 0, we assign it -_tinyNum to remember it's reversed.\n }\n\n if (this._rts === value) {\n return this;\n }\n\n var tTime = this.parent && this._ts ? _parentToChildTotalTime(this.parent._time, this) : this._tTime; // make sure to do the parentToChildTotalTime() BEFORE setting the new _ts because the old one must be used in that calculation.\n // future addition? Up side: fast and minimal file size. Down side: only works on this animation; if a timeline is reversed, for example, its childrens' onReverse wouldn't get called.\n //(+value < 0 && this._rts >= 0) && _callback(this, \"onReverse\", true);\n // prioritize rendering where the parent's playhead lines up instead of this._tTime because there could be a tween that's animating another tween's timeScale in the same rendering loop (same parent), thus if the timeScale tween renders first, it would alter _start BEFORE _tTime was set on that tick (in the rendering loop), effectively freezing it until the timeScale tween finishes.\n\n this._rts = +value || 0;\n this._ts = this._ps || value === -_tinyNum ? 0 : this._rts; // _ts is the functional timeScale which would be 0 if the animation is paused.\n\n this.totalTime(_clamp(-Math.abs(this._delay), this._tDur, tTime), suppressEvents !== false);\n\n _setEnd(this); // if parent.smoothChildTiming was false, the end time didn't get updated in the _alignPlayhead() method, so do it here.\n\n\n return _recacheAncestors(this);\n };\n\n _proto.paused = function paused(value) {\n if (!arguments.length) {\n return this._ps;\n }\n\n if (this._ps !== value) {\n this._ps = value;\n\n if (value) {\n this._pTime = this._tTime || Math.max(-this._delay, this.rawTime()); // if the pause occurs during the delay phase, make sure that's factored in when resuming.\n\n this._ts = this._act = 0; // _ts is the functional timeScale, so a paused tween would effectively have a timeScale of 0. We record the \"real\" timeScale as _rts (recorded time scale)\n } else {\n _wake();\n\n this._ts = this._rts; //only defer to _pTime (pauseTime) if tTime is zero. Remember, someone could pause() an animation, then scrub the playhead and resume(). If the parent doesn't have smoothChildTiming, we render at the rawTime() because the startTime won't get updated.\n\n this.totalTime(this.parent && !this.parent.smoothChildTiming ? this.rawTime() : this._tTime || this._pTime, this.progress() === 1 && Math.abs(this._zTime) !== _tinyNum && (this._tTime -= _tinyNum)); // edge case: animation.progress(1).pause().play() wouldn't render again because the playhead is already at the end, but the call to totalTime() below will add it back to its parent...and not remove it again (since removing only happens upon rendering at a new time). Offsetting the _tTime slightly is done simply to cause the final render in totalTime() that'll pop it off its timeline (if autoRemoveChildren is true, of course). Check to make sure _zTime isn't -_tinyNum to avoid an edge case where the playhead is pushed to the end but INSIDE a tween/callback, the timeline itself is paused thus halting rendering and leaving a few unrendered. When resuming, it wouldn't render those otherwise.\n }\n }\n\n return this;\n };\n\n _proto.startTime = function startTime(value) {\n if (arguments.length) {\n this._start = value;\n var parent = this.parent || this._dp;\n parent && (parent._sort || !this.parent) && _addToTimeline(parent, this, value - this._delay);\n return this;\n }\n\n return this._start;\n };\n\n _proto.endTime = function endTime(includeRepeats) {\n return this._start + (_isNotFalse(includeRepeats) ? this.totalDuration() : this.duration()) / Math.abs(this._ts || 1);\n };\n\n _proto.rawTime = function rawTime(wrapRepeats) {\n var parent = this.parent || this._dp; // _dp = detached parent\n\n return !parent ? this._tTime : wrapRepeats && (!this._ts || this._repeat && this._time && this.totalProgress() < 1) ? this._tTime % (this._dur + this._rDelay) : !this._ts ? this._tTime : _parentToChildTotalTime(parent.rawTime(wrapRepeats), this);\n };\n\n _proto.revert = function revert(config) {\n if (config === void 0) {\n config = _revertConfig;\n }\n\n var prevIsReverting = _reverting;\n _reverting = config;\n\n if (this._initted || this._startAt) {\n this.timeline && this.timeline.revert(config);\n this.totalTime(-0.01, config.suppressEvents);\n }\n\n this.data !== \"nested\" && config.kill !== false && this.kill();\n _reverting = prevIsReverting;\n return this;\n };\n\n _proto.globalTime = function globalTime(rawTime) {\n var animation = this,\n time = arguments.length ? rawTime : animation.rawTime();\n\n while (animation) {\n time = animation._start + time / (Math.abs(animation._ts) || 1);\n animation = animation._dp;\n }\n\n return !this.parent && this._sat ? this._sat.globalTime(rawTime) : time; // the _startAt tweens for .fromTo() and .from() that have immediateRender should always be FIRST in the timeline (important for context.revert()). \"_sat\" stands for _startAtTween, referring to the parent tween that created the _startAt. We must discern if that tween had immediateRender so that we can know whether or not to prioritize it in revert().\n };\n\n _proto.repeat = function repeat(value) {\n if (arguments.length) {\n this._repeat = value === Infinity ? -2 : value;\n return _onUpdateTotalDuration(this);\n }\n\n return this._repeat === -2 ? Infinity : this._repeat;\n };\n\n _proto.repeatDelay = function repeatDelay(value) {\n if (arguments.length) {\n var time = this._time;\n this._rDelay = value;\n\n _onUpdateTotalDuration(this);\n\n return time ? this.time(time) : this;\n }\n\n return this._rDelay;\n };\n\n _proto.yoyo = function yoyo(value) {\n if (arguments.length) {\n this._yoyo = value;\n return this;\n }\n\n return this._yoyo;\n };\n\n _proto.seek = function seek(position, suppressEvents) {\n return this.totalTime(_parsePosition(this, position), _isNotFalse(suppressEvents));\n };\n\n _proto.restart = function restart(includeDelay, suppressEvents) {\n return this.play().totalTime(includeDelay ? -this._delay : 0, _isNotFalse(suppressEvents));\n };\n\n _proto.play = function play(from, suppressEvents) {\n from != null && this.seek(from, suppressEvents);\n return this.reversed(false).paused(false);\n };\n\n _proto.reverse = function reverse(from, suppressEvents) {\n from != null && this.seek(from || this.totalDuration(), suppressEvents);\n return this.reversed(true).paused(false);\n };\n\n _proto.pause = function pause(atTime, suppressEvents) {\n atTime != null && this.seek(atTime, suppressEvents);\n return this.paused(true);\n };\n\n _proto.resume = function resume() {\n return this.paused(false);\n };\n\n _proto.reversed = function reversed(value) {\n if (arguments.length) {\n !!value !== this.reversed() && this.timeScale(-this._rts || (value ? -_tinyNum : 0)); // in case timeScale is zero, reversing would have no effect so we use _tinyNum.\n\n return this;\n }\n\n return this._rts < 0;\n };\n\n _proto.invalidate = function invalidate() {\n this._initted = this._act = 0;\n this._zTime = -_tinyNum;\n return this;\n };\n\n _proto.isActive = function isActive() {\n var parent = this.parent || this._dp,\n start = this._start,\n rawTime;\n return !!(!parent || this._ts && this._initted && parent.isActive() && (rawTime = parent.rawTime(true)) >= start && rawTime < this.endTime(true) - _tinyNum);\n };\n\n _proto.eventCallback = function eventCallback(type, callback, params) {\n var vars = this.vars;\n\n if (arguments.length > 1) {\n if (!callback) {\n delete vars[type];\n } else {\n vars[type] = callback;\n params && (vars[type + \"Params\"] = params);\n type === \"onUpdate\" && (this._onUpdate = callback);\n }\n\n return this;\n }\n\n return vars[type];\n };\n\n _proto.then = function then(onFulfilled) {\n var self = this;\n return new Promise(function (resolve) {\n var f = _isFunction(onFulfilled) ? onFulfilled : _passThrough,\n _resolve = function _resolve() {\n var _then = self.then;\n self.then = null; // temporarily null the then() method to avoid an infinite loop (see https://github.com/greensock/GSAP/issues/322)\n\n _isFunction(f) && (f = f(self)) && (f.then || f === self) && (self.then = _then);\n resolve(f);\n self.then = _then;\n };\n\n if (self._initted && self.totalProgress() === 1 && self._ts >= 0 || !self._tTime && self._ts < 0) {\n _resolve();\n } else {\n self._prom = _resolve;\n }\n });\n };\n\n _proto.kill = function kill() {\n _interrupt(this);\n };\n\n return Animation;\n}();\n\n_setDefaults(Animation.prototype, {\n _time: 0,\n _start: 0,\n _end: 0,\n _tTime: 0,\n _tDur: 0,\n _dirty: 0,\n _repeat: 0,\n _yoyo: false,\n parent: null,\n _initted: false,\n _rDelay: 0,\n _ts: 1,\n _dp: 0,\n ratio: 0,\n _zTime: -_tinyNum,\n _prom: 0,\n _ps: false,\n _rts: 1\n});\n/*\n * -------------------------------------------------\n * TIMELINE\n * -------------------------------------------------\n */\n\n\nexport var Timeline = /*#__PURE__*/function (_Animation) {\n _inheritsLoose(Timeline, _Animation);\n\n function Timeline(vars, position) {\n var _this;\n\n if (vars === void 0) {\n vars = {};\n }\n\n _this = _Animation.call(this, vars) || this;\n _this.labels = {};\n _this.smoothChildTiming = !!vars.smoothChildTiming;\n _this.autoRemoveChildren = !!vars.autoRemoveChildren;\n _this._sort = _isNotFalse(vars.sortChildren);\n _globalTimeline && _addToTimeline(vars.parent || _globalTimeline, _assertThisInitialized(_this), position);\n vars.reversed && _this.reverse();\n vars.paused && _this.paused(true);\n vars.scrollTrigger && _scrollTrigger(_assertThisInitialized(_this), vars.scrollTrigger);\n return _this;\n }\n\n var _proto2 = Timeline.prototype;\n\n _proto2.to = function to(targets, vars, position) {\n _createTweenType(0, arguments, this);\n\n return this;\n };\n\n _proto2.from = function from(targets, vars, position) {\n _createTweenType(1, arguments, this);\n\n return this;\n };\n\n _proto2.fromTo = function fromTo(targets, fromVars, toVars, position) {\n _createTweenType(2, arguments, this);\n\n return this;\n };\n\n _proto2.set = function set(targets, vars, position) {\n vars.duration = 0;\n vars.parent = this;\n _inheritDefaults(vars).repeatDelay || (vars.repeat = 0);\n vars.immediateRender = !!vars.immediateRender;\n new Tween(targets, vars, _parsePosition(this, position), 1);\n return this;\n };\n\n _proto2.call = function call(callback, params, position) {\n return _addToTimeline(this, Tween.delayedCall(0, callback, params), position);\n } //ONLY for backward compatibility! Maybe delete?\n ;\n\n _proto2.staggerTo = function staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams) {\n vars.duration = duration;\n vars.stagger = vars.stagger || stagger;\n vars.onComplete = onCompleteAll;\n vars.onCompleteParams = onCompleteAllParams;\n vars.parent = this;\n new Tween(targets, vars, _parsePosition(this, position));\n return this;\n };\n\n _proto2.staggerFrom = function staggerFrom(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams) {\n vars.runBackwards = 1;\n _inheritDefaults(vars).immediateRender = _isNotFalse(vars.immediateRender);\n return this.staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams);\n };\n\n _proto2.staggerFromTo = function staggerFromTo(targets, duration, fromVars, toVars, stagger, position, onCompleteAll, onCompleteAllParams) {\n toVars.startAt = fromVars;\n _inheritDefaults(toVars).immediateRender = _isNotFalse(toVars.immediateRender);\n return this.staggerTo(targets, duration, toVars, stagger, position, onCompleteAll, onCompleteAllParams);\n };\n\n _proto2.render = function render(totalTime, suppressEvents, force) {\n var prevTime = this._time,\n tDur = this._dirty ? this.totalDuration() : this._tDur,\n dur = this._dur,\n tTime = totalTime <= 0 ? 0 : _roundPrecise(totalTime),\n // if a paused timeline is resumed (or its _start is updated for another reason...which rounds it), that could result in the playhead shifting a **tiny** amount and a zero-duration child at that spot may get rendered at a different ratio, like its totalTime in render() may be 1e-17 instead of 0, for example.\n crossingStart = this._zTime < 0 !== totalTime < 0 && (this._initted || !dur),\n time,\n child,\n next,\n iteration,\n cycleDuration,\n prevPaused,\n pauseTween,\n timeScale,\n prevStart,\n prevIteration,\n yoyo,\n isYoyo;\n this !== _globalTimeline && tTime > tDur && totalTime >= 0 && (tTime = tDur);\n\n if (tTime !== this._tTime || force || crossingStart) {\n if (prevTime !== this._time && dur) {\n //if totalDuration() finds a child with a negative startTime and smoothChildTiming is true, things get shifted around internally so we need to adjust the time accordingly. For example, if a tween starts at -30 we must shift EVERYTHING forward 30 seconds and move this timeline's startTime backward by 30 seconds so that things align with the playhead (no jump).\n tTime += this._time - prevTime;\n totalTime += this._time - prevTime;\n }\n\n time = tTime;\n prevStart = this._start;\n timeScale = this._ts;\n prevPaused = !timeScale;\n\n if (crossingStart) {\n dur || (prevTime = this._zTime); //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect.\n\n (totalTime || !suppressEvents) && (this._zTime = totalTime);\n }\n\n if (this._repeat) {\n //adjust the time for repeats and yoyos\n yoyo = this._yoyo;\n cycleDuration = dur + this._rDelay;\n\n if (this._repeat < -1 && totalTime < 0) {\n return this.totalTime(cycleDuration * 100 + totalTime, suppressEvents, force);\n }\n\n time = _roundPrecise(tTime % cycleDuration); //round to avoid floating point errors. (4 % 0.8 should be 0 but some browsers report it as 0.79999999!)\n\n if (tTime === tDur) {\n // the tDur === tTime is for edge cases where there's a lengthy decimal on the duration and it may reach the very end but the time is rendered as not-quite-there (remember, tDur is rounded to 4 decimals whereas dur isn't)\n iteration = this._repeat;\n time = dur;\n } else {\n iteration = ~~(tTime / cycleDuration);\n\n if (iteration && iteration === tTime / cycleDuration) {\n time = dur;\n iteration--;\n }\n\n time > dur && (time = dur);\n }\n\n prevIteration = _animationCycle(this._tTime, cycleDuration);\n !prevTime && this._tTime && prevIteration !== iteration && this._tTime - prevIteration * cycleDuration - this._dur <= 0 && (prevIteration = iteration); // edge case - if someone does addPause() at the very beginning of a repeating timeline, that pause is technically at the same spot as the end which causes this._time to get set to 0 when the totalTime would normally place the playhead at the end. See https://gsap.com/forums/topic/23823-closing-nav-animation-not-working-on-ie-and-iphone-6-maybe-other-older-browser/?tab=comments#comment-113005 also, this._tTime - prevIteration * cycleDuration - this._dur <= 0 just checks to make sure it wasn't previously in the \"repeatDelay\" portion\n\n if (yoyo && iteration & 1) {\n time = dur - time;\n isYoyo = 1;\n }\n /*\n make sure children at the end/beginning of the timeline are rendered properly. If, for example,\n a 3-second long timeline rendered at 2.9 seconds previously, and now renders at 3.2 seconds (which\n would get translated to 2.8 seconds if the timeline yoyos or 0.2 seconds if it just repeats), there\n could be a callback or a short tween that's at 2.95 or 3 seconds in which wouldn't render. So\n we need to push the timeline to the end (and/or beginning depending on its yoyo value). Also we must\n ensure that zero-duration tweens at the very beginning or end of the Timeline work.\n */\n\n\n if (iteration !== prevIteration && !this._lock) {\n var rewinding = yoyo && prevIteration & 1,\n doesWrap = rewinding === (yoyo && iteration & 1);\n iteration < prevIteration && (rewinding = !rewinding);\n prevTime = rewinding ? 0 : tTime % dur ? dur : tTime; // if the playhead is landing exactly at the end of an iteration, use that totalTime rather than only the duration, otherwise it'll skip the 2nd render since it's effectively at the same time.\n\n this._lock = 1;\n this.render(prevTime || (isYoyo ? 0 : _roundPrecise(iteration * cycleDuration)), suppressEvents, !dur)._lock = 0;\n this._tTime = tTime; // if a user gets the iteration() inside the onRepeat, for example, it should be accurate.\n\n !suppressEvents && this.parent && _callback(this, \"onRepeat\");\n this.vars.repeatRefresh && !isYoyo && (this.invalidate()._lock = 1);\n\n if (prevTime && prevTime !== this._time || prevPaused !== !this._ts || this.vars.onRepeat && !this.parent && !this._act) {\n // if prevTime is 0 and we render at the very end, _time will be the end, thus won't match. So in this edge case, prevTime won't match _time but that's okay. If it gets killed in the onRepeat, eject as well.\n return this;\n }\n\n dur = this._dur; // in case the duration changed in the onRepeat\n\n tDur = this._tDur;\n\n if (doesWrap) {\n this._lock = 2;\n prevTime = rewinding ? dur : -0.0001;\n this.render(prevTime, true);\n this.vars.repeatRefresh && !isYoyo && this.invalidate();\n }\n\n this._lock = 0;\n\n if (!this._ts && !prevPaused) {\n return this;\n } //in order for yoyoEase to work properly when there's a stagger, we must swap out the ease in each sub-tween.\n\n\n _propagateYoyoEase(this, isYoyo);\n }\n }\n\n if (this._hasPause && !this._forcing && this._lock < 2) {\n pauseTween = _findNextPauseTween(this, _roundPrecise(prevTime), _roundPrecise(time));\n\n if (pauseTween) {\n tTime -= time - (time = pauseTween._start);\n }\n }\n\n this._tTime = tTime;\n this._time = time;\n this._act = !timeScale; //as long as it's not paused, force it to be active so that if the user renders independent of the parent timeline, it'll be forced to re-render on the next tick.\n\n if (!this._initted) {\n this._onUpdate = this.vars.onUpdate;\n this._initted = 1;\n this._zTime = totalTime;\n prevTime = 0; // upon init, the playhead should always go forward; someone could invalidate() a completed timeline and then if they restart(), that would make child tweens render in reverse order which could lock in the wrong starting values if they build on each other, like tl.to(obj, {x: 100}).to(obj, {x: 0}).\n }\n\n if (!prevTime && time && !suppressEvents && !iteration) {\n _callback(this, \"onStart\");\n\n if (this._tTime !== tTime) {\n // in case the onStart triggered a render at a different spot, eject. Like if someone did animation.pause(0.5) or something inside the onStart.\n return this;\n }\n }\n\n if (time >= prevTime && totalTime >= 0) {\n child = this._first;\n\n while (child) {\n next = child._next;\n\n if ((child._act || time >= child._start) && child._ts && pauseTween !== child) {\n if (child.parent !== this) {\n // an extreme edge case - the child's render could do something like kill() the \"next\" one in the linked list, or reparent it. In that case we must re-initiate the whole render to be safe.\n return this.render(totalTime, suppressEvents, force);\n }\n\n child.render(child._ts > 0 ? (time - child._start) * child._ts : (child._dirty ? child.totalDuration() : child._tDur) + (time - child._start) * child._ts, suppressEvents, force);\n\n if (time !== this._time || !this._ts && !prevPaused) {\n //in case a tween pauses or seeks the timeline when rendering, like inside of an onUpdate/onComplete\n pauseTween = 0;\n next && (tTime += this._zTime = -_tinyNum); // it didn't finish rendering, so flag zTime as negative so that so that the next time render() is called it'll be forced (to render any remaining children)\n\n break;\n }\n }\n\n child = next;\n }\n } else {\n child = this._last;\n var adjustedTime = totalTime < 0 ? totalTime : time; //when the playhead goes backward beyond the start of this timeline, we must pass that information down to the child animations so that zero-duration tweens know whether to render their starting or ending values.\n\n while (child) {\n next = child._prev;\n\n if ((child._act || adjustedTime <= child._end) && child._ts && pauseTween !== child) {\n if (child.parent !== this) {\n // an extreme edge case - the child's render could do something like kill() the \"next\" one in the linked list, or reparent it. In that case we must re-initiate the whole render to be safe.\n return this.render(totalTime, suppressEvents, force);\n }\n\n child.render(child._ts > 0 ? (adjustedTime - child._start) * child._ts : (child._dirty ? child.totalDuration() : child._tDur) + (adjustedTime - child._start) * child._ts, suppressEvents, force || _reverting && (child._initted || child._startAt)); // if reverting, we should always force renders of initted tweens (but remember that .fromTo() or .from() may have a _startAt but not _initted yet). If, for example, a .fromTo() tween with a stagger (which creates an internal timeline) gets reverted BEFORE some of its child tweens render for the first time, it may not properly trigger them to revert.\n\n if (time !== this._time || !this._ts && !prevPaused) {\n //in case a tween pauses or seeks the timeline when rendering, like inside of an onUpdate/onComplete\n pauseTween = 0;\n next && (tTime += this._zTime = adjustedTime ? -_tinyNum : _tinyNum); // it didn't finish rendering, so adjust zTime so that so that the next time render() is called it'll be forced (to render any remaining children)\n\n break;\n }\n }\n\n child = next;\n }\n }\n\n if (pauseTween && !suppressEvents) {\n this.pause();\n pauseTween.render(time >= prevTime ? 0 : -_tinyNum)._zTime = time >= prevTime ? 1 : -1;\n\n if (this._ts) {\n //the callback resumed playback! So since we may have held back the playhead due to where the pause is positioned, go ahead and jump to where it's SUPPOSED to be (if no pause happened).\n this._start = prevStart; //if the pause was at an earlier time and the user resumed in the callback, it could reposition the timeline (changing its startTime), throwing things off slightly, so we make sure the _start doesn't shift.\n\n _setEnd(this);\n\n return this.render(totalTime, suppressEvents, force);\n }\n }\n\n this._onUpdate && !suppressEvents && _callback(this, \"onUpdate\", true);\n if (tTime === tDur && this._tTime >= this.totalDuration() || !tTime && prevTime) if (prevStart === this._start || Math.abs(timeScale) !== Math.abs(this._ts)) if (!this._lock) {\n // remember, a child's callback may alter this timeline's playhead or timeScale which is why we need to add some of these checks.\n (totalTime || !dur) && (tTime === tDur && this._ts > 0 || !tTime && this._ts < 0) && _removeFromParent(this, 1); // don't remove if the timeline is reversed and the playhead isn't at 0, otherwise tl.progress(1).reverse() won't work. Only remove if the playhead is at the end and timeScale is positive, or if the playhead is at 0 and the timeScale is negative.\n\n if (!suppressEvents && !(totalTime < 0 && !prevTime) && (tTime || prevTime || !tDur)) {\n _callback(this, tTime === tDur && totalTime >= 0 ? \"onComplete\" : \"onReverseComplete\", true);\n\n this._prom && !(tTime < tDur && this.timeScale() > 0) && this._prom();\n }\n }\n }\n\n return this;\n };\n\n _proto2.add = function add(child, position) {\n var _this2 = this;\n\n _isNumber(position) || (position = _parsePosition(this, position, child));\n\n if (!(child instanceof Animation)) {\n if (_isArray(child)) {\n child.forEach(function (obj) {\n return _this2.add(obj, position);\n });\n return this;\n }\n\n if (_isString(child)) {\n return this.addLabel(child, position);\n }\n\n if (_isFunction(child)) {\n child = Tween.delayedCall(0, child);\n } else {\n return this;\n }\n }\n\n return this !== child ? _addToTimeline(this, child, position) : this; //don't allow a timeline to be added to itself as a child!\n };\n\n _proto2.getChildren = function getChildren(nested, tweens, timelines, ignoreBeforeTime) {\n if (nested === void 0) {\n nested = true;\n }\n\n if (tweens === void 0) {\n tweens = true;\n }\n\n if (timelines === void 0) {\n timelines = true;\n }\n\n if (ignoreBeforeTime === void 0) {\n ignoreBeforeTime = -_bigNum;\n }\n\n var a = [],\n child = this._first;\n\n while (child) {\n if (child._start >= ignoreBeforeTime) {\n if (child instanceof Tween) {\n tweens && a.push(child);\n } else {\n timelines && a.push(child);\n nested && a.push.apply(a, child.getChildren(true, tweens, timelines));\n }\n }\n\n child = child._next;\n }\n\n return a;\n };\n\n _proto2.getById = function getById(id) {\n var animations = this.getChildren(1, 1, 1),\n i = animations.length;\n\n while (i--) {\n if (animations[i].vars.id === id) {\n return animations[i];\n }\n }\n };\n\n _proto2.remove = function remove(child) {\n if (_isString(child)) {\n return this.removeLabel(child);\n }\n\n if (_isFunction(child)) {\n return this.killTweensOf(child);\n }\n\n _removeLinkedListItem(this, child);\n\n if (child === this._recent) {\n this._recent = this._last;\n }\n\n return _uncache(this);\n };\n\n _proto2.totalTime = function totalTime(_totalTime2, suppressEvents) {\n if (!arguments.length) {\n return this._tTime;\n }\n\n this._forcing = 1;\n\n if (!this._dp && this._ts) {\n //special case for the global timeline (or any other that has no parent or detached parent).\n this._start = _roundPrecise(_ticker.time - (this._ts > 0 ? _totalTime2 / this._ts : (this.totalDuration() - _totalTime2) / -this._ts));\n }\n\n _Animation.prototype.totalTime.call(this, _totalTime2, suppressEvents);\n\n this._forcing = 0;\n return this;\n };\n\n _proto2.addLabel = function addLabel(label, position) {\n this.labels[label] = _parsePosition(this, position);\n return this;\n };\n\n _proto2.removeLabel = function removeLabel(label) {\n delete this.labels[label];\n return this;\n };\n\n _proto2.addPause = function addPause(position, callback, params) {\n var t = Tween.delayedCall(0, callback || _emptyFunc, params);\n t.data = \"isPause\";\n this._hasPause = 1;\n return _addToTimeline(this, t, _parsePosition(this, position));\n };\n\n _proto2.removePause = function removePause(position) {\n var child = this._first;\n position = _parsePosition(this, position);\n\n while (child) {\n if (child._start === position && child.data === \"isPause\") {\n _removeFromParent(child);\n }\n\n child = child._next;\n }\n };\n\n _proto2.killTweensOf = function killTweensOf(targets, props, onlyActive) {\n var tweens = this.getTweensOf(targets, onlyActive),\n i = tweens.length;\n\n while (i--) {\n _overwritingTween !== tweens[i] && tweens[i].kill(targets, props);\n }\n\n return this;\n };\n\n _proto2.getTweensOf = function getTweensOf(targets, onlyActive) {\n var a = [],\n parsedTargets = toArray(targets),\n child = this._first,\n isGlobalTime = _isNumber(onlyActive),\n // a number is interpreted as a global time. If the animation spans\n children;\n\n while (child) {\n if (child instanceof Tween) {\n if (_arrayContainsAny(child._targets, parsedTargets) && (isGlobalTime ? (!_overwritingTween || child._initted && child._ts) && child.globalTime(0) <= onlyActive && child.globalTime(child.totalDuration()) > onlyActive : !onlyActive || child.isActive())) {\n // note: if this is for overwriting, it should only be for tweens that aren't paused and are initted.\n a.push(child);\n }\n } else if ((children = child.getTweensOf(parsedTargets, onlyActive)).length) {\n a.push.apply(a, children);\n }\n\n child = child._next;\n }\n\n return a;\n } // potential future feature - targets() on timelines\n // targets() {\n // \tlet result = [];\n // \tthis.getChildren(true, true, false).forEach(t => result.push(...t.targets()));\n // \treturn result.filter((v, i) => result.indexOf(v) === i);\n // }\n ;\n\n _proto2.tweenTo = function tweenTo(position, vars) {\n vars = vars || {};\n\n var tl = this,\n endTime = _parsePosition(tl, position),\n _vars = vars,\n startAt = _vars.startAt,\n _onStart = _vars.onStart,\n onStartParams = _vars.onStartParams,\n immediateRender = _vars.immediateRender,\n initted,\n tween = Tween.to(tl, _setDefaults({\n ease: vars.ease || \"none\",\n lazy: false,\n immediateRender: false,\n time: endTime,\n overwrite: \"auto\",\n duration: vars.duration || Math.abs((endTime - (startAt && \"time\" in startAt ? startAt.time : tl._time)) / tl.timeScale()) || _tinyNum,\n onStart: function onStart() {\n tl.pause();\n\n if (!initted) {\n var duration = vars.duration || Math.abs((endTime - (startAt && \"time\" in startAt ? startAt.time : tl._time)) / tl.timeScale());\n tween._dur !== duration && _setDuration(tween, duration, 0, 1).render(tween._time, true, true);\n initted = 1;\n }\n\n _onStart && _onStart.apply(tween, onStartParams || []); //in case the user had an onStart in the vars - we don't want to overwrite it.\n }\n }, vars));\n\n return immediateRender ? tween.render(0) : tween;\n };\n\n _proto2.tweenFromTo = function tweenFromTo(fromPosition, toPosition, vars) {\n return this.tweenTo(toPosition, _setDefaults({\n startAt: {\n time: _parsePosition(this, fromPosition)\n }\n }, vars));\n };\n\n _proto2.recent = function recent() {\n return this._recent;\n };\n\n _proto2.nextLabel = function nextLabel(afterTime) {\n if (afterTime === void 0) {\n afterTime = this._time;\n }\n\n return _getLabelInDirection(this, _parsePosition(this, afterTime));\n };\n\n _proto2.previousLabel = function previousLabel(beforeTime) {\n if (beforeTime === void 0) {\n beforeTime = this._time;\n }\n\n return _getLabelInDirection(this, _parsePosition(this, beforeTime), 1);\n };\n\n _proto2.currentLabel = function currentLabel(value) {\n return arguments.length ? this.seek(value, true) : this.previousLabel(this._time + _tinyNum);\n };\n\n _proto2.shiftChildren = function shiftChildren(amount, adjustLabels, ignoreBeforeTime) {\n if (ignoreBeforeTime === void 0) {\n ignoreBeforeTime = 0;\n }\n\n var child = this._first,\n labels = this.labels,\n p;\n\n while (child) {\n if (child._start >= ignoreBeforeTime) {\n child._start += amount;\n child._end += amount;\n }\n\n child = child._next;\n }\n\n if (adjustLabels) {\n for (p in labels) {\n if (labels[p] >= ignoreBeforeTime) {\n labels[p] += amount;\n }\n }\n }\n\n return _uncache(this);\n };\n\n _proto2.invalidate = function invalidate(soft) {\n var child = this._first;\n this._lock = 0;\n\n while (child) {\n child.invalidate(soft);\n child = child._next;\n }\n\n return _Animation.prototype.invalidate.call(this, soft);\n };\n\n _proto2.clear = function clear(includeLabels) {\n if (includeLabels === void 0) {\n includeLabels = true;\n }\n\n var child = this._first,\n next;\n\n while (child) {\n next = child._next;\n this.remove(child);\n child = next;\n }\n\n this._dp && (this._time = this._tTime = this._pTime = 0);\n includeLabels && (this.labels = {});\n return _uncache(this);\n };\n\n _proto2.totalDuration = function totalDuration(value) {\n var max = 0,\n self = this,\n child = self._last,\n prevStart = _bigNum,\n prev,\n start,\n parent;\n\n if (arguments.length) {\n return self.timeScale((self._repeat < 0 ? self.duration() : self.totalDuration()) / (self.reversed() ? -value : value));\n }\n\n if (self._dirty) {\n parent = self.parent;\n\n while (child) {\n prev = child._prev; //record it here in case the tween changes position in the sequence...\n\n child._dirty && child.totalDuration(); //could change the tween._startTime, so make sure the animation's cache is clean before analyzing it.\n\n start = child._start;\n\n if (start > prevStart && self._sort && child._ts && !self._lock) {\n //in case one of the tweens shifted out of order, it needs to be re-inserted into the correct position in the sequence\n self._lock = 1; //prevent endless recursive calls - there are methods that get triggered that check duration/totalDuration when we add().\n\n _addToTimeline(self, child, start - child._delay, 1)._lock = 0;\n } else {\n prevStart = start;\n }\n\n if (start < 0 && child._ts) {\n //children aren't allowed to have negative startTimes unless smoothChildTiming is true, so adjust here if one is found.\n max -= start;\n\n if (!parent && !self._dp || parent && parent.smoothChildTiming) {\n self._start += start / self._ts;\n self._time -= start;\n self._tTime -= start;\n }\n\n self.shiftChildren(-start, false, -1e999);\n prevStart = 0;\n }\n\n child._end > max && child._ts && (max = child._end);\n child = prev;\n }\n\n _setDuration(self, self === _globalTimeline && self._time > max ? self._time : max, 1, 1);\n\n self._dirty = 0;\n }\n\n return self._tDur;\n };\n\n Timeline.updateRoot = function updateRoot(time) {\n if (_globalTimeline._ts) {\n _lazySafeRender(_globalTimeline, _parentToChildTotalTime(time, _globalTimeline));\n\n _lastRenderedFrame = _ticker.frame;\n }\n\n if (_ticker.frame >= _nextGCFrame) {\n _nextGCFrame += _config.autoSleep || 120;\n var child = _globalTimeline._first;\n if (!child || !child._ts) if (_config.autoSleep && _ticker._listeners.length < 2) {\n while (child && !child._ts) {\n child = child._next;\n }\n\n child || _ticker.sleep();\n }\n }\n };\n\n return Timeline;\n}(Animation);\n\n_setDefaults(Timeline.prototype, {\n _lock: 0,\n _hasPause: 0,\n _forcing: 0\n});\n\nvar _addComplexStringPropTween = function _addComplexStringPropTween(target, prop, start, end, setter, stringFilter, funcParam) {\n //note: we call _addComplexStringPropTween.call(tweenInstance...) to ensure that it's scoped properly. We may call it from within a plugin too, thus \"this\" would refer to the plugin.\n var pt = new PropTween(this._pt, target, prop, 0, 1, _renderComplexString, null, setter),\n index = 0,\n matchIndex = 0,\n result,\n startNums,\n color,\n endNum,\n chunk,\n startNum,\n hasRandom,\n a;\n pt.b = start;\n pt.e = end;\n start += \"\"; //ensure values are strings\n\n end += \"\";\n\n if (hasRandom = ~end.indexOf(\"random(\")) {\n end = _replaceRandom(end);\n }\n\n if (stringFilter) {\n a = [start, end];\n stringFilter(a, target, prop); //pass an array with the starting and ending values and let the filter do whatever it needs to the values.\n\n start = a[0];\n end = a[1];\n }\n\n startNums = start.match(_complexStringNumExp) || [];\n\n while (result = _complexStringNumExp.exec(end)) {\n endNum = result[0];\n chunk = end.substring(index, result.index);\n\n if (color) {\n color = (color + 1) % 5;\n } else if (chunk.substr(-5) === \"rgba(\") {\n color = 1;\n }\n\n if (endNum !== startNums[matchIndex++]) {\n startNum = parseFloat(startNums[matchIndex - 1]) || 0; //these nested PropTweens are handled in a special way - we'll never actually call a render or setter method on them. We'll just loop through them in the parent complex string PropTween's render method.\n\n pt._pt = {\n _next: pt._pt,\n p: chunk || matchIndex === 1 ? chunk : \",\",\n //note: SVG spec allows omission of comma/space when a negative sign is wedged between two numbers, like 2.5-5.3 instead of 2.5,-5.3 but when tweening, the negative value may switch to positive, so we insert the comma just in case.\n s: startNum,\n c: endNum.charAt(1) === \"=\" ? _parseRelative(startNum, endNum) - startNum : parseFloat(endNum) - startNum,\n m: color && color < 4 ? Math.round : 0\n };\n index = _complexStringNumExp.lastIndex;\n }\n }\n\n pt.c = index < end.length ? end.substring(index, end.length) : \"\"; //we use the \"c\" of the PropTween to store the final part of the string (after the last number)\n\n pt.fp = funcParam;\n\n if (_relExp.test(end) || hasRandom) {\n pt.e = 0; //if the end string contains relative values or dynamic random(...) values, delete the end it so that on the final render we don't actually set it to the string with += or -= characters (forces it to use the calculated value).\n }\n\n this._pt = pt; //start the linked list with this new PropTween. Remember, we call _addComplexStringPropTween.call(tweenInstance...) to ensure that it's scoped properly. We may call it from within a plugin too, thus \"this\" would refer to the plugin.\n\n return pt;\n},\n _addPropTween = function _addPropTween(target, prop, start, end, index, targets, modifier, stringFilter, funcParam, optional) {\n _isFunction(end) && (end = end(index || 0, target, targets));\n var currentValue = target[prop],\n parsedStart = start !== \"get\" ? start : !_isFunction(currentValue) ? currentValue : funcParam ? target[prop.indexOf(\"set\") || !_isFunction(target[\"get\" + prop.substr(3)]) ? prop : \"get\" + prop.substr(3)](funcParam) : target[prop](),\n setter = !_isFunction(currentValue) ? _setterPlain : funcParam ? _setterFuncWithParam : _setterFunc,\n pt;\n\n if (_isString(end)) {\n if (~end.indexOf(\"random(\")) {\n end = _replaceRandom(end);\n }\n\n if (end.charAt(1) === \"=\") {\n pt = _parseRelative(parsedStart, end) + (getUnit(parsedStart) || 0);\n\n if (pt || pt === 0) {\n // to avoid isNaN, like if someone passes in a value like \"!= whatever\"\n end = pt;\n }\n }\n }\n\n if (!optional || parsedStart !== end || _forceAllPropTweens) {\n if (!isNaN(parsedStart * end) && end !== \"\") {\n // fun fact: any number multiplied by \"\" is evaluated as the number 0!\n pt = new PropTween(this._pt, target, prop, +parsedStart || 0, end - (parsedStart || 0), typeof currentValue === \"boolean\" ? _renderBoolean : _renderPlain, 0, setter);\n funcParam && (pt.fp = funcParam);\n modifier && pt.modifier(modifier, this, target);\n return this._pt = pt;\n }\n\n !currentValue && !(prop in target) && _missingPlugin(prop, end);\n return _addComplexStringPropTween.call(this, target, prop, parsedStart, end, setter, stringFilter || _config.stringFilter, funcParam);\n }\n},\n //creates a copy of the vars object and processes any function-based values (putting the resulting values directly into the copy) as well as strings with \"random()\" in them. It does NOT process relative values.\n_processVars = function _processVars(vars, index, target, targets, tween) {\n _isFunction(vars) && (vars = _parseFuncOrString(vars, tween, index, target, targets));\n\n if (!_isObject(vars) || vars.style && vars.nodeType || _isArray(vars) || _isTypedArray(vars)) {\n return _isString(vars) ? _parseFuncOrString(vars, tween, index, target, targets) : vars;\n }\n\n var copy = {},\n p;\n\n for (p in vars) {\n copy[p] = _parseFuncOrString(vars[p], tween, index, target, targets);\n }\n\n return copy;\n},\n _checkPlugin = function _checkPlugin(property, vars, tween, index, target, targets) {\n var plugin, pt, ptLookup, i;\n\n if (_plugins[property] && (plugin = new _plugins[property]()).init(target, plugin.rawVars ? vars[property] : _processVars(vars[property], index, target, targets, tween), tween, index, targets) !== false) {\n tween._pt = pt = new PropTween(tween._pt, target, property, 0, 1, plugin.render, plugin, 0, plugin.priority);\n\n if (tween !== _quickTween) {\n ptLookup = tween._ptLookup[tween._targets.indexOf(target)]; //note: we can't use tween._ptLookup[index] because for staggered tweens, the index from the fullTargets array won't match what it is in each individual tween that spawns from the stagger.\n\n i = plugin._props.length;\n\n while (i--) {\n ptLookup[plugin._props[i]] = pt;\n }\n }\n }\n\n return plugin;\n},\n _overwritingTween,\n //store a reference temporarily so we can avoid overwriting itself.\n_forceAllPropTweens,\n _initTween = function _initTween(tween, time, tTime) {\n var vars = tween.vars,\n ease = vars.ease,\n startAt = vars.startAt,\n immediateRender = vars.immediateRender,\n lazy = vars.lazy,\n onUpdate = vars.onUpdate,\n runBackwards = vars.runBackwards,\n yoyoEase = vars.yoyoEase,\n keyframes = vars.keyframes,\n autoRevert = vars.autoRevert,\n dur = tween._dur,\n prevStartAt = tween._startAt,\n targets = tween._targets,\n parent = tween.parent,\n fullTargets = parent && parent.data === \"nested\" ? parent.vars.targets : targets,\n autoOverwrite = tween._overwrite === \"auto\" && !_suppressOverwrites,\n tl = tween.timeline,\n cleanVars,\n i,\n p,\n pt,\n target,\n hasPriority,\n gsData,\n harness,\n plugin,\n ptLookup,\n index,\n harnessVars,\n overwritten;\n tl && (!keyframes || !ease) && (ease = \"none\");\n tween._ease = _parseEase(ease, _defaults.ease);\n tween._yEase = yoyoEase ? _invertEase(_parseEase(yoyoEase === true ? ease : yoyoEase, _defaults.ease)) : 0;\n\n if (yoyoEase && tween._yoyo && !tween._repeat) {\n //there must have been a parent timeline with yoyo:true that is currently in its yoyo phase, so flip the eases.\n yoyoEase = tween._yEase;\n tween._yEase = tween._ease;\n tween._ease = yoyoEase;\n }\n\n tween._from = !tl && !!vars.runBackwards; //nested timelines should never run backwards - the backwards-ness is in the child tweens.\n\n if (!tl || keyframes && !vars.stagger) {\n //if there's an internal timeline, skip all the parsing because we passed that task down the chain.\n harness = targets[0] ? _getCache(targets[0]).harness : 0;\n harnessVars = harness && vars[harness.prop]; //someone may need to specify CSS-specific values AND non-CSS values, like if the element has an \"x\" property plus it's a standard DOM element. We allow people to distinguish by wrapping plugin-specific stuff in a css:{} object for example.\n\n cleanVars = _copyExcluding(vars, _reservedProps);\n\n if (prevStartAt) {\n prevStartAt._zTime < 0 && prevStartAt.progress(1); // in case it's a lazy startAt that hasn't rendered yet.\n\n time < 0 && runBackwards && immediateRender && !autoRevert ? prevStartAt.render(-1, true) : prevStartAt.revert(runBackwards && dur ? _revertConfigNoKill : _startAtRevertConfig); // if it's a \"startAt\" (not \"from()\" or runBackwards: true), we only need to do a shallow revert (keep transforms cached in CSSPlugin)\n // don't just _removeFromParent(prevStartAt.render(-1, true)) because that'll leave inline styles. We're creating a new _startAt for \"startAt\" tweens that re-capture things to ensure that if the pre-tween values changed since the tween was created, they're recorded.\n\n prevStartAt._lazy = 0;\n }\n\n if (startAt) {\n _removeFromParent(tween._startAt = Tween.set(targets, _setDefaults({\n data: \"isStart\",\n overwrite: false,\n parent: parent,\n immediateRender: true,\n lazy: !prevStartAt && _isNotFalse(lazy),\n startAt: null,\n delay: 0,\n onUpdate: onUpdate && function () {\n return _callback(tween, \"onUpdate\");\n },\n stagger: 0\n }, startAt))); //copy the properties/values into a new object to avoid collisions, like var to = {x:0}, from = {x:500}; timeline.fromTo(e, from, to).fromTo(e, to, from);\n\n\n tween._startAt._dp = 0; // don't allow it to get put back into root timeline! Like when revert() is called and totalTime() gets set.\n\n tween._startAt._sat = tween; // used in globalTime(). _sat stands for _startAtTween\n\n time < 0 && (_reverting || !immediateRender && !autoRevert) && tween._startAt.revert(_revertConfigNoKill); // rare edge case, like if a render is forced in the negative direction of a non-initted tween.\n\n if (immediateRender) {\n if (dur && time <= 0 && tTime <= 0) {\n // check tTime here because in the case of a yoyo tween whose playhead gets pushed to the end like tween.progress(1), we should allow it through so that the onComplete gets fired properly.\n time && (tween._zTime = time);\n return; //we skip initialization here so that overwriting doesn't occur until the tween actually begins. Otherwise, if you create several immediateRender:true tweens of the same target/properties to drop into a Timeline, the last one created would overwrite the first ones because they didn't get placed into the timeline yet before the first render occurs and kicks in overwriting.\n }\n }\n } else if (runBackwards && dur) {\n //from() tweens must be handled uniquely: their beginning values must be rendered but we don't want overwriting to occur yet (when time is still 0). Wait until the tween actually begins before doing all the routines like overwriting. At that time, we should render at the END of the tween to ensure that things initialize correctly (remember, from() tweens go backwards)\n if (!prevStartAt) {\n time && (immediateRender = false); //in rare cases (like if a from() tween runs and then is invalidate()-ed), immediateRender could be true but the initial forced-render gets skipped, so there's no need to force the render in this context when the _time is greater than 0\n\n p = _setDefaults({\n overwrite: false,\n data: \"isFromStart\",\n //we tag the tween with as \"isFromStart\" so that if [inside a plugin] we need to only do something at the very END of a tween, we have a way of identifying this tween as merely the one that's setting the beginning values for a \"from()\" tween. For example, clearProps in CSSPlugin should only get applied at the very END of a tween and without this tag, from(...{height:100, clearProps:\"height\", delay:1}) would wipe the height at the beginning of the tween and after 1 second, it'd kick back in.\n lazy: immediateRender && !prevStartAt && _isNotFalse(lazy),\n immediateRender: immediateRender,\n //zero-duration tweens render immediately by default, but if we're not specifically instructed to render this tween immediately, we should skip this and merely _init() to record the starting values (rendering them immediately would push them to completion which is wasteful in that case - we'd have to render(-1) immediately after)\n stagger: 0,\n parent: parent //ensures that nested tweens that had a stagger are handled properly, like gsap.from(\".class\", {y: gsap.utils.wrap([-100,100]), stagger: 0.5})\n\n }, cleanVars);\n harnessVars && (p[harness.prop] = harnessVars); // in case someone does something like .from(..., {css:{}})\n\n _removeFromParent(tween._startAt = Tween.set(targets, p));\n\n tween._startAt._dp = 0; // don't allow it to get put back into root timeline!\n\n tween._startAt._sat = tween; // used in globalTime()\n\n time < 0 && (_reverting ? tween._startAt.revert(_revertConfigNoKill) : tween._startAt.render(-1, true));\n tween._zTime = time;\n\n if (!immediateRender) {\n _initTween(tween._startAt, _tinyNum, _tinyNum); //ensures that the initial values are recorded\n\n } else if (!time) {\n return;\n }\n }\n }\n\n tween._pt = tween._ptCache = 0;\n lazy = dur && _isNotFalse(lazy) || lazy && !dur;\n\n for (i = 0; i < targets.length; i++) {\n target = targets[i];\n gsData = target._gsap || _harness(targets)[i]._gsap;\n tween._ptLookup[i] = ptLookup = {};\n _lazyLookup[gsData.id] && _lazyTweens.length && _lazyRender(); //if other tweens of the same target have recently initted but haven't rendered yet, we've got to force the render so that the starting values are correct (imagine populating a timeline with a bunch of sequential tweens and then jumping to the end)\n\n index = fullTargets === targets ? i : fullTargets.indexOf(target);\n\n if (harness && (plugin = new harness()).init(target, harnessVars || cleanVars, tween, index, fullTargets) !== false) {\n tween._pt = pt = new PropTween(tween._pt, target, plugin.name, 0, 1, plugin.render, plugin, 0, plugin.priority);\n\n plugin._props.forEach(function (name) {\n ptLookup[name] = pt;\n });\n\n plugin.priority && (hasPriority = 1);\n }\n\n if (!harness || harnessVars) {\n for (p in cleanVars) {\n if (_plugins[p] && (plugin = _checkPlugin(p, cleanVars, tween, index, target, fullTargets))) {\n plugin.priority && (hasPriority = 1);\n } else {\n ptLookup[p] = pt = _addPropTween.call(tween, target, p, \"get\", cleanVars[p], index, fullTargets, 0, vars.stringFilter);\n }\n }\n }\n\n tween._op && tween._op[i] && tween.kill(target, tween._op[i]);\n\n if (autoOverwrite && tween._pt) {\n _overwritingTween = tween;\n\n _globalTimeline.killTweensOf(target, ptLookup, tween.globalTime(time)); // make sure the overwriting doesn't overwrite THIS tween!!!\n\n\n overwritten = !tween.parent;\n _overwritingTween = 0;\n }\n\n tween._pt && lazy && (_lazyLookup[gsData.id] = 1);\n }\n\n hasPriority && _sortPropTweensByPriority(tween);\n tween._onInit && tween._onInit(tween); //plugins like RoundProps must wait until ALL of the PropTweens are instantiated. In the plugin's init() function, it sets the _onInit on the tween instance. May not be pretty/intuitive, but it's fast and keeps file size down.\n }\n\n tween._onUpdate = onUpdate;\n tween._initted = (!tween._op || tween._pt) && !overwritten; // if overwrittenProps resulted in the entire tween being killed, do NOT flag it as initted or else it may render for one tick.\n\n keyframes && time <= 0 && tl.render(_bigNum, true, true); // if there's a 0% keyframe, it'll render in the \"before\" state for any staggered/delayed animations thus when the following tween initializes, it'll use the \"before\" state instead of the \"after\" state as the initial values.\n},\n _updatePropTweens = function _updatePropTweens(tween, property, value, start, startIsRelative, ratio, time, skipRecursion) {\n var ptCache = (tween._pt && tween._ptCache || (tween._ptCache = {}))[property],\n pt,\n rootPT,\n lookup,\n i;\n\n if (!ptCache) {\n ptCache = tween._ptCache[property] = [];\n lookup = tween._ptLookup;\n i = tween._targets.length;\n\n while (i--) {\n pt = lookup[i][property];\n\n if (pt && pt.d && pt.d._pt) {\n // it's a plugin, so find the nested PropTween\n pt = pt.d._pt;\n\n while (pt && pt.p !== property && pt.fp !== property) {\n // \"fp\" is functionParam for things like setting CSS variables which require .setProperty(\"--var-name\", value)\n pt = pt._next;\n }\n }\n\n if (!pt) {\n // there is no PropTween associated with that property, so we must FORCE one to be created and ditch out of this\n // if the tween has other properties that already rendered at new positions, we'd normally have to rewind to put them back like tween.render(0, true) before forcing an _initTween(), but that can create another edge case like tweening a timeline's progress would trigger onUpdates to fire which could move other things around. It's better to just inform users that .resetTo() should ONLY be used for tweens that already have that property. For example, you can't gsap.to(...{ y: 0 }) and then tween.restTo(\"x\", 200) for example.\n _forceAllPropTweens = 1; // otherwise, when we _addPropTween() and it finds no change between the start and end values, it skips creating a PropTween (for efficiency...why tween when there's no difference?) but in this case we NEED that PropTween created so we can edit it.\n\n tween.vars[property] = \"+=0\";\n\n _initTween(tween, time);\n\n _forceAllPropTweens = 0;\n return skipRecursion ? _warn(property + \" not eligible for reset\") : 1; // if someone tries to do a quickTo() on a special property like borderRadius which must get split into 4 different properties, that's not eligible for .resetTo().\n }\n\n ptCache.push(pt);\n }\n }\n\n i = ptCache.length;\n\n while (i--) {\n rootPT = ptCache[i];\n pt = rootPT._pt || rootPT; // complex values may have nested PropTweens. We only accommodate the FIRST value.\n\n pt.s = (start || start === 0) && !startIsRelative ? start : pt.s + (start || 0) + ratio * pt.c;\n pt.c = value - pt.s;\n rootPT.e && (rootPT.e = _round(value) + getUnit(rootPT.e)); // mainly for CSSPlugin (end value)\n\n rootPT.b && (rootPT.b = pt.s + getUnit(rootPT.b)); // (beginning value)\n }\n},\n _addAliasesToVars = function _addAliasesToVars(targets, vars) {\n var harness = targets[0] ? _getCache(targets[0]).harness : 0,\n propertyAliases = harness && harness.aliases,\n copy,\n p,\n i,\n aliases;\n\n if (!propertyAliases) {\n return vars;\n }\n\n copy = _merge({}, vars);\n\n for (p in propertyAliases) {\n if (p in copy) {\n aliases = propertyAliases[p].split(\",\");\n i = aliases.length;\n\n while (i--) {\n copy[aliases[i]] = copy[p];\n }\n }\n }\n\n return copy;\n},\n // parses multiple formats, like {\"0%\": {x: 100}, {\"50%\": {x: -20}} and { x: {\"0%\": 100, \"50%\": -20} }, and an \"ease\" can be set on any object. We populate an \"allProps\" object with an Array for each property, like {x: [{}, {}], y:[{}, {}]} with data for each property tween. The objects have a \"t\" (time), \"v\", (value), and \"e\" (ease) property. This allows us to piece together a timeline later.\n_parseKeyframe = function _parseKeyframe(prop, obj, allProps, easeEach) {\n var ease = obj.ease || easeEach || \"power1.inOut\",\n p,\n a;\n\n if (_isArray(obj)) {\n a = allProps[prop] || (allProps[prop] = []); // t = time (out of 100), v = value, e = ease\n\n obj.forEach(function (value, i) {\n return a.push({\n t: i / (obj.length - 1) * 100,\n v: value,\n e: ease\n });\n });\n } else {\n for (p in obj) {\n a = allProps[p] || (allProps[p] = []);\n p === \"ease\" || a.push({\n t: parseFloat(prop),\n v: obj[p],\n e: ease\n });\n }\n }\n},\n _parseFuncOrString = function _parseFuncOrString(value, tween, i, target, targets) {\n return _isFunction(value) ? value.call(tween, i, target, targets) : _isString(value) && ~value.indexOf(\"random(\") ? _replaceRandom(value) : value;\n},\n _staggerTweenProps = _callbackNames + \"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert\",\n _staggerPropsToSkip = {};\n\n_forEachName(_staggerTweenProps + \",id,stagger,delay,duration,paused,scrollTrigger\", function (name) {\n return _staggerPropsToSkip[name] = 1;\n});\n/*\n * --------------------------------------------------------------------------------------\n * TWEEN\n * --------------------------------------------------------------------------------------\n */\n\n\nexport var Tween = /*#__PURE__*/function (_Animation2) {\n _inheritsLoose(Tween, _Animation2);\n\n function Tween(targets, vars, position, skipInherit) {\n var _this3;\n\n if (typeof vars === \"number\") {\n position.duration = vars;\n vars = position;\n position = null;\n }\n\n _this3 = _Animation2.call(this, skipInherit ? vars : _inheritDefaults(vars)) || this;\n var _this3$vars = _this3.vars,\n duration = _this3$vars.duration,\n delay = _this3$vars.delay,\n immediateRender = _this3$vars.immediateRender,\n stagger = _this3$vars.stagger,\n overwrite = _this3$vars.overwrite,\n keyframes = _this3$vars.keyframes,\n defaults = _this3$vars.defaults,\n scrollTrigger = _this3$vars.scrollTrigger,\n yoyoEase = _this3$vars.yoyoEase,\n parent = vars.parent || _globalTimeline,\n parsedTargets = (_isArray(targets) || _isTypedArray(targets) ? _isNumber(targets[0]) : \"length\" in vars) ? [targets] : toArray(targets),\n tl,\n i,\n copy,\n l,\n p,\n curTarget,\n staggerFunc,\n staggerVarsToMerge;\n _this3._targets = parsedTargets.length ? _harness(parsedTargets) : _warn(\"GSAP target \" + targets + \" not found. https://gsap.com\", !_config.nullTargetWarn) || [];\n _this3._ptLookup = []; //PropTween lookup. An array containing an object for each target, having keys for each tweening property\n\n _this3._overwrite = overwrite;\n\n if (keyframes || stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) {\n vars = _this3.vars;\n tl = _this3.timeline = new Timeline({\n data: \"nested\",\n defaults: defaults || {},\n targets: parent && parent.data === \"nested\" ? parent.vars.targets : parsedTargets\n }); // we need to store the targets because for staggers and keyframes, we end up creating an individual tween for each but function-based values need to know the index and the whole Array of targets.\n\n tl.kill();\n tl.parent = tl._dp = _assertThisInitialized(_this3);\n tl._start = 0;\n\n if (stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) {\n l = parsedTargets.length;\n staggerFunc = stagger && distribute(stagger);\n\n if (_isObject(stagger)) {\n //users can pass in callbacks like onStart/onComplete in the stagger object. These should fire with each individual tween.\n for (p in stagger) {\n if (~_staggerTweenProps.indexOf(p)) {\n staggerVarsToMerge || (staggerVarsToMerge = {});\n staggerVarsToMerge[p] = stagger[p];\n }\n }\n }\n\n for (i = 0; i < l; i++) {\n copy = _copyExcluding(vars, _staggerPropsToSkip);\n copy.stagger = 0;\n yoyoEase && (copy.yoyoEase = yoyoEase);\n staggerVarsToMerge && _merge(copy, staggerVarsToMerge);\n curTarget = parsedTargets[i]; //don't just copy duration or delay because if they're a string or function, we'd end up in an infinite loop because _isFuncOrString() would evaluate as true in the child tweens, entering this loop, etc. So we parse the value straight from vars and default to 0.\n\n copy.duration = +_parseFuncOrString(duration, _assertThisInitialized(_this3), i, curTarget, parsedTargets);\n copy.delay = (+_parseFuncOrString(delay, _assertThisInitialized(_this3), i, curTarget, parsedTargets) || 0) - _this3._delay;\n\n if (!stagger && l === 1 && copy.delay) {\n // if someone does delay:\"random(1, 5)\", repeat:-1, for example, the delay shouldn't be inside the repeat.\n _this3._delay = delay = copy.delay;\n _this3._start += delay;\n copy.delay = 0;\n }\n\n tl.to(curTarget, copy, staggerFunc ? staggerFunc(i, curTarget, parsedTargets) : 0);\n tl._ease = _easeMap.none;\n }\n\n tl.duration() ? duration = delay = 0 : _this3.timeline = 0; // if the timeline's duration is 0, we don't need a timeline internally!\n } else if (keyframes) {\n _inheritDefaults(_setDefaults(tl.vars.defaults, {\n ease: \"none\"\n }));\n\n tl._ease = _parseEase(keyframes.ease || vars.ease || \"none\");\n var time = 0,\n a,\n kf,\n v;\n\n if (_isArray(keyframes)) {\n keyframes.forEach(function (frame) {\n return tl.to(parsedTargets, frame, \">\");\n });\n tl.duration(); // to ensure tl._dur is cached because we tap into it for performance purposes in the render() method.\n } else {\n copy = {};\n\n for (p in keyframes) {\n p === \"ease\" || p === \"easeEach\" || _parseKeyframe(p, keyframes[p], copy, keyframes.easeEach);\n }\n\n for (p in copy) {\n a = copy[p].sort(function (a, b) {\n return a.t - b.t;\n });\n time = 0;\n\n for (i = 0; i < a.length; i++) {\n kf = a[i];\n v = {\n ease: kf.e,\n duration: (kf.t - (i ? a[i - 1].t : 0)) / 100 * duration\n };\n v[p] = kf.v;\n tl.to(parsedTargets, v, time);\n time += v.duration;\n }\n }\n\n tl.duration() < duration && tl.to({}, {\n duration: duration - tl.duration()\n }); // in case keyframes didn't go to 100%\n }\n }\n\n duration || _this3.duration(duration = tl.duration());\n } else {\n _this3.timeline = 0; //speed optimization, faster lookups (no going up the prototype chain)\n }\n\n if (overwrite === true && !_suppressOverwrites) {\n _overwritingTween = _assertThisInitialized(_this3);\n\n _globalTimeline.killTweensOf(parsedTargets);\n\n _overwritingTween = 0;\n }\n\n _addToTimeline(parent, _assertThisInitialized(_this3), position);\n\n vars.reversed && _this3.reverse();\n vars.paused && _this3.paused(true);\n\n if (immediateRender || !duration && !keyframes && _this3._start === _roundPrecise(parent._time) && _isNotFalse(immediateRender) && _hasNoPausedAncestors(_assertThisInitialized(_this3)) && parent.data !== \"nested\") {\n _this3._tTime = -_tinyNum; //forces a render without having to set the render() \"force\" parameter to true because we want to allow lazying by default (using the \"force\" parameter always forces an immediate full render)\n\n _this3.render(Math.max(0, -delay) || 0); //in case delay is negative\n\n }\n\n scrollTrigger && _scrollTrigger(_assertThisInitialized(_this3), scrollTrigger);\n return _this3;\n }\n\n var _proto3 = Tween.prototype;\n\n _proto3.render = function render(totalTime, suppressEvents, force) {\n var prevTime = this._time,\n tDur = this._tDur,\n dur = this._dur,\n isNegative = totalTime < 0,\n tTime = totalTime > tDur - _tinyNum && !isNegative ? tDur : totalTime < _tinyNum ? 0 : totalTime,\n time,\n pt,\n iteration,\n cycleDuration,\n prevIteration,\n isYoyo,\n ratio,\n timeline,\n yoyoEase;\n\n if (!dur) {\n _renderZeroDurationTween(this, totalTime, suppressEvents, force);\n } else if (tTime !== this._tTime || !totalTime || force || !this._initted && this._tTime || this._startAt && this._zTime < 0 !== isNegative) {\n //this senses if we're crossing over the start time, in which case we must record _zTime and force the render, but we do it in this lengthy conditional way for performance reasons (usually we can skip the calculations): this._initted && (this._zTime < 0) !== (totalTime < 0)\n time = tTime;\n timeline = this.timeline;\n\n if (this._repeat) {\n //adjust the time for repeats and yoyos\n cycleDuration = dur + this._rDelay;\n\n if (this._repeat < -1 && isNegative) {\n return this.totalTime(cycleDuration * 100 + totalTime, suppressEvents, force);\n }\n\n time = _roundPrecise(tTime % cycleDuration); //round to avoid floating point errors. (4 % 0.8 should be 0 but some browsers report it as 0.79999999!)\n\n if (tTime === tDur) {\n // the tDur === tTime is for edge cases where there's a lengthy decimal on the duration and it may reach the very end but the time is rendered as not-quite-there (remember, tDur is rounded to 4 decimals whereas dur isn't)\n iteration = this._repeat;\n time = dur;\n } else {\n iteration = ~~(tTime / cycleDuration);\n\n if (iteration && iteration === _roundPrecise(tTime / cycleDuration)) {\n time = dur;\n iteration--;\n }\n\n time > dur && (time = dur);\n }\n\n isYoyo = this._yoyo && iteration & 1;\n\n if (isYoyo) {\n yoyoEase = this._yEase;\n time = dur - time;\n }\n\n prevIteration = _animationCycle(this._tTime, cycleDuration);\n\n if (time === prevTime && !force && this._initted && iteration === prevIteration) {\n //could be during the repeatDelay part. No need to render and fire callbacks.\n this._tTime = tTime;\n return this;\n }\n\n if (iteration !== prevIteration) {\n timeline && this._yEase && _propagateYoyoEase(timeline, isYoyo); //repeatRefresh functionality\n\n if (this.vars.repeatRefresh && !isYoyo && !this._lock && this._time !== cycleDuration && this._initted) {\n // this._time will === cycleDuration when we render at EXACTLY the end of an iteration. Without this condition, it'd often do the repeatRefresh render TWICE (again on the very next tick).\n this._lock = force = 1; //force, otherwise if lazy is true, the _attemptInitTween() will return and we'll jump out and get caught bouncing on each tick.\n\n this.render(_roundPrecise(cycleDuration * iteration), true).invalidate()._lock = 0;\n }\n }\n }\n\n if (!this._initted) {\n if (_attemptInitTween(this, isNegative ? totalTime : time, force, suppressEvents, tTime)) {\n this._tTime = 0; // in constructor if immediateRender is true, we set _tTime to -_tinyNum to have the playhead cross the starting point but we can't leave _tTime as a negative number.\n\n return this;\n }\n\n if (prevTime !== this._time && !(force && this.vars.repeatRefresh && iteration !== prevIteration)) {\n // rare edge case - during initialization, an onUpdate in the _startAt (.fromTo()) might force this tween to render at a different spot in which case we should ditch this render() call so that it doesn't revert the values. But we also don't want to dump if we're doing a repeatRefresh render!\n return this;\n }\n\n if (dur !== this._dur) {\n // while initting, a plugin like InertiaPlugin might alter the duration, so rerun from the start to ensure everything renders as it should.\n return this.render(totalTime, suppressEvents, force);\n }\n }\n\n this._tTime = tTime;\n this._time = time;\n\n if (!this._act && this._ts) {\n this._act = 1; //as long as it's not paused, force it to be active so that if the user renders independent of the parent timeline, it'll be forced to re-render on the next tick.\n\n this._lazy = 0;\n }\n\n this.ratio = ratio = (yoyoEase || this._ease)(time / dur);\n\n if (this._from) {\n this.ratio = ratio = 1 - ratio;\n }\n\n if (time && !prevTime && !suppressEvents && !iteration) {\n _callback(this, \"onStart\");\n\n if (this._tTime !== tTime) {\n // in case the onStart triggered a render at a different spot, eject. Like if someone did animation.pause(0.5) or something inside the onStart.\n return this;\n }\n }\n\n pt = this._pt;\n\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n\n timeline && timeline.render(totalTime < 0 ? totalTime : timeline._dur * timeline._ease(time / this._dur), suppressEvents, force) || this._startAt && (this._zTime = totalTime);\n\n if (this._onUpdate && !suppressEvents) {\n isNegative && _rewindStartAt(this, totalTime, suppressEvents, force); //note: for performance reasons, we tuck this conditional logic inside less traveled areas (most tweens don't have an onUpdate). We'd just have it at the end before the onComplete, but the values should be updated before any onUpdate is called, so we ALSO put it here and then if it's not called, we do so later near the onComplete.\n\n _callback(this, \"onUpdate\");\n }\n\n this._repeat && iteration !== prevIteration && this.vars.onRepeat && !suppressEvents && this.parent && _callback(this, \"onRepeat\");\n\n if ((tTime === this._tDur || !tTime) && this._tTime === tTime) {\n isNegative && !this._onUpdate && _rewindStartAt(this, totalTime, true, true);\n (totalTime || !dur) && (tTime === this._tDur && this._ts > 0 || !tTime && this._ts < 0) && _removeFromParent(this, 1); // don't remove if we're rendering at exactly a time of 0, as there could be autoRevert values that should get set on the next tick (if the playhead goes backward beyond the startTime, negative totalTime). Don't remove if the timeline is reversed and the playhead isn't at 0, otherwise tl.progress(1).reverse() won't work. Only remove if the playhead is at the end and timeScale is positive, or if the playhead is at 0 and the timeScale is negative.\n\n if (!suppressEvents && !(isNegative && !prevTime) && (tTime || prevTime || isYoyo)) {\n // if prevTime and tTime are zero, we shouldn't fire the onReverseComplete. This could happen if you gsap.to(... {paused:true}).play();\n _callback(this, tTime === tDur ? \"onComplete\" : \"onReverseComplete\", true);\n\n this._prom && !(tTime < tDur && this.timeScale() > 0) && this._prom();\n }\n }\n }\n\n return this;\n };\n\n _proto3.targets = function targets() {\n return this._targets;\n };\n\n _proto3.invalidate = function invalidate(soft) {\n // \"soft\" gives us a way to clear out everything EXCEPT the recorded pre-\"from\" portion of from() tweens. Otherwise, for example, if you tween.progress(1).render(0, true true).invalidate(), the \"from\" values would persist and then on the next render, the from() tweens would initialize and the current value would match the \"from\" values, thus animate from the same value to the same value (no animation). We tap into this in ScrollTrigger's refresh() where we must push a tween to completion and then back again but honor its init state in case the tween is dependent on another tween further up on the page.\n (!soft || !this.vars.runBackwards) && (this._startAt = 0);\n this._pt = this._op = this._onUpdate = this._lazy = this.ratio = 0;\n this._ptLookup = [];\n this.timeline && this.timeline.invalidate(soft);\n return _Animation2.prototype.invalidate.call(this, soft);\n };\n\n _proto3.resetTo = function resetTo(property, value, start, startIsRelative, skipRecursion) {\n _tickerActive || _ticker.wake();\n this._ts || this.play();\n var time = Math.min(this._dur, (this._dp._time - this._start) * this._ts),\n ratio;\n this._initted || _initTween(this, time);\n ratio = this._ease(time / this._dur); // don't just get tween.ratio because it may not have rendered yet.\n // possible future addition to allow an object with multiple values to update, like tween.resetTo({x: 100, y: 200}); At this point, it doesn't seem worth the added kb given the fact that most users will likely opt for the convenient gsap.quickTo() way of interacting with this method.\n // if (_isObject(property)) { // performance optimization\n // \tfor (p in property) {\n // \t\tif (_updatePropTweens(this, p, property[p], value ? value[p] : null, start, ratio, time)) {\n // \t\t\treturn this.resetTo(property, value, start, startIsRelative); // if a PropTween wasn't found for the property, it'll get forced with a re-initialization so we need to jump out and start over again.\n // \t\t}\n // \t}\n // } else {\n\n if (_updatePropTweens(this, property, value, start, startIsRelative, ratio, time, skipRecursion)) {\n return this.resetTo(property, value, start, startIsRelative, 1); // if a PropTween wasn't found for the property, it'll get forced with a re-initialization so we need to jump out and start over again.\n } //}\n\n\n _alignPlayhead(this, 0);\n\n this.parent || _addLinkedListItem(this._dp, this, \"_first\", \"_last\", this._dp._sort ? \"_start\" : 0);\n return this.render(0);\n };\n\n _proto3.kill = function kill(targets, vars) {\n if (vars === void 0) {\n vars = \"all\";\n }\n\n if (!targets && (!vars || vars === \"all\")) {\n this._lazy = this._pt = 0;\n return this.parent ? _interrupt(this) : this;\n }\n\n if (this.timeline) {\n var tDur = this.timeline.totalDuration();\n this.timeline.killTweensOf(targets, vars, _overwritingTween && _overwritingTween.vars.overwrite !== true)._first || _interrupt(this); // if nothing is left tweening, interrupt.\n\n this.parent && tDur !== this.timeline.totalDuration() && _setDuration(this, this._dur * this.timeline._tDur / tDur, 0, 1); // if a nested tween is killed that changes the duration, it should affect this tween's duration. We must use the ratio, though, because sometimes the internal timeline is stretched like for keyframes where they don't all add up to whatever the parent tween's duration was set to.\n\n return this;\n }\n\n var parsedTargets = this._targets,\n killingTargets = targets ? toArray(targets) : parsedTargets,\n propTweenLookup = this._ptLookup,\n firstPT = this._pt,\n overwrittenProps,\n curLookup,\n curOverwriteProps,\n props,\n p,\n pt,\n i;\n\n if ((!vars || vars === \"all\") && _arraysMatch(parsedTargets, killingTargets)) {\n vars === \"all\" && (this._pt = 0);\n return _interrupt(this);\n }\n\n overwrittenProps = this._op = this._op || [];\n\n if (vars !== \"all\") {\n //so people can pass in a comma-delimited list of property names\n if (_isString(vars)) {\n p = {};\n\n _forEachName(vars, function (name) {\n return p[name] = 1;\n });\n\n vars = p;\n }\n\n vars = _addAliasesToVars(parsedTargets, vars);\n }\n\n i = parsedTargets.length;\n\n while (i--) {\n if (~killingTargets.indexOf(parsedTargets[i])) {\n curLookup = propTweenLookup[i];\n\n if (vars === \"all\") {\n overwrittenProps[i] = vars;\n props = curLookup;\n curOverwriteProps = {};\n } else {\n curOverwriteProps = overwrittenProps[i] = overwrittenProps[i] || {};\n props = vars;\n }\n\n for (p in props) {\n pt = curLookup && curLookup[p];\n\n if (pt) {\n if (!(\"kill\" in pt.d) || pt.d.kill(p) === true) {\n _removeLinkedListItem(this, pt, \"_pt\");\n }\n\n delete curLookup[p];\n }\n\n if (curOverwriteProps !== \"all\") {\n curOverwriteProps[p] = 1;\n }\n }\n }\n }\n\n this._initted && !this._pt && firstPT && _interrupt(this); //if all tweening properties are killed, kill the tween. Without this line, if there's a tween with multiple targets and then you killTweensOf() each target individually, the tween would technically still remain active and fire its onComplete even though there aren't any more properties tweening.\n\n return this;\n };\n\n Tween.to = function to(targets, vars) {\n return new Tween(targets, vars, arguments[2]);\n };\n\n Tween.from = function from(targets, vars) {\n return _createTweenType(1, arguments);\n };\n\n Tween.delayedCall = function delayedCall(delay, callback, params, scope) {\n return new Tween(callback, 0, {\n immediateRender: false,\n lazy: false,\n overwrite: false,\n delay: delay,\n onComplete: callback,\n onReverseComplete: callback,\n onCompleteParams: params,\n onReverseCompleteParams: params,\n callbackScope: scope\n }); // we must use onReverseComplete too for things like timeline.add(() => {...}) which should be triggered in BOTH directions (forward and reverse)\n };\n\n Tween.fromTo = function fromTo(targets, fromVars, toVars) {\n return _createTweenType(2, arguments);\n };\n\n Tween.set = function set(targets, vars) {\n vars.duration = 0;\n vars.repeatDelay || (vars.repeat = 0);\n return new Tween(targets, vars);\n };\n\n Tween.killTweensOf = function killTweensOf(targets, props, onlyActive) {\n return _globalTimeline.killTweensOf(targets, props, onlyActive);\n };\n\n return Tween;\n}(Animation);\n\n_setDefaults(Tween.prototype, {\n _targets: [],\n _lazy: 0,\n _startAt: 0,\n _op: 0,\n _onInit: 0\n}); //add the pertinent timeline methods to Tween instances so that users can chain conveniently and create a timeline automatically. (removed due to concerns that it'd ultimately add to more confusion especially for beginners)\n// _forEachName(\"to,from,fromTo,set,call,add,addLabel,addPause\", name => {\n// \tTween.prototype[name] = function() {\n// \t\tlet tl = new Timeline();\n// \t\treturn _addToTimeline(tl, this)[name].apply(tl, toArray(arguments));\n// \t}\n// });\n//for backward compatibility. Leverage the timeline calls.\n\n\n_forEachName(\"staggerTo,staggerFrom,staggerFromTo\", function (name) {\n Tween[name] = function () {\n var tl = new Timeline(),\n params = _slice.call(arguments, 0);\n\n params.splice(name === \"staggerFromTo\" ? 5 : 4, 0, 0);\n return tl[name].apply(tl, params);\n };\n});\n/*\n * --------------------------------------------------------------------------------------\n * PROPTWEEN\n * --------------------------------------------------------------------------------------\n */\n\n\nvar _setterPlain = function _setterPlain(target, property, value) {\n return target[property] = value;\n},\n _setterFunc = function _setterFunc(target, property, value) {\n return target[property](value);\n},\n _setterFuncWithParam = function _setterFuncWithParam(target, property, value, data) {\n return target[property](data.fp, value);\n},\n _setterAttribute = function _setterAttribute(target, property, value) {\n return target.setAttribute(property, value);\n},\n _getSetter = function _getSetter(target, property) {\n return _isFunction(target[property]) ? _setterFunc : _isUndefined(target[property]) && target.setAttribute ? _setterAttribute : _setterPlain;\n},\n _renderPlain = function _renderPlain(ratio, data) {\n return data.set(data.t, data.p, Math.round((data.s + data.c * ratio) * 1000000) / 1000000, data);\n},\n _renderBoolean = function _renderBoolean(ratio, data) {\n return data.set(data.t, data.p, !!(data.s + data.c * ratio), data);\n},\n _renderComplexString = function _renderComplexString(ratio, data) {\n var pt = data._pt,\n s = \"\";\n\n if (!ratio && data.b) {\n //b = beginning string\n s = data.b;\n } else if (ratio === 1 && data.e) {\n //e = ending string\n s = data.e;\n } else {\n while (pt) {\n s = pt.p + (pt.m ? pt.m(pt.s + pt.c * ratio) : Math.round((pt.s + pt.c * ratio) * 10000) / 10000) + s; //we use the \"p\" property for the text inbetween (like a suffix). And in the context of a complex string, the modifier (m) is typically just Math.round(), like for RGB colors.\n\n pt = pt._next;\n }\n\n s += data.c; //we use the \"c\" of the PropTween to store the final chunk of non-numeric text.\n }\n\n data.set(data.t, data.p, s, data);\n},\n _renderPropTweens = function _renderPropTweens(ratio, data) {\n var pt = data._pt;\n\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n},\n _addPluginModifier = function _addPluginModifier(modifier, tween, target, property) {\n var pt = this._pt,\n next;\n\n while (pt) {\n next = pt._next;\n pt.p === property && pt.modifier(modifier, tween, target);\n pt = next;\n }\n},\n _killPropTweensOf = function _killPropTweensOf(property) {\n var pt = this._pt,\n hasNonDependentRemaining,\n next;\n\n while (pt) {\n next = pt._next;\n\n if (pt.p === property && !pt.op || pt.op === property) {\n _removeLinkedListItem(this, pt, \"_pt\");\n } else if (!pt.dep) {\n hasNonDependentRemaining = 1;\n }\n\n pt = next;\n }\n\n return !hasNonDependentRemaining;\n},\n _setterWithModifier = function _setterWithModifier(target, property, value, data) {\n data.mSet(target, property, data.m.call(data.tween, value, data.mt), data);\n},\n _sortPropTweensByPriority = function _sortPropTweensByPriority(parent) {\n var pt = parent._pt,\n next,\n pt2,\n first,\n last; //sorts the PropTween linked list in order of priority because some plugins need to do their work after ALL of the PropTweens were created (like RoundPropsPlugin and ModifiersPlugin)\n\n while (pt) {\n next = pt._next;\n pt2 = first;\n\n while (pt2 && pt2.pr > pt.pr) {\n pt2 = pt2._next;\n }\n\n if (pt._prev = pt2 ? pt2._prev : last) {\n pt._prev._next = pt;\n } else {\n first = pt;\n }\n\n if (pt._next = pt2) {\n pt2._prev = pt;\n } else {\n last = pt;\n }\n\n pt = next;\n }\n\n parent._pt = first;\n}; //PropTween key: t = target, p = prop, r = renderer, d = data, s = start, c = change, op = overwriteProperty (ONLY populated when it's different than p), pr = priority, _next/_prev for the linked list siblings, set = setter, m = modifier, mSet = modifierSetter (the original setter, before a modifier was added)\n\n\nexport var PropTween = /*#__PURE__*/function () {\n function PropTween(next, target, prop, start, change, renderer, data, setter, priority) {\n this.t = target;\n this.s = start;\n this.c = change;\n this.p = prop;\n this.r = renderer || _renderPlain;\n this.d = data || this;\n this.set = setter || _setterPlain;\n this.pr = priority || 0;\n this._next = next;\n\n if (next) {\n next._prev = this;\n }\n }\n\n var _proto4 = PropTween.prototype;\n\n _proto4.modifier = function modifier(func, tween, target) {\n this.mSet = this.mSet || this.set; //in case it was already set (a PropTween can only have one modifier)\n\n this.set = _setterWithModifier;\n this.m = func;\n this.mt = target; //modifier target\n\n this.tween = tween;\n };\n\n return PropTween;\n}(); //Initialization tasks\n\n_forEachName(_callbackNames + \"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger\", function (name) {\n return _reservedProps[name] = 1;\n});\n\n_globals.TweenMax = _globals.TweenLite = Tween;\n_globals.TimelineLite = _globals.TimelineMax = Timeline;\n_globalTimeline = new Timeline({\n sortChildren: false,\n defaults: _defaults,\n autoRemoveChildren: true,\n id: \"root\",\n smoothChildTiming: true\n});\n_config.stringFilter = _colorStringFilter;\n\nvar _media = [],\n _listeners = {},\n _emptyArray = [],\n _lastMediaTime = 0,\n _contextID = 0,\n _dispatch = function _dispatch(type) {\n return (_listeners[type] || _emptyArray).map(function (f) {\n return f();\n });\n},\n _onMediaChange = function _onMediaChange() {\n var time = Date.now(),\n matches = [];\n\n if (time - _lastMediaTime > 2) {\n _dispatch(\"matchMediaInit\");\n\n _media.forEach(function (c) {\n var queries = c.queries,\n conditions = c.conditions,\n match,\n p,\n anyMatch,\n toggled;\n\n for (p in queries) {\n match = _win.matchMedia(queries[p]).matches; // Firefox doesn't update the \"matches\" property of the MediaQueryList object correctly - it only does so as it calls its change handler - so we must re-create a media query here to ensure it's accurate.\n\n match && (anyMatch = 1);\n\n if (match !== conditions[p]) {\n conditions[p] = match;\n toggled = 1;\n }\n }\n\n if (toggled) {\n c.revert();\n anyMatch && matches.push(c);\n }\n });\n\n _dispatch(\"matchMediaRevert\");\n\n matches.forEach(function (c) {\n return c.onMatch(c, function (func) {\n return c.add(null, func);\n });\n });\n _lastMediaTime = time;\n\n _dispatch(\"matchMedia\");\n }\n};\n\nvar Context = /*#__PURE__*/function () {\n function Context(func, scope) {\n this.selector = scope && selector(scope);\n this.data = [];\n this._r = []; // returned/cleanup functions\n\n this.isReverted = false;\n this.id = _contextID++; // to work around issues that frameworks like Vue cause by making things into Proxies which make it impossible to do something like _media.indexOf(this) because \"this\" would no longer refer to the Context instance itself - it'd refer to a Proxy! We needed a way to identify the context uniquely\n\n func && this.add(func);\n }\n\n var _proto5 = Context.prototype;\n\n _proto5.add = function add(name, func, scope) {\n // possible future addition if we need the ability to add() an animation to a context and for whatever reason cannot create that animation inside of a context.add(() => {...}) function.\n // if (name && _isFunction(name.revert)) {\n // \tthis.data.push(name);\n // \treturn (name._ctx = this);\n // }\n if (_isFunction(name)) {\n scope = func;\n func = name;\n name = _isFunction;\n }\n\n var self = this,\n f = function f() {\n var prev = _context,\n prevSelector = self.selector,\n result;\n prev && prev !== self && prev.data.push(self);\n scope && (self.selector = selector(scope));\n _context = self;\n result = func.apply(self, arguments);\n _isFunction(result) && self._r.push(result);\n _context = prev;\n self.selector = prevSelector;\n self.isReverted = false;\n return result;\n };\n\n self.last = f;\n return name === _isFunction ? f(self, function (func) {\n return self.add(null, func);\n }) : name ? self[name] = f : f;\n };\n\n _proto5.ignore = function ignore(func) {\n var prev = _context;\n _context = null;\n func(this);\n _context = prev;\n };\n\n _proto5.getTweens = function getTweens() {\n var a = [];\n this.data.forEach(function (e) {\n return e instanceof Context ? a.push.apply(a, e.getTweens()) : e instanceof Tween && !(e.parent && e.parent.data === \"nested\") && a.push(e);\n });\n return a;\n };\n\n _proto5.clear = function clear() {\n this._r.length = this.data.length = 0;\n };\n\n _proto5.kill = function kill(revert, matchMedia) {\n var _this4 = this;\n\n if (revert) {\n (function () {\n var tweens = _this4.getTweens(),\n i = _this4.data.length,\n t;\n\n while (i--) {\n // Flip plugin tweens are very different in that they should actually be pushed to their end. The plugin replaces the timeline's .revert() method to do exactly that. But we also need to remove any of those nested tweens inside the flip timeline so that they don't get individually reverted.\n t = _this4.data[i];\n\n if (t.data === \"isFlip\") {\n t.revert();\n t.getChildren(true, true, false).forEach(function (tween) {\n return tweens.splice(tweens.indexOf(tween), 1);\n });\n }\n } // save as an object so that we can cache the globalTime for each tween to optimize performance during the sort\n\n\n tweens.map(function (t) {\n return {\n g: t._dur || t._delay || t._sat && !t._sat.vars.immediateRender ? t.globalTime(0) : -Infinity,\n t: t\n };\n }).sort(function (a, b) {\n return b.g - a.g || -Infinity;\n }).forEach(function (o) {\n return o.t.revert(revert);\n }); // note: all of the _startAt tweens should be reverted in reverse order that they were created, and they'll all have the same globalTime (-1) so the \" || -1\" in the sort keeps the order properly.\n\n i = _this4.data.length;\n\n while (i--) {\n // make sure we loop backwards so that, for example, SplitTexts that were created later on the same element get reverted first\n t = _this4.data[i];\n\n if (t instanceof Timeline) {\n if (t.data !== \"nested\") {\n t.scrollTrigger && t.scrollTrigger.revert();\n t.kill(); // don't revert() the timeline because that's duplicating efforts since we already reverted all the tweens\n }\n } else {\n !(t instanceof Tween) && t.revert && t.revert(revert);\n }\n }\n\n _this4._r.forEach(function (f) {\n return f(revert, _this4);\n });\n\n _this4.isReverted = true;\n })();\n } else {\n this.data.forEach(function (e) {\n return e.kill && e.kill();\n });\n }\n\n this.clear();\n\n if (matchMedia) {\n var i = _media.length;\n\n while (i--) {\n // previously, we checked _media.indexOf(this), but some frameworks like Vue enforce Proxy objects that make it impossible to get the proper result that way, so we must use a unique ID number instead.\n _media[i].id === this.id && _media.splice(i, 1);\n }\n }\n };\n\n _proto5.revert = function revert(config) {\n this.kill(config || {});\n };\n\n return Context;\n}();\n\nvar MatchMedia = /*#__PURE__*/function () {\n function MatchMedia(scope) {\n this.contexts = [];\n this.scope = scope;\n _context && _context.data.push(this);\n }\n\n var _proto6 = MatchMedia.prototype;\n\n _proto6.add = function add(conditions, func, scope) {\n _isObject(conditions) || (conditions = {\n matches: conditions\n });\n var context = new Context(0, scope || this.scope),\n cond = context.conditions = {},\n mq,\n p,\n active;\n _context && !context.selector && (context.selector = _context.selector); // in case a context is created inside a context. Like a gsap.matchMedia() that's inside a scoped gsap.context()\n\n this.contexts.push(context);\n func = context.add(\"onMatch\", func);\n context.queries = conditions;\n\n for (p in conditions) {\n if (p === \"all\") {\n active = 1;\n } else {\n mq = _win.matchMedia(conditions[p]);\n\n if (mq) {\n _media.indexOf(context) < 0 && _media.push(context);\n (cond[p] = mq.matches) && (active = 1);\n mq.addListener ? mq.addListener(_onMediaChange) : mq.addEventListener(\"change\", _onMediaChange);\n }\n }\n }\n\n active && func(context, function (f) {\n return context.add(null, f);\n });\n return this;\n } // refresh() {\n // \tlet time = _lastMediaTime,\n // \t\tmedia = _media;\n // \t_lastMediaTime = -1;\n // \t_media = this.contexts;\n // \t_onMediaChange();\n // \t_lastMediaTime = time;\n // \t_media = media;\n // }\n ;\n\n _proto6.revert = function revert(config) {\n this.kill(config || {});\n };\n\n _proto6.kill = function kill(revert) {\n this.contexts.forEach(function (c) {\n return c.kill(revert, true);\n });\n };\n\n return MatchMedia;\n}();\n/*\n * --------------------------------------------------------------------------------------\n * GSAP\n * --------------------------------------------------------------------------------------\n */\n\n\nvar _gsap = {\n registerPlugin: function registerPlugin() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n args.forEach(function (config) {\n return _createPlugin(config);\n });\n },\n timeline: function timeline(vars) {\n return new Timeline(vars);\n },\n getTweensOf: function getTweensOf(targets, onlyActive) {\n return _globalTimeline.getTweensOf(targets, onlyActive);\n },\n getProperty: function getProperty(target, property, unit, uncache) {\n _isString(target) && (target = toArray(target)[0]); //in case selector text or an array is passed in\n\n var getter = _getCache(target || {}).get,\n format = unit ? _passThrough : _numericIfPossible;\n\n unit === \"native\" && (unit = \"\");\n return !target ? target : !property ? function (property, unit, uncache) {\n return format((_plugins[property] && _plugins[property].get || getter)(target, property, unit, uncache));\n } : format((_plugins[property] && _plugins[property].get || getter)(target, property, unit, uncache));\n },\n quickSetter: function quickSetter(target, property, unit) {\n target = toArray(target);\n\n if (target.length > 1) {\n var setters = target.map(function (t) {\n return gsap.quickSetter(t, property, unit);\n }),\n l = setters.length;\n return function (value) {\n var i = l;\n\n while (i--) {\n setters[i](value);\n }\n };\n }\n\n target = target[0] || {};\n\n var Plugin = _plugins[property],\n cache = _getCache(target),\n p = cache.harness && (cache.harness.aliases || {})[property] || property,\n // in case it's an alias, like \"rotate\" for \"rotation\".\n setter = Plugin ? function (value) {\n var p = new Plugin();\n _quickTween._pt = 0;\n p.init(target, unit ? value + unit : value, _quickTween, 0, [target]);\n p.render(1, p);\n _quickTween._pt && _renderPropTweens(1, _quickTween);\n } : cache.set(target, p);\n\n return Plugin ? setter : function (value) {\n return setter(target, p, unit ? value + unit : value, cache, 1);\n };\n },\n quickTo: function quickTo(target, property, vars) {\n var _merge2;\n\n var tween = gsap.to(target, _merge((_merge2 = {}, _merge2[property] = \"+=0.1\", _merge2.paused = true, _merge2), vars || {})),\n func = function func(value, start, startIsRelative) {\n return tween.resetTo(property, value, start, startIsRelative);\n };\n\n func.tween = tween;\n return func;\n },\n isTweening: function isTweening(targets) {\n return _globalTimeline.getTweensOf(targets, true).length > 0;\n },\n defaults: function defaults(value) {\n value && value.ease && (value.ease = _parseEase(value.ease, _defaults.ease));\n return _mergeDeep(_defaults, value || {});\n },\n config: function config(value) {\n return _mergeDeep(_config, value || {});\n },\n registerEffect: function registerEffect(_ref3) {\n var name = _ref3.name,\n effect = _ref3.effect,\n plugins = _ref3.plugins,\n defaults = _ref3.defaults,\n extendTimeline = _ref3.extendTimeline;\n (plugins || \"\").split(\",\").forEach(function (pluginName) {\n return pluginName && !_plugins[pluginName] && !_globals[pluginName] && _warn(name + \" effect requires \" + pluginName + \" plugin.\");\n });\n\n _effects[name] = function (targets, vars, tl) {\n return effect(toArray(targets), _setDefaults(vars || {}, defaults), tl);\n };\n\n if (extendTimeline) {\n Timeline.prototype[name] = function (targets, vars, position) {\n return this.add(_effects[name](targets, _isObject(vars) ? vars : (position = vars) && {}, this), position);\n };\n }\n },\n registerEase: function registerEase(name, ease) {\n _easeMap[name] = _parseEase(ease);\n },\n parseEase: function parseEase(ease, defaultEase) {\n return arguments.length ? _parseEase(ease, defaultEase) : _easeMap;\n },\n getById: function getById(id) {\n return _globalTimeline.getById(id);\n },\n exportRoot: function exportRoot(vars, includeDelayedCalls) {\n if (vars === void 0) {\n vars = {};\n }\n\n var tl = new Timeline(vars),\n child,\n next;\n tl.smoothChildTiming = _isNotFalse(vars.smoothChildTiming);\n\n _globalTimeline.remove(tl);\n\n tl._dp = 0; //otherwise it'll get re-activated when adding children and be re-introduced into _globalTimeline's linked list (then added to itself).\n\n tl._time = tl._tTime = _globalTimeline._time;\n child = _globalTimeline._first;\n\n while (child) {\n next = child._next;\n\n if (includeDelayedCalls || !(!child._dur && child instanceof Tween && child.vars.onComplete === child._targets[0])) {\n _addToTimeline(tl, child, child._start - child._delay);\n }\n\n child = next;\n }\n\n _addToTimeline(_globalTimeline, tl, 0);\n\n return tl;\n },\n context: function context(func, scope) {\n return func ? new Context(func, scope) : _context;\n },\n matchMedia: function matchMedia(scope) {\n return new MatchMedia(scope);\n },\n matchMediaRefresh: function matchMediaRefresh() {\n return _media.forEach(function (c) {\n var cond = c.conditions,\n found,\n p;\n\n for (p in cond) {\n if (cond[p]) {\n cond[p] = false;\n found = 1;\n }\n }\n\n found && c.revert();\n }) || _onMediaChange();\n },\n addEventListener: function addEventListener(type, callback) {\n var a = _listeners[type] || (_listeners[type] = []);\n ~a.indexOf(callback) || a.push(callback);\n },\n removeEventListener: function removeEventListener(type, callback) {\n var a = _listeners[type],\n i = a && a.indexOf(callback);\n i >= 0 && a.splice(i, 1);\n },\n utils: {\n wrap: wrap,\n wrapYoyo: wrapYoyo,\n distribute: distribute,\n random: random,\n snap: snap,\n normalize: normalize,\n getUnit: getUnit,\n clamp: clamp,\n splitColor: splitColor,\n toArray: toArray,\n selector: selector,\n mapRange: mapRange,\n pipe: pipe,\n unitize: unitize,\n interpolate: interpolate,\n shuffle: shuffle\n },\n install: _install,\n effects: _effects,\n ticker: _ticker,\n updateRoot: Timeline.updateRoot,\n plugins: _plugins,\n globalTimeline: _globalTimeline,\n core: {\n PropTween: PropTween,\n globals: _addGlobal,\n Tween: Tween,\n Timeline: Timeline,\n Animation: Animation,\n getCache: _getCache,\n _removeLinkedListItem: _removeLinkedListItem,\n reverting: function reverting() {\n return _reverting;\n },\n context: function context(toAdd) {\n if (toAdd && _context) {\n _context.data.push(toAdd);\n\n toAdd._ctx = _context;\n }\n\n return _context;\n },\n suppressOverwrites: function suppressOverwrites(value) {\n return _suppressOverwrites = value;\n }\n }\n};\n\n_forEachName(\"to,from,fromTo,delayedCall,set,killTweensOf\", function (name) {\n return _gsap[name] = Tween[name];\n});\n\n_ticker.add(Timeline.updateRoot);\n\n_quickTween = _gsap.to({}, {\n duration: 0\n}); // ---- EXTRA PLUGINS --------------------------------------------------------\n\nvar _getPluginPropTween = function _getPluginPropTween(plugin, prop) {\n var pt = plugin._pt;\n\n while (pt && pt.p !== prop && pt.op !== prop && pt.fp !== prop) {\n pt = pt._next;\n }\n\n return pt;\n},\n _addModifiers = function _addModifiers(tween, modifiers) {\n var targets = tween._targets,\n p,\n i,\n pt;\n\n for (p in modifiers) {\n i = targets.length;\n\n while (i--) {\n pt = tween._ptLookup[i][p];\n\n if (pt && (pt = pt.d)) {\n if (pt._pt) {\n // is a plugin\n pt = _getPluginPropTween(pt, p);\n }\n\n pt && pt.modifier && pt.modifier(modifiers[p], tween, targets[i], p);\n }\n }\n }\n},\n _buildModifierPlugin = function _buildModifierPlugin(name, modifier) {\n return {\n name: name,\n rawVars: 1,\n //don't pre-process function-based values or \"random()\" strings.\n init: function init(target, vars, tween) {\n tween._onInit = function (tween) {\n var temp, p;\n\n if (_isString(vars)) {\n temp = {};\n\n _forEachName(vars, function (name) {\n return temp[name] = 1;\n }); //if the user passes in a comma-delimited list of property names to roundProps, like \"x,y\", we round to whole numbers.\n\n\n vars = temp;\n }\n\n if (modifier) {\n temp = {};\n\n for (p in vars) {\n temp[p] = modifier(vars[p]);\n }\n\n vars = temp;\n }\n\n _addModifiers(tween, vars);\n };\n }\n };\n}; //register core plugins\n\n\nexport var gsap = _gsap.registerPlugin({\n name: \"attr\",\n init: function init(target, vars, tween, index, targets) {\n var p, pt, v;\n this.tween = tween;\n\n for (p in vars) {\n v = target.getAttribute(p) || \"\";\n pt = this.add(target, \"setAttribute\", (v || 0) + \"\", vars[p], index, targets, 0, 0, p);\n pt.op = p;\n pt.b = v; // record the beginning value so we can revert()\n\n this._props.push(p);\n }\n },\n render: function render(ratio, data) {\n var pt = data._pt;\n\n while (pt) {\n _reverting ? pt.set(pt.t, pt.p, pt.b, pt) : pt.r(ratio, pt.d); // if reverting, go back to the original (pt.b)\n\n pt = pt._next;\n }\n }\n}, {\n name: \"endArray\",\n init: function init(target, value) {\n var i = value.length;\n\n while (i--) {\n this.add(target, i, target[i] || 0, value[i], 0, 0, 0, 0, 0, 1);\n }\n }\n}, _buildModifierPlugin(\"roundProps\", _roundModifier), _buildModifierPlugin(\"modifiers\"), _buildModifierPlugin(\"snap\", snap)) || _gsap; //to prevent the core plugins from being dropped via aggressive tree shaking, we must include them in the variable declaration in this way.\n\nTween.version = Timeline.version = gsap.version = \"3.12.5\";\n_coreReady = 1;\n_windowExists() && _wake();\nvar Power0 = _easeMap.Power0,\n Power1 = _easeMap.Power1,\n Power2 = _easeMap.Power2,\n Power3 = _easeMap.Power3,\n Power4 = _easeMap.Power4,\n Linear = _easeMap.Linear,\n Quad = _easeMap.Quad,\n Cubic = _easeMap.Cubic,\n Quart = _easeMap.Quart,\n Quint = _easeMap.Quint,\n Strong = _easeMap.Strong,\n Elastic = _easeMap.Elastic,\n Back = _easeMap.Back,\n SteppedEase = _easeMap.SteppedEase,\n Bounce = _easeMap.Bounce,\n Sine = _easeMap.Sine,\n Expo = _easeMap.Expo,\n Circ = _easeMap.Circ;\nexport { Power0, Power1, Power2, Power3, Power4, Linear, Quad, Cubic, Quart, Quint, Strong, Elastic, Back, SteppedEase, Bounce, Sine, Expo, Circ };\nexport { Tween as TweenMax, Tween as TweenLite, Timeline as TimelineMax, Timeline as TimelineLite, gsap as default, wrap, wrapYoyo, distribute, random, snap, normalize, getUnit, clamp, splitColor, toArray, selector, mapRange, pipe, unitize, interpolate, shuffle }; //export some internal methods/orojects for use in CSSPlugin so that we can externalize that file and allow custom builds that exclude it.\n\nexport { _getProperty, _numExp, _numWithUnitExp, _isString, _isUndefined, _renderComplexString, _relExp, _setDefaults, _removeLinkedListItem, _forEachName, _sortPropTweensByPriority, _colorStringFilter, _replaceRandom, _checkPlugin, _plugins, _ticker, _config, _roundModifier, _round, _missingPlugin, _getSetter, _getCache, _colorExp, _parseRelative };","/*!\n * CSSPlugin 3.12.5\n * https://gsap.com\n *\n * Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n*/\n\n/* eslint-disable */\nimport { gsap, _getProperty, _numExp, _numWithUnitExp, getUnit, _isString, _isUndefined, _renderComplexString, _relExp, _forEachName, _sortPropTweensByPriority, _colorStringFilter, _checkPlugin, _replaceRandom, _plugins, GSCache, PropTween, _config, _ticker, _round, _missingPlugin, _getSetter, _getCache, _colorExp, _parseRelative, _setDefaults, _removeLinkedListItem //for the commented-out className feature.\n} from \"./gsap-core.js\";\n\nvar _win,\n _doc,\n _docElement,\n _pluginInitted,\n _tempDiv,\n _tempDivStyler,\n _recentSetterPlugin,\n _reverting,\n _windowExists = function _windowExists() {\n return typeof window !== \"undefined\";\n},\n _transformProps = {},\n _RAD2DEG = 180 / Math.PI,\n _DEG2RAD = Math.PI / 180,\n _atan2 = Math.atan2,\n _bigNum = 1e8,\n _capsExp = /([A-Z])/g,\n _horizontalExp = /(left|right|width|margin|padding|x)/i,\n _complexExp = /[\\s,\\(]\\S/,\n _propertyAliases = {\n autoAlpha: \"opacity,visibility\",\n scale: \"scaleX,scaleY\",\n alpha: \"opacity\"\n},\n _renderCSSProp = function _renderCSSProp(ratio, data) {\n return data.set(data.t, data.p, Math.round((data.s + data.c * ratio) * 10000) / 10000 + data.u, data);\n},\n _renderPropWithEnd = function _renderPropWithEnd(ratio, data) {\n return data.set(data.t, data.p, ratio === 1 ? data.e : Math.round((data.s + data.c * ratio) * 10000) / 10000 + data.u, data);\n},\n _renderCSSPropWithBeginning = function _renderCSSPropWithBeginning(ratio, data) {\n return data.set(data.t, data.p, ratio ? Math.round((data.s + data.c * ratio) * 10000) / 10000 + data.u : data.b, data);\n},\n //if units change, we need a way to render the original unit/value when the tween goes all the way back to the beginning (ratio:0)\n_renderRoundedCSSProp = function _renderRoundedCSSProp(ratio, data) {\n var value = data.s + data.c * ratio;\n data.set(data.t, data.p, ~~(value + (value < 0 ? -.5 : .5)) + data.u, data);\n},\n _renderNonTweeningValue = function _renderNonTweeningValue(ratio, data) {\n return data.set(data.t, data.p, ratio ? data.e : data.b, data);\n},\n _renderNonTweeningValueOnlyAtEnd = function _renderNonTweeningValueOnlyAtEnd(ratio, data) {\n return data.set(data.t, data.p, ratio !== 1 ? data.b : data.e, data);\n},\n _setterCSSStyle = function _setterCSSStyle(target, property, value) {\n return target.style[property] = value;\n},\n _setterCSSProp = function _setterCSSProp(target, property, value) {\n return target.style.setProperty(property, value);\n},\n _setterTransform = function _setterTransform(target, property, value) {\n return target._gsap[property] = value;\n},\n _setterScale = function _setterScale(target, property, value) {\n return target._gsap.scaleX = target._gsap.scaleY = value;\n},\n _setterScaleWithRender = function _setterScaleWithRender(target, property, value, data, ratio) {\n var cache = target._gsap;\n cache.scaleX = cache.scaleY = value;\n cache.renderTransform(ratio, cache);\n},\n _setterTransformWithRender = function _setterTransformWithRender(target, property, value, data, ratio) {\n var cache = target._gsap;\n cache[property] = value;\n cache.renderTransform(ratio, cache);\n},\n _transformProp = \"transform\",\n _transformOriginProp = _transformProp + \"Origin\",\n _saveStyle = function _saveStyle(property, isNotCSS) {\n var _this = this;\n\n var target = this.target,\n style = target.style,\n cache = target._gsap;\n\n if (property in _transformProps && style) {\n this.tfm = this.tfm || {};\n\n if (property !== \"transform\") {\n property = _propertyAliases[property] || property;\n ~property.indexOf(\",\") ? property.split(\",\").forEach(function (a) {\n return _this.tfm[a] = _get(target, a);\n }) : this.tfm[property] = cache.x ? cache[property] : _get(target, property); // note: scale would map to \"scaleX,scaleY\", thus we loop and apply them both.\n\n property === _transformOriginProp && (this.tfm.zOrigin = cache.zOrigin);\n } else {\n return _propertyAliases.transform.split(\",\").forEach(function (p) {\n return _saveStyle.call(_this, p, isNotCSS);\n });\n }\n\n if (this.props.indexOf(_transformProp) >= 0) {\n return;\n }\n\n if (cache.svg) {\n this.svgo = target.getAttribute(\"data-svg-origin\");\n this.props.push(_transformOriginProp, isNotCSS, \"\");\n }\n\n property = _transformProp;\n }\n\n (style || isNotCSS) && this.props.push(property, isNotCSS, style[property]);\n},\n _removeIndependentTransforms = function _removeIndependentTransforms(style) {\n if (style.translate) {\n style.removeProperty(\"translate\");\n style.removeProperty(\"scale\");\n style.removeProperty(\"rotate\");\n }\n},\n _revertStyle = function _revertStyle() {\n var props = this.props,\n target = this.target,\n style = target.style,\n cache = target._gsap,\n i,\n p;\n\n for (i = 0; i < props.length; i += 3) {\n // stored like this: property, isNotCSS, value\n props[i + 1] ? target[props[i]] = props[i + 2] : props[i + 2] ? style[props[i]] = props[i + 2] : style.removeProperty(props[i].substr(0, 2) === \"--\" ? props[i] : props[i].replace(_capsExp, \"-$1\").toLowerCase());\n }\n\n if (this.tfm) {\n for (p in this.tfm) {\n cache[p] = this.tfm[p];\n }\n\n if (cache.svg) {\n cache.renderTransform();\n target.setAttribute(\"data-svg-origin\", this.svgo || \"\");\n }\n\n i = _reverting();\n\n if ((!i || !i.isStart) && !style[_transformProp]) {\n _removeIndependentTransforms(style);\n\n if (cache.zOrigin && style[_transformOriginProp]) {\n style[_transformOriginProp] += \" \" + cache.zOrigin + \"px\"; // since we're uncaching, we must put the zOrigin back into the transformOrigin so that we can pull it out accurately when we parse again. Otherwise, we'd lose the z portion of the origin since we extract it to protect from Safari bugs.\n\n cache.zOrigin = 0;\n cache.renderTransform();\n }\n\n cache.uncache = 1; // if it's a startAt that's being reverted in the _initTween() of the core, we don't need to uncache transforms. This is purely a performance optimization.\n }\n }\n},\n _getStyleSaver = function _getStyleSaver(target, properties) {\n var saver = {\n target: target,\n props: [],\n revert: _revertStyle,\n save: _saveStyle\n };\n target._gsap || gsap.core.getCache(target); // just make sure there's a _gsap cache defined because we read from it in _saveStyle() and it's more efficient to just check it here once.\n\n properties && properties.split(\",\").forEach(function (p) {\n return saver.save(p);\n });\n return saver;\n},\n _supports3D,\n _createElement = function _createElement(type, ns) {\n var e = _doc.createElementNS ? _doc.createElementNS((ns || \"http://www.w3.org/1999/xhtml\").replace(/^https/, \"http\"), type) : _doc.createElement(type); //some servers swap in https for http in the namespace which can break things, making \"style\" inaccessible.\n\n return e && e.style ? e : _doc.createElement(type); //some environments won't allow access to the element's style when created with a namespace in which case we default to the standard createElement() to work around the issue. Also note that when GSAP is embedded directly inside an SVG file, createElement() won't allow access to the style object in Firefox (see https://gsap.com/forums/topic/20215-problem-using-tweenmax-in-standalone-self-containing-svg-file-err-cannot-set-property-csstext-of-undefined/).\n},\n _getComputedProperty = function _getComputedProperty(target, property, skipPrefixFallback) {\n var cs = getComputedStyle(target);\n return cs[property] || cs.getPropertyValue(property.replace(_capsExp, \"-$1\").toLowerCase()) || cs.getPropertyValue(property) || !skipPrefixFallback && _getComputedProperty(target, _checkPropPrefix(property) || property, 1) || \"\"; //css variables may not need caps swapped out for dashes and lowercase.\n},\n _prefixes = \"O,Moz,ms,Ms,Webkit\".split(\",\"),\n _checkPropPrefix = function _checkPropPrefix(property, element, preferPrefix) {\n var e = element || _tempDiv,\n s = e.style,\n i = 5;\n\n if (property in s && !preferPrefix) {\n return property;\n }\n\n property = property.charAt(0).toUpperCase() + property.substr(1);\n\n while (i-- && !(_prefixes[i] + property in s)) {}\n\n return i < 0 ? null : (i === 3 ? \"ms\" : i >= 0 ? _prefixes[i] : \"\") + property;\n},\n _initCore = function _initCore() {\n if (_windowExists() && window.document) {\n _win = window;\n _doc = _win.document;\n _docElement = _doc.documentElement;\n _tempDiv = _createElement(\"div\") || {\n style: {}\n };\n _tempDivStyler = _createElement(\"div\");\n _transformProp = _checkPropPrefix(_transformProp);\n _transformOriginProp = _transformProp + \"Origin\";\n _tempDiv.style.cssText = \"border-width:0;line-height:0;position:absolute;padding:0\"; //make sure to override certain properties that may contaminate measurements, in case the user has overreaching style sheets.\n\n _supports3D = !!_checkPropPrefix(\"perspective\");\n _reverting = gsap.core.reverting;\n _pluginInitted = 1;\n }\n},\n _getBBoxHack = function _getBBoxHack(swapIfPossible) {\n //works around issues in some browsers (like Firefox) that don't correctly report getBBox() on SVG elements inside a <defs> element and/or <mask>. We try creating an SVG, adding it to the documentElement and toss the element in there so that it's definitely part of the rendering tree, then grab the bbox and if it works, we actually swap out the original getBBox() method for our own that does these extra steps whenever getBBox is needed. This helps ensure that performance is optimal (only do all these extra steps when absolutely necessary...most elements don't need it).\n var svg = _createElement(\"svg\", this.ownerSVGElement && this.ownerSVGElement.getAttribute(\"xmlns\") || \"http://www.w3.org/2000/svg\"),\n oldParent = this.parentNode,\n oldSibling = this.nextSibling,\n oldCSS = this.style.cssText,\n bbox;\n\n _docElement.appendChild(svg);\n\n svg.appendChild(this);\n this.style.display = \"block\";\n\n if (swapIfPossible) {\n try {\n bbox = this.getBBox();\n this._gsapBBox = this.getBBox; //store the original\n\n this.getBBox = _getBBoxHack;\n } catch (e) {}\n } else if (this._gsapBBox) {\n bbox = this._gsapBBox();\n }\n\n if (oldParent) {\n if (oldSibling) {\n oldParent.insertBefore(this, oldSibling);\n } else {\n oldParent.appendChild(this);\n }\n }\n\n _docElement.removeChild(svg);\n\n this.style.cssText = oldCSS;\n return bbox;\n},\n _getAttributeFallbacks = function _getAttributeFallbacks(target, attributesArray) {\n var i = attributesArray.length;\n\n while (i--) {\n if (target.hasAttribute(attributesArray[i])) {\n return target.getAttribute(attributesArray[i]);\n }\n }\n},\n _getBBox = function _getBBox(target) {\n var bounds;\n\n try {\n bounds = target.getBBox(); //Firefox throws errors if you try calling getBBox() on an SVG element that's not rendered (like in a <symbol> or <defs>). https://bugzilla.mozilla.org/show_bug.cgi?id=612118\n } catch (error) {\n bounds = _getBBoxHack.call(target, true);\n }\n\n bounds && (bounds.width || bounds.height) || target.getBBox === _getBBoxHack || (bounds = _getBBoxHack.call(target, true)); //some browsers (like Firefox) misreport the bounds if the element has zero width and height (it just assumes it's at x:0, y:0), thus we need to manually grab the position in that case.\n\n return bounds && !bounds.width && !bounds.x && !bounds.y ? {\n x: +_getAttributeFallbacks(target, [\"x\", \"cx\", \"x1\"]) || 0,\n y: +_getAttributeFallbacks(target, [\"y\", \"cy\", \"y1\"]) || 0,\n width: 0,\n height: 0\n } : bounds;\n},\n _isSVG = function _isSVG(e) {\n return !!(e.getCTM && (!e.parentNode || e.ownerSVGElement) && _getBBox(e));\n},\n //reports if the element is an SVG on which getBBox() actually works\n_removeProperty = function _removeProperty(target, property) {\n if (property) {\n var style = target.style,\n first2Chars;\n\n if (property in _transformProps && property !== _transformOriginProp) {\n property = _transformProp;\n }\n\n if (style.removeProperty) {\n first2Chars = property.substr(0, 2);\n\n if (first2Chars === \"ms\" || property.substr(0, 6) === \"webkit\") {\n //Microsoft and some Webkit browsers don't conform to the standard of capitalizing the first prefix character, so we adjust so that when we prefix the caps with a dash, it's correct (otherwise it'd be \"ms-transform\" instead of \"-ms-transform\" for IE9, for example)\n property = \"-\" + property;\n }\n\n style.removeProperty(first2Chars === \"--\" ? property : property.replace(_capsExp, \"-$1\").toLowerCase());\n } else {\n //note: old versions of IE use \"removeAttribute()\" instead of \"removeProperty()\"\n style.removeAttribute(property);\n }\n }\n},\n _addNonTweeningPT = function _addNonTweeningPT(plugin, target, property, beginning, end, onlySetAtEnd) {\n var pt = new PropTween(plugin._pt, target, property, 0, 1, onlySetAtEnd ? _renderNonTweeningValueOnlyAtEnd : _renderNonTweeningValue);\n plugin._pt = pt;\n pt.b = beginning;\n pt.e = end;\n\n plugin._props.push(property);\n\n return pt;\n},\n _nonConvertibleUnits = {\n deg: 1,\n rad: 1,\n turn: 1\n},\n _nonStandardLayouts = {\n grid: 1,\n flex: 1\n},\n //takes a single value like 20px and converts it to the unit specified, like \"%\", returning only the numeric amount.\n_convertToUnit = function _convertToUnit(target, property, value, unit) {\n var curValue = parseFloat(value) || 0,\n curUnit = (value + \"\").trim().substr((curValue + \"\").length) || \"px\",\n // some browsers leave extra whitespace at the beginning of CSS variables, hence the need to trim()\n style = _tempDiv.style,\n horizontal = _horizontalExp.test(property),\n isRootSVG = target.tagName.toLowerCase() === \"svg\",\n measureProperty = (isRootSVG ? \"client\" : \"offset\") + (horizontal ? \"Width\" : \"Height\"),\n amount = 100,\n toPixels = unit === \"px\",\n toPercent = unit === \"%\",\n px,\n parent,\n cache,\n isSVG;\n\n if (unit === curUnit || !curValue || _nonConvertibleUnits[unit] || _nonConvertibleUnits[curUnit]) {\n return curValue;\n }\n\n curUnit !== \"px\" && !toPixels && (curValue = _convertToUnit(target, property, value, \"px\"));\n isSVG = target.getCTM && _isSVG(target);\n\n if ((toPercent || curUnit === \"%\") && (_transformProps[property] || ~property.indexOf(\"adius\"))) {\n px = isSVG ? target.getBBox()[horizontal ? \"width\" : \"height\"] : target[measureProperty];\n return _round(toPercent ? curValue / px * amount : curValue / 100 * px);\n }\n\n style[horizontal ? \"width\" : \"height\"] = amount + (toPixels ? curUnit : unit);\n parent = ~property.indexOf(\"adius\") || unit === \"em\" && target.appendChild && !isRootSVG ? target : target.parentNode;\n\n if (isSVG) {\n parent = (target.ownerSVGElement || {}).parentNode;\n }\n\n if (!parent || parent === _doc || !parent.appendChild) {\n parent = _doc.body;\n }\n\n cache = parent._gsap;\n\n if (cache && toPercent && cache.width && horizontal && cache.time === _ticker.time && !cache.uncache) {\n return _round(curValue / cache.width * amount);\n } else {\n if (toPercent && (property === \"height\" || property === \"width\")) {\n // if we're dealing with width/height that's inside a container with padding and/or it's a flexbox/grid container, we must apply it to the target itself rather than the _tempDiv in order to ensure complete accuracy, factoring in the parent's padding.\n var v = target.style[property];\n target.style[property] = amount + unit;\n px = target[measureProperty];\n v ? target.style[property] = v : _removeProperty(target, property);\n } else {\n (toPercent || curUnit === \"%\") && !_nonStandardLayouts[_getComputedProperty(parent, \"display\")] && (style.position = _getComputedProperty(target, \"position\"));\n parent === target && (style.position = \"static\"); // like for borderRadius, if it's a % we must have it relative to the target itself but that may not have position: relative or position: absolute in which case it'd go up the chain until it finds its offsetParent (bad). position: static protects against that.\n\n parent.appendChild(_tempDiv);\n px = _tempDiv[measureProperty];\n parent.removeChild(_tempDiv);\n style.position = \"absolute\";\n }\n\n if (horizontal && toPercent) {\n cache = _getCache(parent);\n cache.time = _ticker.time;\n cache.width = parent[measureProperty];\n }\n }\n\n return _round(toPixels ? px * curValue / amount : px && curValue ? amount / px * curValue : 0);\n},\n _get = function _get(target, property, unit, uncache) {\n var value;\n _pluginInitted || _initCore();\n\n if (property in _propertyAliases && property !== \"transform\") {\n property = _propertyAliases[property];\n\n if (~property.indexOf(\",\")) {\n property = property.split(\",\")[0];\n }\n }\n\n if (_transformProps[property] && property !== \"transform\") {\n value = _parseTransform(target, uncache);\n value = property !== \"transformOrigin\" ? value[property] : value.svg ? value.origin : _firstTwoOnly(_getComputedProperty(target, _transformOriginProp)) + \" \" + value.zOrigin + \"px\";\n } else {\n value = target.style[property];\n\n if (!value || value === \"auto\" || uncache || ~(value + \"\").indexOf(\"calc(\")) {\n value = _specialProps[property] && _specialProps[property](target, property, unit) || _getComputedProperty(target, property) || _getProperty(target, property) || (property === \"opacity\" ? 1 : 0); // note: some browsers, like Firefox, don't report borderRadius correctly! Instead, it only reports every corner like borderTopLeftRadius\n }\n }\n\n return unit && !~(value + \"\").trim().indexOf(\" \") ? _convertToUnit(target, property, value, unit) + unit : value;\n},\n _tweenComplexCSSString = function _tweenComplexCSSString(target, prop, start, end) {\n // note: we call _tweenComplexCSSString.call(pluginInstance...) to ensure that it's scoped properly. We may call it from within a plugin too, thus \"this\" would refer to the plugin.\n if (!start || start === \"none\") {\n // some browsers like Safari actually PREFER the prefixed property and mis-report the unprefixed value like clipPath (BUG). In other words, even though clipPath exists in the style (\"clipPath\" in target.style) and it's set in the CSS properly (along with -webkit-clip-path), Safari reports clipPath as \"none\" whereas WebkitClipPath reports accurately like \"ellipse(100% 0% at 50% 0%)\", so in this case we must SWITCH to using the prefixed property instead. See https://gsap.com/forums/topic/18310-clippath-doesnt-work-on-ios/\n var p = _checkPropPrefix(prop, target, 1),\n s = p && _getComputedProperty(target, p, 1);\n\n if (s && s !== start) {\n prop = p;\n start = s;\n } else if (prop === \"borderColor\") {\n start = _getComputedProperty(target, \"borderTopColor\"); // Firefox bug: always reports \"borderColor\" as \"\", so we must fall back to borderTopColor. See https://gsap.com/forums/topic/24583-how-to-return-colors-that-i-had-after-reverse/\n }\n }\n\n var pt = new PropTween(this._pt, target.style, prop, 0, 1, _renderComplexString),\n index = 0,\n matchIndex = 0,\n a,\n result,\n startValues,\n startNum,\n color,\n startValue,\n endValue,\n endNum,\n chunk,\n endUnit,\n startUnit,\n endValues;\n pt.b = start;\n pt.e = end;\n start += \"\"; // ensure values are strings\n\n end += \"\";\n\n if (end === \"auto\") {\n startValue = target.style[prop];\n target.style[prop] = end;\n end = _getComputedProperty(target, prop) || end;\n startValue ? target.style[prop] = startValue : _removeProperty(target, prop);\n }\n\n a = [start, end];\n\n _colorStringFilter(a); // pass an array with the starting and ending values and let the filter do whatever it needs to the values. If colors are found, it returns true and then we must match where the color shows up order-wise because for things like boxShadow, sometimes the browser provides the computed values with the color FIRST, but the user provides it with the color LAST, so flip them if necessary. Same for drop-shadow().\n\n\n start = a[0];\n end = a[1];\n startValues = start.match(_numWithUnitExp) || [];\n endValues = end.match(_numWithUnitExp) || [];\n\n if (endValues.length) {\n while (result = _numWithUnitExp.exec(end)) {\n endValue = result[0];\n chunk = end.substring(index, result.index);\n\n if (color) {\n color = (color + 1) % 5;\n } else if (chunk.substr(-5) === \"rgba(\" || chunk.substr(-5) === \"hsla(\") {\n color = 1;\n }\n\n if (endValue !== (startValue = startValues[matchIndex++] || \"\")) {\n startNum = parseFloat(startValue) || 0;\n startUnit = startValue.substr((startNum + \"\").length);\n endValue.charAt(1) === \"=\" && (endValue = _parseRelative(startNum, endValue) + startUnit);\n endNum = parseFloat(endValue);\n endUnit = endValue.substr((endNum + \"\").length);\n index = _numWithUnitExp.lastIndex - endUnit.length;\n\n if (!endUnit) {\n //if something like \"perspective:300\" is passed in and we must add a unit to the end\n endUnit = endUnit || _config.units[prop] || startUnit;\n\n if (index === end.length) {\n end += endUnit;\n pt.e += endUnit;\n }\n }\n\n if (startUnit !== endUnit) {\n startNum = _convertToUnit(target, prop, startValue, endUnit) || 0;\n } // these nested PropTweens are handled in a special way - we'll never actually call a render or setter method on them. We'll just loop through them in the parent complex string PropTween's render method.\n\n\n pt._pt = {\n _next: pt._pt,\n p: chunk || matchIndex === 1 ? chunk : \",\",\n //note: SVG spec allows omission of comma/space when a negative sign is wedged between two numbers, like 2.5-5.3 instead of 2.5,-5.3 but when tweening, the negative value may switch to positive, so we insert the comma just in case.\n s: startNum,\n c: endNum - startNum,\n m: color && color < 4 || prop === \"zIndex\" ? Math.round : 0\n };\n }\n }\n\n pt.c = index < end.length ? end.substring(index, end.length) : \"\"; //we use the \"c\" of the PropTween to store the final part of the string (after the last number)\n } else {\n pt.r = prop === \"display\" && end === \"none\" ? _renderNonTweeningValueOnlyAtEnd : _renderNonTweeningValue;\n }\n\n _relExp.test(end) && (pt.e = 0); //if the end string contains relative values or dynamic random(...) values, delete the end it so that on the final render we don't actually set it to the string with += or -= characters (forces it to use the calculated value).\n\n this._pt = pt; //start the linked list with this new PropTween. Remember, we call _tweenComplexCSSString.call(pluginInstance...) to ensure that it's scoped properly. We may call it from within another plugin too, thus \"this\" would refer to the plugin.\n\n return pt;\n},\n _keywordToPercent = {\n top: \"0%\",\n bottom: \"100%\",\n left: \"0%\",\n right: \"100%\",\n center: \"50%\"\n},\n _convertKeywordsToPercentages = function _convertKeywordsToPercentages(value) {\n var split = value.split(\" \"),\n x = split[0],\n y = split[1] || \"50%\";\n\n if (x === \"top\" || x === \"bottom\" || y === \"left\" || y === \"right\") {\n //the user provided them in the wrong order, so flip them\n value = x;\n x = y;\n y = value;\n }\n\n split[0] = _keywordToPercent[x] || x;\n split[1] = _keywordToPercent[y] || y;\n return split.join(\" \");\n},\n _renderClearProps = function _renderClearProps(ratio, data) {\n if (data.tween && data.tween._time === data.tween._dur) {\n var target = data.t,\n style = target.style,\n props = data.u,\n cache = target._gsap,\n prop,\n clearTransforms,\n i;\n\n if (props === \"all\" || props === true) {\n style.cssText = \"\";\n clearTransforms = 1;\n } else {\n props = props.split(\",\");\n i = props.length;\n\n while (--i > -1) {\n prop = props[i];\n\n if (_transformProps[prop]) {\n clearTransforms = 1;\n prop = prop === \"transformOrigin\" ? _transformOriginProp : _transformProp;\n }\n\n _removeProperty(target, prop);\n }\n }\n\n if (clearTransforms) {\n _removeProperty(target, _transformProp);\n\n if (cache) {\n cache.svg && target.removeAttribute(\"transform\");\n\n _parseTransform(target, 1); // force all the cached values back to \"normal\"/identity, otherwise if there's another tween that's already set to render transforms on this element, it could display the wrong values.\n\n\n cache.uncache = 1;\n\n _removeIndependentTransforms(style);\n }\n }\n }\n},\n // note: specialProps should return 1 if (and only if) they have a non-zero priority. It indicates we need to sort the linked list.\n_specialProps = {\n clearProps: function clearProps(plugin, target, property, endValue, tween) {\n if (tween.data !== \"isFromStart\") {\n var pt = plugin._pt = new PropTween(plugin._pt, target, property, 0, 0, _renderClearProps);\n pt.u = endValue;\n pt.pr = -10;\n pt.tween = tween;\n\n plugin._props.push(property);\n\n return 1;\n }\n }\n /* className feature (about 0.4kb gzipped).\n , className(plugin, target, property, endValue, tween) {\n \tlet _renderClassName = (ratio, data) => {\n \t\t\tdata.css.render(ratio, data.css);\n \t\t\tif (!ratio || ratio === 1) {\n \t\t\t\tlet inline = data.rmv,\n \t\t\t\t\ttarget = data.t,\n \t\t\t\t\tp;\n \t\t\t\ttarget.setAttribute(\"class\", ratio ? data.e : data.b);\n \t\t\t\tfor (p in inline) {\n \t\t\t\t\t_removeProperty(target, p);\n \t\t\t\t}\n \t\t\t}\n \t\t},\n \t\t_getAllStyles = (target) => {\n \t\t\tlet styles = {},\n \t\t\t\tcomputed = getComputedStyle(target),\n \t\t\t\tp;\n \t\t\tfor (p in computed) {\n \t\t\t\tif (isNaN(p) && p !== \"cssText\" && p !== \"length\") {\n \t\t\t\t\tstyles[p] = computed[p];\n \t\t\t\t}\n \t\t\t}\n \t\t\t_setDefaults(styles, _parseTransform(target, 1));\n \t\t\treturn styles;\n \t\t},\n \t\tstartClassList = target.getAttribute(\"class\"),\n \t\tstyle = target.style,\n \t\tcssText = style.cssText,\n \t\tcache = target._gsap,\n \t\tclassPT = cache.classPT,\n \t\tinlineToRemoveAtEnd = {},\n \t\tdata = {t:target, plugin:plugin, rmv:inlineToRemoveAtEnd, b:startClassList, e:(endValue.charAt(1) !== \"=\") ? endValue : startClassList.replace(new RegExp(\"(?:\\\\s|^)\" + endValue.substr(2) + \"(?![\\\\w-])\"), \"\") + ((endValue.charAt(0) === \"+\") ? \" \" + endValue.substr(2) : \"\")},\n \t\tchangingVars = {},\n \t\tstartVars = _getAllStyles(target),\n \t\ttransformRelated = /(transform|perspective)/i,\n \t\tendVars, p;\n \tif (classPT) {\n \t\tclassPT.r(1, classPT.d);\n \t\t_removeLinkedListItem(classPT.d.plugin, classPT, \"_pt\");\n \t}\n \ttarget.setAttribute(\"class\", data.e);\n \tendVars = _getAllStyles(target, true);\n \ttarget.setAttribute(\"class\", startClassList);\n \tfor (p in endVars) {\n \t\tif (endVars[p] !== startVars[p] && !transformRelated.test(p)) {\n \t\t\tchangingVars[p] = endVars[p];\n \t\t\tif (!style[p] && style[p] !== \"0\") {\n \t\t\t\tinlineToRemoveAtEnd[p] = 1;\n \t\t\t}\n \t\t}\n \t}\n \tcache.classPT = plugin._pt = new PropTween(plugin._pt, target, \"className\", 0, 0, _renderClassName, data, 0, -11);\n \tif (style.cssText !== cssText) { //only apply if things change. Otherwise, in cases like a background-image that's pulled dynamically, it could cause a refresh. See https://gsap.com/forums/topic/20368-possible-gsap-bug-switching-classnames-in-chrome/.\n \t\tstyle.cssText = cssText; //we recorded cssText before we swapped classes and ran _getAllStyles() because in cases when a className tween is overwritten, we remove all the related tweening properties from that class change (otherwise class-specific stuff can't override properties we've directly set on the target's style object due to specificity).\n \t}\n \t_parseTransform(target, true); //to clear the caching of transforms\n \tdata.css = new gsap.plugins.css();\n \tdata.css.init(target, changingVars, tween);\n \tplugin._props.push(...data.css._props);\n \treturn 1;\n }\n */\n\n},\n\n/*\n * --------------------------------------------------------------------------------------\n * TRANSFORMS\n * --------------------------------------------------------------------------------------\n */\n_identity2DMatrix = [1, 0, 0, 1, 0, 0],\n _rotationalProperties = {},\n _isNullTransform = function _isNullTransform(value) {\n return value === \"matrix(1, 0, 0, 1, 0, 0)\" || value === \"none\" || !value;\n},\n _getComputedTransformMatrixAsArray = function _getComputedTransformMatrixAsArray(target) {\n var matrixString = _getComputedProperty(target, _transformProp);\n\n return _isNullTransform(matrixString) ? _identity2DMatrix : matrixString.substr(7).match(_numExp).map(_round);\n},\n _getMatrix = function _getMatrix(target, force2D) {\n var cache = target._gsap || _getCache(target),\n style = target.style,\n matrix = _getComputedTransformMatrixAsArray(target),\n parent,\n nextSibling,\n temp,\n addedToDOM;\n\n if (cache.svg && target.getAttribute(\"transform\")) {\n temp = target.transform.baseVal.consolidate().matrix; //ensures that even complex values like \"translate(50,60) rotate(135,0,0)\" are parsed because it mashes it into a matrix.\n\n matrix = [temp.a, temp.b, temp.c, temp.d, temp.e, temp.f];\n return matrix.join(\",\") === \"1,0,0,1,0,0\" ? _identity2DMatrix : matrix;\n } else if (matrix === _identity2DMatrix && !target.offsetParent && target !== _docElement && !cache.svg) {\n //note: if offsetParent is null, that means the element isn't in the normal document flow, like if it has display:none or one of its ancestors has display:none). Firefox returns null for getComputedStyle() if the element is in an iframe that has display:none. https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n //browsers don't report transforms accurately unless the element is in the DOM and has a display value that's not \"none\". Firefox and Microsoft browsers have a partial bug where they'll report transforms even if display:none BUT not any percentage-based values like translate(-50%, 8px) will be reported as if it's translate(0, 8px).\n temp = style.display;\n style.display = \"block\";\n parent = target.parentNode;\n\n if (!parent || !target.offsetParent) {\n // note: in 3.3.0 we switched target.offsetParent to _doc.body.contains(target) to avoid [sometimes unnecessary] MutationObserver calls but that wasn't adequate because there are edge cases where nested position: fixed elements need to get reparented to accurately sense transforms. See https://github.com/greensock/GSAP/issues/388 and https://github.com/greensock/GSAP/issues/375\n addedToDOM = 1; //flag\n\n nextSibling = target.nextElementSibling;\n\n _docElement.appendChild(target); //we must add it to the DOM in order to get values properly\n\n }\n\n matrix = _getComputedTransformMatrixAsArray(target);\n temp ? style.display = temp : _removeProperty(target, \"display\");\n\n if (addedToDOM) {\n nextSibling ? parent.insertBefore(target, nextSibling) : parent ? parent.appendChild(target) : _docElement.removeChild(target);\n }\n }\n\n return force2D && matrix.length > 6 ? [matrix[0], matrix[1], matrix[4], matrix[5], matrix[12], matrix[13]] : matrix;\n},\n _applySVGOrigin = function _applySVGOrigin(target, origin, originIsAbsolute, smooth, matrixArray, pluginToAddPropTweensTo) {\n var cache = target._gsap,\n matrix = matrixArray || _getMatrix(target, true),\n xOriginOld = cache.xOrigin || 0,\n yOriginOld = cache.yOrigin || 0,\n xOffsetOld = cache.xOffset || 0,\n yOffsetOld = cache.yOffset || 0,\n a = matrix[0],\n b = matrix[1],\n c = matrix[2],\n d = matrix[3],\n tx = matrix[4],\n ty = matrix[5],\n originSplit = origin.split(\" \"),\n xOrigin = parseFloat(originSplit[0]) || 0,\n yOrigin = parseFloat(originSplit[1]) || 0,\n bounds,\n determinant,\n x,\n y;\n\n if (!originIsAbsolute) {\n bounds = _getBBox(target);\n xOrigin = bounds.x + (~originSplit[0].indexOf(\"%\") ? xOrigin / 100 * bounds.width : xOrigin);\n yOrigin = bounds.y + (~(originSplit[1] || originSplit[0]).indexOf(\"%\") ? yOrigin / 100 * bounds.height : yOrigin); // if (!(\"xOrigin\" in cache) && (xOrigin || yOrigin)) { // added in 3.12.3, reverted in 3.12.4; requires more exploration\n // \txOrigin -= bounds.x;\n // \tyOrigin -= bounds.y;\n // }\n } else if (matrix !== _identity2DMatrix && (determinant = a * d - b * c)) {\n //if it's zero (like if scaleX and scaleY are zero), skip it to avoid errors with dividing by zero.\n x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + (c * ty - d * tx) / determinant;\n y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - (a * ty - b * tx) / determinant;\n xOrigin = x;\n yOrigin = y; // theory: we only had to do this for smoothing and it assumes that the previous one was not originIsAbsolute.\n }\n\n if (smooth || smooth !== false && cache.smooth) {\n tx = xOrigin - xOriginOld;\n ty = yOrigin - yOriginOld;\n cache.xOffset = xOffsetOld + (tx * a + ty * c) - tx;\n cache.yOffset = yOffsetOld + (tx * b + ty * d) - ty;\n } else {\n cache.xOffset = cache.yOffset = 0;\n }\n\n cache.xOrigin = xOrigin;\n cache.yOrigin = yOrigin;\n cache.smooth = !!smooth;\n cache.origin = origin;\n cache.originIsAbsolute = !!originIsAbsolute;\n target.style[_transformOriginProp] = \"0px 0px\"; //otherwise, if someone sets an origin via CSS, it will likely interfere with the SVG transform attribute ones (because remember, we're baking the origin into the matrix() value).\n\n if (pluginToAddPropTweensTo) {\n _addNonTweeningPT(pluginToAddPropTweensTo, cache, \"xOrigin\", xOriginOld, xOrigin);\n\n _addNonTweeningPT(pluginToAddPropTweensTo, cache, \"yOrigin\", yOriginOld, yOrigin);\n\n _addNonTweeningPT(pluginToAddPropTweensTo, cache, \"xOffset\", xOffsetOld, cache.xOffset);\n\n _addNonTweeningPT(pluginToAddPropTweensTo, cache, \"yOffset\", yOffsetOld, cache.yOffset);\n }\n\n target.setAttribute(\"data-svg-origin\", xOrigin + \" \" + yOrigin);\n},\n _parseTransform = function _parseTransform(target, uncache) {\n var cache = target._gsap || new GSCache(target);\n\n if (\"x\" in cache && !uncache && !cache.uncache) {\n return cache;\n }\n\n var style = target.style,\n invertedScaleX = cache.scaleX < 0,\n px = \"px\",\n deg = \"deg\",\n cs = getComputedStyle(target),\n origin = _getComputedProperty(target, _transformOriginProp) || \"0\",\n x,\n y,\n z,\n scaleX,\n scaleY,\n rotation,\n rotationX,\n rotationY,\n skewX,\n skewY,\n perspective,\n xOrigin,\n yOrigin,\n matrix,\n angle,\n cos,\n sin,\n a,\n b,\n c,\n d,\n a12,\n a22,\n t1,\n t2,\n t3,\n a13,\n a23,\n a33,\n a42,\n a43,\n a32;\n x = y = z = rotation = rotationX = rotationY = skewX = skewY = perspective = 0;\n scaleX = scaleY = 1;\n cache.svg = !!(target.getCTM && _isSVG(target));\n\n if (cs.translate) {\n // accommodate independent transforms by combining them into normal ones.\n if (cs.translate !== \"none\" || cs.scale !== \"none\" || cs.rotate !== \"none\") {\n style[_transformProp] = (cs.translate !== \"none\" ? \"translate3d(\" + (cs.translate + \" 0 0\").split(\" \").slice(0, 3).join(\", \") + \") \" : \"\") + (cs.rotate !== \"none\" ? \"rotate(\" + cs.rotate + \") \" : \"\") + (cs.scale !== \"none\" ? \"scale(\" + cs.scale.split(\" \").join(\",\") + \") \" : \"\") + (cs[_transformProp] !== \"none\" ? cs[_transformProp] : \"\");\n }\n\n style.scale = style.rotate = style.translate = \"none\";\n }\n\n matrix = _getMatrix(target, cache.svg);\n\n if (cache.svg) {\n if (cache.uncache) {\n // if cache.uncache is true (and maybe if origin is 0,0), we need to set element.style.transformOrigin = (cache.xOrigin - bbox.x) + \"px \" + (cache.yOrigin - bbox.y) + \"px\". Previously we let the data-svg-origin stay instead, but when introducing revert(), it complicated things.\n t2 = target.getBBox();\n origin = cache.xOrigin - t2.x + \"px \" + (cache.yOrigin - t2.y) + \"px\";\n t1 = \"\";\n } else {\n t1 = !uncache && target.getAttribute(\"data-svg-origin\"); // Remember, to work around browser inconsistencies we always force SVG elements' transformOrigin to 0,0 and offset the translation accordingly.\n }\n\n _applySVGOrigin(target, t1 || origin, !!t1 || cache.originIsAbsolute, cache.smooth !== false, matrix);\n }\n\n xOrigin = cache.xOrigin || 0;\n yOrigin = cache.yOrigin || 0;\n\n if (matrix !== _identity2DMatrix) {\n a = matrix[0]; //a11\n\n b = matrix[1]; //a21\n\n c = matrix[2]; //a31\n\n d = matrix[3]; //a41\n\n x = a12 = matrix[4];\n y = a22 = matrix[5]; //2D matrix\n\n if (matrix.length === 6) {\n scaleX = Math.sqrt(a * a + b * b);\n scaleY = Math.sqrt(d * d + c * c);\n rotation = a || b ? _atan2(b, a) * _RAD2DEG : 0; //note: if scaleX is 0, we cannot accurately measure rotation. Same for skewX with a scaleY of 0. Therefore, we default to the previously recorded value (or zero if that doesn't exist).\n\n skewX = c || d ? _atan2(c, d) * _RAD2DEG + rotation : 0;\n skewX && (scaleY *= Math.abs(Math.cos(skewX * _DEG2RAD)));\n\n if (cache.svg) {\n x -= xOrigin - (xOrigin * a + yOrigin * c);\n y -= yOrigin - (xOrigin * b + yOrigin * d);\n } //3D matrix\n\n } else {\n a32 = matrix[6];\n a42 = matrix[7];\n a13 = matrix[8];\n a23 = matrix[9];\n a33 = matrix[10];\n a43 = matrix[11];\n x = matrix[12];\n y = matrix[13];\n z = matrix[14];\n angle = _atan2(a32, a33);\n rotationX = angle * _RAD2DEG; //rotationX\n\n if (angle) {\n cos = Math.cos(-angle);\n sin = Math.sin(-angle);\n t1 = a12 * cos + a13 * sin;\n t2 = a22 * cos + a23 * sin;\n t3 = a32 * cos + a33 * sin;\n a13 = a12 * -sin + a13 * cos;\n a23 = a22 * -sin + a23 * cos;\n a33 = a32 * -sin + a33 * cos;\n a43 = a42 * -sin + a43 * cos;\n a12 = t1;\n a22 = t2;\n a32 = t3;\n } //rotationY\n\n\n angle = _atan2(-c, a33);\n rotationY = angle * _RAD2DEG;\n\n if (angle) {\n cos = Math.cos(-angle);\n sin = Math.sin(-angle);\n t1 = a * cos - a13 * sin;\n t2 = b * cos - a23 * sin;\n t3 = c * cos - a33 * sin;\n a43 = d * sin + a43 * cos;\n a = t1;\n b = t2;\n c = t3;\n } //rotationZ\n\n\n angle = _atan2(b, a);\n rotation = angle * _RAD2DEG;\n\n if (angle) {\n cos = Math.cos(angle);\n sin = Math.sin(angle);\n t1 = a * cos + b * sin;\n t2 = a12 * cos + a22 * sin;\n b = b * cos - a * sin;\n a22 = a22 * cos - a12 * sin;\n a = t1;\n a12 = t2;\n }\n\n if (rotationX && Math.abs(rotationX) + Math.abs(rotation) > 359.9) {\n //when rotationY is set, it will often be parsed as 180 degrees different than it should be, and rotationX and rotation both being 180 (it looks the same), so we adjust for that here.\n rotationX = rotation = 0;\n rotationY = 180 - rotationY;\n }\n\n scaleX = _round(Math.sqrt(a * a + b * b + c * c));\n scaleY = _round(Math.sqrt(a22 * a22 + a32 * a32));\n angle = _atan2(a12, a22);\n skewX = Math.abs(angle) > 0.0002 ? angle * _RAD2DEG : 0;\n perspective = a43 ? 1 / (a43 < 0 ? -a43 : a43) : 0;\n }\n\n if (cache.svg) {\n //sense if there are CSS transforms applied on an SVG element in which case we must overwrite them when rendering. The transform attribute is more reliable cross-browser, but we can't just remove the CSS ones because they may be applied in a CSS rule somewhere (not just inline).\n t1 = target.getAttribute(\"transform\");\n cache.forceCSS = target.setAttribute(\"transform\", \"\") || !_isNullTransform(_getComputedProperty(target, _transformProp));\n t1 && target.setAttribute(\"transform\", t1);\n }\n }\n\n if (Math.abs(skewX) > 90 && Math.abs(skewX) < 270) {\n if (invertedScaleX) {\n scaleX *= -1;\n skewX += rotation <= 0 ? 180 : -180;\n rotation += rotation <= 0 ? 180 : -180;\n } else {\n scaleY *= -1;\n skewX += skewX <= 0 ? 180 : -180;\n }\n }\n\n uncache = uncache || cache.uncache;\n cache.x = x - ((cache.xPercent = x && (!uncache && cache.xPercent || (Math.round(target.offsetWidth / 2) === Math.round(-x) ? -50 : 0))) ? target.offsetWidth * cache.xPercent / 100 : 0) + px;\n cache.y = y - ((cache.yPercent = y && (!uncache && cache.yPercent || (Math.round(target.offsetHeight / 2) === Math.round(-y) ? -50 : 0))) ? target.offsetHeight * cache.yPercent / 100 : 0) + px;\n cache.z = z + px;\n cache.scaleX = _round(scaleX);\n cache.scaleY = _round(scaleY);\n cache.rotation = _round(rotation) + deg;\n cache.rotationX = _round(rotationX) + deg;\n cache.rotationY = _round(rotationY) + deg;\n cache.skewX = skewX + deg;\n cache.skewY = skewY + deg;\n cache.transformPerspective = perspective + px;\n\n if (cache.zOrigin = parseFloat(origin.split(\" \")[2]) || !uncache && cache.zOrigin || 0) {\n style[_transformOriginProp] = _firstTwoOnly(origin);\n }\n\n cache.xOffset = cache.yOffset = 0;\n cache.force3D = _config.force3D;\n cache.renderTransform = cache.svg ? _renderSVGTransforms : _supports3D ? _renderCSSTransforms : _renderNon3DTransforms;\n cache.uncache = 0;\n return cache;\n},\n _firstTwoOnly = function _firstTwoOnly(value) {\n return (value = value.split(\" \"))[0] + \" \" + value[1];\n},\n //for handling transformOrigin values, stripping out the 3rd dimension\n_addPxTranslate = function _addPxTranslate(target, start, value) {\n var unit = getUnit(start);\n return _round(parseFloat(start) + parseFloat(_convertToUnit(target, \"x\", value + \"px\", unit))) + unit;\n},\n _renderNon3DTransforms = function _renderNon3DTransforms(ratio, cache) {\n cache.z = \"0px\";\n cache.rotationY = cache.rotationX = \"0deg\";\n cache.force3D = 0;\n\n _renderCSSTransforms(ratio, cache);\n},\n _zeroDeg = \"0deg\",\n _zeroPx = \"0px\",\n _endParenthesis = \") \",\n _renderCSSTransforms = function _renderCSSTransforms(ratio, cache) {\n var _ref = cache || this,\n xPercent = _ref.xPercent,\n yPercent = _ref.yPercent,\n x = _ref.x,\n y = _ref.y,\n z = _ref.z,\n rotation = _ref.rotation,\n rotationY = _ref.rotationY,\n rotationX = _ref.rotationX,\n skewX = _ref.skewX,\n skewY = _ref.skewY,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n transformPerspective = _ref.transformPerspective,\n force3D = _ref.force3D,\n target = _ref.target,\n zOrigin = _ref.zOrigin,\n transforms = \"\",\n use3D = force3D === \"auto\" && ratio && ratio !== 1 || force3D === true; // Safari has a bug that causes it not to render 3D transform-origin values properly, so we force the z origin to 0, record it in the cache, and then do the math here to offset the translate values accordingly (basically do the 3D transform-origin part manually)\n\n\n if (zOrigin && (rotationX !== _zeroDeg || rotationY !== _zeroDeg)) {\n var angle = parseFloat(rotationY) * _DEG2RAD,\n a13 = Math.sin(angle),\n a33 = Math.cos(angle),\n cos;\n\n angle = parseFloat(rotationX) * _DEG2RAD;\n cos = Math.cos(angle);\n x = _addPxTranslate(target, x, a13 * cos * -zOrigin);\n y = _addPxTranslate(target, y, -Math.sin(angle) * -zOrigin);\n z = _addPxTranslate(target, z, a33 * cos * -zOrigin + zOrigin);\n }\n\n if (transformPerspective !== _zeroPx) {\n transforms += \"perspective(\" + transformPerspective + _endParenthesis;\n }\n\n if (xPercent || yPercent) {\n transforms += \"translate(\" + xPercent + \"%, \" + yPercent + \"%) \";\n }\n\n if (use3D || x !== _zeroPx || y !== _zeroPx || z !== _zeroPx) {\n transforms += z !== _zeroPx || use3D ? \"translate3d(\" + x + \", \" + y + \", \" + z + \") \" : \"translate(\" + x + \", \" + y + _endParenthesis;\n }\n\n if (rotation !== _zeroDeg) {\n transforms += \"rotate(\" + rotation + _endParenthesis;\n }\n\n if (rotationY !== _zeroDeg) {\n transforms += \"rotateY(\" + rotationY + _endParenthesis;\n }\n\n if (rotationX !== _zeroDeg) {\n transforms += \"rotateX(\" + rotationX + _endParenthesis;\n }\n\n if (skewX !== _zeroDeg || skewY !== _zeroDeg) {\n transforms += \"skew(\" + skewX + \", \" + skewY + _endParenthesis;\n }\n\n if (scaleX !== 1 || scaleY !== 1) {\n transforms += \"scale(\" + scaleX + \", \" + scaleY + _endParenthesis;\n }\n\n target.style[_transformProp] = transforms || \"translate(0, 0)\";\n},\n _renderSVGTransforms = function _renderSVGTransforms(ratio, cache) {\n var _ref2 = cache || this,\n xPercent = _ref2.xPercent,\n yPercent = _ref2.yPercent,\n x = _ref2.x,\n y = _ref2.y,\n rotation = _ref2.rotation,\n skewX = _ref2.skewX,\n skewY = _ref2.skewY,\n scaleX = _ref2.scaleX,\n scaleY = _ref2.scaleY,\n target = _ref2.target,\n xOrigin = _ref2.xOrigin,\n yOrigin = _ref2.yOrigin,\n xOffset = _ref2.xOffset,\n yOffset = _ref2.yOffset,\n forceCSS = _ref2.forceCSS,\n tx = parseFloat(x),\n ty = parseFloat(y),\n a11,\n a21,\n a12,\n a22,\n temp;\n\n rotation = parseFloat(rotation);\n skewX = parseFloat(skewX);\n skewY = parseFloat(skewY);\n\n if (skewY) {\n //for performance reasons, we combine all skewing into the skewX and rotation values. Remember, a skewY of 10 degrees looks the same as a rotation of 10 degrees plus a skewX of 10 degrees.\n skewY = parseFloat(skewY);\n skewX += skewY;\n rotation += skewY;\n }\n\n if (rotation || skewX) {\n rotation *= _DEG2RAD;\n skewX *= _DEG2RAD;\n a11 = Math.cos(rotation) * scaleX;\n a21 = Math.sin(rotation) * scaleX;\n a12 = Math.sin(rotation - skewX) * -scaleY;\n a22 = Math.cos(rotation - skewX) * scaleY;\n\n if (skewX) {\n skewY *= _DEG2RAD;\n temp = Math.tan(skewX - skewY);\n temp = Math.sqrt(1 + temp * temp);\n a12 *= temp;\n a22 *= temp;\n\n if (skewY) {\n temp = Math.tan(skewY);\n temp = Math.sqrt(1 + temp * temp);\n a11 *= temp;\n a21 *= temp;\n }\n }\n\n a11 = _round(a11);\n a21 = _round(a21);\n a12 = _round(a12);\n a22 = _round(a22);\n } else {\n a11 = scaleX;\n a22 = scaleY;\n a21 = a12 = 0;\n }\n\n if (tx && !~(x + \"\").indexOf(\"px\") || ty && !~(y + \"\").indexOf(\"px\")) {\n tx = _convertToUnit(target, \"x\", x, \"px\");\n ty = _convertToUnit(target, \"y\", y, \"px\");\n }\n\n if (xOrigin || yOrigin || xOffset || yOffset) {\n tx = _round(tx + xOrigin - (xOrigin * a11 + yOrigin * a12) + xOffset);\n ty = _round(ty + yOrigin - (xOrigin * a21 + yOrigin * a22) + yOffset);\n }\n\n if (xPercent || yPercent) {\n //The SVG spec doesn't support percentage-based translation in the \"transform\" attribute, so we merge it into the translation to simulate it.\n temp = target.getBBox();\n tx = _round(tx + xPercent / 100 * temp.width);\n ty = _round(ty + yPercent / 100 * temp.height);\n }\n\n temp = \"matrix(\" + a11 + \",\" + a21 + \",\" + a12 + \",\" + a22 + \",\" + tx + \",\" + ty + \")\";\n target.setAttribute(\"transform\", temp);\n forceCSS && (target.style[_transformProp] = temp); //some browsers prioritize CSS transforms over the transform attribute. When we sense that the user has CSS transforms applied, we must overwrite them this way (otherwise some browser simply won't render the transform attribute changes!)\n},\n _addRotationalPropTween = function _addRotationalPropTween(plugin, target, property, startNum, endValue) {\n var cap = 360,\n isString = _isString(endValue),\n endNum = parseFloat(endValue) * (isString && ~endValue.indexOf(\"rad\") ? _RAD2DEG : 1),\n change = endNum - startNum,\n finalValue = startNum + change + \"deg\",\n direction,\n pt;\n\n if (isString) {\n direction = endValue.split(\"_\")[1];\n\n if (direction === \"short\") {\n change %= cap;\n\n if (change !== change % (cap / 2)) {\n change += change < 0 ? cap : -cap;\n }\n }\n\n if (direction === \"cw\" && change < 0) {\n change = (change + cap * _bigNum) % cap - ~~(change / cap) * cap;\n } else if (direction === \"ccw\" && change > 0) {\n change = (change - cap * _bigNum) % cap - ~~(change / cap) * cap;\n }\n }\n\n plugin._pt = pt = new PropTween(plugin._pt, target, property, startNum, change, _renderPropWithEnd);\n pt.e = finalValue;\n pt.u = \"deg\";\n\n plugin._props.push(property);\n\n return pt;\n},\n _assign = function _assign(target, source) {\n // Internet Explorer doesn't have Object.assign(), so we recreate it here.\n for (var p in source) {\n target[p] = source[p];\n }\n\n return target;\n},\n _addRawTransformPTs = function _addRawTransformPTs(plugin, transforms, target) {\n //for handling cases where someone passes in a whole transform string, like transform: \"scale(2, 3) rotate(20deg) translateY(30em)\"\n var startCache = _assign({}, target._gsap),\n exclude = \"perspective,force3D,transformOrigin,svgOrigin\",\n style = target.style,\n endCache,\n p,\n startValue,\n endValue,\n startNum,\n endNum,\n startUnit,\n endUnit;\n\n if (startCache.svg) {\n startValue = target.getAttribute(\"transform\");\n target.setAttribute(\"transform\", \"\");\n style[_transformProp] = transforms;\n endCache = _parseTransform(target, 1);\n\n _removeProperty(target, _transformProp);\n\n target.setAttribute(\"transform\", startValue);\n } else {\n startValue = getComputedStyle(target)[_transformProp];\n style[_transformProp] = transforms;\n endCache = _parseTransform(target, 1);\n style[_transformProp] = startValue;\n }\n\n for (p in _transformProps) {\n startValue = startCache[p];\n endValue = endCache[p];\n\n if (startValue !== endValue && exclude.indexOf(p) < 0) {\n //tweening to no perspective gives very unintuitive results - just keep the same perspective in that case.\n startUnit = getUnit(startValue);\n endUnit = getUnit(endValue);\n startNum = startUnit !== endUnit ? _convertToUnit(target, p, startValue, endUnit) : parseFloat(startValue);\n endNum = parseFloat(endValue);\n plugin._pt = new PropTween(plugin._pt, endCache, p, startNum, endNum - startNum, _renderCSSProp);\n plugin._pt.u = endUnit || 0;\n\n plugin._props.push(p);\n }\n }\n\n _assign(endCache, startCache);\n}; // handle splitting apart padding, margin, borderWidth, and borderRadius into their 4 components. Firefox, for example, won't report borderRadius correctly - it will only do borderTopLeftRadius and the other corners. We also want to handle paddingTop, marginLeft, borderRightWidth, etc.\n\n\n_forEachName(\"padding,margin,Width,Radius\", function (name, index) {\n var t = \"Top\",\n r = \"Right\",\n b = \"Bottom\",\n l = \"Left\",\n props = (index < 3 ? [t, r, b, l] : [t + l, t + r, b + r, b + l]).map(function (side) {\n return index < 2 ? name + side : \"border\" + side + name;\n });\n\n _specialProps[index > 1 ? \"border\" + name : name] = function (plugin, target, property, endValue, tween) {\n var a, vars;\n\n if (arguments.length < 4) {\n // getter, passed target, property, and unit (from _get())\n a = props.map(function (prop) {\n return _get(plugin, prop, property);\n });\n vars = a.join(\" \");\n return vars.split(a[0]).length === 5 ? a[0] : vars;\n }\n\n a = (endValue + \"\").split(\" \");\n vars = {};\n props.forEach(function (prop, i) {\n return vars[prop] = a[i] = a[i] || a[(i - 1) / 2 | 0];\n });\n plugin.init(target, vars, tween);\n };\n});\n\nexport var CSSPlugin = {\n name: \"css\",\n register: _initCore,\n targetTest: function targetTest(target) {\n return target.style && target.nodeType;\n },\n init: function init(target, vars, tween, index, targets) {\n var props = this._props,\n style = target.style,\n startAt = tween.vars.startAt,\n startValue,\n endValue,\n endNum,\n startNum,\n type,\n specialProp,\n p,\n startUnit,\n endUnit,\n relative,\n isTransformRelated,\n transformPropTween,\n cache,\n smooth,\n hasPriority,\n inlineProps;\n _pluginInitted || _initCore(); // we may call init() multiple times on the same plugin instance, like when adding special properties, so make sure we don't overwrite the revert data or inlineProps\n\n this.styles = this.styles || _getStyleSaver(target);\n inlineProps = this.styles.props;\n this.tween = tween;\n\n for (p in vars) {\n if (p === \"autoRound\") {\n continue;\n }\n\n endValue = vars[p];\n\n if (_plugins[p] && _checkPlugin(p, vars, tween, index, target, targets)) {\n // plugins\n continue;\n }\n\n type = typeof endValue;\n specialProp = _specialProps[p];\n\n if (type === \"function\") {\n endValue = endValue.call(tween, index, target, targets);\n type = typeof endValue;\n }\n\n if (type === \"string\" && ~endValue.indexOf(\"random(\")) {\n endValue = _replaceRandom(endValue);\n }\n\n if (specialProp) {\n specialProp(this, target, p, endValue, tween) && (hasPriority = 1);\n } else if (p.substr(0, 2) === \"--\") {\n //CSS variable\n startValue = (getComputedStyle(target).getPropertyValue(p) + \"\").trim();\n endValue += \"\";\n _colorExp.lastIndex = 0;\n\n if (!_colorExp.test(startValue)) {\n // colors don't have units\n startUnit = getUnit(startValue);\n endUnit = getUnit(endValue);\n }\n\n endUnit ? startUnit !== endUnit && (startValue = _convertToUnit(target, p, startValue, endUnit) + endUnit) : startUnit && (endValue += startUnit);\n this.add(style, \"setProperty\", startValue, endValue, index, targets, 0, 0, p);\n props.push(p);\n inlineProps.push(p, 0, style[p]);\n } else if (type !== \"undefined\") {\n if (startAt && p in startAt) {\n // in case someone hard-codes a complex value as the start, like top: \"calc(2vh / 2)\". Without this, it'd use the computed value (always in px)\n startValue = typeof startAt[p] === \"function\" ? startAt[p].call(tween, index, target, targets) : startAt[p];\n _isString(startValue) && ~startValue.indexOf(\"random(\") && (startValue = _replaceRandom(startValue));\n getUnit(startValue + \"\") || startValue === \"auto\" || (startValue += _config.units[p] || getUnit(_get(target, p)) || \"\"); // for cases when someone passes in a unitless value like {x: 100}; if we try setting translate(100, 0px) it won't work.\n\n (startValue + \"\").charAt(1) === \"=\" && (startValue = _get(target, p)); // can't work with relative values\n } else {\n startValue = _get(target, p);\n }\n\n startNum = parseFloat(startValue);\n relative = type === \"string\" && endValue.charAt(1) === \"=\" && endValue.substr(0, 2);\n relative && (endValue = endValue.substr(2));\n endNum = parseFloat(endValue);\n\n if (p in _propertyAliases) {\n if (p === \"autoAlpha\") {\n //special case where we control the visibility along with opacity. We still allow the opacity value to pass through and get tweened.\n if (startNum === 1 && _get(target, \"visibility\") === \"hidden\" && endNum) {\n //if visibility is initially set to \"hidden\", we should interpret that as intent to make opacity 0 (a convenience)\n startNum = 0;\n }\n\n inlineProps.push(\"visibility\", 0, style.visibility);\n\n _addNonTweeningPT(this, style, \"visibility\", startNum ? \"inherit\" : \"hidden\", endNum ? \"inherit\" : \"hidden\", !endNum);\n }\n\n if (p !== \"scale\" && p !== \"transform\") {\n p = _propertyAliases[p];\n ~p.indexOf(\",\") && (p = p.split(\",\")[0]);\n }\n }\n\n isTransformRelated = p in _transformProps; //--- TRANSFORM-RELATED ---\n\n if (isTransformRelated) {\n this.styles.save(p);\n\n if (!transformPropTween) {\n cache = target._gsap;\n cache.renderTransform && !vars.parseTransform || _parseTransform(target, vars.parseTransform); // if, for example, gsap.set(... {transform:\"translateX(50vw)\"}), the _get() call doesn't parse the transform, thus cache.renderTransform won't be set yet so force the parsing of the transform here.\n\n smooth = vars.smoothOrigin !== false && cache.smooth;\n transformPropTween = this._pt = new PropTween(this._pt, style, _transformProp, 0, 1, cache.renderTransform, cache, 0, -1); //the first time through, create the rendering PropTween so that it runs LAST (in the linked list, we keep adding to the beginning)\n\n transformPropTween.dep = 1; //flag it as dependent so that if things get killed/overwritten and this is the only PropTween left, we can safely kill the whole tween.\n }\n\n if (p === \"scale\") {\n this._pt = new PropTween(this._pt, cache, \"scaleY\", cache.scaleY, (relative ? _parseRelative(cache.scaleY, relative + endNum) : endNum) - cache.scaleY || 0, _renderCSSProp);\n this._pt.u = 0;\n props.push(\"scaleY\", p);\n p += \"X\";\n } else if (p === \"transformOrigin\") {\n inlineProps.push(_transformOriginProp, 0, style[_transformOriginProp]);\n endValue = _convertKeywordsToPercentages(endValue); //in case something like \"left top\" or \"bottom right\" is passed in. Convert to percentages.\n\n if (cache.svg) {\n _applySVGOrigin(target, endValue, 0, smooth, 0, this);\n } else {\n endUnit = parseFloat(endValue.split(\" \")[2]) || 0; //handle the zOrigin separately!\n\n endUnit !== cache.zOrigin && _addNonTweeningPT(this, cache, \"zOrigin\", cache.zOrigin, endUnit);\n\n _addNonTweeningPT(this, style, p, _firstTwoOnly(startValue), _firstTwoOnly(endValue));\n }\n\n continue;\n } else if (p === \"svgOrigin\") {\n _applySVGOrigin(target, endValue, 1, smooth, 0, this);\n\n continue;\n } else if (p in _rotationalProperties) {\n _addRotationalPropTween(this, cache, p, startNum, relative ? _parseRelative(startNum, relative + endValue) : endValue);\n\n continue;\n } else if (p === \"smoothOrigin\") {\n _addNonTweeningPT(this, cache, \"smooth\", cache.smooth, endValue);\n\n continue;\n } else if (p === \"force3D\") {\n cache[p] = endValue;\n continue;\n } else if (p === \"transform\") {\n _addRawTransformPTs(this, endValue, target);\n\n continue;\n }\n } else if (!(p in style)) {\n p = _checkPropPrefix(p) || p;\n }\n\n if (isTransformRelated || (endNum || endNum === 0) && (startNum || startNum === 0) && !_complexExp.test(endValue) && p in style) {\n startUnit = (startValue + \"\").substr((startNum + \"\").length);\n endNum || (endNum = 0); // protect against NaN\n\n endUnit = getUnit(endValue) || (p in _config.units ? _config.units[p] : startUnit);\n startUnit !== endUnit && (startNum = _convertToUnit(target, p, startValue, endUnit));\n this._pt = new PropTween(this._pt, isTransformRelated ? cache : style, p, startNum, (relative ? _parseRelative(startNum, relative + endNum) : endNum) - startNum, !isTransformRelated && (endUnit === \"px\" || p === \"zIndex\") && vars.autoRound !== false ? _renderRoundedCSSProp : _renderCSSProp);\n this._pt.u = endUnit || 0;\n\n if (startUnit !== endUnit && endUnit !== \"%\") {\n //when the tween goes all the way back to the beginning, we need to revert it to the OLD/ORIGINAL value (with those units). We record that as a \"b\" (beginning) property and point to a render method that handles that. (performance optimization)\n this._pt.b = startValue;\n this._pt.r = _renderCSSPropWithBeginning;\n }\n } else if (!(p in style)) {\n if (p in target) {\n //maybe it's not a style - it could be a property added directly to an element in which case we'll try to animate that.\n this.add(target, p, startValue || target[p], relative ? relative + endValue : endValue, index, targets);\n } else if (p !== \"parseTransform\") {\n _missingPlugin(p, endValue);\n\n continue;\n }\n } else {\n _tweenComplexCSSString.call(this, target, p, startValue, relative ? relative + endValue : endValue);\n }\n\n isTransformRelated || (p in style ? inlineProps.push(p, 0, style[p]) : inlineProps.push(p, 1, startValue || target[p]));\n props.push(p);\n }\n }\n\n hasPriority && _sortPropTweensByPriority(this);\n },\n render: function render(ratio, data) {\n if (data.tween._time || !_reverting()) {\n var pt = data._pt;\n\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n } else {\n data.styles.revert();\n }\n },\n get: _get,\n aliases: _propertyAliases,\n getSetter: function getSetter(target, property, plugin) {\n //returns a setter function that accepts target, property, value and applies it accordingly. Remember, properties like \"x\" aren't as simple as target.style.property = value because they've got to be applied to a proxy object and then merged into a transform string in a renderer.\n var p = _propertyAliases[property];\n p && p.indexOf(\",\") < 0 && (property = p);\n return property in _transformProps && property !== _transformOriginProp && (target._gsap.x || _get(target, \"x\")) ? plugin && _recentSetterPlugin === plugin ? property === \"scale\" ? _setterScale : _setterTransform : (_recentSetterPlugin = plugin || {}) && (property === \"scale\" ? _setterScaleWithRender : _setterTransformWithRender) : target.style && !_isUndefined(target.style[property]) ? _setterCSSStyle : ~property.indexOf(\"-\") ? _setterCSSProp : _getSetter(target, property);\n },\n core: {\n _removeProperty: _removeProperty,\n _getMatrix: _getMatrix\n }\n};\ngsap.utils.checkPrefix = _checkPropPrefix;\ngsap.core.getStyleSaver = _getStyleSaver;\n\n(function (positionAndScale, rotation, others, aliases) {\n var all = _forEachName(positionAndScale + \",\" + rotation + \",\" + others, function (name) {\n _transformProps[name] = 1;\n });\n\n _forEachName(rotation, function (name) {\n _config.units[name] = \"deg\";\n _rotationalProperties[name] = 1;\n });\n\n _propertyAliases[all[13]] = positionAndScale + \",\" + rotation;\n\n _forEachName(aliases, function (name) {\n var split = name.split(\":\");\n _propertyAliases[split[1]] = all[split[0]];\n });\n})(\"x,y,z,scale,scaleX,scaleY,xPercent,yPercent\", \"rotation,rotationX,rotationY,skewX,skewY\", \"transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective\", \"0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY\");\n\n_forEachName(\"x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective\", function (name) {\n _config.units[name] = \"px\";\n});\n\ngsap.registerPlugin(CSSPlugin);\nexport { CSSPlugin as default, _getBBox, _createElement, _checkPropPrefix as checkPrefix };","import { gsap, Power0, Power1, Power2, Power3, Power4, Linear, Quad, Cubic, Quart, Quint, Strong, Elastic, Back, SteppedEase, Bounce, Sine, Expo, Circ, TweenLite, TimelineLite, TimelineMax } from \"./gsap-core.js\";\nimport { CSSPlugin } from \"./CSSPlugin.js\";\nvar gsapWithCSS = gsap.registerPlugin(CSSPlugin) || gsap,\n // to protect from tree shaking\nTweenMaxWithCSS = gsapWithCSS.core.Tween;\nexport { gsapWithCSS as gsap, gsapWithCSS as default, CSSPlugin, TweenMaxWithCSS as TweenMax, TweenLite, TimelineMax, TimelineLite, Power0, Power1, Power2, Power3, Power4, Linear, Quad, Cubic, Quart, Quint, Strong, Elastic, Back, SteppedEase, Bounce, Sine, Expo, Circ };","@import '../../themes/capsule.globals';\n\n:host {\n --container-width: 360px;\n --container-gap: 16px;\n --container-border-radius: var(--cpsl-border-radius-modal);\n --container-border-width: 1px;\n --container-border-color: var(--cpsl-color-modal-border);\n --container-background-color: var(--cpsl-color-modal-surface-footer);\n --container-padding-bottom: 16px;\n --container-box-shadow: 0px 2px 4px 0px var(--cpsl-color-alpha-black-8);\n\n --inner-container-background-color: var(--cpsl-color-modal-surface-main);\n --inner-container-border-radius: var(--cpsl-border-radius-modal);\n --inner-container-box-shadow: 0px 1px 2px 0px var(--cpsl-color-alpha-black-8);\n --inner-container-padding-top: 8px;\n --inner-container-padding-end: 16px;\n --inner-container-padding-bottom: 24px;\n --inner-container-padding-start: 16px;\n --inner-container-margin-bottom: 16px;\n\n display: inline-block;\n}\n\n.modal-container {\n @include padding(var(--container-padding-top), var(--container-padding-end), var(--container-padding-bottom), var(--container-padding-start));\n\n width: var(--container-width);\n display: flex;\n flex-direction: column;\n\n border: var(--container-border-width) solid var(--container-border-color);\n border-radius: var(--container-border-radius);\n box-shadow: var(--container-box-shadow);\n\n background-color: var(--container-background-color);\n}\n\n.modal-inner-container {\n @include padding(var(--inner-container-padding-top), var(--inner-container-padding-end), var(--inner-container-padding-bottom), var(--inner-container-padding-start));\n margin-bottom: var(--inner-container-margin-bottom);\n\n display: flex;\n flex-direction: column;\n flex: 1;\n\n border-radius: var(--inner-container-border-radius);\n box-shadow: var(--inner-container-box-shadow);\n background-color: var(--inner-container-background-color);\n}\n\n.expanded {\n height: 0px;\n overflow: hidden;\n}\n\n.no-overflow {\n // TOOD: When implementing sliding footer add this back\n // overflow: hidden;\n}\n\n.modal-inner-container.no-footer {\n margin-bottom: 0px;\n box-shadow: none;\n}\n\n.modal-container.no-footer {\n padding-bottom: 0px;\n}\n","import { Component, Element, Host, Prop, State, Watch, h } from '@stencil/core';\nimport gsap from 'gsap';\n\n@Component({\n tag: 'cpsl-modal',\n styleUrl: 'cpsl-modal.scss',\n shadow: true,\n})\nexport class CpslModal {\n private expandFooterTl;\n\n @Element() el!: HTMLCpslModalElement;\n\n @State() noFooter: boolean;\n\n /**\n * Whether or not to show `footerExpandedFooter` and `footerExpandedHeader` slots.\n */\n @Prop() footerExpanded: boolean;\n\n /**\n * Duration in seconds of the footer expansion animation.\n * Default is .5.\n */\n @Prop() transitionDuration: number = 0.5;\n\n @Watch('footerExpanded')\n toggleHeight() {\n this.footerExpanded ? this.expandFooterTl.play() : this.expandFooterTl.reverse();\n }\n\n componentDidLoad() {\n if (!Boolean(this.el.querySelector('[slot=\"footer\"]'))) {\n this.noFooter = true;\n }\n\n this.expandFooterTl = gsap\n .timeline({ reversed: true, paused: true })\n .to(this.bodyEl, { height: '0px', duration: this.transitionDuration })\n .to(this.footerEl, { height: '0px', duration: this.transitionDuration }, '<')\n .to(this.footerExpandedEl, { height: 'auto', duration: this.transitionDuration }, '<')\n .to(this.headerEl, { height: '0px', duration: this.transitionDuration }, '<')\n .to(this.headerExpandedEl, { height: 'auto', duration: this.transitionDuration }, '<');\n }\n\n private get bodyEl() {\n return this.el.shadowRoot.getElementById('modal-body');\n }\n\n private get footerEl() {\n return this.el.shadowRoot.getElementById('modal-footer');\n }\n\n private get footerExpandedEl() {\n return this.el.shadowRoot.getElementById('modal-footer-expanded');\n }\n\n private get headerEl() {\n return this.el.shadowRoot.getElementById('modal-header');\n }\n\n private get headerExpandedEl() {\n return this.el.shadowRoot.getElementById('modal-header-expanded');\n }\n\n render() {\n return (\n <Host>\n <div class={{ 'modal-container': true, 'no-footer': this.noFooter }}>\n <div class={{ 'modal-inner-container': true, 'no-footer': this.noFooter }}>\n <div id=\"modal-header\" class=\"no-overflow\">\n <slot name=\"header\"></slot>\n </div>\n <div id=\"modal-header-expanded\" class={{ 'expanded': true, 'no-overflow': true }}>\n <slot name=\"footerExpandedHeader\"></slot>\n </div>\n <div id=\"modal-body\" class=\"no-overflow\">\n <slot name=\"body\"></slot>\n </div>\n </div>\n <div id=\"modal-footer\" class=\"no-overflow\">\n <slot name=\"footer\"></slot>\n </div>\n <div id=\"modal-footer-expanded\" class={{ 'expanded': true, 'no-overflow': true }}>\n <slot name=\"footerExpandedFooter\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n\n z-index: 100000;\n\n opacity: 0%;\n display: none;\n\n background-color: var(--cpsl-color-alpha-black-50);\n}\n","import { Component, Host, Prop, h, Element, Watch } from '@stencil/core';\nimport gsap from 'gsap';\n\n@Component({\n tag: 'cpsl-overlay',\n styleUrl: 'cpsl-overlay.scss',\n shadow: true,\n})\nexport class CpslOverlay {\n private showTl;\n\n @Element() el!: HTMLCpslOverlayElement;\n\n /**\n * Whether or not to show the overlay.\n */\n @Prop() open: boolean;\n\n /**\n * Duration in seconds of the fade in/out animation.\n * Default is .5.\n */\n @Prop() transitionDuration: number = 0.5;\n\n @Watch('open')\n toggleHeight() {\n this.open ? this.showTl.play() : this.showTl.reverse();\n\n if (this.open) {\n document.documentElement.style.overflow = 'hidden';\n } else {\n // Setting a timeout here to prevent modal from shifting when the scroll bar appears\n setTimeout(() => {\n document.documentElement.style.overflow = 'auto';\n }, this.transitionDuration * 1000);\n }\n }\n\n componentDidLoad() {\n this.showTl = gsap\n .timeline({ reversed: true, paused: true })\n .to(this.el, { display: 'block', duration: this.transitionDuration })\n .to(this.el, { opacity: '100%', duration: this.transitionDuration }, '<');\n\n if (this.open) {\n this.showTl.play();\n document.documentElement.style.overflow = 'hidden';\n }\n }\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --pill-text-color: var(--cpsl-color-text-inverted);\n --pill-text-size: #{dynamic-font-clamp(1, 10px, 1.5)};\n --pill-text-line-height: 100%;\n\n --pill-container-height: 18px;\n --pill-container-background-color: var(--cpsl-color-foreground-secondary);\n --pill-container-border-color: var(--cpsl-color-foreground-primary);\n --pill-container-padding-start: 8px;\n --pill-container-padding-end: 8px;\n --pill-container-border-radius: var(--cpsl-border-radius-pill);\n\n font-family: $font-family-base;\n display: inline-block;\n}\n\n.pill-container {\n @include padding(var(--pill-container-padding-top), var(--pill-container-padding-end), var(--pill-container-padding-bottom), var(--pill-container-padding-start));\n\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n\n height: var(--pill-container-height);\n\n background-color: var(--pill-container-background-color);\n border: 1px solid;\n border-color: var(--pill-container-border-color);\n border-radius: var(--pill-container-border-radius);\n\n color: var(--pill-text-color);\n font-size: var(--pill-text-size);\n line-height: var(--pill-text-line-height);\n\n span {\n display: inline-block;\n }\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'cpsl-pill',\n styleUrl: 'cpsl-pill.scss',\n shadow: true,\n})\nexport class CpslPill {\n /**\n * Text of the pill.\n */\n @Prop() text: string;\n\n render() {\n return (\n <Host>\n <div class=\"pill-container\">\n <span>{this.text}</span>\n </div>\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --step-height: 3px;\n --step-active-color: var(--cpsl-color-foreground-primary);\n --step-next-color: var(--cpsl-color-foreground-quarternary);\n --step-previous-color: var(--cpsl-color-foreground-ternary);\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n}\n\n.step {\n background-color: var(--step-next-color);\n\n border-radius: var(--step-border-radius, calc(var(--step-height) * 2));\n height: var(--step-height);\n flex: 1;\n transition: all 0.5s;\n}\n\n.previous {\n background-color: var(--step-previous-color);\n}\n\n.active {\n background-color: var(--step-active-color);\n flex: 2;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { Step } from './progress-indicator-interface';\n\n@Component({\n tag: 'cpsl-progress-indicator',\n styleUrl: 'cpsl-progress-indicator.scss',\n shadow: true,\n})\nexport class CpslProgressIndicator {\n /**\n * Total number of steps.\n */\n @Prop() totalSteps: number;\n\n /**\n * Current zero based step.\n */\n @Prop() step: number;\n\n render() {\n const steps: Step[] = new Array(this.totalSteps).fill(0).map((_, i) => {\n let resp: Step = { active: false, previous: false };\n if (i === this.step) {\n resp.active = true;\n } else if (i < this.step) {\n resp.previous = true;\n }\n return resp;\n });\n\n return (\n <Host>\n {steps.map(step => (\n <div class={{ step: true, active: step.active, previous: step.previous }} />\n ))}\n </Host>\n );\n }\n}\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.QRCodeStyling=e():t.QRCodeStyling=e()}(self,(function(){return(()=>{var t={192:(t,e)=>{var r,n,o=function(){var t=function(t,e){var r=t,n=a[e],o=null,i=0,u=null,v=[],w={},m=function(t,e){o=function(t){for(var e=new Array(t),r=0;r<t;r+=1){e[r]=new Array(t);for(var n=0;n<t;n+=1)e[r][n]=null}return e}(i=4*r+17),b(0,0),b(i-7,0),b(0,i-7),x(),_(),M(t,e),r>=7&&S(t),null==u&&(u=A(r,n,v)),C(u,e)},b=function(t,e){for(var r=-1;r<=7;r+=1)if(!(t+r<=-1||i<=t+r))for(var n=-1;n<=7;n+=1)e+n<=-1||i<=e+n||(o[t+r][e+n]=0<=r&&r<=6&&(0==n||6==n)||0<=n&&n<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=n&&n<=4)},_=function(){for(var t=8;t<i-8;t+=1)null==o[t][6]&&(o[t][6]=t%2==0);for(var e=8;e<i-8;e+=1)null==o[6][e]&&(o[6][e]=e%2==0)},x=function(){for(var t=s.getPatternPosition(r),e=0;e<t.length;e+=1)for(var n=0;n<t.length;n+=1){var i=t[e],a=t[n];if(null==o[i][a])for(var u=-2;u<=2;u+=1)for(var h=-2;h<=2;h+=1)o[i+u][a+h]=-2==u||2==u||-2==h||2==h||0==u&&0==h}},S=function(t){for(var e=s.getBCHTypeNumber(r),n=0;n<18;n+=1){var a=!t&&1==(e>>n&1);o[Math.floor(n/3)][n%3+i-8-3]=a}for(n=0;n<18;n+=1)a=!t&&1==(e>>n&1),o[n%3+i-8-3][Math.floor(n/3)]=a},M=function(t,e){for(var r=n<<3|e,a=s.getBCHTypeInfo(r),u=0;u<15;u+=1){var h=!t&&1==(a>>u&1);u<6?o[u][8]=h:u<8?o[u+1][8]=h:o[i-15+u][8]=h}for(u=0;u<15;u+=1)h=!t&&1==(a>>u&1),u<8?o[8][i-u-1]=h:u<9?o[8][15-u-1+1]=h:o[8][15-u-1]=h;o[i-8][8]=!t},C=function(t,e){for(var r=-1,n=i-1,a=7,u=0,h=s.getMaskFunction(e),c=i-1;c>0;c-=2)for(6==c&&(c-=1);;){for(var l=0;l<2;l+=1)if(null==o[n][c-l]){var d=!1;u<t.length&&(d=1==(t[u]>>>a&1)),h(n,c-l)&&(d=!d),o[n][c-l]=d,-1==(a-=1)&&(u+=1,a=7)}if((n+=r)<0||i<=n){n-=r,r=-r;break}}},A=function(t,e,r){for(var n=c.getRSBlocks(t,e),o=l(),i=0;i<r.length;i+=1){var a=r[i];o.put(a.getMode(),4),o.put(a.getLength(),s.getLengthInBits(a.getMode(),t)),a.write(o)}var u=0;for(i=0;i<n.length;i+=1)u+=n[i].dataCount;if(o.getLengthInBits()>8*u)throw\"code length overflow. (\"+o.getLengthInBits()+\">\"+8*u+\")\";for(o.getLengthInBits()+4<=8*u&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;!(o.getLengthInBits()>=8*u||(o.put(236,8),o.getLengthInBits()>=8*u));)o.put(17,8);return function(t,e){for(var r=0,n=0,o=0,i=new Array(e.length),a=new Array(e.length),u=0;u<e.length;u+=1){var c=e[u].dataCount,l=e[u].totalCount-c;n=Math.max(n,c),o=Math.max(o,l),i[u]=new Array(c);for(var d=0;d<i[u].length;d+=1)i[u][d]=255&t.getBuffer()[d+r];r+=c;var f=s.getErrorCorrectPolynomial(l),g=h(i[u],f.getLength()-1).mod(f);for(a[u]=new Array(f.getLength()-1),d=0;d<a[u].length;d+=1){var p=d+g.getLength()-a[u].length;a[u][d]=p>=0?g.getAt(p):0}}var v=0;for(d=0;d<e.length;d+=1)v+=e[d].totalCount;var w=new Array(v),y=0;for(d=0;d<n;d+=1)for(u=0;u<e.length;u+=1)d<i[u].length&&(w[y]=i[u][d],y+=1);for(d=0;d<o;d+=1)for(u=0;u<e.length;u+=1)d<a[u].length&&(w[y]=a[u][d],y+=1);return w}(o,n)};w.addData=function(t,e){var r=null;switch(e=e||\"Byte\"){case\"Numeric\":r=d(t);break;case\"Alphanumeric\":r=f(t);break;case\"Byte\":r=g(t);break;case\"Kanji\":r=p(t);break;default:throw\"mode:\"+e}v.push(r),u=null},w.isDark=function(t,e){if(t<0||i<=t||e<0||i<=e)throw t+\",\"+e;return o[t][e]},w.getModuleCount=function(){return i},w.make=function(){if(r<1){for(var t=1;t<40;t++){for(var e=c.getRSBlocks(t,n),o=l(),i=0;i<v.length;i++){var a=v[i];o.put(a.getMode(),4),o.put(a.getLength(),s.getLengthInBits(a.getMode(),t)),a.write(o)}var u=0;for(i=0;i<e.length;i++)u+=e[i].dataCount;if(o.getLengthInBits()<=8*u)break}r=t}m(!1,function(){for(var t=0,e=0,r=0;r<8;r+=1){m(!0,r);var n=s.getLostPoint(w);(0==r||t>n)&&(t=n,e=r)}return e}())},w.createTableTag=function(t,e){t=t||2;var r=\"\";r+='<table style=\"',r+=\" border-width: 0px; border-style: none;\",r+=\" border-collapse: collapse;\",r+=\" padding: 0px; margin: \"+(e=void 0===e?4*t:e)+\"px;\",r+='\">',r+=\"<tbody>\";for(var n=0;n<w.getModuleCount();n+=1){r+=\"<tr>\";for(var o=0;o<w.getModuleCount();o+=1)r+='<td style=\"',r+=\" border-width: 0px; border-style: none;\",r+=\" border-collapse: collapse;\",r+=\" padding: 0px; margin: 0px;\",r+=\" width: \"+t+\"px;\",r+=\" height: \"+t+\"px;\",r+=\" background-color: \",r+=w.isDark(n,o)?\"#000000\":\"#ffffff\",r+=\";\",r+='\"/>';r+=\"</tr>\"}return(r+=\"</tbody>\")+\"</table>\"},w.createSvgTag=function(t,e,r,n){var o={};\"object\"==typeof arguments[0]&&(t=(o=arguments[0]).cellSize,e=o.margin,r=o.alt,n=o.title),t=t||2,e=void 0===e?4*t:e,(r=\"string\"==typeof r?{text:r}:r||{}).text=r.text||null,r.id=r.text?r.id||\"qrcode-description\":null,(n=\"string\"==typeof n?{text:n}:n||{}).text=n.text||null,n.id=n.text?n.id||\"qrcode-title\":null;var i,a,s,u,h=w.getModuleCount()*t+2*e,c=\"\";for(u=\"l\"+t+\",0 0,\"+t+\" -\"+t+\",0 0,-\"+t+\"z \",c+='<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"',c+=o.scalable?\"\":' width=\"'+h+'px\" height=\"'+h+'px\"',c+=' viewBox=\"0 0 '+h+\" \"+h+'\" ',c+=' preserveAspectRatio=\"xMinYMin meet\"',c+=n.text||r.text?' role=\"img\" aria-labelledby=\"'+k([n.id,r.id].join(\" \").trim())+'\"':\"\",c+=\">\",c+=n.text?'<title id=\"'+k(n.id)+'\">'+k(n.text)+\"</title>\":\"\",c+=r.text?'<description id=\"'+k(r.id)+'\">'+k(r.text)+\"</description>\":\"\",c+='<rect width=\"100%\" height=\"100%\" fill=\"white\" cx=\"0\" cy=\"0\"/>',c+='<path d=\"',a=0;a<w.getModuleCount();a+=1)for(s=a*t+e,i=0;i<w.getModuleCount();i+=1)w.isDark(a,i)&&(c+=\"M\"+(i*t+e)+\",\"+s+u);return(c+='\" stroke=\"transparent\" fill=\"black\"/>')+\"</svg>\"},w.createDataURL=function(t,e){t=t||2,e=void 0===e?4*t:e;var r=w.getModuleCount()*t+2*e,n=e,o=r-e;return y(r,r,(function(e,r){if(n<=e&&e<o&&n<=r&&r<o){var i=Math.floor((e-n)/t),a=Math.floor((r-n)/t);return w.isDark(a,i)?0:1}return 1}))},w.createImgTag=function(t,e,r){t=t||2,e=void 0===e?4*t:e;var n=w.getModuleCount()*t+2*e,o=\"\";return o+=\"<img\",o+=' src=\"',o+=w.createDataURL(t,e),o+='\"',o+=' width=\"',o+=n,o+='\"',o+=' height=\"',o+=n,o+='\"',r&&(o+=' alt=\"',o+=k(r),o+='\"'),o+\"/>\"};var k=function(t){for(var e=\"\",r=0;r<t.length;r+=1){var n=t.charAt(r);switch(n){case\"<\":e+=\"&lt;\";break;case\">\":e+=\"&gt;\";break;case\"&\":e+=\"&amp;\";break;case'\"':e+=\"&quot;\";break;default:e+=n}}return e};return w.createASCII=function(t,e){if((t=t||1)<2)return function(t){t=void 0===t?2:t;var e,r,n,o,i,a=1*w.getModuleCount()+2*t,s=t,u=a-t,h={\"██\":\"█\",\"█ \":\"▀\",\" █\":\"▄\",\" \":\" \"},c={\"██\":\"▀\",\"█ \":\"▀\",\" █\":\" \",\" \":\" \"},l=\"\";for(e=0;e<a;e+=2){for(n=Math.floor((e-s)/1),o=Math.floor((e+1-s)/1),r=0;r<a;r+=1)i=\"█\",s<=r&&r<u&&s<=e&&e<u&&w.isDark(n,Math.floor((r-s)/1))&&(i=\" \"),s<=r&&r<u&&s<=e+1&&e+1<u&&w.isDark(o,Math.floor((r-s)/1))?i+=\" \":i+=\"█\",l+=t<1&&e+1>=u?c[i]:h[i];l+=\"\\n\"}return a%2&&t>0?l.substring(0,l.length-a-1)+Array(a+1).join(\"▀\"):l.substring(0,l.length-1)}(e);t-=1,e=void 0===e?2*t:e;var r,n,o,i,a=w.getModuleCount()*t+2*e,s=e,u=a-e,h=Array(t+1).join(\"██\"),c=Array(t+1).join(\" \"),l=\"\",d=\"\";for(r=0;r<a;r+=1){for(o=Math.floor((r-s)/t),d=\"\",n=0;n<a;n+=1)i=1,s<=n&&n<u&&s<=r&&r<u&&w.isDark(o,Math.floor((n-s)/t))&&(i=0),d+=i?h:c;for(o=0;o<t;o+=1)l+=d+\"\\n\"}return l.substring(0,l.length-1)},w.renderTo2dContext=function(t,e){e=e||2;for(var r=w.getModuleCount(),n=0;n<r;n++)for(var o=0;o<r;o++)t.fillStyle=w.isDark(n,o)?\"black\":\"white\",t.fillRect(n*e,o*e,e,e)},w};t.stringToBytes=(t.stringToBytesFuncs={default:function(t){for(var e=[],r=0;r<t.length;r+=1){var n=t.charCodeAt(r);e.push(255&n)}return e}}).default,t.createStringToBytes=function(t,e){var r=function(){for(var r=w(t),n=function(){var t=r.read();if(-1==t)throw\"eof\";return t},o=0,i={};;){var a=r.read();if(-1==a)break;var s=n(),u=n()<<8|n();i[String.fromCharCode(a<<8|s)]=u,o+=1}if(o!=e)throw o+\" != \"+e;return i}(),n=\"?\".charCodeAt(0);return function(t){for(var e=[],o=0;o<t.length;o+=1){var i=t.charCodeAt(o);if(i<128)e.push(i);else{var a=r[t.charAt(o)];\"number\"==typeof a?(255&a)==a?e.push(a):(e.push(a>>>8),e.push(255&a)):e.push(n)}}return e}};var e,r,n,o,i,a={L:1,M:0,Q:3,H:2},s=(e=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],r=1335,n=7973,i=function(t){for(var e=0;0!=t;)e+=1,t>>>=1;return e},(o={}).getBCHTypeInfo=function(t){for(var e=t<<10;i(e)-i(r)>=0;)e^=r<<i(e)-i(r);return 21522^(t<<10|e)},o.getBCHTypeNumber=function(t){for(var e=t<<12;i(e)-i(n)>=0;)e^=n<<i(e)-i(n);return t<<12|e},o.getPatternPosition=function(t){return e[t-1]},o.getMaskFunction=function(t){switch(t){case 0:return function(t,e){return(t+e)%2==0};case 1:return function(t,e){return t%2==0};case 2:return function(t,e){return e%3==0};case 3:return function(t,e){return(t+e)%3==0};case 4:return function(t,e){return(Math.floor(t/2)+Math.floor(e/3))%2==0};case 5:return function(t,e){return t*e%2+t*e%3==0};case 6:return function(t,e){return(t*e%2+t*e%3)%2==0};case 7:return function(t,e){return(t*e%3+(t+e)%2)%2==0};default:throw\"bad maskPattern:\"+t}},o.getErrorCorrectPolynomial=function(t){for(var e=h([1],0),r=0;r<t;r+=1)e=e.multiply(h([1,u.gexp(r)],0));return e},o.getLengthInBits=function(t,e){if(1<=e&&e<10)switch(t){case 1:return 10;case 2:return 9;case 4:case 8:return 8;default:throw\"mode:\"+t}else if(e<27)switch(t){case 1:return 12;case 2:return 11;case 4:return 16;case 8:return 10;default:throw\"mode:\"+t}else{if(!(e<41))throw\"type:\"+e;switch(t){case 1:return 14;case 2:return 13;case 4:return 16;case 8:return 12;default:throw\"mode:\"+t}}},o.getLostPoint=function(t){for(var e=t.getModuleCount(),r=0,n=0;n<e;n+=1)for(var o=0;o<e;o+=1){for(var i=0,a=t.isDark(n,o),s=-1;s<=1;s+=1)if(!(n+s<0||e<=n+s))for(var u=-1;u<=1;u+=1)o+u<0||e<=o+u||0==s&&0==u||a==t.isDark(n+s,o+u)&&(i+=1);i>5&&(r+=3+i-5)}for(n=0;n<e-1;n+=1)for(o=0;o<e-1;o+=1){var h=0;t.isDark(n,o)&&(h+=1),t.isDark(n+1,o)&&(h+=1),t.isDark(n,o+1)&&(h+=1),t.isDark(n+1,o+1)&&(h+=1),0!=h&&4!=h||(r+=3)}for(n=0;n<e;n+=1)for(o=0;o<e-6;o+=1)t.isDark(n,o)&&!t.isDark(n,o+1)&&t.isDark(n,o+2)&&t.isDark(n,o+3)&&t.isDark(n,o+4)&&!t.isDark(n,o+5)&&t.isDark(n,o+6)&&(r+=40);for(o=0;o<e;o+=1)for(n=0;n<e-6;n+=1)t.isDark(n,o)&&!t.isDark(n+1,o)&&t.isDark(n+2,o)&&t.isDark(n+3,o)&&t.isDark(n+4,o)&&!t.isDark(n+5,o)&&t.isDark(n+6,o)&&(r+=40);var c=0;for(o=0;o<e;o+=1)for(n=0;n<e;n+=1)t.isDark(n,o)&&(c+=1);return r+Math.abs(100*c/e/e-50)/5*10},o),u=function(){for(var t=new Array(256),e=new Array(256),r=0;r<8;r+=1)t[r]=1<<r;for(r=8;r<256;r+=1)t[r]=t[r-4]^t[r-5]^t[r-6]^t[r-8];for(r=0;r<255;r+=1)e[t[r]]=r;return{glog:function(t){if(t<1)throw\"glog(\"+t+\")\";return e[t]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return t[e]}}}();function h(t,e){if(void 0===t.length)throw t.length+\"/\"+e;var r=function(){for(var r=0;r<t.length&&0==t[r];)r+=1;for(var n=new Array(t.length-r+e),o=0;o<t.length-r;o+=1)n[o]=t[o+r];return n}(),n={getAt:function(t){return r[t]},getLength:function(){return r.length},multiply:function(t){for(var e=new Array(n.getLength()+t.getLength()-1),r=0;r<n.getLength();r+=1)for(var o=0;o<t.getLength();o+=1)e[r+o]^=u.gexp(u.glog(n.getAt(r))+u.glog(t.getAt(o)));return h(e,0)},mod:function(t){if(n.getLength()-t.getLength()<0)return n;for(var e=u.glog(n.getAt(0))-u.glog(t.getAt(0)),r=new Array(n.getLength()),o=0;o<n.getLength();o+=1)r[o]=n.getAt(o);for(o=0;o<t.getLength();o+=1)r[o]^=u.gexp(u.glog(t.getAt(o))+e);return h(r,0).mod(t)}};return n}var c=function(){var t=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],e=function(t,e){var r={};return r.totalCount=t,r.dataCount=e,r},r={getRSBlocks:function(r,n){var o=function(e,r){switch(r){case a.L:return t[4*(e-1)+0];case a.M:return t[4*(e-1)+1];case a.Q:return t[4*(e-1)+2];case a.H:return t[4*(e-1)+3];default:return}}(r,n);if(void 0===o)throw\"bad rs block @ typeNumber:\"+r+\"/errorCorrectionLevel:\"+n;for(var i=o.length/3,s=[],u=0;u<i;u+=1)for(var h=o[3*u+0],c=o[3*u+1],l=o[3*u+2],d=0;d<h;d+=1)s.push(e(c,l));return s}};return r}(),l=function(){var t=[],e=0,r={getBuffer:function(){return t},getAt:function(e){var r=Math.floor(e/8);return 1==(t[r]>>>7-e%8&1)},put:function(t,e){for(var n=0;n<e;n+=1)r.putBit(1==(t>>>e-n-1&1))},getLengthInBits:function(){return e},putBit:function(r){var n=Math.floor(e/8);t.length<=n&&t.push(0),r&&(t[n]|=128>>>e%8),e+=1}};return r},d=function(t){var e=t,r={getMode:function(){return 1},getLength:function(t){return e.length},write:function(t){for(var r=e,o=0;o+2<r.length;)t.put(n(r.substring(o,o+3)),10),o+=3;o<r.length&&(r.length-o==1?t.put(n(r.substring(o,o+1)),4):r.length-o==2&&t.put(n(r.substring(o,o+2)),7))}},n=function(t){for(var e=0,r=0;r<t.length;r+=1)e=10*e+o(t.charAt(r));return e},o=function(t){if(\"0\"<=t&&t<=\"9\")return t.charCodeAt(0)-\"0\".charCodeAt(0);throw\"illegal char :\"+t};return r},f=function(t){var e=t,r={getMode:function(){return 2},getLength:function(t){return e.length},write:function(t){for(var r=e,o=0;o+1<r.length;)t.put(45*n(r.charAt(o))+n(r.charAt(o+1)),11),o+=2;o<r.length&&t.put(n(r.charAt(o)),6)}},n=function(t){if(\"0\"<=t&&t<=\"9\")return t.charCodeAt(0)-\"0\".charCodeAt(0);if(\"A\"<=t&&t<=\"Z\")return t.charCodeAt(0)-\"A\".charCodeAt(0)+10;switch(t){case\" \":return 36;case\"$\":return 37;case\"%\":return 38;case\"*\":return 39;case\"+\":return 40;case\"-\":return 41;case\".\":return 42;case\"/\":return 43;case\":\":return 44;default:throw\"illegal char :\"+t}};return r},g=function(e){var r=t.stringToBytes(e);return{getMode:function(){return 4},getLength:function(t){return r.length},write:function(t){for(var e=0;e<r.length;e+=1)t.put(r[e],8)}}},p=function(e){var r=t.stringToBytesFuncs.SJIS;if(!r)throw\"sjis not supported.\";!function(t,e){var n=r(\"友\");if(2!=n.length||38726!=(n[0]<<8|n[1]))throw\"sjis not supported.\"}();var n=r(e);return{getMode:function(){return 8},getLength:function(t){return~~(n.length/2)},write:function(t){for(var e=n,r=0;r+1<e.length;){var o=(255&e[r])<<8|255&e[r+1];if(33088<=o&&o<=40956)o-=33088;else{if(!(57408<=o&&o<=60351))throw\"illegal char at \"+(r+1)+\"/\"+o;o-=49472}o=192*(o>>>8&255)+(255&o),t.put(o,13),r+=2}if(r<e.length)throw\"illegal char at \"+(r+1)}}},v=function(){var t=[],e={writeByte:function(e){t.push(255&e)},writeShort:function(t){e.writeByte(t),e.writeByte(t>>>8)},writeBytes:function(t,r,n){r=r||0,n=n||t.length;for(var o=0;o<n;o+=1)e.writeByte(t[o+r])},writeString:function(t){for(var r=0;r<t.length;r+=1)e.writeByte(t.charCodeAt(r))},toByteArray:function(){return t},toString:function(){var e=\"\";e+=\"[\";for(var r=0;r<t.length;r+=1)r>0&&(e+=\",\"),e+=t[r];return e+\"]\"}};return e},w=function(t){var e=t,r=0,n=0,o=0,i={read:function(){for(;o<8;){if(r>=e.length){if(0==o)return-1;throw\"unexpected end of file./\"+o}var t=e.charAt(r);if(r+=1,\"=\"==t)return o=0,-1;t.match(/^\\s$/)||(n=n<<6|a(t.charCodeAt(0)),o+=6)}var i=n>>>o-8&255;return o-=8,i}},a=function(t){if(65<=t&&t<=90)return t-65;if(97<=t&&t<=122)return t-97+26;if(48<=t&&t<=57)return t-48+52;if(43==t)return 62;if(47==t)return 63;throw\"c:\"+t};return i},y=function(t,e,r){for(var n=function(t,e){var r=t,n=e,o=new Array(t*e),i={setPixel:function(t,e,n){o[e*r+t]=n},write:function(t){t.writeString(\"GIF87a\"),t.writeShort(r),t.writeShort(n),t.writeByte(128),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(255),t.writeByte(255),t.writeByte(255),t.writeString(\",\"),t.writeShort(0),t.writeShort(0),t.writeShort(r),t.writeShort(n),t.writeByte(0);var e=a(2);t.writeByte(2);for(var o=0;e.length-o>255;)t.writeByte(255),t.writeBytes(e,o,255),o+=255;t.writeByte(e.length-o),t.writeBytes(e,o,e.length-o),t.writeByte(0),t.writeString(\";\")}},a=function(t){for(var e=1<<t,r=1+(1<<t),n=t+1,i=s(),a=0;a<e;a+=1)i.add(String.fromCharCode(a));i.add(String.fromCharCode(e)),i.add(String.fromCharCode(r));var u,h,c,l=v(),d=(u=l,h=0,c=0,{write:function(t,e){if(t>>>e!=0)throw\"length over\";for(;h+e>=8;)u.writeByte(255&(t<<h|c)),e-=8-h,t>>>=8-h,c=0,h=0;c|=t<<h,h+=e},flush:function(){h>0&&u.writeByte(c)}});d.write(e,n);var f=0,g=String.fromCharCode(o[f]);for(f+=1;f<o.length;){var p=String.fromCharCode(o[f]);f+=1,i.contains(g+p)?g+=p:(d.write(i.indexOf(g),n),i.size()<4095&&(i.size()==1<<n&&(n+=1),i.add(g+p)),g=p)}return d.write(i.indexOf(g),n),d.write(r,n),d.flush(),l.toByteArray()},s=function(){var t={},e=0,r={add:function(n){if(r.contains(n))throw\"dup key:\"+n;t[n]=e,e+=1},size:function(){return e},indexOf:function(e){return t[e]},contains:function(e){return void 0!==t[e]}};return r};return i}(t,e),o=0;o<e;o+=1)for(var i=0;i<t;i+=1)n.setPixel(i,o,r(i,o));var a=v();n.write(a);for(var s=function(){var t=0,e=0,r=0,n=\"\",o={},i=function(t){n+=String.fromCharCode(a(63&t))},a=function(t){if(t<0);else{if(t<26)return 65+t;if(t<52)return t-26+97;if(t<62)return t-52+48;if(62==t)return 43;if(63==t)return 47}throw\"n:\"+t};return o.writeByte=function(n){for(t=t<<8|255&n,e+=8,r+=1;e>=6;)i(t>>>e-6),e-=6},o.flush=function(){if(e>0&&(i(t<<6-e),t=0,e=0),r%3!=0)for(var o=3-r%3,a=0;a<o;a+=1)n+=\"=\"},o.toString=function(){return n},o}(),u=a.toByteArray(),h=0;h<u.length;h+=1)s.writeByte(u[h]);return s.flush(),\"data:image/gif;base64,\"+s};return t}();o.stringToBytesFuncs[\"UTF-8\"]=function(t){return function(t){for(var e=[],r=0;r<t.length;r++){var n=t.charCodeAt(r);n<128?e.push(n):n<2048?e.push(192|n>>6,128|63&n):n<55296||n>=57344?e.push(224|n>>12,128|n>>6&63,128|63&n):(r++,n=65536+((1023&n)<<10|1023&t.charCodeAt(r)),e.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return e}(t)},void 0===(n=\"function\"==typeof(r=function(){return o})?r.apply(e,[]):r)||(t.exports=n)},676:(t,e,r)=>{\"use strict\";r.d(e,{default:()=>q});var n=function(){return(n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},o=function(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<r;e++)for(var i=arguments[e],a=0,s=i.length;a<s;a++,o++)n[o]=i[a];return n},i=function(t){return!!t&&\"object\"==typeof t&&!Array.isArray(t)};function a(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(!e.length)return t;var s=e.shift();return void 0!==s&&i(t)&&i(s)?(t=n({},t),Object.keys(s).forEach((function(e){var r=t[e],n=s[e];Array.isArray(r)&&Array.isArray(n)?t[e]=n:i(r)&&i(n)?t[e]=a(Object.assign({},r),n):t[e]=n})),a.apply(void 0,o([t],e))):t}function s(t,e){var r=document.createElement(\"a\");r.download=e,r.href=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}function u(t){return e=this,r=void 0,o=function(){return function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}(this,(function(e){return[2,new Promise((function(e){var r=new XMLHttpRequest;r.onload=function(){var t=new FileReader;t.onloadend=function(){e(t.result)},t.readAsDataURL(r.response)},r.open(\"GET\",t),r.responseType=\"blob\",r.send()}))]}))},new((n=void 0)||(n=Promise))((function(t,i){function a(t){try{u(o.next(t))}catch(t){i(t)}}function s(t){try{u(o.throw(t))}catch(t){i(t)}}function u(e){var r;e.done?t(e.value):(r=e.value,r instanceof n?r:new n((function(t){t(r)}))).then(a,s)}u((o=o.apply(e,r||[])).next())}));var e,r,n,o}const h={L:.07,M:.15,Q:.25,H:.3};var c=function(){return(c=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const l=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case\"dots\":o=this._drawDot;break;case\"classy\":o=this._drawClassy;break;case\"classy-rounded\":o=this._drawClassyRounded;break;case\"rounded\":o=this._drawRounded;break;case\"extra-rounded\":o=this._drawExtraRounded;break;case\"square\":default:o=this._drawSquare}o.call(this,{x:t,y:e,size:r,getNeighbor:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute(\"transform\",\"rotate(\"+180*a/Math.PI+\",\"+s+\",\"+u+\")\")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"circle\"),e._element.setAttribute(\"cx\",String(n+r/2)),e._element.setAttribute(\"cy\",String(o+r/2)),e._element.setAttribute(\"r\",String(r/2))}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\"),e._element.setAttribute(\"x\",String(n)),e._element.setAttribute(\"y\",String(o)),e._element.setAttribute(\"width\",String(r)),e._element.setAttribute(\"height\",String(r))}}))},t.prototype._basicSideRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),e._element.setAttribute(\"d\",\"M \"+n+\" \"+o+\"v \"+r+\"h \"+r/2+\"a \"+r/2+\" \"+r/2+\", 0, 0, 0, 0 \"+-r)}}))},t.prototype._basicCornerRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),e._element.setAttribute(\"d\",\"M \"+n+\" \"+o+\"v \"+r+\"h \"+r+\"v \"+-r/2+\"a \"+r/2+\" \"+r/2+\", 0, 0, 0, \"+-r/2+\" \"+-r/2)}}))},t.prototype._basicCornerExtraRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),e._element.setAttribute(\"d\",\"M \"+n+\" \"+o+\"v \"+r+\"h \"+r+\"a \"+r+\" \"+r+\", 0, 0, 0, \"+-r+\" \"+-r)}}))},t.prototype._basicCornersRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),e._element.setAttribute(\"d\",\"M \"+n+\" \"+o+\"v \"+r/2+\"a \"+r/2+\" \"+r/2+\", 0, 0, 0, \"+r/2+\" \"+r/2+\"h \"+r/2+\"v \"+-r/2+\"a \"+r/2+\" \"+r/2+\", 0, 0, 0, \"+-r/2+\" \"+-r/2)}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size;this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size;this._basicSquare({x:e,y:r,size:n,rotation:0})},t.prototype._drawRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0,h=i+a+s+u;if(0!==h)if(h>2||i&&a||s&&u)this._basicSquare({x:e,y:r,size:n,rotation:0});else{if(2===h){var c=0;return i&&s?c=Math.PI/2:s&&a?c=Math.PI:a&&u&&(c=-Math.PI/2),void this._basicCornerRounded({x:e,y:r,size:n,rotation:c})}if(1===h)return c=0,s?c=Math.PI/2:a?c=Math.PI:u&&(c=-Math.PI/2),void this._basicSideRounded({x:e,y:r,size:n,rotation:c})}else this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawExtraRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0,h=i+a+s+u;if(0!==h)if(h>2||i&&a||s&&u)this._basicSquare({x:e,y:r,size:n,rotation:0});else{if(2===h){var c=0;return i&&s?c=Math.PI/2:s&&a?c=Math.PI:a&&u&&(c=-Math.PI/2),void this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:c})}if(1===h)return c=0,s?c=Math.PI/2:a?c=Math.PI:u&&(c=-Math.PI/2),void this._basicSideRounded({x:e,y:r,size:n,rotation:c})}else this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawClassy=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0;0!==i+a+s+u?i||s?a||u?this._basicSquare({x:e,y:r,size:n,rotation:0}):this._basicCornerRounded({x:e,y:r,size:n,rotation:Math.PI/2}):this._basicCornerRounded({x:e,y:r,size:n,rotation:-Math.PI/2}):this._basicCornersRounded({x:e,y:r,size:n,rotation:Math.PI/2})},t.prototype._drawClassyRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0;0!==i+a+s+u?i||s?a||u?this._basicSquare({x:e,y:r,size:n,rotation:0}):this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:-Math.PI/2}):this._basicCornersRounded({x:e,y:r,size:n,rotation:Math.PI/2})},t}();var d=function(){return(d=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const f=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case\"square\":o=this._drawSquare;break;case\"extra-rounded\":o=this._drawExtraRounded;break;case\"dot\":default:o=this._drawDot}o.call(this,{x:t,y:e,size:r,rotation:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute(\"transform\",\"rotate(\"+180*a/Math.PI+\",\"+s+\",\"+u+\")\")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),e._element.setAttribute(\"clip-rule\",\"evenodd\"),e._element.setAttribute(\"d\",\"M \"+(n+r/2)+\" \"+o+\"a \"+r/2+\" \"+r/2+\" 0 1 0 0.1 0zm 0 \"+i+\"a \"+(r/2-i)+\" \"+(r/2-i)+\" 0 1 1 -0.1 0Z\")}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),e._element.setAttribute(\"clip-rule\",\"evenodd\"),e._element.setAttribute(\"d\",\"M \"+n+\" \"+o+\"v \"+r+\"h \"+r+\"v \"+-r+\"zM \"+(n+i)+\" \"+(o+i)+\"h \"+(r-2*i)+\"v \"+(r-2*i)+\"h \"+(2*i-r)+\"z\")}}))},t.prototype._basicExtraRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),e._element.setAttribute(\"clip-rule\",\"evenodd\"),e._element.setAttribute(\"d\",\"M \"+n+\" \"+(o+2.5*i)+\"v \"+2*i+\"a \"+2.5*i+\" \"+2.5*i+\", 0, 0, 0, \"+2.5*i+\" \"+2.5*i+\"h \"+2*i+\"a \"+2.5*i+\" \"+2.5*i+\", 0, 0, 0, \"+2.5*i+\" \"+2.5*-i+\"v \"+-2*i+\"a \"+2.5*i+\" \"+2.5*i+\", 0, 0, 0, \"+2.5*-i+\" \"+2.5*-i+\"h \"+-2*i+\"a \"+2.5*i+\" \"+2.5*i+\", 0, 0, 0, \"+2.5*-i+\" \"+2.5*i+\"M \"+(n+2.5*i)+\" \"+(o+i)+\"h \"+2*i+\"a \"+1.5*i+\" \"+1.5*i+\", 0, 0, 1, \"+1.5*i+\" \"+1.5*i+\"v \"+2*i+\"a \"+1.5*i+\" \"+1.5*i+\", 0, 0, 1, \"+1.5*-i+\" \"+1.5*i+\"h \"+-2*i+\"a \"+1.5*i+\" \"+1.5*i+\", 0, 0, 1, \"+1.5*-i+\" \"+1.5*-i+\"v \"+-2*i+\"a \"+1.5*i+\" \"+1.5*i+\", 0, 0, 1, \"+1.5*i+\" \"+1.5*-i)}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicDot({x:e,y:r,size:n,rotation:o})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicSquare({x:e,y:r,size:n,rotation:o})},t.prototype._drawExtraRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicExtraRounded({x:e,y:r,size:n,rotation:o})},t}();var g=function(){return(g=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const p=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case\"square\":o=this._drawSquare;break;case\"dot\":default:o=this._drawDot}o.call(this,{x:t,y:e,size:r,rotation:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute(\"transform\",\"rotate(\"+180*a/Math.PI+\",\"+s+\",\"+u+\")\")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(g(g({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"circle\"),e._element.setAttribute(\"cx\",String(n+r/2)),e._element.setAttribute(\"cy\",String(o+r/2)),e._element.setAttribute(\"r\",String(r/2))}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(g(g({},t),{draw:function(){e._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\"),e._element.setAttribute(\"x\",String(n)),e._element.setAttribute(\"y\",String(o)),e._element.setAttribute(\"width\",String(r)),e._element.setAttribute(\"height\",String(r))}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicDot({x:e,y:r,size:n,rotation:o})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicSquare({x:e,y:r,size:n,rotation:o})},t}(),v=\"circle\";var w=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function s(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},y=function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},m=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],b=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];const _=function(){function t(t){this._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this._element.setAttribute(\"width\",String(t.width)),this._element.setAttribute(\"height\",String(t.height)),this._defs=document.createElementNS(\"http://www.w3.org/2000/svg\",\"defs\"),this._element.appendChild(this._defs),this._options=t}return Object.defineProperty(t.prototype,\"width\",{get:function(){return this._options.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._options.height},enumerable:!1,configurable:!0}),t.prototype.getElement=function(){return this._element},t.prototype.drawQR=function(t){return w(this,void 0,void 0,(function(){var e,r,n,o,i,a,s,u,c,l,d=this;return y(this,(function(f){switch(f.label){case 0:return e=t.getModuleCount(),r=Math.min(this._options.width,this._options.height)-2*this._options.margin,n=this._options.shape===v?r/Math.sqrt(2):r,o=Math.floor(n/e),i={hideXDots:0,hideYDots:0,width:0,height:0},this._qr=t,this._options.image?[4,this.loadImage()]:[3,2];case 1:if(f.sent(),!this._image)return[2];a=this._options,s=a.imageOptions,u=a.qrOptions,c=s.imageSize*h[u.errorCorrectionLevel],l=Math.floor(c*e*e),i=function(t){var e=t.originalHeight,r=t.originalWidth,n=t.maxHiddenDots,o=t.maxHiddenAxisDots,i=t.dotSize,a={x:0,y:0},s={x:0,y:0};if(e<=0||r<=0||n<=0||i<=0)return{height:0,width:0,hideYDots:0,hideXDots:0};var u=e/r;return a.x=Math.floor(Math.sqrt(n/u)),a.x<=0&&(a.x=1),o&&o<a.x&&(a.x=o),a.x%2==0&&a.x--,s.x=a.x*i,a.y=1+2*Math.ceil((a.x*u-1)/2),s.y=Math.round(s.x*u),(a.y*a.x>n||o&&o<a.y)&&(o&&o<a.y?(a.y=o,a.y%2==0&&a.x--):a.y-=2,s.y=a.y*i,a.x=1+2*Math.ceil((a.y/u-1)/2),s.x=Math.round(s.y/u)),{height:s.y,width:s.x,hideYDots:a.y,hideXDots:a.x}}({originalWidth:this._image.width,originalHeight:this._image.height,maxHiddenDots:l,maxHiddenAxisDots:e-14,dotSize:o}),f.label=2;case 2:return this.drawBackground(),this.drawDots((function(t,r){var n,o,a,s,u,h;return!(d._options.imageOptions.hideBackgroundDots&&t>=(e-i.hideXDots)/2&&t<(e+i.hideXDots)/2&&r>=(e-i.hideYDots)/2&&r<(e+i.hideYDots)/2||(null===(n=m[t])||void 0===n?void 0:n[r])||(null===(o=m[t-e+7])||void 0===o?void 0:o[r])||(null===(a=m[t])||void 0===a?void 0:a[r-e+7])||(null===(s=b[t])||void 0===s?void 0:s[r])||(null===(u=b[t-e+7])||void 0===u?void 0:u[r])||(null===(h=b[t])||void 0===h?void 0:h[r-e+7]))})),this.drawCorners(),this._options.image?[4,this.drawImage({width:i.width,height:i.height,count:e,dotSize:o})]:[3,4];case 3:f.sent(),f.label=4;case 4:return[2]}}))}))},t.prototype.drawBackground=function(){var t,e,r,n=this._element,o=this._options;if(n){var i=null===(t=o.backgroundOptions)||void 0===t?void 0:t.gradient,a=null===(e=o.backgroundOptions)||void 0===e?void 0:e.color;if((i||a)&&this._createColor({options:i,color:a,additionalRotation:0,x:0,y:0,height:o.height,width:o.width,name:\"background-color\"}),null===(r=o.backgroundOptions)||void 0===r?void 0:r.round){var s=Math.min(o.width,o.height),u=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");this._backgroundClipPath=document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),this._backgroundClipPath.setAttribute(\"id\",\"clip-path-background-color\"),this._defs.appendChild(this._backgroundClipPath),u.setAttribute(\"x\",String((o.width-s)/2)),u.setAttribute(\"y\",String((o.height-s)/2)),u.setAttribute(\"width\",String(s)),u.setAttribute(\"height\",String(s)),u.setAttribute(\"rx\",String(s/2*o.backgroundOptions.round)),this._backgroundClipPath.appendChild(u)}}},t.prototype.drawDots=function(t){var e,r,n=this;if(!this._qr)throw\"QR code is not defined\";var o=this._options,i=this._qr.getModuleCount();if(i>o.width||i>o.height)throw\"The canvas is too small.\";var a=Math.min(o.width,o.height)-2*o.margin,s=o.shape===v?a/Math.sqrt(2):a,u=Math.floor(s/i),h=Math.floor((o.width-i*u)/2),c=Math.floor((o.height-i*u)/2),d=new l({svg:this._element,type:o.dotsOptions.type});this._dotsClipPath=document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),this._dotsClipPath.setAttribute(\"id\",\"clip-path-dot-color\"),this._defs.appendChild(this._dotsClipPath),this._createColor({options:null===(e=o.dotsOptions)||void 0===e?void 0:e.gradient,color:o.dotsOptions.color,additionalRotation:0,x:0,y:0,height:o.height,width:o.width,name:\"dot-color\"});for(var f=function(e){for(var o=function(o){return t&&!t(e,o)?\"continue\":(null===(r=g._qr)||void 0===r?void 0:r.isDark(e,o))?(d.draw(h+e*u,c+o*u,u,(function(r,a){return!(e+r<0||o+a<0||e+r>=i||o+a>=i)&&!(t&&!t(e+r,o+a))&&!!n._qr&&n._qr.isDark(e+r,o+a)})),void(d._element&&g._dotsClipPath&&g._dotsClipPath.appendChild(d._element))):\"continue\"},a=0;a<i;a++)o(a)},g=this,p=0;p<i;p++)f(p);if(o.shape===v){var w=Math.floor((a/u-i)/2),y=i+2*w,m=h-w*u,b=c-w*u,_=[],x=Math.floor(y/2);for(p=0;p<y;p++){_[p]=[];for(var S=0;S<y;S++)p>=w-1&&p<=y-w&&S>=w-1&&S<=y-w||Math.sqrt((p-x)*(p-x)+(S-x)*(S-x))>x?_[p][S]=0:_[p][S]=this._qr.isDark(S-2*w<0?S:S>=i?S-2*w:S-w,p-2*w<0?p:p>=i?p-2*w:p-w)?1:0}var M=function(t){for(var e=function(e){if(!_[t][e])return\"continue\";d.draw(m+t*u,b+e*u,u,(function(r,n){var o;return!!(null===(o=_[t+r])||void 0===o?void 0:o[e+n])})),d._element&&C._dotsClipPath&&C._dotsClipPath.appendChild(d._element)},r=0;r<y;r++)e(r)},C=this;for(p=0;p<y;p++)M(p)}},t.prototype.drawCorners=function(){var t=this;if(!this._qr)throw\"QR code is not defined\";var e=this._element,r=this._options;if(!e)throw\"Element code is not defined\";var n=this._qr.getModuleCount(),o=Math.min(r.width,r.height)-2*r.margin,i=r.shape===v?o/Math.sqrt(2):o,a=Math.floor(i/n),s=7*a,u=3*a,h=Math.floor((r.width-n*a)/2),c=Math.floor((r.height-n*a)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((function(e){var o,i,d,g,v,w,y,_,x,S,M,C,A=e[0],k=e[1],O=e[2],D=h+A*a*(n-7),P=c+k*a*(n-7),z=t._dotsClipPath,B=t._dotsClipPath;if(((null===(o=r.cornersSquareOptions)||void 0===o?void 0:o.gradient)||(null===(i=r.cornersSquareOptions)||void 0===i?void 0:i.color))&&((z=document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\")).setAttribute(\"id\",\"clip-path-corners-square-color-\"+A+\"-\"+k),t._defs.appendChild(z),t._cornersSquareClipPath=t._cornersDotClipPath=B=z,t._createColor({options:null===(d=r.cornersSquareOptions)||void 0===d?void 0:d.gradient,color:null===(g=r.cornersSquareOptions)||void 0===g?void 0:g.color,additionalRotation:O,x:D,y:P,height:s,width:s,name:\"corners-square-color-\"+A+\"-\"+k})),null===(v=r.cornersSquareOptions)||void 0===v?void 0:v.type){var q=new f({svg:t._element,type:r.cornersSquareOptions.type});q.draw(D,P,s,O),q._element&&z&&z.appendChild(q._element)}else for(var I=new l({svg:t._element,type:r.dotsOptions.type}),E=function(t){for(var e=function(e){if(!(null===(w=m[t])||void 0===w?void 0:w[e]))return\"continue\";I.draw(D+t*a,P+e*a,a,(function(r,n){var o;return!!(null===(o=m[t+r])||void 0===o?void 0:o[e+n])})),I._element&&z&&z.appendChild(I._element)},r=0;r<m[t].length;r++)e(r)},L=0;L<m.length;L++)E(L);if(((null===(y=r.cornersDotOptions)||void 0===y?void 0:y.gradient)||(null===(_=r.cornersDotOptions)||void 0===_?void 0:_.color))&&((B=document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\")).setAttribute(\"id\",\"clip-path-corners-dot-color-\"+A+\"-\"+k),t._defs.appendChild(B),t._cornersDotClipPath=B,t._createColor({options:null===(x=r.cornersDotOptions)||void 0===x?void 0:x.gradient,color:null===(S=r.cornersDotOptions)||void 0===S?void 0:S.color,additionalRotation:O,x:D+2*a,y:P+2*a,height:u,width:u,name:\"corners-dot-color-\"+A+\"-\"+k})),null===(M=r.cornersDotOptions)||void 0===M?void 0:M.type){var R=new p({svg:t._element,type:r.cornersDotOptions.type});R.draw(D+2*a,P+2*a,u,O),R._element&&B&&B.appendChild(R._element)}else{I=new l({svg:t._element,type:r.dotsOptions.type});var N=function(t){for(var e=function(e){if(!(null===(C=b[t])||void 0===C?void 0:C[e]))return\"continue\";I.draw(D+t*a,P+e*a,a,(function(r,n){var o;return!!(null===(o=b[t+r])||void 0===o?void 0:o[e+n])})),I._element&&B&&B.appendChild(I._element)},r=0;r<b[t].length;r++)e(r)};for(L=0;L<b.length;L++)N(L)}}))},t.prototype.loadImage=function(){var t=this;return new Promise((function(e,r){var n=t._options,o=new Image;if(!n.image)return r(\"Image is not defined\");\"string\"==typeof n.imageOptions.crossOrigin&&(o.crossOrigin=n.imageOptions.crossOrigin),t._image=o,o.onload=function(){e()},o.src=n.image}))},t.prototype.drawImage=function(t){var e=t.width,r=t.height,n=t.count,o=t.dotSize;return w(this,void 0,void 0,(function(){var t,i,a,s,h,c,l,d,f;return y(this,(function(g){switch(g.label){case 0:return t=this._options,i=Math.floor((t.width-n*o)/2),a=Math.floor((t.height-n*o)/2),s=i+t.imageOptions.margin+(n*o-e)/2,h=a+t.imageOptions.margin+(n*o-r)/2,c=e-2*t.imageOptions.margin,l=r-2*t.imageOptions.margin,(d=document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\")).setAttribute(\"x\",String(s)),d.setAttribute(\"y\",String(h)),d.setAttribute(\"width\",c+\"px\"),d.setAttribute(\"height\",l+\"px\"),[4,u(t.image||\"\")];case 1:return f=g.sent(),d.setAttribute(\"href\",f||\"\"),this._element.appendChild(d),[2]}}))}))},t.prototype._createColor=function(t){var e=t.options,r=t.color,n=t.additionalRotation,o=t.x,i=t.y,a=t.height,s=t.width,u=t.name,h=s>a?s:a,c=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");if(c.setAttribute(\"x\",String(o)),c.setAttribute(\"y\",String(i)),c.setAttribute(\"height\",String(a)),c.setAttribute(\"width\",String(s)),c.setAttribute(\"clip-path\",\"url('#clip-path-\"+u+\"')\"),e){var l;if(\"radial\"===e.type)(l=document.createElementNS(\"http://www.w3.org/2000/svg\",\"radialGradient\")).setAttribute(\"id\",u),l.setAttribute(\"gradientUnits\",\"userSpaceOnUse\"),l.setAttribute(\"fx\",String(o+s/2)),l.setAttribute(\"fy\",String(i+a/2)),l.setAttribute(\"cx\",String(o+s/2)),l.setAttribute(\"cy\",String(i+a/2)),l.setAttribute(\"r\",String(h/2));else{var d=((e.rotation||0)+n)%(2*Math.PI),f=(d+2*Math.PI)%(2*Math.PI),g=o+s/2,p=i+a/2,v=o+s/2,w=i+a/2;f>=0&&f<=.25*Math.PI||f>1.75*Math.PI&&f<=2*Math.PI?(g-=s/2,p-=a/2*Math.tan(d),v+=s/2,w+=a/2*Math.tan(d)):f>.25*Math.PI&&f<=.75*Math.PI?(p-=a/2,g-=s/2/Math.tan(d),w+=a/2,v+=s/2/Math.tan(d)):f>.75*Math.PI&&f<=1.25*Math.PI?(g+=s/2,p+=a/2*Math.tan(d),v-=s/2,w-=a/2*Math.tan(d)):f>1.25*Math.PI&&f<=1.75*Math.PI&&(p+=a/2,g+=s/2/Math.tan(d),w-=a/2,v-=s/2/Math.tan(d)),(l=document.createElementNS(\"http://www.w3.org/2000/svg\",\"linearGradient\")).setAttribute(\"id\",u),l.setAttribute(\"gradientUnits\",\"userSpaceOnUse\"),l.setAttribute(\"x1\",String(Math.round(g))),l.setAttribute(\"y1\",String(Math.round(p))),l.setAttribute(\"x2\",String(Math.round(v))),l.setAttribute(\"y2\",String(Math.round(w)))}e.colorStops.forEach((function(t){var e=t.offset,r=t.color,n=document.createElementNS(\"http://www.w3.org/2000/svg\",\"stop\");n.setAttribute(\"offset\",100*e+\"%\"),n.setAttribute(\"stop-color\",r),l.appendChild(n)})),c.setAttribute(\"fill\",\"url('#\"+u+\"')\"),this._defs.appendChild(l)}else r&&c.setAttribute(\"fill\",r);this._element.appendChild(c)},t}(),x=\"canvas\";for(var S={},M=0;M<=40;M++)S[M]=M;const C={type:x,shape:\"square\",width:300,height:300,data:\"\",margin:0,qrOptions:{typeNumber:S[0],mode:void 0,errorCorrectionLevel:\"Q\"},imageOptions:{hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:\"square\",color:\"#000\"},backgroundOptions:{round:0,color:\"#fff\"}};var A=function(){return(A=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function k(t){var e=A({},t);if(!e.colorStops||!e.colorStops.length)throw\"Field 'colorStops' is required in gradient\";return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((function(t){return A(A({},t),{offset:Number(t.offset)})})),e}function O(t){var e=A({},t);return e.width=Number(e.width),e.height=Number(e.height),e.margin=Number(e.margin),e.imageOptions=A(A({},e.imageOptions),{hideBackgroundDots:Boolean(e.imageOptions.hideBackgroundDots),imageSize:Number(e.imageOptions.imageSize),margin:Number(e.imageOptions.margin)}),e.margin>Math.min(e.width,e.height)&&(e.margin=Math.min(e.width,e.height)),e.dotsOptions=A({},e.dotsOptions),e.dotsOptions.gradient&&(e.dotsOptions.gradient=k(e.dotsOptions.gradient)),e.cornersSquareOptions&&(e.cornersSquareOptions=A({},e.cornersSquareOptions),e.cornersSquareOptions.gradient&&(e.cornersSquareOptions.gradient=k(e.cornersSquareOptions.gradient))),e.cornersDotOptions&&(e.cornersDotOptions=A({},e.cornersDotOptions),e.cornersDotOptions.gradient&&(e.cornersDotOptions.gradient=k(e.cornersDotOptions.gradient))),e.backgroundOptions&&(e.backgroundOptions=A({},e.backgroundOptions),e.backgroundOptions.gradient&&(e.backgroundOptions.gradient=k(e.backgroundOptions.gradient))),e}var D=r(192),P=r.n(D),z=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function s(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},B=function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}};const q=function(){function t(t){this._options=t?O(a(C,t)):C,this.update()}return t._clearContainer=function(t){t&&(t.innerHTML=\"\")},t.prototype._setupSvg=function(){var t=this;if(this._qr){var e=new _(this._options);this._svg=e.getElement(),this._svgDrawingPromise=e.drawQR(this._qr).then((function(){var r;t._svg&&(null===(r=t._extension)||void 0===r||r.call(t,e.getElement(),t._options))}))}},t.prototype._setupCanvas=function(){var t,e=this;this._qr&&(this._canvas=document.createElement(\"canvas\"),this._canvas.width=this._options.width,this._canvas.height=this._options.height,this._setupSvg(),this._canvasDrawingPromise=null===(t=this._svgDrawingPromise)||void 0===t?void 0:t.then((function(){if(e._svg){var t=e._svg,r=(new XMLSerializer).serializeToString(t),n=\"data:image/svg+xml;base64,\"+btoa(r),o=new Image;return new Promise((function(t){o.onload=function(){var r,n;null===(n=null===(r=e._canvas)||void 0===r?void 0:r.getContext(\"2d\"))||void 0===n||n.drawImage(o,0,0),t()},o.src=n}))}})))},t.prototype._getElement=function(t){return void 0===t&&(t=\"png\"),z(this,void 0,void 0,(function(){return B(this,(function(e){switch(e.label){case 0:if(!this._qr)throw\"QR code is empty\";return\"svg\"!==t.toLowerCase()?[3,2]:(this._svg&&this._svgDrawingPromise||this._setupSvg(),[4,this._svgDrawingPromise]);case 1:return e.sent(),[2,this._svg];case 2:return this._canvas&&this._canvasDrawingPromise||this._setupCanvas(),[4,this._canvasDrawingPromise];case 3:return e.sent(),[2,this._canvas]}}))}))},t.prototype.update=function(e){t._clearContainer(this._container),this._options=e?O(a(this._options,e)):this._options,this._options.data&&(this._qr=P()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return\"Numeric\";case/^[0-9A-Z $%*+\\-./:]*$/.test(t):return\"Alphanumeric\";default:return\"Byte\"}}(this._options.data)),this._qr.make(),this._options.type===x?this._setupCanvas():this._setupSvg(),this.append(this._container))},t.prototype.append=function(t){if(t){if(\"function\"!=typeof t.appendChild)throw\"Container should be a single DOM node\";this._options.type===x?this._canvas&&t.appendChild(this._canvas):this._svg&&t.appendChild(this._svg),this._container=t}},t.prototype.applyExtension=function(t){if(!t)throw\"Extension function should be defined.\";this._extension=t,this.update()},t.prototype.deleteExtension=function(){this._extension=void 0,this.update()},t.prototype.getRawData=function(t){return void 0===t&&(t=\"png\"),z(this,void 0,void 0,(function(){var e,r,n;return B(this,(function(o){switch(o.label){case 0:if(!this._qr)throw\"QR code is empty\";return[4,this._getElement(t)];case 1:return(e=o.sent())?\"svg\"===t.toLowerCase()?(r=new XMLSerializer,n=r.serializeToString(e),[2,new Blob(['<?xml version=\"1.0\" standalone=\"no\"?>\\r\\n'+n],{type:\"image/svg+xml\"})]):[2,new Promise((function(r){return e.toBlob(r,\"image/\"+t,1)}))]:[2,null]}}))}))},t.prototype.download=function(t){return z(this,void 0,void 0,(function(){var e,r,n,o,i;return B(this,(function(a){switch(a.label){case 0:if(!this._qr)throw\"QR code is empty\";return e=\"png\",r=\"qr\",\"string\"==typeof t?(e=t,console.warn(\"Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument\")):\"object\"==typeof t&&null!==t&&(t.name&&(r=t.name),t.extension&&(e=t.extension)),[4,this._getElement(e)];case 1:return(n=a.sent())?(\"svg\"===e.toLowerCase()?(o=new XMLSerializer,i='<?xml version=\"1.0\" standalone=\"no\"?>\\r\\n'+(i=o.serializeToString(n)),s(\"data:image/svg+xml;charset=utf-8,\"+encodeURIComponent(i),r+\".svg\")):s(n.toDataURL(\"image/\"+e),r+\".\"+e),[2]):[2]}}))}))},t}()}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r(676)})().default}));\n//# sourceMappingURL=qr-code-styling.js.map","@import '../../themes/capsule.globals';\n\n:host {\n --qr-color: var(--cpsl-color-black);\n --qr-border-color: var(--cpsl-color-foreground-quinary);\n --qr-border-radius: var(--cpsl-border-radius-qr-code);\n --qr-border-width: 1px;\n --qr-box-shadow: 0px 1px 2px var(--cpsl-color-alpha-black-10);\n\n display: inline-block;\n}\n\n.qr-container {\n @include padding(var(--qr-padding-top), var(--qr-padding-end), var(--qr-padding-bottom), var(--qr-padding-start));\n\n display: flex;\n\n color: var(--qr-color);\n\n border-style: solid;\n border-width: var(--qr-border-width);\n border-color: var(--qr-border-color);\n border-radius: var(--qr-border-radius);\n\n box-shadow: var(--qr-box-shadow);\n}\n","import { Component, Host, h, Element, Prop } from '@stencil/core';\nimport QRCodeStyling from 'qr-code-styling';\n\n@Component({\n tag: 'cpsl-qr-code',\n styleUrl: 'cpsl-qr-code.scss',\n shadow: true,\n})\nexport class CpslQrCode {\n @Element() el!: HTMLCpslQrCodeElement;\n\n /**\n * URL for the QR code to link to.\n */\n @Prop() url: string;\n\n /**\n * Source for the center image of the QR code.\n */\n @Prop() imageSrc?: string;\n\n /**\n * Size of the QR code in pixels.\n * Default is 250.\n */\n @Prop() size?: number = 250;\n\n componentDidLoad() {\n const container = this.el.shadowRoot.getElementById('qr-container');\n\n container.innerHTML = '';\n\n const qrCode = new QRCodeStyling({\n type: 'svg',\n data: this.url,\n image: this.imageSrc,\n height: this.size,\n width: this.size,\n qrOptions: { errorCorrectionLevel: 'L' },\n backgroundOptions: {\n color: 'transparent',\n },\n dotsOptions: {\n type: 'dots',\n color: 'currentColor',\n },\n cornersSquareOptions: { type: 'extra-rounded' },\n cornersDotOptions: { type: 'dot' },\n imageOptions: {\n crossOrigin: 'anonymous',\n },\n });\n\n qrCode.append(container);\n }\n\n render() {\n return (\n <Host>\n <div\n id=\"qr-container\"\n class=\"qr-container\"\n // style={{ height: `${this.size - 10 ?? 240}px`, width: `${this.size - 10 ?? 240}px` }}\n />\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n /* SLIDER CONTAINER VARS */\n --slider-container-font-size: 14px;\n --slider-container-height: 44px;\n --slider-container-border-width: 1px;\n --slider-container-box-shadow: 0px 0px 4px 0px var(--cpsl-color-alpha-black-10) inset;\n\n --slider-container-start-background-color: var(--cpsl-color-foreground-senary);\n --slider-container-end-background-color: var(--cpsl-color-foreground-primary);\n --slider-container-border-color: var(--cpsl-color-foreground-quinary);\n\n /* SLIDER VARS */\n --slider-border-width: 1px;\n --slider-box-shadow: 3px 0px 4px 0px var(--cpsl-color-alpha-black-16);\n\n --slider-border-color: var(--cpsl-color-foreground-quinary);\n --slider-background-color: var(--cpsl-color-foreground-primary);\n --slider-color: var(--cpsl-color-text-inverted);\n\n /* START TEXT VARS */\n --start-text-color: var(--cpsl-color-text-secondary);\n\n /* END TEXT VARS */\n --end-text-color: var(--cpsl-color-text-inverted);\n\n font-family: $font-family-base;\n display: block;\n}\n\n.slider-container {\n overflow: hidden;\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n\n font-size: var(--slider-container-font-size);\n\n height: var(--slider-container-height);\n\n border-width: var(--slider-container-border-width);\n border-style: solid;\n border-color: var(--slider-container-border-color);\n border-radius: calc(var(--slider-container-height) / 2);\n\n box-shadow: var(--slider-container-box-shadow);\n}\n\n.slider-container-background {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.start-slider-container-background {\n background-color: var(--slider-container-start-background-color);\n opacity: 100%;\n}\n\n.end-slider-container-background {\n background-color: var(--slider-container-end-background-color);\n opacity: 0%;\n}\n\n.start-text {\n user-select: none;\n color: var(--start-text-color);\n position: absolute;\n text-align: center;\n\n opacity: 100%;\n\n // Make text the width of the container minus the button, gap and right padding\n width: calc(100% - var(--slider-container-height) - 8px - 16px);\n left: calc(var(--slider-container-height) - 4px + 8px);\n}\n\n.end-text {\n user-select: none;\n color: var(--end-text-color);\n position: absolute;\n text-align: center;\n\n opacity: 0%;\n\n // Make text the width of the container minus the button, gap and left padding\n width: calc(100% - var(--slider-container-height) - 8px - 16px);\n left: 16px;\n}\n\n.icon {\n position: absolute;\n}\n\n.start-icon {\n opacity: 100%;\n}\n\n.end-icon {\n opacity: 0%;\n}\n\n.slider {\n left: 1px;\n cursor: pointer;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n\n position: absolute;\n z-index: 10;\n\n height: calc(var(--slider-container-height) - 4px);\n width: calc(var(--slider-container-height) - 4px);\n\n color: var(--slider-color);\n background-color: var(--slider-background-color);\n\n border-width: var(--slider-border-width);\n border-style: solid;\n border-color: var(--slider-border-color);\n border-radius: 100%;\n\n box-shadow: var(--slider-box-shadow);\n\n cpsl-icon {\n --icon-color: var(--slider-color);\n }\n}\n","import { Component, Host, Prop, h, Element, EventEmitter, Event } from '@stencil/core';\nimport { IconType } from '../../interface';\n\n@Component({\n tag: 'cpsl-slide-button',\n styleUrl: 'cpsl-slide-button.scss',\n shadow: true,\n})\nexport class CpslSlideButton {\n @Element() el!: HTMLCpslSlideButtonElement;\n\n /**\n * The name of the ending icon to show.\n */\n @Prop() endIcon: IconType;\n\n /**\n * The ending text.\n */\n @Prop() endText: string;\n\n /**\n * The name of the starting icon to show.\n */\n @Prop() startIcon: IconType;\n\n /**\n * The starting text.\n */\n @Prop() startText: string;\n\n /**\n * The `cpslComplete` event is fired when the slider is at the end.\n */\n @Event() cpslComplete!: EventEmitter<boolean>;\n\n componentDidLoad() {\n this.dragElement(this.el.shadowRoot.getElementById('slider'));\n }\n\n private dragElement(el: HTMLElement) {\n const dragMouseDown = (e: MouseEvent) => {\n e.preventDefault();\n // get the mouse cursor position at startup:\n pos3 = e.clientX;\n document.onmouseup = closeDragElement;\n // call a function whenever the cursor moves:\n document.onmousemove = elementDrag;\n };\n\n const elementDrag = (e: MouseEvent) => {\n e.preventDefault();\n // calculate the new cursor position:\n pos1 = pos3 - e.clientX;\n pos3 = e.clientX;\n // set the element's new position:\n\n const newPos = el.offsetLeft - pos1;\n if (newPos >= minX && newPos <= maxX) {\n const newPosPercent = Math.max(Math.min(Math.round((newPos / maxX) * 100) / 100, 100), 0);\n\n startTextEl.style.opacity = `${(1 - newPosPercent * 2) * 100}%`;\n endTextEl.style.opacity = `${newPosPercent * 100}%`;\n\n startIconEl.style.opacity = `${(1 - newPosPercent * 2) * 100}%`;\n endIconEl.style.opacity = `${newPosPercent * 100}%`;\n\n endBackgroundEl.style.opacity = `${newPosPercent * 100}%`;\n\n el.style.left = `${newPos}px`;\n }\n };\n\n const closeDragElement = () => {\n if (el.offsetLeft + sliderHeight >= containerWidth - sliderHeight / 2) {\n el.style.left = `${maxX}px`;\n startTextEl.style.opacity = '0%';\n endTextEl.style.opacity = '100%';\n startIconEl.style.opacity = '0%';\n endIconEl.style.opacity = '100%';\n endBackgroundEl.style.opacity = '100%';\n this.cpslComplete.emit(true);\n } else {\n el.style.left = `${minX}px`;\n startTextEl.style.opacity = '100%';\n endTextEl.style.opacity = '0%';\n startIconEl.style.opacity = '100%';\n endIconEl.style.opacity = '0%';\n endBackgroundEl.style.opacity = '0%';\n }\n // stop moving when mouse button is released:\n document.onmouseup = null;\n document.onmousemove = null;\n };\n\n const startIconEl = this.startIconEl;\n const endIconEl = this.endIconEl;\n const startTextEl = this.startTextEl;\n const endTextEl = this.endTextEl;\n const endBackgroundEl = this.endBackgroundEl;\n\n const sliderContainerEl = this.sliderContainerEl;\n const containerWidth = sliderContainerEl.clientWidth;\n\n const sliderHeight = el.getBoundingClientRect().height;\n\n // Offset min by 1 for 1px left padding\n const minX = 1;\n // Offset max by the slider width and 1px for padding\n const maxX = containerWidth - sliderHeight - 1;\n\n let pos1 = 0,\n pos3 = 0;\n el.onmousedown = dragMouseDown;\n }\n\n private get sliderContainerEl() {\n return this.el.shadowRoot.getElementById('slider-container');\n }\n\n private get startTextEl() {\n return this.el.shadowRoot.getElementById('start-text');\n }\n\n private get endTextEl() {\n return this.el.shadowRoot.getElementById('end-text');\n }\n\n private get endBackgroundEl() {\n return this.el.shadowRoot.getElementById('end-slider-container-background');\n }\n\n private get startIconEl() {\n return this.el.shadowRoot.getElementById('start-icon');\n }\n\n private get endIconEl() {\n return this.el.shadowRoot.getElementById('end-icon');\n }\n\n render() {\n return (\n <Host>\n <div id=\"slider-container\" class=\"slider-container\">\n <div id=\"start-slider-container-background\" class={{ 'start-slider-container-background': true, 'slider-container-background': true }} />\n <div id=\"end-slider-container-background\" class={{ 'end-slider-container-background': true, 'slider-container-background': true }} />\n <div id=\"slider\" class=\"slider\">\n <cpsl-icon id=\"start-icon\" class={{ 'start-icon': true, 'icon': true }} icon={this.startIcon} />\n <cpsl-icon id=\"end-icon\" class={{ 'end-icon': true, 'icon': true }} icon={this.endIcon} />\n </div>\n <span id=\"start-text\" class=\"start-text\">\n {this.startText}\n </span>\n <span id=\"end-text\" class=\"end-text\">\n {this.endText}\n </span>\n </div>\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --path-color: var(--cpsl-color-foreground-ternary);\n --circle-color: var(--cpsl-color-text-primary);\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n path {\n stroke: var(--path-color);\n }\n\n circle {\n fill: var(--circle-color);\n }\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'cpsl-spinner',\n styleUrl: 'cpsl-spinner.scss',\n shadow: true,\n})\nexport class CpslSpinner {\n /**\n * Size of the spinner in pixels.\n * Default is 50.\n */\n @Prop() size?: number = 54;\n\n /**\n * Rotation speed of the spinner in seconds.\n * Default is 1.\n */\n @Prop() speed?: number = 1;\n\n render() {\n return (\n <Host\n style={{\n 'height': `${this.size}px`,\n 'width': `${this.size}px`,\n 'animation': `spin ${this.speed}s linear infinite`,\n '-webkit-animation': `spin ${this.speed}s linear infinite`,\n '-moz-animation': `spin ${this.speed}s linear infinite`,\n }}\n >\n <svg height={this.size} width={this.size} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 54 54\" fill=\"none\">\n <path\n d=\"M43.1586 17C39.8082 11.5978 33.8243 8 27 8C16.5066 8 8 16.5066 8 27C8 37.4934 16.5066 46 27 46C33.8242 46 39.8082 42.4022 43.1586 37\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n <circle cx=\"45\" cy=\"27\" r=\"5\" />\n </svg>\n </Host>\n );\n }\n}\n",":host {\n padding-top: var(--tab-top-padding);\n padding-bottom: var(--tab-bottom-padding);\n padding-left: var(--tab-left-padding);\n padding-right: var(--tab-right-padding);\n\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n\n cursor: pointer;\n\n z-index: 10;\n}\n\n.tab-container {\n align-items: center;\n overflow: hidden;\n width: 100%;\n text-overflow: ellipsis;\n text-align: center;\n white-space: nowrap;\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, Listen, Element } from '@stencil/core';\nimport { TabClickEventDetail } from './tab-interface';\nimport { TabsChangedEventDetail } from '../cpsl-tabs/tabs-interface';\n\n@Component({\n tag: 'cpsl-tab',\n styleUrl: 'cpsl-tab.scss',\n shadow: true,\n})\nexport class CpslTab {\n @Element() el!: HTMLCpslTabElement;\n\n /**\n * The selected tab component\n */\n @Prop() selected = false;\n\n /**\n * A tab id must be provided for each `cpsl-tab`. It's used internally to reference\n * the selected tab or by the router to switch between them.\n */\n @Prop() tab: string;\n\n /**\n * Emitted when tabs are clicked\n * @internal\n */\n @Event() cpslTabButtonClick!: EventEmitter<TabClickEventDetail>;\n\n @Listen('cpslTabsChanged', { target: 'window' })\n onTabsChanged(ev: CustomEvent<TabsChangedEventDetail>) {\n this.setSelected(ev);\n }\n\n @Listen('cpslTabsInit', { target: 'window' })\n onTabsInit(ev: CustomEvent<TabsChangedEventDetail>) {\n this.setSelected(ev);\n }\n\n private setSelected(ev: CustomEvent<TabsChangedEventDetail>) {\n const dispatchedFrom = ev.target as HTMLElement;\n const parent = this.el.parentElement as EventTarget;\n\n if (ev.composedPath().includes(parent) || dispatchedFrom?.contains(this.el)) {\n this.selected = this.tab === ev.detail.tab;\n }\n }\n\n private onTabClicked = () => {\n this.cpslTabButtonClick.emit({ tab: this.tab, selected: this.selected });\n };\n\n render() {\n return (\n <Host onClick={this.onTabClicked}>\n <div class={{ 'tab-container': true }}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --tab-top-padding: 5px;\n --tab-bottom-padding: 5px;\n --tab-left-padding: 16px;\n --tab-right-padding: 16px;\n\n --font-size: 12px;\n --line-height: 24px;\n --border-width: 1px;\n --border-color: var(--cpsl-color-input-border-placeholder);\n\n --tabs-background-color: var(--cpsl-color-background-subtle);\n --slider-background-color: var(--cpsl-color-background-primary);\n\n display: inline-block;\n max-width: 100%;\n font-family: $font-family-base;\n}\n\n:host(.full-width) {\n display: block;\n}\n\n.tabs-container {\n position: relative;\n display: flex;\n overflow-x: scroll;\n overflow-y: hidden;\n\n border-width: var(--border-width);\n border-style: solid;\n border-color: var(--border-color);\n border-radius: var(--border-radius, 10000px);\n\n background-color: var(--tabs-background-color);\n\n font-size: var(--font-size);\n line-height: var(--line-height);\n\n &::-webkit-scrollbar {\n display: none;\n }\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n\n.slider {\n position: absolute;\n top: calc(var(--border-width) * -1);\n bottom: calc(var(--border-width) * -1);\n left: -1px;\n\n border-width: var(--border-width);\n border-style: solid;\n border-color: var(--border-color);\n border-radius: var(--border-radius, 10000px);\n\n background-color: var(--slider-background-color);\n\n box-shadow: -1px 0px 2px 0px var(--cpsl-color-alpha-black-10), 1px 0px 2px 0px var(--cpsl-color-alpha-black-10);\n}\n\n.loaded {\n transition: all 0.5s;\n}\n","import { Component, Host, Element, h, Event, Prop, EventEmitter, State, Watch } from '@stencil/core';\nimport { TabClickEventDetail } from '../cpsl-tab/tab-interface';\nimport { TabsChangedEventDetail } from './tabs-interface';\n\n@Component({\n tag: 'cpsl-tabs',\n styleUrl: 'cpsl-tabs.scss',\n shadow: true,\n})\nexport class CpslTabs {\n @Element() el!: HTMLCpslTabsElement;\n\n @State() selectedTabRect?: DOMRect;\n @State() loaded: boolean = false;\n\n /**\n * Whether or not the tabs take the full width of their container.\n */\n @Prop() fullWidth?: boolean;\n\n /**\n * The selected tab component\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) selectedTab?: string;\n\n /**\n * Emitted when a tab is changed\n */\n @Event() cpslTabsChanged!: EventEmitter<TabsChangedEventDetail>;\n\n /**\n * Emitted when tabs are initialized\n * @internal\n */\n @Event() cpslTabsInit!: EventEmitter<TabsChangedEventDetail>;\n\n @Watch('fullWidth')\n updateSlider() {\n // Allow component to condense or expand before recalculating silder\n setTimeout(() => {\n this.selectedTabRect = getTab(this.tabs, this.selectedTab).getBoundingClientRect();\n }, 50);\n }\n\n componentWillLoad() {\n this.selectedTabRect = getTab(this.tabs, this.selectedTab).getBoundingClientRect();\n\n this.cpslTabsInit.emit({\n tab: this.selectedTab,\n });\n }\n\n componentDidLoad() {\n this.selectedTabRect = getTab(this.tabs, this.selectedTab).getBoundingClientRect();\n\n // Allow slider to be rendered with the correct initial style before the transition is added\n setTimeout(() => {\n this.loaded = true;\n }, 50);\n }\n\n private get tabs() {\n return Array.from(this.el.querySelectorAll('cpsl-tab'));\n }\n\n private onTabClicked = (ev: CustomEvent<TabClickEventDetail>) => {\n const { tab } = ev.detail;\n\n if (tab !== this.selectedTab) {\n this.selectedTabRect = getTab(this.tabs, tab).getBoundingClientRect();\n\n this.cpslTabsChanged.emit({\n tab,\n });\n }\n };\n\n render() {\n const tabsPosition = this.el.getBoundingClientRect();\n // Get border width as a number\n const tabsBorderWidth = +getComputedStyle(this.el).getPropertyValue('--border-width').slice(0, -2);\n const selectedTabRect = this.selectedTabRect;\n\n return (\n <Host class={{ 'full-width': this.fullWidth }} onCpslTabButtonClick={this.onTabClicked}>\n <div class=\"tabs-container\">\n <slot></slot>\n <div\n class={{ slider: true, loaded: this.loaded }}\n style={{ width: `${selectedTabRect.width}px`, left: `${selectedTabRect.x - tabsPosition.x - tabsBorderWidth * 2}px` }}\n />\n </div>\n </Host>\n );\n }\n}\n\nconst getTab = (tabs: HTMLCpslTabElement[], tab: string | HTMLCpslTabElement): HTMLCpslTabElement | undefined => {\n const tabEl = typeof tab === 'string' ? tabs.find(t => t.tab === tab) : tab;\n\n if (!tabEl) {\n console.error(`tab with id: \"${tabEl}\" does not exist`);\n }\n return tabEl;\n};\n","@import '../../themes/capsule.globals';\n\n:host {\n font-family: $font-family-base;\n\n color: var(--cpsl-color-text-primary);\n}\n","import { Component, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'cpsl-text',\n styleUrl: 'cpsl-text.scss',\n shadow: true,\n})\nexport class CpslText {\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n","@import '../../themes/capsule.globals';\n\n:host {\n --button-icon-color: var(--cpsl-color-text-primary);\n\n --button-border-radius: var(--cpsl-border-radius-tile-button);\n\n --button-background-color: var(--cpsl-color-tile-button-surface-default);\n --button-border-color: var(--cpsl-color-tile-button-border);\n\n --button-width: 72px;\n --button-height: 56px;\n --button-gap: 4px;\n\n --button-box-shadow: 0px -4px 4px 0px var(--cpsl-color-alpha-black-2) inset, 0px 4px 4px 0px var(--cpsl-color-alpha-white-4) inset;\n}\n\n:host {\n :hover {\n --button-background-color: var(--cpsl-color-tile-button-surface-hover);\n }\n}\n\n.button-native {\n @include border-radius(var(--button-border-radius));\n @include padding(var(--button-padding-top), var(--button-padding-end), var(--button-padding-bottom), var(--button-padding-start));\n\n border: 1px solid transparent;\n cursor: pointer;\n\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n\n display: flex;\n flex-direction: column;\n gap: var(--button-gap);\n\n align-items: center;\n justify-content: center;\n\n width: var(--button-width);\n height: var(--button-height);\n\n box-shadow: var(--button-box-shadow);\n\n cpsl-icon {\n --icon-color: var(--button-icon-color);\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { IconType } from '../../interface';\n\n@Component({\n tag: 'cpsl-tile-button',\n styleUrl: 'cpsl-tile-button.scss',\n shadow: true,\n})\nexport class CpslTileButton {\n /**\n * The external source of the icon. If both `icon` and `src` are provided, `icon` will be used.\n */\n @Prop() src?: string;\n\n /**\n * The name of the icon. If both `icon` and `src` are provided, `icon` will be used.\n */\n @Prop() icon?: IconType;\n\n render() {\n return (\n <Host>\n <button class=\"button-native\">\n <cpsl-icon exportparts=\"icon\" src={this.src} icon={this.icon} />\n <slot></slot>\n </button>\n </Host>\n );\n }\n}\n"],"version":3}