pi-roundtable-web 0.27.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +23 -7
  3. package/dist/chunk-account-678dgbww.js +1 -0
  4. package/dist/chunk-action-menu-qpp9bdxh.js +1 -0
  5. package/dist/chunk-agent-x0yvvdq2.js +1 -0
  6. package/dist/chunk-arranged-rooms-6rdkk8t1.js +1 -0
  7. package/dist/chunk-bulk-actions-zbwdaxtc.js +1 -0
  8. package/dist/chunk-character-creator-215psy17.js +1 -0
  9. package/dist/chunk-codeeditor-jgj32247.js +2 -0
  10. package/dist/chunk-confirm-2pzrt272.js +1 -0
  11. package/dist/chunk-connectors-zha2d834.js +37 -0
  12. package/dist/chunk-conversations-fb071rez.js +1 -0
  13. package/dist/chunk-council-sheet-k5fycefd.js +2 -0
  14. package/dist/chunk-drag-04qfef58.js +1 -0
  15. package/dist/chunk-entry-mws704mc.js +1 -0
  16. package/dist/chunk-folder-list-qxhmczwv.js +1 -0
  17. package/dist/chunk-folds-b7asegfs.js +1 -0
  18. package/dist/chunk-gate-vxetvn8t.js +1 -0
  19. package/dist/chunk-group-scene-63yhh1mh.js +1 -0
  20. package/dist/chunk-group-table-zy4hmgk3.js +1 -0
  21. package/dist/chunk-host-icons-tyktazzz.js +1 -0
  22. package/dist/chunk-host-picture-ebhejn2k.js +1 -0
  23. package/dist/chunk-host-state-wajep0yr.js +1 -0
  24. package/dist/chunk-host-ui-pc9r24e3.js +1 -0
  25. package/dist/chunk-index-1af8vsyb.js +2 -0
  26. package/dist/{chunk-index-g1awv7rk.js → chunk-index-20xgx0k2.js} +2 -2
  27. package/dist/chunk-index-254701sm.js +3 -0
  28. package/dist/{chunk-index-ffbrm6tr.js → chunk-index-2822z600.js} +3 -3
  29. package/dist/{chunk-index-2fdns8tn.js → chunk-index-2hvn2kte.js} +2 -2
  30. package/dist/chunk-index-2syyyjnq.js +2 -0
  31. package/dist/chunk-index-2tr41qht.js +2 -0
  32. package/dist/chunk-index-2y8r4s4f.js +2 -0
  33. package/dist/chunk-index-31m1b2f5.js +2 -0
  34. package/dist/{chunk-index-ak6ecqy3.js → chunk-index-3gfbhmpb.js} +2 -2
  35. package/dist/chunk-index-3yy10a5h.js +2 -0
  36. package/dist/{chunk-index-sm7m4fej.js → chunk-index-4t6vnwap.js} +2 -2
  37. package/dist/{chunk-index-j4x9dq30.css → chunk-index-5hbq6g2e.css} +1 -1
  38. package/dist/chunk-index-5t2jkecy.js +2 -0
  39. package/dist/chunk-index-5vatmakn.js +2 -0
  40. package/dist/{chunk-index-zyvwhxga.js → chunk-index-6cg8xp1c.js} +1 -1
  41. package/dist/chunk-index-6yra9kdq.js +2 -0
  42. package/dist/{chunk-index-ac1ktr56.js → chunk-index-7qd604rq.js} +2 -2
  43. package/dist/chunk-index-9bdstf8t.js +2 -0
  44. package/dist/chunk-index-acj4xxgq.js +100 -0
  45. package/dist/chunk-index-aexy023z.js +2 -0
  46. package/dist/chunk-index-amxa2bn3.js +2 -0
  47. package/dist/chunk-index-bef0fc2m.js +2 -0
  48. package/dist/chunk-index-c6tphrjr.js +1 -0
  49. package/dist/chunk-index-c7dbvkrq.js +2 -0
  50. package/dist/chunk-index-cn49mawx.js +50 -0
  51. package/dist/{chunk-index-3d8s3565.js → chunk-index-e2gy763y.js} +2 -2
  52. package/dist/{chunk-index-31x6krbs.js → chunk-index-e35v554x.js} +3 -3
  53. package/dist/chunk-index-fepsbhr6.js +47 -0
  54. package/dist/chunk-index-gcmmwh8t.js +2 -0
  55. package/dist/{chunk-index-kbrg32sx.js → chunk-index-gwkhs8s3.js} +2 -2
  56. package/dist/chunk-index-h2vhv4kh.js +2 -0
  57. package/dist/chunk-index-h9ccz1r3.js +2 -0
  58. package/dist/{chunk-index-0w4bfjb5.js → chunk-index-jc3r4qam.js} +2 -2
  59. package/dist/{chunk-index-8d81qy69.js → chunk-index-m81362sc.js} +2 -2
  60. package/dist/{chunk-index-xq84gg8w.js → chunk-index-n0cmnwd2.js} +2 -2
  61. package/dist/chunk-index-n0ejy0wd.js +2 -0
  62. package/dist/chunk-index-nkdg1dfz.js +7 -0
  63. package/dist/chunk-index-p7jkr7gv.js +14 -0
  64. package/dist/{chunk-index-e2dqjde8.js → chunk-index-q5fyrtx4.js} +1 -1
  65. package/dist/{chunk-index-jgzygbt8.js → chunk-index-qxynr1hf.js} +2 -2
  66. package/dist/chunk-index-r7fdgzy1.js +2 -0
  67. package/dist/chunk-index-rgf4rvns.js +4 -0
  68. package/dist/chunk-index-rsd8rftk.js +2 -0
  69. package/dist/{chunk-index-rh0x9rzf.js → chunk-index-s53bxwkk.js} +2 -2
  70. package/dist/{chunk-index-xxeb2xp0.js → chunk-index-s9p27f9b.js} +3 -3
  71. package/dist/chunk-index-sdcpf5dp.js +2 -0
  72. package/dist/chunk-index-sm7kfb07.js +2 -0
  73. package/dist/chunk-index-sw9r4aa4.js +2 -0
  74. package/dist/chunk-index-t5bmsqqd.js +1 -0
  75. package/dist/chunk-index-v8mma5np.js +2 -0
  76. package/dist/{chunk-index-q7g62sgm.js → chunk-index-v9gbt5tz.js} +3 -3
  77. package/dist/chunk-index-vsfsv8hd.js +2 -0
  78. package/dist/chunk-index-wxft0aqb.js +2 -0
  79. package/dist/chunk-index-x60n1me6.js +2 -0
  80. package/dist/chunk-index-zcfr8jdv.js +13 -0
  81. package/dist/{chunk-index-w42rcbx1.js → chunk-index-zj0gjcvr.js} +2 -2
  82. package/dist/{chunk-index-2t30xwed.js → chunk-index-zt19fdmc.js} +2 -2
  83. package/dist/chunk-index-zvvwxkev.js +2 -0
  84. package/dist/chunk-lang-css-7q1dtpgm.js +1 -0
  85. package/dist/{chunk-lang-dockerfile-cnwqn660.js → chunk-lang-dockerfile-n4bt8jbt.js} +1 -1
  86. package/dist/{chunk-lang-go-yy6kgsxv.js → chunk-lang-go-9k4y107e.js} +3 -3
  87. package/dist/chunk-lang-html-xgvba8rn.js +1 -0
  88. package/dist/chunk-lang-javascript-vgxmgd0a.js +1 -0
  89. package/dist/chunk-lang-json-hr12bzs1.js +1 -0
  90. package/dist/chunk-lang-markdown-ttzcpgkg.js +6 -0
  91. package/dist/chunk-lang-python-ntj8maem.js +3 -0
  92. package/dist/chunk-lang-rust-gv8y859d.js +1 -0
  93. package/dist/{chunk-lang-shell-1rpgtepw.js → chunk-lang-shell-5zzs09b7.js} +1 -1
  94. package/dist/chunk-lang-sql-6vmze4pg.js +2 -0
  95. package/dist/{chunk-lang-toml-tbj7467c.js → chunk-lang-toml-tt0d4rw9.js} +1 -1
  96. package/dist/chunk-lang-typescript-2v652sh5.js +1 -0
  97. package/dist/chunk-lang-xml-r2sbqnjv.js +1 -0
  98. package/dist/chunk-lang-yaml-ex31qbph.js +1 -0
  99. package/dist/chunk-layout-actions-bfqtg71d.js +1 -0
  100. package/dist/chunk-menu-items-rztgekfj.js +1 -0
  101. package/dist/chunk-mode-toggle-m5kgb7c7.js +1 -0
  102. package/dist/chunk-note-row-40ypghn9.js +204 -0
  103. package/dist/chunk-notes-a8nqffbf.js +1 -0
  104. package/dist/chunk-notice-bell-rdnfmtf2.js +1 -0
  105. package/dist/{chunk-notices-fte9f196.js → chunk-notices-tefx93s6.js} +1 -1
  106. package/dist/chunk-onboarding-wvh0s3vg.js +1 -0
  107. package/dist/chunk-overview-zrx3bpwf.js +1 -0
  108. package/dist/chunk-palette-5xtdvy9a.js +1 -0
  109. package/dist/chunk-placement-items-rgyrktvy.js +1 -0
  110. package/dist/chunk-profile-tyb48b79.js +1 -0
  111. package/dist/chunk-prompt-history-wv0vdsjv.js +1 -0
  112. package/dist/chunk-prompts-75hgb0t0.js +1 -0
  113. package/dist/chunk-room-confirms-bcvhpcry.js +1 -0
  114. package/dist/chunk-room-menu-ha1evv71.js +1 -0
  115. package/dist/chunk-rooms-menu-button-ej3a2hyc.js +1 -0
  116. package/dist/chunk-schedules-a5pewkhd.js +1 -0
  117. package/dist/{chunk-seat-menu-r0k0eawr.js → chunk-seat-menu-eh3ymmks.js} +1 -1
  118. package/dist/chunk-sheet-hosts-d5zbwbbr.js +29 -0
  119. package/dist/{chunk-shortcut-help-a6pkjcq7.js → chunk-shortcut-help-bh9ntk9s.js} +2 -2
  120. package/dist/{chunk-shortcuts-cgt87jkz.js → chunk-shortcuts-6em0atk9.js} +1 -1
  121. package/dist/chunk-skill-editor-e43mwz01.js +8 -0
  122. package/dist/chunk-skills-vp107wrp.js +1 -0
  123. package/dist/chunk-start-over-line-xd1v2p0g.js +16 -0
  124. package/dist/chunk-switcher-list-dtfh87zy.js +1 -0
  125. package/dist/{chunk-tab-dot-vr11dfrw.js → chunk-tab-dot-qd640mjr.js} +1 -1
  126. package/dist/chunk-table-svb2xhfd.js +1 -0
  127. package/dist/chunk-table2d-5nrhfwft.js +1 -0
  128. package/dist/chunk-table3d-5cb66d99.js +4220 -0
  129. package/dist/chunk-thread-actions-926eab0w.js +1 -0
  130. package/dist/{chunk-thread-cards-c2mrp2gj.js → chunk-thread-cards-kgt22sbp.js} +1 -1
  131. package/dist/chunk-thread-list-j2v1pqkz.js +217 -0
  132. package/dist/chunk-transcript-a0p3vwh6.js +1 -0
  133. package/dist/chunk-waiting-cdyz7r1g.js +1 -0
  134. package/dist/chunk-waiting-chip-58ttx9av.js +28 -0
  135. package/dist/chunk-where-9jp6g029.js +1 -0
  136. package/dist/chunk-workspace-d34njy4p.js +578 -0
  137. package/dist/chunk-zh-tw-y3jb20wc.js +1 -0
  138. package/dist/index.html +1 -1
  139. package/dist/sw.js +1 -1
  140. package/package.json +3 -3
  141. package/src/api-types.ts +98 -1
  142. package/src/app/app.ts +4 -7
  143. package/src/app/desk.ts +19 -4
  144. package/src/app/room-log.ts +66 -18
  145. package/src/app/rooms.ts +15 -5
  146. package/src/app/routes.ts +60 -9
  147. package/src/app/skill-doc-routes.ts +12 -2
  148. package/src/app/surface.ts +26 -2
  149. package/src/app/team-routes.ts +3 -7
  150. package/src/authz.ts +1 -0
  151. package/src/cleanup-api.ts +9 -2
  152. package/src/connector-manage-api.ts +257 -0
  153. package/src/console-api.ts +60 -2
  154. package/src/features.ts +91 -0
  155. package/src/host/reads.ts +10 -1
  156. package/src/i18n/zh-tw.ts +107 -4
  157. package/src/web-plugin.ts +7 -1
  158. package/dist/chunk-account-1ecx5kt7.js +0 -1
  159. package/dist/chunk-action-menu-zh2n0ahf.js +0 -1
  160. package/dist/chunk-agent-ynm2tcbx.js +0 -1
  161. package/dist/chunk-arranged-rooms-qnz8vese.js +0 -1
  162. package/dist/chunk-bulk-actions-pr0mw0kc.js +0 -1
  163. package/dist/chunk-character-creator-caj4pmg4.js +0 -1
  164. package/dist/chunk-codeeditor-dga6s78p.js +0 -2
  165. package/dist/chunk-confirm-g76v5d9r.js +0 -1
  166. package/dist/chunk-connectors-j79ze3j1.js +0 -1
  167. package/dist/chunk-conversations-2farn72g.js +0 -1
  168. package/dist/chunk-council-sheet-s9sz1bzf.js +0 -2
  169. package/dist/chunk-drag-45e8222r.js +0 -1
  170. package/dist/chunk-entry-q11n47h9.js +0 -1
  171. package/dist/chunk-folder-list-4gcj7g7h.js +0 -1
  172. package/dist/chunk-folds-ten4ykfw.js +0 -1
  173. package/dist/chunk-gate-kcv1a4t0.js +0 -1
  174. package/dist/chunk-group-scene-12ghcvzd.js +0 -1
  175. package/dist/chunk-group-table-t458kdgn.js +0 -1
  176. package/dist/chunk-host-icons-h1k9k96a.js +0 -1
  177. package/dist/chunk-host-picture-3p0wzn3v.js +0 -1
  178. package/dist/chunk-host-state-7mdve7cb.js +0 -1
  179. package/dist/chunk-host-ui-bdgwa6sf.js +0 -1
  180. package/dist/chunk-index-02vfshtt.js +0 -2
  181. package/dist/chunk-index-0a81da8z.js +0 -2
  182. package/dist/chunk-index-12zyshae.js +0 -2
  183. package/dist/chunk-index-18pgxxw3.js +0 -2
  184. package/dist/chunk-index-2e4am3hw.js +0 -50
  185. package/dist/chunk-index-5bfqek1d.js +0 -2
  186. package/dist/chunk-index-64rsz6pf.js +0 -2
  187. package/dist/chunk-index-6bkcq9ka.js +0 -2
  188. package/dist/chunk-index-92zgb7my.js +0 -2
  189. package/dist/chunk-index-aamhjg5n.js +0 -2
  190. package/dist/chunk-index-b73y2gc0.js +0 -47
  191. package/dist/chunk-index-b8cpvr7y.js +0 -2
  192. package/dist/chunk-index-bhqczxr3.js +0 -2
  193. package/dist/chunk-index-cbqhzf40.js +0 -13
  194. package/dist/chunk-index-cdctnw71.js +0 -2
  195. package/dist/chunk-index-dj0tbfyb.js +0 -2
  196. package/dist/chunk-index-dnjftvtq.js +0 -2
  197. package/dist/chunk-index-ebg48jgy.js +0 -2
  198. package/dist/chunk-index-ek5mek4j.js +0 -14
  199. package/dist/chunk-index-f6q0stqx.js +0 -2
  200. package/dist/chunk-index-g3wrs02w.js +0 -1
  201. package/dist/chunk-index-j0m16cj1.js +0 -2
  202. package/dist/chunk-index-j4kk1m59.js +0 -2
  203. package/dist/chunk-index-kb3w11mn.js +0 -7
  204. package/dist/chunk-index-msqhgvfx.js +0 -2
  205. package/dist/chunk-index-pefwfm26.js +0 -2
  206. package/dist/chunk-index-pyfx77cj.js +0 -2
  207. package/dist/chunk-index-qfgkfq86.js +0 -2
  208. package/dist/chunk-index-sv9qpmhv.js +0 -1
  209. package/dist/chunk-index-t998yg8y.js +0 -2
  210. package/dist/chunk-index-tk4se135.js +0 -4
  211. package/dist/chunk-index-v6smgw77.js +0 -2
  212. package/dist/chunk-index-x4enmj72.js +0 -2
  213. package/dist/chunk-lang-css-y9133ktr.js +0 -1
  214. package/dist/chunk-lang-html-r2xmryek.js +0 -1
  215. package/dist/chunk-lang-javascript-1r6wd177.js +0 -1
  216. package/dist/chunk-lang-json-dx56g11y.js +0 -1
  217. package/dist/chunk-lang-markdown-fpcf2dfq.js +0 -6
  218. package/dist/chunk-lang-python-zzp95955.js +0 -3
  219. package/dist/chunk-lang-rust-214fh7sp.js +0 -1
  220. package/dist/chunk-lang-sql-vvp46hpj.js +0 -2
  221. package/dist/chunk-lang-typescript-y5w4tt4g.js +0 -1
  222. package/dist/chunk-lang-xml-tbcqmedk.js +0 -1
  223. package/dist/chunk-lang-yaml-jh56t3sv.js +0 -1
  224. package/dist/chunk-layout-actions-y73mpsh1.js +0 -1
  225. package/dist/chunk-menu-items-bza16bw6.js +0 -2
  226. package/dist/chunk-mode-toggle-nj9gnt3b.js +0 -1
  227. package/dist/chunk-note-row-6fmhrdng.js +0 -75
  228. package/dist/chunk-notes-wv0e6ssf.js +0 -1
  229. package/dist/chunk-notice-bell-9z27epd2.js +0 -1
  230. package/dist/chunk-onboarding-c5twahc3.js +0 -1
  231. package/dist/chunk-overview-k4ccprax.js +0 -1
  232. package/dist/chunk-palette-9rbp2fab.js +0 -1
  233. package/dist/chunk-placement-items-me598wsb.js +0 -1
  234. package/dist/chunk-profile-s7r7fcvz.js +0 -1
  235. package/dist/chunk-prompt-history-hf296e7v.js +0 -1
  236. package/dist/chunk-prompts-c8s0nhkm.js +0 -1
  237. package/dist/chunk-room-confirms-ga2sbvhc.js +0 -1
  238. package/dist/chunk-room-menu-7h4jym2b.js +0 -1
  239. package/dist/chunk-rooms-menu-button-pgtaanb6.js +0 -1
  240. package/dist/chunk-schedules-mbnwcxpc.js +0 -1
  241. package/dist/chunk-sheet-hosts-a5dfevy9.js +0 -1
  242. package/dist/chunk-skill-editor-67yk4x7t.js +0 -8
  243. package/dist/chunk-skills-rewemey4.js +0 -1
  244. package/dist/chunk-switcher-list-t8rbay2y.js +0 -1
  245. package/dist/chunk-table-52nh0azk.js +0 -1
  246. package/dist/chunk-table2d-g57vr6h0.js +0 -1
  247. package/dist/chunk-table3d-rp0w6kt4.js +0 -4220
  248. package/dist/chunk-thread-actions-qcxt1y1g.js +0 -1
  249. package/dist/chunk-thread-list-0071q455.js +0 -217
  250. package/dist/chunk-transcript-789yqysq.js +0 -1
  251. package/dist/chunk-where-hmwmme9e.js +0 -1
  252. package/dist/chunk-workspace-wr1qrtsh.js +0 -578
  253. package/dist/chunk-zh-tw-z5p5mpph.js +0 -1
@@ -1,2 +1,2 @@
1
- import{mo,T,le,vt,R,I,_t}from"./chunk-index-cbqhzf40.js";class P{constructor(t,e,s,i,h,r,n,o,l,f=0,a){this.p=t,this.stack=e,this.state=s,this.reducePos=i,this.pos=h,this.score=r,this.buffer=n,this.bufferBase=o,this.curContext=l,this.lookAhead=f,this.parent=a}toString(){return`[${this.stack.filter((t,e)=>e%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,s=0){let i=t.parser.context;return new P(t,[],e,s,s,0,[],0,i?new w(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let s=t>>19,i=t&65535,{parser:h}=this.p,r=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),n=h.dynamicPrecedence(i);if(n)this.score+=n;if(s==0){if(i<h.minRepeatTerm&&this.reducePos<this.pos)this.reducePos=this.pos;if(this.pushState(h.getGoto(this.state,i,!0),this.reducePos),i<h.minRepeatTerm)this.storeNode(i,this.reducePos,this.reducePos,r?8:4,!0);this.reduceContext(i,this.reducePos);return}let o=this.stack.length-(s-1)*3-(t&262144?6:0),l=o?this.stack[o-2]:this.p.ranges[0].from;if(i<h.minRepeatTerm&&l==this.reducePos&&this.reducePos<this.pos)this.reducePos=this.pos;let f=this.reducePos-l;if(f>=2000&&!((e=this.p.parser.nodeSet.types[i])===null||e===void 0?void 0:e.isAnonymous)){if(l==this.p.lastBigReductionStart)this.p.bigReductionCount++,this.p.lastBigReductionSize=f;else if(this.p.lastBigReductionSize<f)this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=f}let a=o?this.stack[o-1]:0,d=this.bufferBase+this.buffer.length-a;if(i<h.minRepeatTerm||t&131072){let u=h.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,l,u,d+4,!0)}if(t&262144)this.state=this.stack[o];else{let u=this.stack[o-3];this.state=h.getGoto(u,i,!0)}while(this.stack.length>o)this.stack.pop();this.reduceContext(i,l)}storeNode(t,e,s,i=4,h=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let r=this.buffer.length;if(r>0&&this.buffer[r-4]==0&&this.buffer[r-1]>-1){if(e==s)return;if(this.buffer[r-2]>=e){this.buffer[r-2]=s;return}}}if(!h||this.pos==s)this.buffer.push(t,e,s,i);else{let r=this.buffer.length;if(r>0&&(this.buffer[r-4]!=0||this.buffer[r-1]<0)){let n=!1;for(let o=r;o>0&&this.buffer[o-2]>s;o-=4)if(this.buffer[o-1]>=0){n=!0;break}if(n){while(r>0&&this.buffer[r-2]>s)if(this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,i>4)i-=4}}this.buffer[r]=t,this.buffer[r+1]=e,this.buffer[r+2]=s,this.buffer[r+3]=i}}shift(t,e,s,i){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let h=t,{parser:r}=this.p;this.pos=i;let n=r.stateFlag(h,1);if(!n&&(i>s||e<=r.maxNode))this.reducePos=i;if(this.pushState(h,n?s:Math.min(s,this.reducePos)),this.shiftContext(e,s),e<=r.maxNode)this.buffer.push(e,s,i,4)}else if(this.pos=i,this.shiftContext(e,s),e<=this.p.parser.maxNode)this.buffer.push(e,s,i,4)}apply(t,e,s,i){if(t&65536)this.reduce(t);else this.shift(t,e,s,i)}useNode(t,e,s){let i=this.p.reused.length-1;if(i<0||this.p.reused[i]!=t)this.p.reused.push(t),i++;let h=this.reducePos=this.pos=s+t.length;if(this.pushState(e,s),this.buffer.push(i,s,h,-1),this.curContext)this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;if(e&&t.buffer[e-4]==0)e-=4;while(e>0&&t.buffer[e-2]>t.reducePos)e-=4;let s=t.buffer.slice(e),i=t.bufferBase+e;while(t&&i==t.bufferBase)t=t.parent;return new P(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,i,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let s=t<=this.p.parser.maxNode;if(s)this.storeNode(t,this.pos,e,4);this.storeNode(0,this.pos,e,s?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new B(this);;){let s=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(s==0)return!1;if((s&65536)==0)return!0;e.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let i=[];for(let h=0,r;h<e.length;h+=2)if((r=e[h+1])!=this.state&&this.p.parser.hasAction(r,t))i.push(e[h],r);if(this.stack.length<120)for(let h=0;i.length<8&&h<e.length;h+=2){let r=e[h+1];if(!i.some((n,o)=>o&1&&n==r))i.push(e[h],r)}e=i}let s=[];for(let i=0;i<e.length&&s.length<4;i+=2){let h=e[i+1];if(h==this.state)continue;let r=this.split();r.pushState(h,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(e[i],this.pos),r.reducePos=this.pos,r.score-=200,s.push(r)}return s}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if((e&65536)==0)return!1;if(!t.validAction(this.state,e)){let s=e>>19,i=e&65535,h=this.stack.length-s*3;if(h<0||t.getGoto(this.stack[h],i,!1)<0){let r=this.findForcedReduction();if(r==null)return!1;e=r}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],s=(i,h)=>{if(e.includes(i))return;return e.push(i),t.allActions(i,(r)=>{if(r&393216);else if(r&65536){let n=(r>>19)-h;if(n>1){let o=r&65535,l=this.stack.length-n*3;if(l>=0&&t.getGoto(this.stack[l],o,!1)>=0)return n<<19|65536|o}}else{let n=s(r,h+1);if(n!=null)return n}})};return s(this.state,0)}forceAll(){while(!this.p.parser.stateFlag(this.state,2))if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){if(this.curContext)this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){if(this.curContext)this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;if(t<0||this.buffer[t]!=-3)this.storeNode(this.curContext.hash,this.reducePos,this.reducePos,-3,!0)}emitLookAhead(){let t=this.buffer.length-1;if(t<0||this.buffer[t]!=-4)this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new w(this.curContext.tracker,t);if(e.hash!=this.curContext.hash)this.emitContext();this.curContext=e}}setLookAhead(t){if(t<=this.lookAhead)return!1;return this.emitLookAhead(),this.lookAhead=t,!0}close(){if(this.curContext&&this.curContext.tracker.strict)this.emitContext();if(this.lookAhead>0)this.emitLookAhead()}}class w{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}}class B{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=t&65535,s=t>>19;if(s==0){if(this.stack==this.start.stack)this.stack=this.stack.slice();this.stack.push(this.state,0,0),this.base+=3}else this.base-=(s-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=i}}class S{constructor(t,e,s){if(this.stack=t,this.pos=e,this.index=s,this.buffer=t.buffer,this.index==0)this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new S(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;if(t!=null)this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){if(this.index-=4,this.pos-=4,this.index==0)this.maybeNext()}fork(){return new S(this.stack,this.pos,this.index)}}function x(t,e=Uint16Array){if(typeof t!="string")return t;let s=null;for(let i=0,h=0;i<t.length;){let r=0;for(;;){let n=t.charCodeAt(i++),o=!1;if(n==126){r=65535;break}if(n>=92)n--;if(n>=34)n--;let l=n-32;if(l>=46)l-=46,o=!0;if(r+=l,o)break;r*=46}if(s)s[h++]=r;else s=new e(r)}return s}class b{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}var y=new b;class O{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=y,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let s=this.range,i=this.rangeIndex,h=this.pos+t;while(h<s.from){if(!i)return null;let r=this.ranges[--i];h-=s.from-r.to,s=r}while(e<0?h>s.to:h>=s.to){if(i==this.ranges.length-1)return null;let r=this.ranges[++i];h+=r.from-s.to,s=r}return h}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e=this.chunkOff+t,s,i;if(e>=0&&e<this.chunk.length)s=this.pos+t,i=this.chunk.charCodeAt(e);else{let h=this.resolveOffset(t,1);if(h==null)return-1;if(s=h,s>=this.chunk2Pos&&s<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(s-this.chunk2Pos);else{let r=this.rangeIndex,n=this.range;while(n.to<=s)n=this.ranges[++r];if(this.chunk2=this.input.chunk(this.chunk2Pos=s),s+this.chunk2.length>n.to)this.chunk2=this.chunk2.slice(0,n.to-s);i=this.chunk2.charCodeAt(0)}}if(s>=this.token.lookAhead)this.token.lookAhead=s+1;return i}acceptToken(t,e=0){let s=e?this.resolveOffset(e,-1):this.pos;if(s==null||s<this.token.start)throw RangeError("Token end out of bounds");this.token.value=t,this.token.end=s}acceptTokenTo(t,e){this.token.value=t,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){if(this.chunkOff>=this.chunk.length){if(this.getChunk(),this.chunkOff==this.chunk.length)return this.next=-1}return this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){this.chunkOff+=t;while(this.pos+t>=this.range.to){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}if(this.pos+=t,this.pos>=this.token.lookAhead)this.token.lookAhead=this.pos+1;return this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,e){if(e)this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1;else this.token=y;if(this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;while(t<this.range.from)this.range=this.ranges[--this.rangeIndex];while(t>=this.range.to)this.range=this.ranges[++this.rangeIndex];if(t>=this.chunkPos&&t<this.chunkPos+this.chunk.length)this.chunkOff=t-this.chunkPos;else this.chunk="",this.chunkOff=0;this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let s="";for(let i of this.ranges){if(i.from>=e)break;if(i.to>t)s+=this.input.read(Math.max(i.from,t),Math.min(i.to,e))}return s}}class m{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:s}=e.p;F(this.data,t,e,this.id,s.data,s.tokenPrecTable)}}m.prototype.contextual=m.prototype.fallback=m.prototype.extend=!1;class dt{constructor(t,e,s){this.precTable=e,this.elseToken=s,this.data=typeof t=="string"?x(t):t}token(t,e){let s=t.pos,i=0;for(;;){let h=t.next<0,r=t.resolveOffset(1,1);if(F(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(!h)i++;if(r==null)break;t.reset(r,t.token)}if(i)t.reset(s,t.token),t.acceptToken(this.elseToken,i)}}dt.prototype.contextual=m.prototype.fallback=m.prototype.extend=!1;class E{constructor(t,e={}){this.token=t,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function F(t,e,s,i,h,r){let n=0,o=1<<i,{dialect:l}=s.p.parser;t:for(;;){if((o&t[n])==0)break;let f=t[n+1];for(let c=n+3;c<f;c+=2)if((t[c+1]&o)>0){let g=t[c];if(l.allows(g)&&(e.token.value==-1||e.token.value==g||H(g,e.token.value,h,r))){e.acceptToken(g);break}}let a=e.next,d=0,u=t[n+2];if(e.next<0&&u>d&&t[f+u*3-3]==65535){n=t[f+u*3-1];continue t}for(;d<u;){let c=d+u>>1,g=f+c+(c<<1),_=t[g],G=t[g+1]||65536;if(a<_)u=c;else if(a>=G)d=c+1;else{n=t[g+2],e.advance();continue t}}break}}function C(t,e,s){for(let i=e,h;(h=t[i])!=65535;i++)if(h==s)return i-e;return-1}function H(t,e,s,i){let h=C(s,i,e);return h<0||C(s,i,t)<h}var p=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),v=null;function N(t,e,s){let i=t.cursor(R.IncludeAnonymous);i.moveTo(e);for(;;)if(!(s<0?i.childBefore(e):i.childAfter(e)))for(;;){if((s<0?i.to<e:i.from>e)&&!i.type.isError)return s<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(s<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return s<0?0:t.length}}class M{constructor(t,e){this.fragments=t,this.minRepeat=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.lastRepeat=null,this.lastRepeatPos=-1,this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){this.safeFrom=t.openStart?N(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?N(t.tree,t.to+t.offset,-1)-t.offset:t.to;while(this.trees.length)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;while(this.fragment&&this.safeTo<=t)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let s=this.trees[e],i=this.index[e];if(i==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let h=s.children[i],r=this.start[e]+s.positions[i];if(r>t)return this.nextStart=r,null;if(h instanceof I){let n=r>this.lastRepeatPos&&h.type.id>=this.minRepeat;if(r==t||n){let o=r+h.length,l;if(r>=this.safeFrom&&o<=this.safeTo&&(!(l=h.prop(T.lookAhead))||o+l<this.fragment.to)){if(n)this.lastRepeat=h,this.lastRepeatPos=r;if(r==t)return h}else if(r==t)return null}if(this.index[e]++,r+h.length>=Math.max(this.safeFrom,t))this.trees.push(h),this.start.push(r),this.index.push(0)}else this.index[e]++,this.nextStart=r+h.length}}}class L{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map((s)=>new b)}getActions(t){let e=0,s=null,{parser:i}=t.p,{tokenizers:h}=i,r=i.stateSlot(t.state,3),n=t.curContext?t.curContext.hash:0,o=0;for(let l=0;l<h.length;l++){if((1<<l&r)==0)continue;let f=h[l],a=this.tokens[l];if(s&&!f.fallback)continue;if(f.contextual||a.start!=t.pos||a.mask!=r||a.context!=n)this.updateCachedToken(a,f,t),a.mask=r,a.context=n;if(a.lookAhead>a.end+25)o=Math.max(a.lookAhead,o);if(a.value!=0){let d=e;if(a.extended>-1)e=this.addActions(t,a.extended,a.end,e);if(e=this.addActions(t,a.value,a.end,e),!f.extend){if(s=a,e>d)break}}}while(this.actions.length>e)this.actions.pop();if(o)t.setLookAhead(o);if(!s&&t.pos==this.stream.end)s=new b,s.value=t.p.parser.eofTerm,s.start=s.end=t.pos,e=this.addActions(t,s.value,s.end,e);return this.mainToken=s,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new b,{pos:s,p:i}=t;return e.start=s,e.end=Math.min(s+1,i.stream.end),e.value=s==i.stream.end?i.parser.eofTerm:0,e}updateCachedToken(t,e,s){let i=this.stream.clipPos(s.pos);if(e.token(this.stream.reset(i,t),s),t.value>-1){let{parser:h}=s.p;for(let r=0;r<h.specialized.length;r++)if(h.specialized[r]==t.value){let n=h.specializers[r](this.stream.read(t.start,t.end),s);if(n>=0&&s.p.parser.dialect.allows(n>>1)){if((n&1)==0)t.value=n>>1;else t.extended=n>>1;break}}}else t.value=0,t.end=this.stream.clipPos(i+1)}putAction(t,e,s,i){for(let h=0;h<i;h+=3)if(this.actions[h]==t)return i;return this.actions[i++]=t,this.actions[i++]=e,this.actions[i++]=s,i}addActions(t,e,s,i){let{state:h}=t,{parser:r}=t.p,{data:n}=r;for(let o=0;o<2;o++)for(let l=r.stateSlot(h,o?2:1);;l+=3){if(n[l]==65535)if(n[l+1]==1)l=k(n,l+2);else{if(i==0&&n[l+1]==2)i=this.putAction(k(n,l+2),e,s,i);break}if(n[l]==e)i=this.putAction(k(n,l+1),e,s,i)}return i}}class j{constructor(t,e,s,i){this.parser=t,this.input=e,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new O(e,i),this.tokens=new L(t,this.stream),this.topTerm=t.top[1];let{from:h}=i[0];this.stacks=[P.start(this,t.top[0],h)],this.fragments=s.length&&this.stream.end-h>t.bufferLength*4?new M(s,t.minRepeatTerm):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,e=this.minStackPos,s=this.stacks=[],i,h;if(this.bigReductionCount>300&&t.length==1){let[r]=t;while(r.forceReduce()&&r.stack.length&&r.stack[r.stack.length-2]>=this.lastBigReductionStart);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;r<t.length;r++){let n=t[r];for(;;){if(this.tokens.mainToken=null,n.pos>e)s.push(n);else if(this.advanceStack(n,s,t))continue;else{if(!i)i=[],h=[];i.push(n);let o=this.tokens.getMainToken(n);h.push(o.value,o.end)}break}}if(!s.length){let r=i&&W(i);if(r){if(p)console.log("Finish with "+this.stackID(r));return this.stackToTree(r)}if(this.parser.strict){if(p&&i)console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none"));throw SyntaxError("No parse at "+e)}if(!this.recovering)this.recovering=5}if(this.recovering&&i){let r=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,h,s);if(r){if(p)console.log("Force-finish "+this.stackID(r));return this.stackToTree(r.forceAll())}}if(this.recovering){let r=this.recovering==1?1:this.recovering*3;if(s.length>r){s.sort((n,o)=>o.score-n.score);while(s.length>r)s.pop()}if(s.some((n)=>n.reducePos>e))this.recovering--}else if(s.length>1){t:for(let r=0;r<s.length-1;r++){let n=s[r];for(let o=r+1;o<s.length;o++){let l=s[o];if(n.sameState(l)||n.buffer.length>500&&l.buffer.length>500)if((n.score-l.score||n.buffer.length-l.buffer.length)>0)s.splice(o--,1);else{s.splice(r--,1);continue t}}}if(s.length>12)s.sort((r,n)=>n.score-r.score),s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let r=1;r<s.length;r++)if(s[r].pos<this.minStackPos)this.minStackPos=s[r].pos;return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw RangeError("Can't move stoppedAt forward");this.stoppedAt=t}tryReuse(t,e,s,i){if(!s)return null;let h=t.curContext&&t.curContext.tracker.strict,r=h?t.curContext.hash:0;for(;s;){let n=this.parser.nodeSet.types[s.type.id]!=s.type?-1:this.parser.getGoto(t.state,s.type.id);if(n>-1&&s.length&&(!h||(s.prop(T.contextHash)||0)==r))return t.useNode(s,n,e),s;if(s.children.length==0||s.positions[0]>0)break;let o=s.children[0];if(o instanceof I&&(!i||o.type.id>=this.parser.minRepeatTerm))s=o;else break}return null}advanceStack(t,e,s){let i=t.pos,{parser:h}=this,r=p?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let l=t.reducePos<i&&t.buffer.length&&t.buffer[t.buffer.length-2]<=t.reducePos&&this.fragments.lastRepeatPos==t.reducePos&&this.tryReuse(t,t.reducePos,this.fragments.lastRepeat,!0)||this.tryReuse(t,i,this.fragments.nodeAt(i),!1);if(l){if(p)console.log(r+this.stackID(t)+` (via reuse of ${h.getName(l.type.id)})`);return!0}}let n=h.stateSlot(t.state,4);if(n>0){if(t.reduce(n),p)console.log(r+this.stackID(t)+` (via always-reduce ${h.getName(n&65535)})`);return!0}if(t.stack.length>=8400)while(t.stack.length>6000&&t.forceReduce());let o=this.tokens.getActions(t);for(let l=0;l<o.length;){let f=o[l++],a=o[l++],d=o[l++],u=l==o.length||!s,c=u?t:t.split(),g=this.tokens.mainToken;if(c.apply(f,a,g?g.start:c.pos,d),p)console.log(r+this.stackID(c)+` (via ${(f&65536)==0?"shift":`reduce of ${h.getName(f&65535)}`} for ${h.getName(a)} @ ${i}${c==t?"":", split"})`);if(u)return!0;else if(c.pos>i)e.push(c);else s.push(c)}return!1}advanceFully(t,e){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>s)return z(t,e),!0}}runRecovery(t,e,s){let i=null,h=!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r<<1],l=e[(r<<1)+1],f=p?this.stackID(n)+" -> ":"";if(n.deadEnd){if(h)continue;if(h=!0,n.restart(),p)console.log(f+this.stackID(n)+" (restarted)");if(this.advanceFully(n,s))continue}let a=n.split(),d=f;for(let u=0;u<10&&a.forceReduce();u++){if(p)console.log(d+this.stackID(a)+" (via force-reduce)");if(this.advanceFully(a,s))break;if(p)d=this.stackID(a)+" -> "}for(let u of n.recoverByInsert(o)){if(p)console.log(f+this.stackID(u)+" (via recover-insert)");this.advanceFully(u,s)}if(this.stream.end>n.pos){if(l==n.pos)l++,o=0;if(n.recoverByDelete(o,l),p)console.log(f+this.stackID(n)+` (via recover-delete ${this.parser.getName(o)})`);z(n,s)}else if(!i||i.score<a.score)i=a}return i}stackToTree(t){return t.close(),I.build({buffer:S.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(v||(v=new WeakMap)).get(t);if(!e)v.set(t,e=String.fromCodePoint(this.nextStackID++));return e+t}}function z(t,e){for(let s=0;s<e.length;s++){let i=e[s];if(i.pos==t.pos&&i.sameState(t)){if(e[s].score<t.score)e[s]=t;return}}e.push(t)}class U{constructor(t,e,s){this.source=t,this.flags=e,this.disabled=s}allows(t){return!this.disabled||this.disabled[t]==0}}var A=(t)=>t;class xe{constructor(t){this.start=t.start,this.shift=t.shift||A,this.reduce=t.reduce||A,this.reuse=t.reuse||A,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class Z extends _t{constructor(t){super();if(this.wrappers=[],t.version!=14)throw RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let n=0;n<t.repeatNodeCount;n++)e.push("");let s=Object.keys(t.topRules).map((n)=>t.topRules[n][1]),i=[];for(let n=0;n<e.length;n++)i.push([]);function h(n,o,l){i[n].push([o,o.deserialize(String(l))])}if(t.nodeProps)for(let n of t.nodeProps){let o=n[0];if(typeof o=="string")o=T[o];for(let l=1;l<n.length;){let f=n[l++];if(f>=0)h(f,o,n[l++]);else{let a=n[l+-f];for(let d=-f;d>0;d--)h(n[l++],o,a);l++}}}if(this.nodeSet=new vt(e.map((n,o)=>le.define({name:o>=this.minRepeatTerm?void 0:n,id:o,props:i[o],top:s.indexOf(o)>-1,error:o==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(o)>-1}))),t.propSources)this.nodeSet=this.nodeSet.extend(...t.propSources);this.strict=!1,this.bufferLength=mo;let r=x(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let n=0;n<this.specializerSpecs.length;n++)this.specialized[n]=this.specializerSpecs[n].term;this.specializers=this.specializerSpecs.map(D),this.states=x(t.states,Uint32Array),this.data=x(t.stateData),this.goto=x(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map((n)=>typeof n=="number"?new m(r,n):n),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,s){let i=new j(this,t,e,s);for(let h of this.wrappers)i=h(i,t,e,s);return i}getGoto(t,e,s=!1){let i=this.goto;if(e>=i[0])return-1;for(let h=i[e+1];;){let r=i[h++],n=r&1,o=i[h++];if(n&&s)return o;for(let l=h+(r>>1);h<l;h++)if(i[h]==t)return o;if(n)return-1}}hasAction(t,e){let s=this.data;for(let i=0;i<2;i++)for(let h=this.stateSlot(t,i?2:1),r;;h+=3){if((r=s[h])==65535)if(s[h+1]==1)r=s[h=k(s,h+2)];else if(s[h+1]==2)return k(s,h+2);else break;if(r==e||r==0)return k(s,h+1)}return 0}stateSlot(t,e){return this.states[t*6+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,(s)=>s==e?!0:null)}allActions(t,e){let s=this.stateSlot(t,4),i=s?e(s):void 0;for(let h=this.stateSlot(t,1);i==null;h+=3){if(this.data[h]==65535)if(this.data[h+1]==1)h=k(this.data,h+2);else break;i=e(k(this.data,h+1))}return i}nextStates(t){let e=[];for(let s=this.stateSlot(t,1);;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=k(this.data,s+2);else break;if((this.data[s+2]&1)==0){let i=this.data[s+1];if(!e.some((h,r)=>r&1&&h==i))e.push(this.data[s],i)}}return e}configure(t){let e=Object.assign(Object.create(Z.prototype),this);if(t.props)e.nodeSet=this.nodeSet.extend(...t.props);if(t.top){let s=this.topRules[t.top];if(!s)throw RangeError(`Invalid top rule name ${t.top}`);e.top=s}if(t.tokenizers)e.tokenizers=this.tokenizers.map((s)=>{let i=t.tokenizers.find((h)=>h.from==s);return i?i.to:s});if(t.specializers)e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map((s,i)=>{let h=t.specializers.find((n)=>n.from==s.external);if(!h)return s;let r=Object.assign(Object.assign({},s),{external:h.to});return e.specializers[i]=D(r),r});if(t.contextTracker)e.context=t.contextTracker;if(t.dialect)e.dialect=this.parseDialect(t.dialect);if(t.strict!=null)e.strict=t.strict;if(t.wrap)e.wrappers=e.wrappers.concat(t.wrap);if(t.bufferLength!=null)e.bufferLength=t.bufferLength;return e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return e==null?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),s=e.map(()=>!1);if(t)for(let h of t.split(" ")){let r=e.indexOf(h);if(r>=0)s[r]=!0}let i=null;for(let h=0;h<e.length;h++)if(!s[h])for(let r=this.dialects[e[h]],n;(n=this.data[r++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[n]=1;return new U(t,s,i)}static deserialize(t){return new Z(t)}}function k(t,e){return t[e]|t[e+1]<<16}function W(t){let e=null;for(let s of t){let i=s.p.stoppedAt;if((s.pos==s.p.stream.end||i!=null&&s.pos>i)&&s.p.parser.stateFlag(s.state,2)&&(!e||e.score<s.score))e=s}return e}function D(t){if(t.external){let e=t.extend?1:0;return(s,i)=>t.external(s,i)<<1|e}return t.get}
2
- export{dt,E,xe,Z};
1
+ import{Co,P,ue,xt,E,U,Pt}from"./chunk-index-zcfr8jdv.js";class S{constructor(t,e,s,i,h,r,n,o,l,f=0,a){this.p=t,this.stack=e,this.state=s,this.reducePos=i,this.pos=h,this.score=r,this.buffer=n,this.bufferBase=o,this.curContext=l,this.lookAhead=f,this.parent=a}toString(){return`[${this.stack.filter((t,e)=>e%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,s=0){let i=t.parser.context;return new S(t,[],e,s,s,0,[],0,i?new y(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let s=t>>19,i=t&65535,{parser:h}=this.p,r=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),n=h.dynamicPrecedence(i);if(n)this.score+=n;if(s==0){if(i<h.minRepeatTerm&&this.reducePos<this.pos)this.reducePos=this.pos;if(this.pushState(h.getGoto(this.state,i,!0),this.reducePos),i<h.minRepeatTerm)this.storeNode(i,this.reducePos,this.reducePos,r?8:4,!0);this.reduceContext(i,this.reducePos);return}let o=this.stack.length-(s-1)*3-(t&262144?6:0),l=o?this.stack[o-2]:this.p.ranges[0].from;if(i<h.minRepeatTerm&&l==this.reducePos&&this.reducePos<this.pos)this.reducePos=this.pos;let f=this.reducePos-l;if(f>=2000&&!((e=this.p.parser.nodeSet.types[i])===null||e===void 0?void 0:e.isAnonymous)){if(l==this.p.lastBigReductionStart)this.p.bigReductionCount++,this.p.lastBigReductionSize=f;else if(this.p.lastBigReductionSize<f)this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=f}let a=o?this.stack[o-1]:0,d=this.bufferBase+this.buffer.length-a;if(i<h.minRepeatTerm||t&131072){let u=h.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,l,u,d+4,!0)}if(t&262144)this.state=this.stack[o];else{let u=this.stack[o-3];this.state=h.getGoto(u,i,!0)}while(this.stack.length>o)this.stack.pop();this.reduceContext(i,l)}storeNode(t,e,s,i=4,h=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let r=this.buffer.length;if(r>0&&this.buffer[r-4]==0&&this.buffer[r-1]>-1){if(e==s)return;if(this.buffer[r-2]>=e){this.buffer[r-2]=s;return}}}if(!h||this.pos==s)this.buffer.push(t,e,s,i);else{let r=this.buffer.length;if(r>0&&(this.buffer[r-4]!=0||this.buffer[r-1]<0)){let n=!1;for(let o=r;o>0&&this.buffer[o-2]>s;o-=4)if(this.buffer[o-1]>=0){n=!0;break}if(n){while(r>0&&this.buffer[r-2]>s)if(this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,i>4)i-=4}}this.buffer[r]=t,this.buffer[r+1]=e,this.buffer[r+2]=s,this.buffer[r+3]=i}}shift(t,e,s,i){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let h=t,{parser:r}=this.p;this.pos=i;let n=r.stateFlag(h,1);if(!n&&(i>s||e<=r.maxNode))this.reducePos=i;if(this.pushState(h,n?s:Math.min(s,this.reducePos)),this.shiftContext(e,s),e<=r.maxNode)this.buffer.push(e,s,i,4)}else if(this.pos=i,this.shiftContext(e,s),e<=this.p.parser.maxNode)this.buffer.push(e,s,i,4)}apply(t,e,s,i){if(t&65536)this.reduce(t);else this.shift(t,e,s,i)}useNode(t,e,s){let i=this.p.reused.length-1;if(i<0||this.p.reused[i]!=t)this.p.reused.push(t),i++;let h=this.reducePos=this.pos=s+t.length;if(this.pushState(e,s),this.buffer.push(i,s,h,-1),this.curContext)this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;if(e&&t.buffer[e-4]==0)e-=4;while(e>0&&t.buffer[e-2]>t.reducePos)e-=4;let s=t.buffer.slice(e),i=t.bufferBase+e;while(t&&i==t.bufferBase)t=t.parent;return new S(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,i,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let s=t<=this.p.parser.maxNode;if(s)this.storeNode(t,this.pos,e,4);this.storeNode(0,this.pos,e,s?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new D(this);;){let s=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(s==0)return!1;if((s&65536)==0)return!0;e.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let i=[];for(let h=0,r;h<e.length;h+=2)if((r=e[h+1])!=this.state&&this.p.parser.hasAction(r,t))i.push(e[h],r);if(this.stack.length<120)for(let h=0;i.length<8&&h<e.length;h+=2){let r=e[h+1];if(!i.some((n,o)=>o&1&&n==r))i.push(e[h],r)}e=i}let s=[];for(let i=0;i<e.length&&s.length<4;i+=2){let h=e[i+1];if(h==this.state)continue;let r=this.split();r.pushState(h,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(e[i],this.pos),r.reducePos=this.pos,r.score-=200,s.push(r)}return s}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if((e&65536)==0)return!1;if(!t.validAction(this.state,e)){let s=e>>19,i=e&65535,h=this.stack.length-s*3;if(h<0||t.getGoto(this.stack[h],i,!1)<0){let r=this.findForcedReduction();if(r==null)return!1;e=r}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],s=(i,h)=>{if(e.includes(i))return;return e.push(i),t.allActions(i,(r)=>{if(r&393216);else if(r&65536){let n=(r>>19)-h;if(n>1){let o=r&65535,l=this.stack.length-n*3;if(l>=0&&t.getGoto(this.stack[l],o,!1)>=0)return n<<19|65536|o}}else{let n=s(r,h+1);if(n!=null)return n}})};return s(this.state,0)}forceAll(){while(!this.p.parser.stateFlag(this.state,2))if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){if(this.curContext)this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){if(this.curContext)this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;if(t<0||this.buffer[t]!=-3)this.storeNode(this.curContext.hash,this.reducePos,this.reducePos,-3,!0)}emitLookAhead(){let t=this.buffer.length-1;if(t<0||this.buffer[t]!=-4)this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new y(this.curContext.tracker,t);if(e.hash!=this.curContext.hash)this.emitContext();this.curContext=e}}setLookAhead(t){if(t<=this.lookAhead)return!1;return this.emitLookAhead(),this.lookAhead=t,!0}close(){if(this.curContext&&this.curContext.tracker.strict)this.emitContext();if(this.lookAhead>0)this.emitLookAhead()}}class y{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}}class D{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=t&65535,s=t>>19;if(s==0){if(this.stack==this.start.stack)this.stack=this.stack.slice();this.stack.push(this.state,0,0),this.base+=3}else this.base-=(s-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=i}}class v{constructor(t,e,s){if(this.stack=t,this.pos=e,this.index=s,this.buffer=t.buffer,this.index==0)this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new v(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;if(t!=null)this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){if(this.index-=4,this.pos-=4,this.index==0)this.maybeNext()}fork(){return new v(this.stack,this.pos,this.index)}}function x(t,e=Uint16Array){if(typeof t!="string")return t;let s=null;for(let i=0,h=0;i<t.length;){let r=0;for(;;){let n=t.charCodeAt(i++),o=!1;if(n==126){r=65535;break}if(n>=92)n--;if(n>=34)n--;let l=n-32;if(l>=46)l-=46,o=!0;if(r+=l,o)break;r*=46}if(s)s[h++]=r;else s=new e(r)}return s}class b{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}var R=new b;class B{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=R,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let s=this.range,i=this.rangeIndex,h=this.pos+t;while(h<s.from){if(!i)return null;let r=this.ranges[--i];h-=s.from-r.to,s=r}while(e<0?h>s.to:h>=s.to){if(i==this.ranges.length-1)return null;let r=this.ranges[++i];h+=r.from-s.to,s=r}return h}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e=this.chunkOff+t,s,i;if(e>=0&&e<this.chunk.length)s=this.pos+t,i=this.chunk.charCodeAt(e);else{let h=this.resolveOffset(t,1);if(h==null)return-1;if(s=h,s>=this.chunk2Pos&&s<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(s-this.chunk2Pos);else{let r=this.rangeIndex,n=this.range;while(n.to<=s)n=this.ranges[++r];if(this.chunk2=this.input.chunk(this.chunk2Pos=s),s+this.chunk2.length>n.to)this.chunk2=this.chunk2.slice(0,n.to-s);i=this.chunk2.charCodeAt(0)}}if(s>=this.token.lookAhead)this.token.lookAhead=s+1;return i}acceptToken(t,e=0){let s=e?this.resolveOffset(e,-1):this.pos;if(s==null||s<this.token.start)throw RangeError("Token end out of bounds");this.token.value=t,this.token.end=s}acceptTokenTo(t,e){this.token.value=t,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){if(this.chunkOff>=this.chunk.length){if(this.getChunk(),this.chunkOff==this.chunk.length)return this.next=-1}return this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){this.chunkOff+=t;while(this.pos+t>=this.range.to){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}if(this.pos+=t,this.pos>=this.token.lookAhead)this.token.lookAhead=this.pos+1;return this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,e){if(e)this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1;else this.token=R;if(this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;while(t<this.range.from)this.range=this.ranges[--this.rangeIndex];while(t>=this.range.to)this.range=this.ranges[++this.rangeIndex];if(t>=this.chunkPos&&t<this.chunkPos+this.chunk.length)this.chunkOff=t-this.chunkPos;else this.chunk="",this.chunkOff=0;this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let s="";for(let i of this.ranges){if(i.from>=e)break;if(i.to>t)s+=this.input.read(Math.max(i.from,t),Math.min(i.to,e))}return s}}class m{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:s}=e.p;O(this.data,t,e,this.id,s.data,s.tokenPrecTable)}}m.prototype.contextual=m.prototype.fallback=m.prototype.extend=!1;class ht{constructor(t,e,s){this.precTable=e,this.elseToken=s,this.data=typeof t=="string"?x(t):t}token(t,e){let s=t.pos,i=0;for(;;){let h=t.next<0,r=t.resolveOffset(1,1);if(O(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(!h)i++;if(r==null)break;t.reset(r,t.token)}if(i)t.reset(s,t.token),t.acceptToken(this.elseToken,i)}}ht.prototype.contextual=m.prototype.fallback=m.prototype.extend=!1;class N{constructor(t,e={}){this.token=t,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function O(t,e,s,i,h,r){let n=0,o=1<<i,{dialect:l}=s.p.parser;t:for(;;){if((o&t[n])==0)break;let f=t[n+1];for(let c=n+3;c<f;c+=2)if((t[c+1]&o)>0){let g=t[c];if(l.allows(g)&&(e.token.value==-1||e.token.value==g||H(g,e.token.value,h,r))){e.acceptToken(g);break}}let a=e.next,d=0,u=t[n+2];if(e.next<0&&u>d&&t[f+u*3-3]==65535){n=t[f+u*3-1];continue t}for(;d<u;){let c=d+u>>1,g=f+c+(c<<1),_=t[g],G=t[g+1]||65536;if(a<_)u=c;else if(a>=G)d=c+1;else{n=t[g+2],e.advance();continue t}}break}}function T(t,e,s){for(let i=e,h;(h=t[i])!=65535;i++)if(h==s)return i-e;return-1}function H(t,e,s,i){let h=T(s,i,e);return h<0||T(s,i,t)<h}var p=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),A=null;function C(t,e,s){let i=t.cursor(E.IncludeAnonymous);i.moveTo(e);for(;;)if(!(s<0?i.childBefore(e):i.childAfter(e)))for(;;){if((s<0?i.to<e:i.from>e)&&!i.type.isError)return s<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(s<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return s<0?0:t.length}}class F{constructor(t,e){this.fragments=t,this.minRepeat=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.lastRepeat=null,this.lastRepeatPos=-1,this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){this.safeFrom=t.openStart?C(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?C(t.tree,t.to+t.offset,-1)-t.offset:t.to;while(this.trees.length)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;while(this.fragment&&this.safeTo<=t)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let s=this.trees[e],i=this.index[e];if(i==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let h=s.children[i],r=this.start[e]+s.positions[i];if(r>t)return this.nextStart=r,null;if(h instanceof U){let n=r>this.lastRepeatPos&&h.type.id>=this.minRepeat;if(r==t||n){let o=r+h.length,l;if(r>=this.safeFrom&&o<=this.safeTo&&(!(l=h.prop(P.lookAhead))||o+l<this.fragment.to)){if(n)this.lastRepeat=h,this.lastRepeatPos=r;if(r==t)return h}else if(r==t)return null}if(this.index[e]++,r+h.length>=Math.max(this.safeFrom,t))this.trees.push(h),this.start.push(r),this.index.push(0)}else this.index[e]++,this.nextStart=r+h.length}}}class M{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map((s)=>new b)}getActions(t){let e=0,s=null,{parser:i}=t.p,{tokenizers:h}=i,r=i.stateSlot(t.state,3),n=t.curContext?t.curContext.hash:0,o=0;for(let l=0;l<h.length;l++){if((1<<l&r)==0)continue;let f=h[l],a=this.tokens[l];if(s&&!f.fallback)continue;if(f.contextual||a.start!=t.pos||a.mask!=r||a.context!=n)this.updateCachedToken(a,f,t),a.mask=r,a.context=n;if(a.lookAhead>a.end+25)o=Math.max(a.lookAhead,o);if(a.value!=0){let d=e;if(a.extended>-1)e=this.addActions(t,a.extended,a.end,e);if(e=this.addActions(t,a.value,a.end,e),!f.extend){if(s=a,e>d)break}}}while(this.actions.length>e)this.actions.pop();if(o)t.setLookAhead(o);if(!s&&t.pos==this.stream.end)s=new b,s.value=t.p.parser.eofTerm,s.start=s.end=t.pos,e=this.addActions(t,s.value,s.end,e);return this.mainToken=s,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new b,{pos:s,p:i}=t;return e.start=s,e.end=Math.min(s+1,i.stream.end),e.value=s==i.stream.end?i.parser.eofTerm:0,e}updateCachedToken(t,e,s){let i=this.stream.clipPos(s.pos);if(e.token(this.stream.reset(i,t),s),t.value>-1){let{parser:h}=s.p;for(let r=0;r<h.specialized.length;r++)if(h.specialized[r]==t.value){let n=h.specializers[r](this.stream.read(t.start,t.end),s);if(n>=0&&s.p.parser.dialect.allows(n>>1)){if((n&1)==0)t.value=n>>1;else t.extended=n>>1;break}}}else t.value=0,t.end=this.stream.clipPos(i+1)}putAction(t,e,s,i){for(let h=0;h<i;h+=3)if(this.actions[h]==t)return i;return this.actions[i++]=t,this.actions[i++]=e,this.actions[i++]=s,i}addActions(t,e,s,i){let{state:h}=t,{parser:r}=t.p,{data:n}=r;for(let o=0;o<2;o++)for(let l=r.stateSlot(h,o?2:1);;l+=3){if(n[l]==65535)if(n[l+1]==1)l=k(n,l+2);else{if(i==0&&n[l+1]==2)i=this.putAction(k(n,l+2),e,s,i);break}if(n[l]==e)i=this.putAction(k(n,l+1),e,s,i)}return i}}class L{constructor(t,e,s,i){this.parser=t,this.input=e,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new B(e,i),this.tokens=new M(t,this.stream),this.topTerm=t.top[1];let{from:h}=i[0];this.stacks=[S.start(this,t.top[0],h)],this.fragments=s.length&&this.stream.end-h>t.bufferLength*4?new F(s,t.minRepeatTerm):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,e=this.minStackPos,s=this.stacks=[],i,h;if(this.bigReductionCount>300&&t.length==1){let[r]=t;while(r.forceReduce()&&r.stack.length&&r.stack[r.stack.length-2]>=this.lastBigReductionStart);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;r<t.length;r++){let n=t[r];for(;;){if(this.tokens.mainToken=null,n.pos>e)s.push(n);else if(this.advanceStack(n,s,t))continue;else{if(!i)i=[],h=[];i.push(n);let o=this.tokens.getMainToken(n);h.push(o.value,o.end)}break}}if(!s.length){let r=i&&q(i);if(r){if(p)console.log("Finish with "+this.stackID(r));return this.stackToTree(r)}if(this.parser.strict){if(p&&i)console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none"));throw SyntaxError("No parse at "+e)}if(!this.recovering)this.recovering=5}if(this.recovering&&i){let r=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,h,s);if(r){if(p)console.log("Force-finish "+this.stackID(r));return this.stackToTree(r.forceAll())}}if(this.recovering){let r=this.recovering==1?1:this.recovering*3;if(s.length>r){s.sort((n,o)=>o.score-n.score);while(s.length>r)s.pop()}if(s.some((n)=>n.reducePos>e))this.recovering--}else if(s.length>1){t:for(let r=0;r<s.length-1;r++){let n=s[r];for(let o=r+1;o<s.length;o++){let l=s[o];if(n.sameState(l)||n.buffer.length>500&&l.buffer.length>500)if((n.score-l.score||n.buffer.length-l.buffer.length)>0)s.splice(o--,1);else{s.splice(r--,1);continue t}}}if(s.length>12)s.sort((r,n)=>n.score-r.score),s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let r=1;r<s.length;r++)if(s[r].pos<this.minStackPos)this.minStackPos=s[r].pos;return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw RangeError("Can't move stoppedAt forward");this.stoppedAt=t}tryReuse(t,e,s,i){if(!s)return null;let h=t.curContext&&t.curContext.tracker.strict,r=h?t.curContext.hash:0;for(;s;){let n=this.parser.nodeSet.types[s.type.id]!=s.type?-1:this.parser.getGoto(t.state,s.type.id);if(n>-1&&s.length&&(!h||(s.prop(P.contextHash)||0)==r))return t.useNode(s,n,e),s;if(s.children.length==0||s.positions[0]>0)break;let o=s.children[0];if(o instanceof U&&(!i||o.type.id>=this.parser.minRepeatTerm))s=o;else break}return null}advanceStack(t,e,s){let i=t.pos,{parser:h}=this,r=p?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let l=t.reducePos<i&&t.buffer.length&&t.buffer[t.buffer.length-2]<=t.reducePos&&this.fragments.lastRepeatPos==t.reducePos&&this.tryReuse(t,t.reducePos,this.fragments.lastRepeat,!0)||this.tryReuse(t,i,this.fragments.nodeAt(i),!1);if(l){if(p)console.log(r+this.stackID(t)+` (via reuse of ${h.getName(l.type.id)})`);return!0}}let n=h.stateSlot(t.state,4);if(n>0){if(t.reduce(n),p)console.log(r+this.stackID(t)+` (via always-reduce ${h.getName(n&65535)})`);return!0}if(t.stack.length>=8400)while(t.stack.length>6000&&t.forceReduce());let o=this.tokens.getActions(t);for(let l=0;l<o.length;){let f=o[l++],a=o[l++],d=o[l++],u=l==o.length||!s,c=u?t:t.split(),g=this.tokens.mainToken;if(c.apply(f,a,g?g.start:c.pos,d),p)console.log(r+this.stackID(c)+` (via ${(f&65536)==0?"shift":`reduce of ${h.getName(f&65535)}`} for ${h.getName(a)} @ ${i}${c==t?"":", split"})`);if(u)return!0;else if(c.pos>i)e.push(c);else s.push(c)}return!1}advanceFully(t,e){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>s)return z(t,e),!0}}runRecovery(t,e,s){let i=null,h=!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r<<1],l=e[(r<<1)+1],f=p?this.stackID(n)+" -> ":"";if(n.deadEnd){if(h)continue;if(h=!0,n.restart(),p)console.log(f+this.stackID(n)+" (restarted)");if(this.advanceFully(n,s))continue}let a=n.split(),d=f;for(let u=0;u<10&&a.forceReduce();u++){if(p)console.log(d+this.stackID(a)+" (via force-reduce)");if(this.advanceFully(a,s))break;if(p)d=this.stackID(a)+" -> "}for(let u of n.recoverByInsert(o)){if(p)console.log(f+this.stackID(u)+" (via recover-insert)");this.advanceFully(u,s)}if(this.stream.end>n.pos){if(l==n.pos)l++,o=0;if(n.recoverByDelete(o,l),p)console.log(f+this.stackID(n)+` (via recover-delete ${this.parser.getName(o)})`);z(n,s)}else if(!i||i.score<a.score)i=a}return i}stackToTree(t){return t.close(),U.build({buffer:v.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(A||(A=new WeakMap)).get(t);if(!e)A.set(t,e=String.fromCodePoint(this.nextStackID++));return e+t}}function z(t,e){for(let s=0;s<e.length;s++){let i=e[s];if(i.pos==t.pos&&i.sameState(t)){if(e[s].score<t.score)e[s]=t;return}}e.push(t)}class j{constructor(t,e,s){this.source=t,this.flags=e,this.disabled=s}allows(t){return!this.disabled||this.disabled[t]==0}}var w=(t)=>t;class ke{constructor(t){this.start=t.start,this.shift=t.shift||w,this.reduce=t.reduce||w,this.reuse=t.reuse||w,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class W extends Pt{constructor(t){super();if(this.wrappers=[],t.version!=14)throw RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let n=0;n<t.repeatNodeCount;n++)e.push("");let s=Object.keys(t.topRules).map((n)=>t.topRules[n][1]),i=[];for(let n=0;n<e.length;n++)i.push([]);function h(n,o,l){i[n].push([o,o.deserialize(String(l))])}if(t.nodeProps)for(let n of t.nodeProps){let o=n[0];if(typeof o=="string")o=P[o];for(let l=1;l<n.length;){let f=n[l++];if(f>=0)h(f,o,n[l++]);else{let a=n[l+-f];for(let d=-f;d>0;d--)h(n[l++],o,a);l++}}}if(this.nodeSet=new xt(e.map((n,o)=>ue.define({name:o>=this.minRepeatTerm?void 0:n,id:o,props:i[o],top:s.indexOf(o)>-1,error:o==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(o)>-1}))),t.propSources)this.nodeSet=this.nodeSet.extend(...t.propSources);this.strict=!1,this.bufferLength=Co;let r=x(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let n=0;n<this.specializerSpecs.length;n++)this.specialized[n]=this.specializerSpecs[n].term;this.specializers=this.specializerSpecs.map(I),this.states=x(t.states,Uint32Array),this.data=x(t.stateData),this.goto=x(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map((n)=>typeof n=="number"?new m(r,n):n),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,s){let i=new L(this,t,e,s);for(let h of this.wrappers)i=h(i,t,e,s);return i}getGoto(t,e,s=!1){let i=this.goto;if(e>=i[0])return-1;for(let h=i[e+1];;){let r=i[h++],n=r&1,o=i[h++];if(n&&s)return o;for(let l=h+(r>>1);h<l;h++)if(i[h]==t)return o;if(n)return-1}}hasAction(t,e){let s=this.data;for(let i=0;i<2;i++)for(let h=this.stateSlot(t,i?2:1),r;;h+=3){if((r=s[h])==65535)if(s[h+1]==1)r=s[h=k(s,h+2)];else if(s[h+1]==2)return k(s,h+2);else break;if(r==e||r==0)return k(s,h+1)}return 0}stateSlot(t,e){return this.states[t*6+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,(s)=>s==e?!0:null)}allActions(t,e){let s=this.stateSlot(t,4),i=s?e(s):void 0;for(let h=this.stateSlot(t,1);i==null;h+=3){if(this.data[h]==65535)if(this.data[h+1]==1)h=k(this.data,h+2);else break;i=e(k(this.data,h+1))}return i}nextStates(t){let e=[];for(let s=this.stateSlot(t,1);;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=k(this.data,s+2);else break;if((this.data[s+2]&1)==0){let i=this.data[s+1];if(!e.some((h,r)=>r&1&&h==i))e.push(this.data[s],i)}}return e}configure(t){let e=Object.assign(Object.create(W.prototype),this);if(t.props)e.nodeSet=this.nodeSet.extend(...t.props);if(t.top){let s=this.topRules[t.top];if(!s)throw RangeError(`Invalid top rule name ${t.top}`);e.top=s}if(t.tokenizers)e.tokenizers=this.tokenizers.map((s)=>{let i=t.tokenizers.find((h)=>h.from==s);return i?i.to:s});if(t.specializers)e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map((s,i)=>{let h=t.specializers.find((n)=>n.from==s.external);if(!h)return s;let r=Object.assign(Object.assign({},s),{external:h.to});return e.specializers[i]=I(r),r});if(t.contextTracker)e.context=t.contextTracker;if(t.dialect)e.dialect=this.parseDialect(t.dialect);if(t.strict!=null)e.strict=t.strict;if(t.wrap)e.wrappers=e.wrappers.concat(t.wrap);if(t.bufferLength!=null)e.bufferLength=t.bufferLength;return e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return e==null?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),s=e.map(()=>!1);if(t)for(let h of t.split(" ")){let r=e.indexOf(h);if(r>=0)s[r]=!0}let i=null;for(let h=0;h<e.length;h++)if(!s[h])for(let r=this.dialects[e[h]],n;(n=this.data[r++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[n]=1;return new j(t,s,i)}static deserialize(t){return new W(t)}}function k(t,e){return t[e]|t[e+1]<<16}function q(t){let e=null;for(let s of t){let i=s.p.stoppedAt;if((s.pos==s.p.stream.end||i!=null&&s.pos>i)&&s.p.parser.stateFlag(s.state,2)&&(!e||e.score<s.score))e=s}return e}function I(t){if(t.external){let e=t.extend?1:0;return(s,i)=>t.external(s,i)<<1|e}return t.get}
2
+ export{ht,N,ke,W};
@@ -1,4 +1,4 @@
1
- import{e,n,o}from"./chunk-index-2e4am3hw.js";var l=new Set;function on(s,i){if(l.has(s)||typeof document>"u")return;if(l.add(s),typeof CSSStyleSheet<"u"&&"adoptedStyleSheets"in Document.prototype)try{let r=new CSSStyleSheet;r.replaceSync(i),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r];return}catch{}let t=document.createElement("style");t.textContent=i,document.head.append(t)}var a=`
1
+ import{se}from"./chunk-index-amxa2bn3.js";import{e,n,s}from"./chunk-index-cn49mawx.js";var r=`
2
2
  /* A drop-down: the inputs' box with the one chevron of the icon set, turned to point down. */
3
3
  .select {
4
4
  position: relative;
@@ -38,5 +38,5 @@ import{e,n,o}from"./chunk-index-2e4am3hw.js";var l=new Set;function on(s,i){if(l
38
38
  font-size: 1rem;
39
39
  }
40
40
  }
41
- `;function qe({chip:s,className:i,...t}){if((t.size??1)>1||t.multiple===!0)return e("select",{className:i,...t});return on("select",a),n("span",{className:i?`select ${i}`:"select","data-chip":s||void 0,children:[e("select",{...t}),e(o,{name:"chevron",size:16})]})}
42
- export{on,qe};
41
+ `;function Te({chip:i,className:o,...t}){if((t.size??1)>1||t.multiple===!0)return e("select",{className:o,...t});return se("select",r),n("span",{className:o?`select ${o}`:"select","data-chip":i||void 0,children:[e("select",{...t}),e(s,{name:"chevron",size:16})]})}
42
+ export{Te};
@@ -0,0 +1,47 @@
1
+ function se(e){if(e&&typeof e==="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.values(e))se(t)}return e}var Ke=["wizard","knight","scholar","smith","ranger","bard","alchemist","healer","steward","navigator","seer","scribe","engineer","druid","innkeeper","sentinel","envoy","rogue","monk","falconer","shipwright","jester","paladin","archivist"],D=["robe","scholar","armor","plate","apron","chef","cloak","tunic","coat","overalls","vest","habit","surplice","motley","sailor"],z=["none","wizard","helm","mortar","goggcap","hood","beret","goggles","coif","tallcap","tricorn","turban","softcap","hardhat","wreath","toque","kettle","cavalier","cowl","headband","fcap","sailor","jester","winghelm"],q=["staff","shield","scroll","hammer","bow","lute","flask","quill","tome","bell","keys","map","telescope","wrench","spade","ladle","lantern","seal","dagger","beads","bird","anchor","marotte","sword"],B=["none","short","bob","long","bun","curly","ponytail","braid"],he=["full","mustache","goatee"],K=[...he,"none"],ke=["glasses","freckles","scar"],W=[...ke,"none"],V=["slim","regular","stout"],J=[0,1,2,3,4,5],Fr=["neutral","happy","thinking","concerned","apologetic","surprised","proud","amused","curious","sympathetic","playful","determined","sleepy"],Kt=["idle","thinking","working","waiting","done","error","sleepy"],Gr=se({idle:"neutral",thinking:"thinking",working:"determined",waiting:"curious",done:"proud",error:"apologetic",sleepy:"sleepy"}),ie={azure:{primary:"#3b6fd8",secondary:"#eef2ff",trim:"#f0c04a"},gules:{primary:"#d8473d",secondary:"#fff1e4",trim:"#f0c04a"},vert:{primary:"#2f9e6b",secondary:"#eefbea",trim:"#f0c04a"},purpure:{primary:"#7d52cc",secondary:"#f1e9ff",trim:"#f0c04a"},amber:{primary:"#e2a02a",secondary:"#fff6dc",trim:"#d5dbe8"},sable:{primary:"#454a5c",secondary:"#e9ecf4",trim:"#f0c04a"},teal:{primary:"#1f9aa6",secondary:"#e6fbfa",trim:"#f0c04a"},rose:{primary:"#d6507f",secondary:"#ffeef3",trim:"#d5dbe8"}},ze=["#f7d6b8","#eab98c","#d4a070","#b9784c","#8e5b3c","#5c3a26"],qe=["#2b2233","#6a4a33","#b0562f","#e0b45a","#aeb4c3","#f1f3fa"];function h(e){let{palette:t,...o}=e;return{...o,colors:{...ie[t]},palette:t}}var Be={wizard:{label:"Wizard",jobs:"coordinator, planner, main assistant",keywords:["coordinat","orchestrat","lead","chief","manager","協調","統籌","總管","主管"],preset:h({outfit:"robe",hat:"wizard",prop:"staff",hair:"none",beard:"full",accessory:"none",build:"regular",skin:0,hairColor:"#f1f3fa",palette:"azure"})},knight:{label:"Knight",jobs:"reviewer, QA gate, guardian",keywords:["review","qa","quality","gate","lint","guardian","審查","審核","把關","品質"],preset:h({outfit:"armor",hat:"helm",prop:"shield",hair:"short",beard:"none",accessory:"none",build:"regular",skin:1,hairColor:"#6a4a33",palette:"gules"})},scholar:{label:"Scholar",jobs:"researcher, literature review",keywords:["research","literature","paper","study","survey","academic","研究","文獻","論文","學者"],preset:h({outfit:"scholar",hat:"mortar",prop:"scroll",hair:"bun",beard:"none",accessory:"glasses",build:"slim",skin:2,hairColor:"#2b2233",palette:"purpure"})},smith:{label:"Smith",jobs:"coder, builder, refactorer",keywords:["coder","coding","code","builder","implement","develop","refactor","software","程式","開發","實作","重構"],preset:h({outfit:"apron",hat:"goggcap",prop:"hammer",hair:"short",beard:"none",accessory:"none",build:"stout",skin:3,hairColor:"#7a4a2a",palette:"amber"})},ranger:{label:"Ranger",jobs:"scout, web search, crawler",keywords:["scout","search","crawl","explore","browse","web","搜尋","爬蟲","偵查","探索"],preset:h({outfit:"cloak",hat:"hood",prop:"bow",hair:"none",beard:"none",accessory:"freckles",build:"slim",skin:1,hairColor:"#a8683a",palette:"vert"})},bard:{label:"Bard",jobs:"writer, announcer, copywriter",keywords:["writer","write","copywrit","announce","content","blog","story","poet","寫作","文案","文章","公告"],preset:h({outfit:"tunic",hat:"beret",prop:"lute",hair:"long",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#c0453d",palette:"rose"})},alchemist:{label:"Alchemist",jobs:"data analyst, ETL, transformer",keywords:["analyst","data","etl","transform","convert","spreadsheet","資料","數據","轉換","分析師"],preset:h({outfit:"coat",hat:"goggles",prop:"flask",hair:"curly",beard:"none",accessory:"none",build:"regular",skin:5,hairColor:"#2b2233",palette:"teal"})},healer:{label:"Healer",jobs:"debugger, fixer, support",keywords:["debug","fix","doctor","heal","bug","repair","triage","support","醫","修","除錯","診斷"],preset:h({outfit:"surplice",hat:"coif",prop:"bell",hair:"none",beard:"none",accessory:"none",build:"stout",skin:5,hairColor:"#2b2233",palette:"rose"})},steward:{label:"Steward",jobs:"ops, billing, access keys",keywords:["ops","billing","admin","account","access","finance","invoice","procure","帳務","財務","營運","請款","管理"],preset:h({outfit:"vest",hat:"tallcap",prop:"keys",hair:"short",beard:"mustache",accessory:"none",build:"stout",skin:0,hairColor:"#8a8f9c",palette:"sable"})},navigator:{label:"Navigator",jobs:"planner, routing, roadmap",keywords:["planner","planning","roadmap","route","routing","navigat","itinerary","規劃","路線","導航","行程"],preset:h({outfit:"coat",hat:"tricorn",prop:"map",hair:"ponytail",beard:"none",accessory:"none",build:"slim",skin:2,hairColor:"#6a4a33",palette:"azure"})},seer:{label:"Seer",jobs:"forecaster, monitoring, analytics",keywords:["forecast","monitor","predict","analytics","metric","observab","trend","預測","監控","觀測","趨勢"],preset:h({outfit:"habit",hat:"turban",prop:"telescope",hair:"none",beard:"none",accessory:"none",build:"slim",skin:3,hairColor:"#2b2233",palette:"purpure"})},scribe:{label:"Scribe",jobs:"documentation, notes, minutes",keywords:["document","docs","notes","minutes","transcri","changelog","文件","記錄","紀錄","筆記","會議"],preset:h({outfit:"scholar",hat:"softcap",prop:"quill",hair:"short",beard:"none",accessory:"glasses",build:"regular",skin:1,hairColor:"#3a2f45",palette:"sable"})},engineer:{label:"Engineer",jobs:"devops, infra, CI",keywords:["infra","devops","ci","sre","platform","kubernetes","server","cluster","維運","運維","基礎設施","伺服器"],preset:h({outfit:"overalls",hat:"hardhat",prop:"wrench",hair:"braid",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#2b2233",palette:"amber"})},druid:{label:"Druid",jobs:"cleanup, data hygiene, maintenance",keywords:["cleanup","clean","hygiene","maintenance","garbage","prune","tidy","清理","整理","維護","保養"],preset:h({outfit:"cloak",hat:"wreath",prop:"spade",hair:"long",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#6a4a33",palette:"vert"})},innkeeper:{label:"Innkeeper",jobs:"concierge, onboarding, scheduler",keywords:["concierge","onboard","scheduler","schedule","host","welcome","reception","接待","迎賓","排程","新人"],preset:h({outfit:"chef",hat:"toque",prop:"ladle",hair:"none",beard:"mustache",accessory:"none",build:"stout",skin:2,hairColor:"#2b2233",palette:"gules"})},sentinel:{label:"Sentinel",jobs:"security, on-call, alerts",keywords:["security","alert","incident","oncall","on-call","vulnerab","patrol","資安","安全","告警","警報","值班"],preset:h({outfit:"plate",hat:"kettle",prop:"lantern",hair:"none",beard:"none",accessory:"scar",build:"stout",skin:5,hairColor:"#2b2233",palette:"sable"})},envoy:{label:"Envoy",jobs:"email, partner comms, notifications",keywords:["email","mail","partner","notif","message","outreach","comms","信件","郵件","通知","聯絡"],preset:h({outfit:"tunic",hat:"cavalier",prop:"seal",hair:"bun",beard:"none",accessory:"none",build:"regular",skin:1,hairColor:"#aeb4c3",palette:"purpure"})},rogue:{label:"Rogue",jobs:"pen-tester, auditor, intel",keywords:["pentest","pen-test","penetration","auditor","audit","intel","exploit","osint","滲透","稽核","情報","紅隊"],preset:h({outfit:"cloak",hat:"cowl",prop:"dagger",hair:"none",beard:"none",accessory:"scar",build:"slim",skin:0,hairColor:"#2b2233",palette:"sable"})},monk:{label:"Monk",jobs:"long-running jobs, batch, patience",keywords:["long-running","batch","patient","background","overnight","meditat","cron","長時間","批次","批量","耐心"],preset:h({outfit:"habit",hat:"headband",prop:"beads",hair:"none",beard:"none",accessory:"none",build:"regular",skin:3,hairColor:"#2b2233",palette:"amber"})},falconer:{label:"Falconer",jobs:"retrieval, fetch, RAG lookup",keywords:["retriev","fetch","rag","lookup","vector","embedding","檢索","擷取","抓取","查詢"],preset:h({outfit:"cloak",hat:"fcap",prop:"bird",hair:"short",beard:"goatee",accessory:"none",build:"slim",skin:4,hairColor:"#2b2233",palette:"vert"})},shipwright:{label:"Shipwright",jobs:"release, build pipeline, packaging",keywords:["release","ship","packag","publish","deploy","pipeline","發版","發布","打包","上線","部署"],preset:h({outfit:"sailor",hat:"sailor",prop:"anchor",hair:"short",beard:"goatee",accessory:"none",build:"stout",skin:2,hairColor:"#e0b45a",palette:"azure"})},jester:{label:"Jester",jobs:"brainstorm, ideation, humor",keywords:["brainstorm","ideation","idea","humor","joke","creative","fun","腦力激盪","發想","創意","幽默","點子"],preset:h({outfit:"motley",hat:"jester",prop:"marotte",hair:"none",beard:"none",accessory:"freckles",build:"slim",skin:0,hairColor:"#b0562f",palette:"gules"})},paladin:{label:"Paladin",jobs:"compliance, policy, approvals",keywords:["compliance","policy","approval","approve","govern","legal","ethic","合規","法遵","核准","政策","規範"],preset:h({outfit:"plate",hat:"winghelm",prop:"sword",hair:"none",beard:"none",accessory:"none",build:"regular",skin:5,hairColor:"#2b2233",palette:"amber"})},archivist:{label:"Archivist",jobs:"knowledge base, indexing, memory",keywords:["knowledge","archive","index","memory","wiki","catalog","library","知識","索引","記憶","歸檔","典藏"],preset:h({outfit:"scholar",hat:"none",prop:"tome",hair:"bun",beard:"none",accessory:"glasses",build:"regular",skin:2,hairColor:"#e4e7f0",palette:"teal"})}},Z=se({classes:Be,outfits:D,hats:z,props:q,hair:B,beards:he,accessories:ke,palettes:ie,skins:ze,hairColors:qe}),xt=Object.keys(ie);var le=(e)=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0");function ne(e){let t=(o)=>Number.parseInt(e.slice(o,o+2),16);return[t(1),t(3),t(5)]}function Fe([e,t,o]){return`#${le(e)}${le(t)}${le(o)}`}function R(e,t,o){let r=ne(e),a=ne(t);return Fe([r[0]+(a[0]-r[0])*o,r[1]+(a[1]-r[1])*o,r[2]+(a[2]-r[2])*o])}var F=(e,t)=>R(e,"#ffffff",t),_=(e,t)=>R(e,"#1a1330",t);function ye(e){let[t,o,r]=ne(e).map((a)=>{let i=a/255;return i<=0.03928?i/12.92:((i+0.055)/1.055)**2.4});return 0.2126*t+0.7152*o+0.0722*r}function Xe(e,t){let[o,r]=[ye(e),ye(t)].sort((a,i)=>i-a);return(o+0.05)/(r+0.05)}var Ye={light:"#ffffff",dark:"#0d1018","modern-light":"#ffffff","modern-dark":"#0d1018","camelot-light":"#e3d2a9","camelot-dark":"#243557"};function $e(e,t){let o=Ye[t],r=t.endsWith("light")?"#1a1330":"#ffffff";for(let a=0;a<=20;a++){let i=a===0?e:R(e,r,a/20);if(Xe(i,o)>=3)return i}return r}class ae extends Error{field;constructor(e,t){super(`${e}: ${t}`);this.name="CharacterError",this.field=e}}var Ue=/^#[0-9a-f]{6}$/;function I(e,t){if(typeof e!=="string")throw new ae(t,"must be a #rrggbb color");let o=e.toLowerCase();if(!Ue.test(o))throw new ae(t,"must be a #rrggbb color");return o}function c(e,t,o){let r=e.find((a)=>a===t);if(r===void 0)throw new ae(o,`must be one of ${e.map(String).join(", ")}`);return r}function N(e){if(typeof e!=="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function X(e){for(let[t,o]of Object.entries(Z.palettes))if(o.primary===e.primary&&o.secondary===e.secondary&&o.trim===e.trim)return t;return}function v(e){let t=Z.classes[e].preset;return{v:1,class:e,outfit:t.outfit,hat:t.hat,prop:t.prop,hair:t.hair,beard:t.beard,accessory:t.accessory,build:t.build,skin:t.skin,hairColor:t.hairColor,colors:{...t.colors},...t.palette?{palette:t.palette}:{}}}var Ge=new Set(["class","outfit","hat","prop","hair","beard","accessory","build","skin","hairColor","colors","palette"]),ue=["primary","secondary","trim"];function We(e,t,o){if(t!==void 0){let a=c(Object.keys(Z.palettes),t,"palette");e.colors={...Z.palettes[a]}}if(o!==void 0){if(!N(o))throw new ae("colors","must be an object");for(let i of Object.keys(o))if(!ue.includes(i))throw new ae(`colors.${i}`,"is not a known color");let a={...e.colors};for(let i of ue)if(o[i]!==void 0)a[i]=I(o[i],`colors.${i}`);e.colors=a}let r=X(e.colors);if(r)e.palette=r;else delete e.palette}function _i(e,t){if(!N(e))throw new ae("character","must be an object");for(let a of Object.keys(e))if(!Ge.has(a))throw new ae(a,"is not a known field");let o=e.class===void 0?t?.class:c(Ke,e.class,"class");if(!o)throw new ae("class","is required");let r=t&&t.class===o?{...t,colors:{...t.colors}}:v(o);if(e.outfit!==void 0)r.outfit=c(D,e.outfit,"outfit");if(e.hat!==void 0)r.hat=c(z,e.hat,"hat");if(e.prop!==void 0)r.prop=c(q,e.prop,"prop");if(e.hair!==void 0)r.hair=c(B,e.hair,"hair");if(e.beard!==void 0)r.beard=c(K,e.beard,"beard");if(e.accessory!==void 0)r.accessory=c(W,e.accessory,"accessory");if(e.build!==void 0)r.build=c(V,e.build,"build");if(e.skin!==void 0)r.skin=c(J,e.skin,"skin");if(e.hairColor!==void 0)r.hairColor=I(e.hairColor,"hairColor");return We(r,e.palette,e.colors),r}var ge=new Set(["v","class","outfit","hat","prop","hair","beard","accessory","build","skin","hairColor","colors","palette"]),Je=[...ge].filter((e)=>e!=="palette"),ce=["primary","secondary","trim"];function be(e,t){if(!Object.hasOwn(e,t))throw new ae(t,"is required")}function Zr(e){if(!N(e))throw new ae("character","must be an object");for(let a of Object.keys(e))if(!ge.has(a))throw new ae(a,"is not a known field");for(let a of Je)be(e,a);if(e.v!==1)throw new ae("v","must be 1");let t=e.colors;if(!N(t))throw new ae("colors","must be an object");for(let a of Object.keys(t))if(!ce.includes(a))throw new ae(`colors.${a}`,"is not a known color");for(let a of ce)be(t,a);let o={primary:I(t.primary,"colors.primary"),secondary:I(t.secondary,"colors.secondary"),trim:I(t.trim,"colors.trim")},r=X(o);if(e.palette!==void 0){if(c(Object.keys(Z.palettes),e.palette,"palette")!==r)throw new ae("palette","does not match the colors")}return{v:1,class:c(Ke,e.class,"class"),outfit:c(D,e.outfit,"outfit"),hat:c(z,e.hat,"hat"),prop:c(q,e.prop,"prop"),hair:c(B,e.hair,"hair"),beard:c(K,e.beard,"beard"),accessory:c(W,e.accessory,"accessory"),build:c(V,e.build,"build"),skin:c(J,e.skin,"skin"),hairColor:I(e.hairColor,"hairColor"),colors:o,...r?{palette:r}:{}}}function me(e,t){try{return e()}catch(o){if(o instanceof ae)return t;throw o}}function Hs(e){if(!N(e))return;let t=me(()=>c(Ke,e.class,"class"),void 0);if(!t)return;let o=v(t),r=(i,l)=>{let u=Symbol("none"),d=me(i,u);if(d!==u)l(d)};if(r(()=>c(D,e.outfit,"outfit"),(i)=>{o.outfit=i}),r(()=>c(z,e.hat,"hat"),(i)=>{o.hat=i}),r(()=>c(q,e.prop,"prop"),(i)=>{o.prop=i}),r(()=>c(B,e.hair,"hair"),(i)=>{o.hair=i}),r(()=>c(K,e.beard,"beard"),(i)=>{o.beard=i}),r(()=>c(W,e.accessory,"accessory"),(i)=>{o.accessory=i}),r(()=>c(V,e.build,"build"),(i)=>{o.build=i}),r(()=>c(J,e.skin,"skin"),(i)=>{o.skin=i}),r(()=>I(e.hairColor,"hairColor"),(i)=>{o.hairColor=i}),N(e.colors)){let i=e.colors;for(let l of ce)r(()=>I(i[l],`colors.${l}`),(u)=>{o.colors[l]=u})}let a=X(o.colors);if(a)o.palette=a;else delete o.palette;return o}var ve=new Set(["grin","o","tongue","yawn","tilt"]);function et(e,t){let o=ve.has(e);if(t==="open")return o?e:"o";return o?"smile":e}var tt={neutral:{eye:"open",look:[0,0],bl:[0,0],br:[0,0],mouth:"smile",fx:[]},happy:{eye:"sparkle",look:[0,0],bl:[-2,0],br:[-2,0],mouth:"grin",fx:["blush"]},thinking:{eye:"open",look:[2.2,-2.4],bl:[-0.5,0],br:[-4,-8],mouth:"flatR",fx:["dots"]},concerned:{eye:"open",look:[0,0.6],bl:[-1,-13],br:[-1,-13],mouth:"wobble",fx:[]},apologetic:{eye:"soft",look:[0,0],bl:[-1,-20],br:[-1,-20],mouth:"wobble",fx:["sweat","blush"]},surprised:{eye:"wide",look:[0,0],bl:[-4,-4],br:[-4,4],mouth:"o",fx:["burst"]},proud:{eye:"arc",look:[0,0],bl:[-3,0],br:[-3,0],mouth:"smirk",fx:["sparkle"]},amused:{eye:"xd",look:[0,0],bl:[-2,0],br:[-2,0],mouth:"grin",fx:["tear"]},curious:{eye:"open",look:[2.6,-0.4],bl:[-4,-6],br:[0,0],mouth:"tilt",fx:[],big:1},sympathetic:{eye:"soft",look:[0,1],bl:[-1,-10],br:[-1,-10],mouth:"smileS",fx:["blush"]},playful:{eye:"wink",look:[0,0],bl:[-3,-2],br:[1,0],mouth:"tongue",fx:["blush"]},determined:{eye:"narrow",look:[0,0],bl:[1,15],br:[1,15],mouth:"firm",fx:[]},sleepy:{eye:"closed",look:[0,0],bl:[2,6],br:[2,6],mouth:"yawn",fx:[]}},s=(e)=>+e.toFixed(2),oe={ex:[39,61],ey:52,rx:5.2,ry:6.4,sw:2.5,msw:2.2,bl:8.6,bw:2.2,bdy:-9.8,mx:50,my:64,ms:1,bx:6.5,by:8,br:4,fx:[76,40],fs:1,hw:28,by0:42},P={badge:[17,19],badgeR:9.5,orbit:[50,50,45],zz:[73,28]},ee={eyes:`50px ${oe.ey}px`,badge:`${P.badge[0]}px ${P.badge[1]}px`,orbit:`${P.orbit[0]}px ${P.orbit[1]}px`,character:"50px 94px"},te="#2b2440",de="#ef7b8a";function rt(e,t,o){let{rx:r,ry:a,sw:i}=oe,l=(d=1)=>`<ellipse rx="${s(r*d)}" ry="${s(a*d)}" fill="${o}"/><circle cx="${s(-r*0.3)}" cy="${s(-a*0.36)}" r="${s(r*0.4)}" fill="#fff"/><circle cx="${s(r*0.38)}" cy="${s(a*0.36)}" r="${s(r*0.18)}" fill="#fff"/>`,u=`<path d="M${s(-r*1.05)} ${s(a*0.35)}Q0 ${s(-a*1.15)} ${s(r*1.05)} ${s(a*0.35)}" fill="none" stroke="${o}" stroke-width="${i}" stroke-linecap="round"/>`;switch(e){case"open":return l();case"sparkle":return`${l(1.1)}<circle cx="${s(-r*0.1)}" cy="${s(a*0.5)}" r="${s(r*0.14)}" fill="#fff" opacity=".8"/>`;case"wide":return`<circle r="${s(a*1.12)}" fill="#fff" stroke="${o}" stroke-width="${s(i*0.7)}"/><circle r="${s(a*0.5)}" fill="${o}"/>`;case"arc":return u;case"closed":return`<path d="M${s(-r)} ${s(-a*0.1)}Q0 ${s(a*0.85)} ${s(r)} ${s(-a*0.1)}" fill="none" stroke="${o}" stroke-width="${i}" stroke-linecap="round"/>`;case"soft":return`<path d="M${s(-r)} ${s(-a*0.25)}H${s(r)}A${s(r)} ${s(a*1.05)} 0 0 1 ${s(-r)} ${s(-a*0.25)}Z" fill="${o}"/><circle cx="${s(-r*0.25)}" cy="${s(a*0.25)}" r="${s(r*0.34)}" fill="#fff"/>`;case"narrow":return`<ellipse rx="${s(r*0.98)}" ry="${s(a*0.6)}" fill="${o}"/><circle cx="${s(-r*0.3)}" cy="${s(-a*0.15)}" r="${s(r*0.26)}" fill="#fff"/>`;case"xd":{let d=t?-1:1;return`<path d="M${s(-d*r*0.85)} ${s(-a*0.75)}L${s(d*r*0.6)} 0L${s(-d*r*0.85)} ${s(a*0.75)}" fill="none" stroke="${o}" stroke-width="${i}" stroke-linecap="round" stroke-linejoin="round"/>`}case"wink":return t?u:l()}}function ot(e,t){let o=`fill="none" stroke="${t}" stroke-width="${oe.msw}" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"smile":return`<path d="M-6 0Q0 5 6 0" ${o}/>`;case"smileS":return`<path d="M-4.2 0.4Q0 3.8 4.2 0.4" ${o}/>`;case"grin":return`<path d="M-7 -1Q0 3 7 -1Q5.5 8 0 8Q-5.5 8 -7 -1Z" fill="${t}"/><ellipse cy="6.3" rx="2.9" ry="1.5" fill="${de}"/>`;case"o":return`<ellipse cy="3" rx="2.9" ry="3.5" fill="${t}"/>`;case"flatR":return`<path d="M-3.5 2.4L4.5 0.4" ${o}/>`;case"firm":return`<path d="M-5 1.2H4.2L5.6 -0.4" ${o}/>`;case"wobble":return`<path d="M-6 3.2q1.5 -3 3 0t3 0t3 0t3 0" ${o}/>`;case"smirk":return`<path d="M-6 2.4Q0 4 6.4 -1.6" ${o}/>`;case"tongue":return`<path d="M-6.5 -0.5Q0 4.5 6.5 -0.5Z" fill="${t}"/><path d="M-2.6 2.2Q0 10 2.8 2.4Z" fill="${de}"/>`;case"yawn":return`<ellipse cy="3.4" rx="3.4" ry="4.2" fill="${t}"/><ellipse cy="5.6" rx="2" ry="1.4" fill="${de}"/>`;case"tilt":return`<ellipse cx="3" cy="2" rx="1.9" ry="2.4" fill="${t}"/>`}}var we=(e,t,o,r)=>`<path d="M${e} ${t-o}Q${e+o*0.22} ${t-o*0.22} ${e+o} ${t}Q${e+o*0.22} ${t+o*0.22} ${e} ${t+o}Q${e-o*0.22} ${t+o*0.22} ${e-o} ${t}Q${e-o*0.22} ${t-o*0.22} ${e} ${t-o}Z" fill="${r}"/>`,xe=(e,t,o,r)=>`<path d="M${e} ${t-3.6*o}Q${e+3*o} ${t+0.2*o} ${e} ${t+2.8*o}Q${e-3*o} ${t+0.2*o} ${e} ${t-3.6*o}Z" fill="${r}"/>`;function Me(e,t,o){let r=oe,a=tt[t],i=o===void 0?a.mouth:et(a.mouth,o),[l,u]=a.look,d=(n,f)=>{let T=a.big&&!f;return`<g transform="translate(${s(n+l)} ${s(r.ey+u)})${T?" scale(1.12)":""}">${rt(a.eye,f,e.ink)}</g>`},m=`<g class="eyes">${d(r.ex[0],0)}${d(r.ex[1],1)}</g>`,C=(n,[f,T],E)=>`<path d="M${-r.bl/2} 0H${r.bl/2}" transform="translate(${n} ${s(r.ey+r.bdy+f)}) rotate(${E?-T:T})" stroke="${e.brow}" stroke-width="${r.bw}" stroke-linecap="round" fill="none"/>`,L=`<g class="brows">${C(r.ex[0],a.bl,0)}${C(r.ex[1],a.br,1)}</g>`,O=`<g class="mouth" transform="translate(${r.mx} ${r.my}) scale(${r.ms})">${ot(i,e.ink)}</g>`,[g,x]=r.fx,p=(n)=>`<ellipse cx="${n}" cy="${r.ey+r.by}" rx="${r.br}" ry="${s(r.br*0.62)}" fill="#ff7a8e" opacity=".5"/>`,H={blush:p(r.ex[0]-r.bx)+p(r.ex[1]+r.bx),sweat:xe(g,x,r.fs,"#7fd0ff"),tear:xe(r.ex[1]+r.rx+1.5,r.ey+r.ry*0.9,r.fs*0.8,"#7fd0ff"),sparkle:we(g,x-1,4.4*r.fs,"#ffd84a")+we(g+5*r.fs,x+5*r.fs,2*r.fs,"#fff1a8"),dots:[1,1.5,2.1].map((n,f)=>`<circle cx="${s(g-1+f*4.2*r.fs)}" cy="${s(x-2-f*3.6*r.fs)}" r="${s(n*r.fs)}" fill="${e.dot}"/>`).join(""),burst:[-1,1].map((n)=>`<path d="M${50+n*(r.hw+1)} ${r.by0-3}l${n*4.5} -3M${50+n*(r.hw+2)} ${r.by0+3}l${n*5.5} 0M${50+n*(r.hw+1)} ${r.by0+9}l${n*4.5} 3" stroke="${e.dot}" stroke-width="1.7" stroke-linecap="round"/>`).join("")};return{eyes:m,brows:L,mouth:O,fx:`<g class="fx">${a.fx.map((n)=>H[n]).join("")}</g>`}}function Ce(e,t,o){let[r,a]=P.badge,i=P.badgeR,l=i/8,u=(E,j,A)=>`<g class="ov ${E}"><circle cx="${r}" cy="${a}" r="${i}" fill="${j}" stroke="#fff" stroke-width="1.6"/>${A}</g>`,d=u("o-wait","#f2a81d",`<path d="M${r} ${a-4.2*l}V${a+0.6*l}" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round"/><circle cx="${r}" cy="${s(a+3.6*l)}" r="${s(1.25*l)}" fill="#fff"/>`),m=u("o-done","#2fb36b",`<path d="M${s(r-3.6*l)} ${s(a+0.2*l)}L${s(r-1*l)} ${s(a+3*l)}L${s(r+3.8*l)} ${s(a-2.8*l)}" fill="none" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round" stroke-linejoin="round"/>`),C=u("o-err","#e5484d",`<path d="M${s(r-3*l)} ${s(a-3*l)}L${s(r+3*l)} ${s(a+3*l)}M${s(r+3*l)} ${s(a-3*l)}L${s(r-3*l)} ${s(a+3*l)}" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round"/>`),[L,O,g]=P.orbit,x=`<g class="ov o-think"><circle cx="${L}" cy="${s(O-g)}" r="3.3" fill="${e}" stroke="#fff" stroke-width="1.3"/></g>`,[p,H]=P.zz,n=(E,j,A,G)=>`<path d="M${E} ${j}H${E+A}L${E} ${j+A*1.15}H${E+A}" fill="none" stroke="${t}" stroke-width="${G}" stroke-linecap="round" stroke-linejoin="round"/>`,f=`<g class="ov o-zz">${n(p,H,7,2.2)}${n(p+8,H-9,5,1.8)}</g>`;return`<g class="fg">${o?{thinking:x,waiting:d,done:m,error:C,sleepy:f}[o]??"":x+d+m+C+f}</g>`}var Se={none:()=>({back:"",front:""}),short:(e)=>({back:"",front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),bob:(e)=>({back:`<path d="M19 46C17 66 23 77 33 77H67C77 77 83 66 81 46C78 26 22 26 19 46Z" fill="${e.hr}"/>`,front:`<path d="M23 50C22 28 78 28 77 50C68 38 58 36 50 41C42 36 32 38 23 50Z" fill="${e.hr}"/>`}),long:(e)=>({back:`<path d="M18 48C14 72 20 92 34 92H66C80 92 86 72 82 48C80 26 20 26 18 48Z" fill="${e.hr}"/>`,front:`<path d="M23 52C22 28 78 28 77 52C70 38 62 36 56 38Q44 44 36 46Q28 48 23 52Z" fill="${e.hr}"/>`}),bun:(e)=>({back:`<circle cx="50" cy="21" r="9.5" fill="${e.hr}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),curly:(e)=>({back:"",front:`<g fill="${e.hr}"><circle cx="30" cy="38" r="9"/><circle cx="41" cy="30" r="9.5"/><circle cx="55" cy="29" r="9.5"/><circle cx="68" cy="35" r="9"/><circle cx="23" cy="50" r="6"/><circle cx="77" cy="50" r="6"/></g>`}),ponytail:(e)=>({back:`<path d="M70 40C92 42 94 66 82 76C86 62 80 54 68 52Z" fill="${e.hr}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),braid:(e)=>({back:`<path d="M24 46C14 60 20 76 28 90L34 88C28 76 28 62 32 52Z" fill="${e.hr}"/><circle cx="28" cy="90" r="3.6" fill="${e.p}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`})},Le={full:(e)=>`<path d="M23.4 47C22 59 36 59 50 59.4C64 59 78 59 76.6 47C81 66 66 88 50 91.5C34 88 19 66 23.4 47Z" fill="${e.hr}"/><path d="M50 62V88" stroke="${e.hd}" stroke-width="1.2" opacity=".5"/><path d="M36 60Q50 66 64 60" fill="none" stroke="${e.hd}" stroke-width="1.2" opacity=".5"/>`,mustache:(e)=>`<path d="M38 60C42 54 48 58 50 60C52 58 58 54 62 60C58 62 53 60 50 61.4C47 60 42 62 38 60Z" fill="${e.hr}"/>`,goatee:(e)=>`<path d="M44 68C46 66 54 66 56 68C56 76 52 78 50 78C48 78 44 76 44 68Z" fill="${e.hr}"/>`},Ie={glasses:(e)=>`<g fill="none" stroke="${e.ink}" stroke-width="1.7"><circle cx="39" cy="52" r="8.4"/><circle cx="61" cy="52" r="8.4"/><path d="M47.4 51Q50 49 52.6 51M30.6 50L25 47M69.4 50L75 47"/></g><path d="M33 47L37 45M56 47L60 45" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".7"/>`,freckles:(e)=>`<g fill="${e.kd}"><circle cx="32.5" cy="60" r="1"/><circle cx="36" cy="62" r="1"/><circle cx="39.5" cy="60.4" r="1"/><circle cx="60.5" cy="60.4" r="1"/><circle cx="64" cy="62" r="1"/><circle cx="67.5" cy="60" r="1"/></g>`,scar:(e)=>`<path d="M64 44L70 57M62.4 51H67M65 47.6H69" stroke="${e.kd}" stroke-width="1.5" stroke-linecap="round" opacity=".85"/><path d="M64 44L70 57" stroke="#e9a0a0" stroke-width=".8" opacity=".7"/>`};var k=(e,t,o,r=4.8)=>`<circle cx="${t}" cy="${o}" r="${r}" fill="${e.k}"/>`,M=(e)=>`<path d="M31 94C29 79 35 71 50 71C65 71 71 79 69 94Z" fill="${e}"/>`,w=(e)=>`<ellipse cx="28.5" cy="80" rx="5.2" ry="8" transform="rotate(14 28.5 80)" fill="${e}"/><ellipse cx="71.5" cy="80" rx="5.2" ry="8" transform="rotate(-14 71.5 80)" fill="${e}"/>`,Y=(e,t,o)=>`<path d="M${e} ${t-4}l1.5 3.2 3.5.4-2.6 2.4.7 3.5-3.1-1.8-3.1 1.8.7-3.5-2.6-2.4 3.5-.4z" fill="${o}"/>`,Qe={robe:(e)=>w(e.p)+M(e.p)+`<path d="M30 89H70L69.6 94H30.4Z" fill="${e.t}"/><path d="M31 82.6Q50 87 69 82.6" fill="none" stroke="#8b5a33" stroke-width="2.6"/><path d="M50 83.6V92" stroke="#8b5a33" stroke-width="1.8" stroke-linecap="round"/><circle cx="50" cy="93" r="1.8" fill="${e.t}"/>`+Y(50,77,e.t)+k(e,27,88,4.4),scholar:(e)=>w(e.pd)+M(e.pd)+`<path d="M39 71.5L50 85L61 71.5Z" fill="${e.s}"/><path d="M50 85V94" stroke="${e.t}" stroke-width="1.6"/><path d="M33 88H67" stroke="${e.p}" stroke-width="2.4" opacity=".7"/>`,armor:(e)=>w("#c7cfdd")+M("#c7cfdd")+`<g fill="none" stroke="#9aa5ba" stroke-width=".9" stroke-linecap="round" opacity=".8"><path d="M24 79q2 1.6 4 0t4 0M23.4 84q2 1.6 4 0t4 0M68 79q2 1.6 4 0t4 0M68.6 84q2 1.6 4 0t4 0"/></g><ellipse cx="50" cy="72.6" rx="12.6" ry="3.6" fill="#9aa5ba"/><path d="M37 73L63 73L66.4 94H33.6Z" fill="${e.p}"/><path d="M36 73.4L38.6 73.4L37 76ZM64 73.4L61.4 73.4L63 76Z" fill="#9aa5ba"/><path d="M33.8 89H66.2L66.4 94H33.6Z" fill="${e.t}"/><path d="M34.6 83.6H65.4" stroke="#8b5a33" stroke-width="2.4"/><rect x="47" y="81.8" width="6" height="3.6" rx="1" fill="${e.t}"/><path d="M50 74.6V80M47.4 77H52.6" stroke="${e.t}" stroke-width="2.2" stroke-linecap="round"/><circle cx="31" cy="76" r="5.6" fill="#9aa5ba"/><circle cx="29.6" cy="74.2" r="1.7" fill="#fff" opacity=".6"/><circle cx="69" cy="76" r="5.6" fill="#9aa5ba"/><circle cx="67.6" cy="74.2" r="1.7" fill="#fff" opacity=".6"/>`,plate:(e)=>w("#e6eaf3")+M("#e6eaf3")+`<path d="M44 71H56L58 94H42Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M50 74V92M45 81H55" stroke="${e.p}" stroke-width="3"/><circle cx="31" cy="75.5" r="6.4" fill="${e.t}"/><circle cx="69" cy="75.5" r="6.4" fill="${e.t}"/><circle cx="29.5" cy="73.5" r="2" fill="#fff" opacity=".6"/><circle cx="67.5" cy="73.5" r="2" fill="#fff" opacity=".6"/>`,apron:(e)=>w(e.s)+M(e.s)+'<path d="M38 71H62L66 94H34Z" fill="#a6713f"/><path d="M38 71L42 75M62 71L58 75" stroke="#7a4f27" stroke-width="2"/><rect x="43.5" y="82" width="13" height="8" rx="2" fill="#8d5c30"/><rect x="24" y="85" width="9" height="3" rx="1.5" fill="#8d5c30"/>',chef:(e)=>w("#f6f1e4")+M("#f6f1e4")+`<path d="M33 89H67L68.2 94H31.8Z" fill="${e.s}"/><path d="M42 71.6L50 80L58 71.6" fill="none" stroke="#d6cdb4" stroke-width="1.6"/><path d="M46 74.6L50 78.4L54 74.6" fill="none" stroke="${e.p}" stroke-width="1.4"/><path d="M33 83.4Q50 88 67 83.4" fill="none" stroke="#a6713f" stroke-width="2.6"/><path d="M50 84.4V91.6" stroke="#a6713f" stroke-width="1.8" stroke-linecap="round"/><path d="M24.5 86.4h7M68.5 86.4h7" stroke="#d6cdb4" stroke-width="1.4"/>`,cloak:(e)=>`<path d="M26 79Q50 66 74 79L72 94H28Z" fill="${e.pd}"/>`+w(e.p)+M(e.p)+`<path d="M32 87H68" stroke="#8b5a33" stroke-width="3.2"/><rect x="46" y="84.8" width="8" height="4.4" rx="1.4" fill="${e.t}"/><circle cx="50" cy="72.5" r="2.6" fill="${e.t}"/>`,tunic:(e)=>w(e.p)+M(e.p)+`<path d="M31 83L69 76V82L31 89Z" fill="${e.s}"/><circle cx="44" cy="90" r="1.8" fill="${e.t}"/><circle cx="56" cy="88" r="1.8" fill="${e.t}"/><path d="M37 71.5q3 5 6.3 0t6.4 0t6.3 0t6.3 0V75H37Z" fill="${e.s}"/>`,coat:(e)=>w(e.pd)+M(e.pd)+`<path d="M50 72V94" stroke="${e.ink}" stroke-width="1" opacity=".35"/><path d="M37 71.6Q50 78 63 71.6L64 74.6Q50 81 36 74.6Z" fill="${e.s}"/><circle cx="50" cy="80.4" r="1.7" fill="${e.t}"/><circle cx="50" cy="85.8" r="1.7" fill="${e.t}"/><path d="M32 89.6Q50 93.6 68 89.6" fill="none" stroke="${e.t}" stroke-width="2"/><path d="M24.5 87.4h7M68.5 87.4h7" stroke="${e.t}" stroke-width="1.8"/>`,overalls:(e)=>w("#efe6cf")+M(e.p)+`<path d="M40 71.6L50 76L60 71.6V94H40Z" fill="#efe6cf"/><path d="M50 76V94" stroke="${e.pd}" stroke-width="1" opacity=".6"/><path d="M46.4 78.4h7.2M46.4 83h7.2M46.4 87.6h7.2" stroke="${e.pd}" stroke-width="1.2" stroke-linecap="round"/><path d="M31.4 89Q50 93 68.6 89V94H31.4Z" fill="${e.pd}"/><path d="M33 83.4Q50 87.6 67 83.4" fill="none" stroke="#a6713f" stroke-width="2.4"/><rect x="46.6" y="81.4" width="6.8" height="4.2" rx="1" fill="${e.t}"/>`,vest:(e)=>w(e.s)+M(e.p)+`<path d="M38 71.5L50 94H36ZM62 71.5L50 94H64Z" fill="${e.s}" opacity="0"/><path d="M50 72V94" stroke="${e.ink}" stroke-width="1" opacity=".35"/><path d="M36.6 73.6Q50 80 63.4 73.6" fill="none" stroke="${e.t}" stroke-width="1.4"/><circle cx="50" cy="80.6" r="1.6" fill="${e.t}"/><circle cx="50" cy="86.4" r="1.6" fill="${e.t}"/><path d="M38 72Q35 84 50 90Q65 84 62 72" fill="none" stroke="${e.t}" stroke-width="1.8" stroke-linecap="round"/><circle cx="50" cy="90.4" r="2.4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,habit:(e)=>w(e.p)+`<path d="M29 94C27 78 35 71 50 71C65 71 73 78 71 94Z" fill="${e.p}"/><path d="M40 71.5L50 82L60 71.5" fill="none" stroke="${e.s}" stroke-width="3.2" stroke-linejoin="round"/><path d="M29 87H71" stroke="${e.s}" stroke-width="3"/><circle cx="50" cy="87" r="2" fill="${e.t}"/>`,surplice:(e)=>w(e.s)+M(e.s)+`<path d="M46 74H54V79H59V85H54V93H46V85H41V79H46Z" fill="${e.p}"/><path d="M31 90H69" stroke="${e.sd}" stroke-width="2"/>`,motley:(e)=>w(e.p)+M(e.p)+`<path d="M50 71C65 71 71 79 69 94H50Z" fill="${e.s}"/><path d="M71.5 72A8 8 0 0 1 71.5 88Z" fill="${e.s}" opacity="0"/><path d="M41 82L50 90L59 82L50 74Z" fill="${e.t}" opacity=".9"/><path d="M36 71.5q3 5 6.5 0t7.5 0t7.5 0t6.5 0V75H36Z" fill="${e.t}"/>`,sailor:(e)=>w(e.s)+M(e.s)+`<path d="M40 71.6L50 79L60 71.6" fill="none" stroke="${e.pd}" stroke-width="2.2" stroke-linejoin="round"/><path d="M45 73.6L55 73.6M46.4 76.4L53.6 76.4" stroke="${e.pd}" stroke-width="1.1" stroke-linecap="round"/><path d="M31 83.4Q50 88 69 83.4" fill="none" stroke="#d8c38c" stroke-width="3" stroke-linecap="round" stroke-dasharray="3.4 1.6"/><path d="M50 85V92" stroke="#d8c38c" stroke-width="2.2" stroke-linecap="round"/><path d="M31 89.6Q50 93.6 69 89.6V94H31Z" fill="${e.p}"/><rect x="55.6" y="75.6" width="6" height="5.4" rx="1" fill="${e.p}" opacity=".85"/>`};var pe="#c7cfdd",U="#9aa5ba",He={none:()=>"",wizard:(e)=>`<path d="M30 31C32 20 42 11 60 3C57 13 62 22 70 31Z" fill="${e.p}"/><path d="M30 31C32 20 42 11 60 3" fill="none" stroke="#fff" stroke-width="1.6" opacity=".35"/><ellipse cx="50" cy="30" rx="37" ry="7.6" fill="${e.pd}"/><path d="M30.6 27.6Q50 33 69.4 27.6L70 31Q50 36.5 30 31Z" fill="${e.t}"/>`+Y(49,16,e.t),helm:(e)=>`<path d="M50 24C42 6 66 -1 80 12C68 9 60 15 57 25Z" fill="${e.p}"/><path d="M23 47C21 23 79 23 77 47L72 39Q50 31 28 39Z" fill="${pe}"/><path d="M26 36Q50 24 74 36" fill="none" stroke="#fff" stroke-width="2" opacity=".55"/><path d="M28 39Q50 31 72 39" fill="none" stroke="${e.t}" stroke-width="3"/><circle cx="50" cy="26.5" r="3.4" fill="${e.t}"/>`,mortar:(e)=>`<path d="M30 29L33 13Q50 8 67 13L70 29Q50 34 30 29Z" fill="${e.p}"/><path d="M41 10.6L39 30.4M50 9.2V32M59 10.6L61 30.4" fill="none" stroke="${e.pd}" stroke-width="2" stroke-linecap="round"/><path d="M27.6 29.4Q50 36 72.4 29.4V36.6Q50 43.4 27.6 36.6Z" fill="${e.pd}"/><path d="M28 33Q50 39.6 72 33" fill="none" stroke="${e.t}" stroke-width="1.6" opacity=".9"/><circle cx="50" cy="8.2" r="3.2" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,goggcap:(e)=>`<path d="M22.4 42Q20.4 53 24.4 61Q29 59.6 30 52L30.4 42Z" fill="${e.pd}"/><path d="M77.6 42Q79.6 53 75.6 61Q71 59.6 70 52L69.6 42Z" fill="${e.pd}"/><path d="M24.4 61l-1 4.4M75.6 61l1 4.4" stroke="${e.t}" stroke-width="1.4" stroke-linecap="round"/><path d="M23 42C22 20 78 20 77 42Q50 33 23 42Z" fill="${e.p}"/><path d="M50 25V34.6" fill="none" stroke="${e.pd}" stroke-width="1.6" opacity=".6"/><path d="M22.4 38.5Q50 29.5 77.6 38.5L77 43.5Q50 34.5 23 43.5Z" fill="${e.pd}"/><circle cx="36.5" cy="37.8" r="1.4" fill="${e.t}"/><circle cx="50" cy="36.4" r="1.4" fill="${e.t}"/><circle cx="63.5" cy="37.8" r="1.4" fill="${e.t}"/>`,hood:(e)=>`<path d="M21 53C20 26 80 26 79 53C76 40 66 33.5 50 33.5C34 33.5 24 40 21 53Z" fill="${e.p}"/><path d="M21 53C20 26 80 26 79 53" fill="none" stroke="${e.pd}" stroke-width="2"/><path d="M70 33Q90 24 93 8Q76 12 66 30Z" fill="${e.t}"/><path d="M72 29Q84 20 91 10" fill="none" stroke="${e.td}" stroke-width="1.2"/>`,beret:(e)=>`<path d="M27 36C20 14 56 6 70 16C84 26 80 36 74 40Q50 33 27 36Z" fill="${e.p}"/><path d="M60 12C70 10 76 14 74 18" fill="none" stroke="${e.pd}" stroke-width="1.6" stroke-linecap="round"/><path d="M22 38C22 30 78 30 78 38C78 47 66 43 50 43C34 43 22 47 22 38Z" fill="${e.pd}"/><path d="M26 38.4Q50 33 74 38.4" fill="none" stroke="${e.t}" stroke-width="1.6" stroke-dasharray="2.6 2.2" stroke-linecap="round"/><path d="M71 17C88 22 93 42 88 66L83 64C86 46 80 34 70 26Z" fill="${e.p}" stroke="${e.pd}" stroke-width="1"/><circle cx="85.4" cy="67" r="2.6" fill="${e.t}"/>`,goggles:(e)=>`<path d="M23 42C22 26 40 15 55 12C62 9 66 13 61 17C73 23 78 32 77 42Q50 33 23 42Z" fill="${e.p}"/><path d="M36 30Q50 21 62 24" fill="none" stroke="${e.pd}" stroke-width="1.6" stroke-linecap="round" opacity=".6"/><path d="M22.4 38.5Q50 29.5 77.6 38.5L77 43.5Q50 34.5 23 43.5Z" fill="${e.pl}"/><circle cx="50" cy="36.6" r="1.8" fill="${e.t}"/>`,coif:(e)=>`<path d="M19 55C17 22 83 22 81 55C77 38 65 32 50 32C35 32 23 38 19 55Z" fill="#fff" stroke="#d9deeb" stroke-width="1.2"/><path d="M24 44Q50 30 76 44" fill="none" stroke="${e.t}" stroke-width="2.4"/><path d="M48.4 18H51.6V23H56.4V26H51.6V32H48.4V26H43.6V23H48.4Z" fill="${e.p}" transform="translate(0 4)"/>`,tallcap:(e)=>`<path d="M31 38L36 12Q50 4 64 12L69 38Z" fill="${e.pd}"/><path d="M40 12Q50 8 60 12" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".3"/><path d="M28 39C28 32 72 32 72 39C72 45 28 45 28 39Z" fill="${e.pl}" stroke="${e.p}" stroke-width="1.2"/><path d="M33 38l2.4 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2" fill="none" stroke="${e.p}" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" opacity=".7"/><circle cx="62" cy="35" r="2.8" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><path d="M62 33Q74 20 80 8Q77 24 65 36Z" fill="${e.s}" stroke="${e.sd}" stroke-width="1"/>`,tricorn:(e)=>`<path d="M7 38Q50 24 93 38Q50 49 7 38Z" fill="${e.pd}"/><path d="M28 37C26 14 74 14 72 37Q50 31 28 37Z" fill="${e.p}"/><path d="M27.4 34.6Q50 41 72.6 34.6" fill="none" stroke="${e.t}" stroke-width="2.4"/><path d="M50 36C41 36 40 26 42 23.6Q46 21 50 20.4Q54 21 58 23.6C60 26 59 36 50 36Z" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><path d="M50 35V21M45.6 34L43.6 25M54.4 34L56.4 25" fill="none" stroke="${e.td}" stroke-width="1"/>`,turban:(e)=>`<path d="M21 46C19 18 81 18 79 46C70 34 30 34 21 46Z" fill="${e.pl}"/><path d="M26 38Q50 22 74 38M23 44Q50 28 77 44" fill="none" stroke="${e.p}" stroke-width="2.4"/><path d="M50 22l2.6 4 4.6.6-3.4 3.2.9 4.6-4.7-2.4-4.7 2.4.9-4.6-3.4-3.2 4.6-.6z" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,softcap:(e)=>`<path d="M25 38C14 24 28 12 50 12C72 12 86 24 75 38Z" fill="${e.pl}"/><path d="M33 22Q50 14 67 22" fill="none" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round" opacity=".55"/><path d="M22 37Q50 27 78 37V44Q50 34 22 44Z" fill="${e.p}"/><path d="M25 38.6Q50 29.6 75 38.6" fill="none" stroke="${e.t}" stroke-width="1.4" stroke-dasharray="2.4 2" stroke-linecap="round"/><circle cx="50" cy="12.4" r="2.4" fill="${e.p}"/>`,hardhat:(e)=>`<path d="M25 40C23 10 77 10 75 40Z" fill="${pe}" stroke="${U}" stroke-width="1.4"/><path d="M50 12V37" fill="none" stroke="${U}" stroke-width="2.4"/><path d="M30 25Q36 17 44 15" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" opacity=".7"/><rect x="21.6" y="34.4" width="56.8" height="6" rx="3" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="34" cy="37.4" r="1.3" fill="${U}"/><circle cx="50" cy="37.4" r="1.3" fill="${U}"/><circle cx="66" cy="37.4" r="1.3" fill="${U}"/>`,wreath:(e)=>`<g fill="#4fae6c"><ellipse cx="28" cy="40" rx="6" ry="3.2" transform="rotate(60 28 40)"/><ellipse cx="31" cy="31" rx="6" ry="3.2" transform="rotate(30 31 31)"/><ellipse cx="40" cy="26" rx="6" ry="3.2" transform="rotate(8 40 26)"/><ellipse cx="50" cy="24" rx="6" ry="3.2"/><ellipse cx="60" cy="26" rx="6" ry="3.2" transform="rotate(-8 60 26)"/><ellipse cx="69" cy="31" rx="6" ry="3.2" transform="rotate(-30 69 31)"/><ellipse cx="72" cy="40" rx="6" ry="3.2" transform="rotate(-60 72 40)"/></g><g fill="#2f8a50"><ellipse cx="36" cy="28" rx="5" ry="2.6" transform="rotate(-20 36 28)"/><ellipse cx="64" cy="28" rx="5" ry="2.6" transform="rotate(20 64 28)"/></g><circle cx="50" cy="24" r="2.6" fill="${e.p}"/><circle cx="31" cy="32" r="2.2" fill="${e.t}"/><circle cx="69" cy="32" r="2.2" fill="${e.t}"/>`,toque:(e)=>`<path d="M26 40C22 26 34 17 50 17C66 17 78 26 74 40Z" fill="#fff" stroke="#d9deeb" stroke-width="1.2"/><path d="M36 22Q50 16 64 22M31 31Q50 24 69 31" fill="none" stroke="#e1e5f0" stroke-width="1.4" stroke-linecap="round"/><path d="M23 38Q50 29 77 38Q79 44 73 44Q50 36 27 44Q21 44 23 38Z" fill="#f3f5fb" stroke="#d9deeb" stroke-width="1.2"/><path d="M74 38Q86 38 88 48M75 41Q82 50 79 58" fill="none" stroke="#d9deeb" stroke-width="2.2" stroke-linecap="round"/><circle cx="50" cy="17.4" r="1.8" fill="${e.p}"/>`,kettle:(e)=>`<path d="M28 33C28 8 72 8 72 33Z" fill="${pe}"/><ellipse cx="50" cy="33" rx="38" ry="6.4" fill="${U}"/><path d="M34 22Q50 12 66 22" fill="none" stroke="#fff" stroke-width="2" opacity=".5"/><circle cx="50" cy="17" r="2.4" fill="${e.t}"/><path d="M28 27H72" stroke="${e.p}" stroke-width="3"/>`,cavalier:(e)=>`<path d="M63 18Q82 2 94 6Q91 26 72 30Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.4"/><path d="M66 21Q80 10 92 7" fill="none" stroke="${e.t}" stroke-width="1"/><path d="M31 36C28 12 72 12 69 36Z" fill="${e.p}"/><path d="M21 38Q23 29 31 33Q50 40 69 33Q77 29 79 38Q50 47 21 38Z" fill="${e.pd}"/><path d="M30.4 32.4Q50 38.4 69.6 32.4" fill="none" stroke="${e.t}" stroke-width="2.2"/><circle cx="62" cy="33" r="2.6" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,cowl:(e)=>`<path d="M19 54C16 30 38 14 58 3C58 18 82 32 81 54C75 41 63 34 50 34C37 34 25 41 19 54Z" fill="${e.pd}"/><path d="M26 44Q50 30 74 44" fill="none" stroke="${e.ink}" stroke-width="2" opacity=".3"/>`,headband:(e)=>`<path d="M22 39Q50 29 78 39V44.5Q50 34.5 22 44.5Z" fill="${e.p}"/><path d="M76 40Q86 38 90 46M76 42Q88 46 88 56" fill="none" stroke="${e.p}" stroke-width="3.2" stroke-linecap="round"/><circle cx="50" cy="31.5" r="2.4" fill="${e.t}"/>`,fcap:(e)=>`<path d="M28 37C27 15 71 11 73 36Z" fill="${e.pd}"/><path d="M60 24Q78 22 94 8Q87 29 70 35Z" fill="${e.s}" stroke="${e.td}" stroke-width="1.2"/><path d="M62 27Q79 22 92 10" fill="none" stroke="${e.td}" stroke-width="1"/><path d="M14 33Q50 26 86 33Q76 42 50 41Q24 42 14 33Z" fill="${e.p}"/><path d="M28 33Q50 38 72 33" fill="none" stroke="${e.t}" stroke-width="1.8"/>`,sailor:(e)=>`<path d="M9 37Q50 26 91 37Q50 49 9 37Z" fill="#e8d194" stroke="#c9a867" stroke-width="1.2"/><path d="M29 36C27 15 73 15 71 36Q50 31 29 36Z" fill="#f2e0a8"/><path d="M29.4 33.2Q50 38.4 70.6 33.2" fill="none" stroke="${e.p}" stroke-width="3.4"/><path d="M36 22Q50 17 64 22M33 28Q50 22 67 28" fill="none" stroke="#d9c07a" stroke-width="1.2" stroke-linecap="round"/><path d="M14 37.6Q50 44 86 37.6" fill="none" stroke="#c9a867" stroke-width="1" opacity=".7"/>`,jester:(e)=>`<path d="M26 40C14 30 12 14 18 6C28 16 32 26 42 33Z" fill="${e.p}"/><path d="M74 40C86 30 88 14 82 6C72 16 68 26 58 33Z" fill="${e.s}" stroke="${e.sd}" stroke-width="1"/><path d="M26 40C26 28 74 28 74 40Q50 34 26 40Z" fill="${e.pd}"/><circle cx="18" cy="6" r="4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="82" cy="6" r="4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="50" cy="31" r="3.4" fill="${e.t}"/>`,winghelm:(e)=>`<path d="M24 36Q6 31 3 14Q18 14 30 27Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M76 36Q94 31 97 14Q82 14 70 27Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M23 47C21 23 79 23 77 47L72 39Q50 31 28 39Z" fill="#e6eaf3"/><path d="M28 39Q50 31 72 39" fill="none" stroke="${e.t}" stroke-width="3"/><path d="M26 36Q50 24 74 36" fill="none" stroke="#fff" stroke-width="2" opacity=".7"/><path d="M50 26l2.4 4.4 4.8.8-3.4 3.4.8 4.8-4.6-2.2-4.6 2.2.8-4.8-3.4-3.4 4.8-.8z" fill="${e.t}" transform="translate(0 -1)"/>`};var S="#8b5a33",at="#a6713f",y=(e)=>e,Ee={staff:"73px 82px",shield:"27px 82px",scroll:"76px 76px",hammer:"79px 84px",bow:"78px 70px",lute:"75px 70px",flask:"73px 66px",quill:"72px 82px",tome:"78px 76px",bell:"76px 62px",keys:"78px 62px",map:"77px 58px",telescope:"76px 74px",wrench:"78px 86px",spade:"76px 60px",ladle:"78px 78px",lantern:"76px 62px",seal:"76px 66px",dagger:"78px 86px",beads:"78px 62px",bird:"78px 76px",anchor:"76px 76px",marotte:"76px 62px",sword:"76px 82px"},Oe={staff:(e)=>y(`<circle class="glow" cx="73" cy="15" r="13" fill="${e.gl}"/><path d="M73 15V92" stroke="${S}" stroke-width="4.2" stroke-linecap="round"/><circle cx="73" cy="14" r="6.4" fill="${e.gl}" stroke="${e.t}" stroke-width="2"/><circle cx="71" cy="12" r="1.8" fill="#fff" opacity=".85"/>${k(e,73,82)}`),shield:(e)=>y(`<path class="glow" d="M17 70H37V80Q37 89 27 93.5Q17 89 17 80Z" fill="none" stroke="${e.gl}" stroke-width="6"/><path d="M17 70H37V80Q37 89 27 93.5Q17 89 17 80Z" fill="${e.s}" stroke="${e.t}" stroke-width="2"/><path d="M17 70H27V93.5Q17 89 17 80Z" fill="${e.p}"/>`+Y(27,79,e.t)),scroll:(e)=>y(`<g transform="rotate(-16 76 74)"><path class="glow" d="M76 38l2.4 5.4 5.7.6-4.3 3.9 1.2 5.7-5-2.9-5 2.9 1.2-5.7-4.3-3.9 5.7-.6z" fill="${e.t}"/><rect x="69.5" y="56" width="13" height="30" rx="2" fill="#fbefd0" stroke="#c9a867" stroke-width="1.2"/><ellipse cx="76" cy="56" rx="7.4" ry="2.8" fill="#f1d99b" stroke="#c9a867" stroke-width="1.2"/><ellipse cx="76" cy="86" rx="7.4" ry="2.8" fill="#f1d99b" stroke="#c9a867" stroke-width="1.2"/><path d="M72.5 63H79.5M72.5 68H79.5M72.5 73H77" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round"/></g>${k(e,75.5,74,4.6)}`),hammer:(e)=>y(`<path class="glow" d="M89 49l1.8 4 4.2.4-3.2 2.9.9 4.2-3.7-2.2-3.7 2.2.9-4.2-3.2-2.9 4.2-.4z" fill="${e.t}"/><path d="M78 95L82 70" stroke="${S}" stroke-width="4.4" stroke-linecap="round"/><g transform="rotate(8 81 66)"><rect x="68" y="59" width="26" height="14" rx="3.4" fill="#aab3c5" stroke="#7d879b" stroke-width="1.4"/><rect x="68" y="59" width="7" height="14" rx="3" fill="#8b95a9"/><path d="M73 61.4H90" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".6"/></g>${k(e,79.4,85)}`),bow:(e)=>y(`<circle class="glow" cx="94" cy="70" r="8" fill="${e.gl}"/><path d="M74 40Q98 68 74 96" fill="none" stroke="${S}" stroke-width="4.2" stroke-linecap="round"/><path d="M74 40V96" stroke="#9aa5ba" stroke-width="1" opacity=".9"/><path d="M66 70H94" stroke="${S}" stroke-width="1.8" stroke-linecap="round"/><path d="M93 66.5L99 70L93 73.5Z" fill="${e.t}"/><path d="M66 70l-3.4-3M66 70l-3.4 3" stroke="${e.p}" stroke-width="1.8" stroke-linecap="round"/>${k(e,78,70)}`),lute:(e)=>y(`<g transform="rotate(18 76 80)"><path d="M74.2 70V44" stroke="${S}" stroke-width="3.8"/><rect x="72.6" y="38" width="6.4" height="8" rx="1.6" fill="#6d4426"/><ellipse cx="76" cy="82" rx="11.4" ry="12.6" fill="#cd8b4a" stroke="#9a5f2c" stroke-width="1.6"/><circle cx="76" cy="82" r="3.6" fill="${e.ink}"/><path d="M74.8 46V88M77.2 46V88" stroke="#fff" stroke-width=".8" opacity=".85"/></g><g class="glow"><circle cx="89" cy="54" r="2.8" fill="${e.gl}"/><path d="M91.5 54V41q4.2 1 4.4 6" fill="none" stroke="${e.gl}" stroke-width="2" stroke-linecap="round"/></g>${k(e,75,68,4.6)}`),flask:(e)=>y(`<circle class="glow" cx="73.5" cy="78" r="17" fill="${e.gl}"/><rect x="70" y="56" width="7" height="12" fill="#eaf7fb" stroke="#9fc9d8" stroke-width="1.4"/><rect x="69" y="51.5" width="9" height="5.6" rx="1.6" fill="#b7773f"/><circle cx="73.5" cy="78" r="12.4" fill="#eaf7fb" stroke="#9fc9d8" stroke-width="1.6"/><path d="M61.4 77Q73.5 72.6 85.6 77A12.2 12.2 0 0 1 61.4 77Z" fill="${e.gl}"/><circle cx="70" cy="80" r="1.8" fill="#fff" opacity=".8"/><circle cx="76.5" cy="83.5" r="1.2" fill="#fff" opacity=".8"/>${k(e,73.5,64)}`),quill:(e)=>y(`<circle class="glow" cx="92" cy="30" r="8" fill="${e.t}"/><path d="M70 88C70 62 80 40 92 30C95 50 86 72 70 88Z" fill="${e.s}" stroke="${e.td}" stroke-width="1.3"/><path d="M70 88Q80 58 92 30" fill="none" stroke="${e.td}" stroke-width="1.5"/><path d="M80 52Q86 54 89 48M77 62Q84 63 88 57" fill="none" stroke="${e.sd}" stroke-width="1.3"/><path d="M70 88l-3 5" stroke="${e.ink}" stroke-width="2" stroke-linecap="round"/>${k(e,72.4,80)}`),tome:(e)=>y(`<circle class="glow" cx="80" cy="60" r="9" fill="${e.t}"/><g transform="rotate(-12 78 76)"><rect x="65" y="63" width="25" height="24" rx="2.4" fill="${e.pd}" stroke="${e.ink}" stroke-width="1" stroke-opacity=".3"/><rect x="67.4" y="65.4" width="20" height="19" rx="1.4" fill="none" stroke="${e.t}" stroke-width="1.2"/><path d="M90 66V84" stroke="#f8efd6" stroke-width="3"/><rect x="72" y="71" width="9" height="7" rx="1.4" fill="${e.t}"/></g>${k(e,66,80,4.4)}`),bell:(e)=>y(`<g class="glow"><path d="M90 66q4 6 0 12M94 62q7 10 0 20" fill="none" stroke="${e.gl}" stroke-width="2" stroke-linecap="round"/></g><path d="M66 85C70 83 69 68 76 66C83 68 82 83 86 85Z" fill="${e.t}" stroke="${e.td}" stroke-width="1.4" stroke-linejoin="round"/><circle cx="76" cy="87.6" r="2.4" fill="${e.td}"/><rect x="73.4" y="60" width="5.2" height="6.4" rx="1.6" fill="${S}"/>${k(e,76,60,4.4)}`),keys:(e)=>y(`<circle class="glow" cx="79" cy="80" r="14" fill="${e.t}"/><circle cx="78" cy="62" r="5.6" fill="none" stroke="${e.t}" stroke-width="2.6"/><path d="M82 66L90 88M90 88L93 87M87 82L90 81" fill="none" stroke="${e.t}" stroke-width="2.6" stroke-linecap="round"/><path d="M74 66L70 84M70 84L73 85M71 78L74 78" fill="none" stroke="${e.td}" stroke-width="2.6" stroke-linecap="round"/>${k(e,78,62,4.4)}`),map:(e)=>y(`<circle class="glow" cx="81" cy="76" r="8" fill="${e.p}"/><rect x="66" y="58" width="24" height="29" rx="2" fill="#f3e2b5" stroke="#c9a867" stroke-width="1.3"/><path d="M70 66Q78 62 82 70T86 80M70 82L74 76" fill="none" stroke="#8ec7d8" stroke-width="2" stroke-linecap="round" stroke-dasharray="3 2.4"/><path d="M81 71.4l1.4 3.6 3.6 1.4-3.6 1.4-1.4 3.6-1.4-3.6-3.6-1.4 3.6-1.4z" fill="${e.p}"/>${k(e,78,58,4.4)}`),telescope:(e)=>y(`<circle class="glow" cx="76" cy="72" r="17" fill="${e.gl}"/><circle cx="76" cy="54.6" r="3.6" fill="none" stroke="${e.td}" stroke-width="2"/><path d="M73 57.4Q76 60 79 57.4" fill="none" stroke="${e.t}" stroke-width="2.4"/><circle cx="76" cy="72" r="13.4" fill="${e.t}" stroke="${e.td}" stroke-width="1.6"/><circle cx="76" cy="72" r="10" fill="#fbefd0" stroke="${e.td}" stroke-width="1"/><path d="M66 72H86M76 62V82" stroke="${e.td}" stroke-width="1.2"/><circle cx="76" cy="72" r="5.6" fill="none" stroke="${e.td}" stroke-width="1"/><path d="M70 66.6L82 77.4" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round"/><circle cx="82" cy="65.6" r="1.8" fill="${e.p}"/>${k(e,76,57,4.4)}`),wrench:(e)=>y(`<path class="glow" d="M90 52l1.6 3.6 3.8.4-2.8 2.6.8 3.8-3.4-2-3.4 2 .8-3.8-2.8-2.6 3.8-.4z" fill="${e.t}"/><path d="M79 60L71 93M79 60L87 91" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/><path d="M79 60L71 93M79 60L87 91" stroke="#fff" stroke-width="1" stroke-linecap="round" opacity=".5"/><path d="M71 93l-.8 2.2M87 91l.8 2.2" stroke="#7d879b" stroke-width="1.6" stroke-linecap="round"/><path d="M73.4 81Q79 85 84.6 81" fill="none" stroke="#7d879b" stroke-width="1.6" stroke-linecap="round"/><circle cx="79" cy="60" r="3.4" fill="${e.t}" stroke="${e.td}" stroke-width="1.2"/>${k(e,79,63.4,4.4)}`),spade:(e)=>y(`<g class="glow"><ellipse cx="88" cy="62" rx="4.4" ry="2.4" transform="rotate(-30 88 62)" fill="#4fae6c"/><ellipse cx="91" cy="70" rx="4" ry="2.2" transform="rotate(20 91 70)" fill="#4fae6c"/></g><path d="M76 92V56" stroke="${S}" stroke-width="4" stroke-linecap="round"/><path d="M70 56H82" stroke="${S}" stroke-width="3.4" stroke-linecap="round"/><path d="M69.5 78H82.5V88Q76 97 69.5 88Z" fill="#aab3c5" stroke="#7d879b" stroke-width="1.3" stroke-linejoin="round"/>${k(e,76,59)}`),ladle:(e)=>y(`<g class="glow"><path d="M88 48q-3-4 0-8M93 50q-3-4 0-8" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round"/></g><path d="M74 94L82 62" stroke="${S}" stroke-width="4" stroke-linecap="round"/><path d="M73 58H93A10 8 0 0 1 73 58Z" fill="#aab3c5" stroke="#7d879b" stroke-width="1.3" stroke-linejoin="round" transform="rotate(-14 83 58)"/><ellipse cx="83" cy="57" rx="8" ry="2" fill="#c97b3a" transform="rotate(-14 83 57)"/>${k(e,76.4,82)}`),lantern:(e)=>y(`<circle class="glow" cx="77" cy="78" r="20" fill="#ffd84a"/><path d="M69 66Q77 52 85 66" fill="none" stroke="${e.td}" stroke-width="2.2"/><rect x="69" y="66" width="16" height="4" rx="1.6" fill="${e.t}"/><rect x="70.4" y="70" width="13.2" height="16" fill="#fff3c2" stroke="${e.td}" stroke-width="1.4"/><path d="M77 73Q81 78 77 83Q73 78 77 73Z" fill="#ffa63a"/><rect x="69" y="86" width="16" height="4" rx="1.6" fill="${e.t}"/>${k(e,77,60,4.4)}`),seal:(e)=>y(`<circle class="glow" cx="79" cy="78" r="9" fill="${e.p}"/><g transform="rotate(-10 78 74)"><rect x="66" y="64" width="26" height="18" rx="2" fill="#fff7e6" stroke="#d3bd8e" stroke-width="1.2"/><path d="M66 65L79 75L92 65" fill="none" stroke="#d3bd8e" stroke-width="1.2"/><circle cx="79" cy="75" r="4.6" fill="${e.p}" stroke="${e.pd}" stroke-width="1"/>${Y(79,75,e.t).replace('d="M','transform="scale(.6) translate(52 50)" d="M')}</g>${k(e,70,82,4.4)}`),dagger:(e)=>y(`<path class="glow" d="M78 50V80" stroke="#fff" stroke-width="5" stroke-linecap="round"/><path d="M78 52L82.4 78H73.6Z" fill="#dfe5f0" stroke="#9aa5ba" stroke-width="1.2" stroke-linejoin="round"/><path d="M78 56V76" stroke="#fff" stroke-width="1.2" opacity=".7"/><rect x="71" y="78" width="14" height="3.4" rx="1.6" fill="${e.t}"/><rect x="76.4" y="81" width="3.2" height="8" fill="${S}"/>${k(e,78,86)}`),beads:(e)=>y(`<g class="glow"><circle cx="78" cy="78" r="12" fill="${e.t}"/></g><g fill="${e.t}" stroke="${e.td}" stroke-width="1"><circle cx="78" cy="66" r="2.4"/><circle cx="84.4" cy="68.4" r="2.4"/><circle cx="87" cy="75" r="2.4"/><circle cx="85.6" cy="82" r="2.4"/><circle cx="80.4" cy="86.6" r="2.4"/><circle cx="73.6" cy="86.6" r="2.4"/><circle cx="68.4" cy="82" r="2.4"/><circle cx="67" cy="75" r="2.4"/><circle cx="71.6" cy="68.4" r="2.4"/></g>${k(e,78,62,4.4)}`),bird:(e)=>y(`<circle class="glow" cx="88" cy="55" r="8" fill="${e.t}"/><ellipse cx="80" cy="64" rx="9" ry="6.4" transform="rotate(-24 80 64)" fill="#8a6a4a"/><path d="M72 70L66 76L76 70Z" fill="#6f5338"/><path d="M76 66Q82 64 86 66Q82 70 78 70Z" fill="#f1e2c4"/><circle cx="87" cy="56" r="5" fill="#8a6a4a"/><path d="M91 55L96 57L91 59Z" fill="${e.t}"/><circle cx="88" cy="55" r="1.3" fill="${e.ink}"/><path d="M78 70V75" stroke="${e.t}" stroke-width="2"/><circle cx="78" cy="79" r="6.2" fill="${at}" stroke="#7a4f27" stroke-width="1.2"/>`),anchor:(e)=>y(`<path class="glow" d="M76 54l2 4.4 4.8.5-3.6 3.2 1 4.7-4.2-2.4-4.2 2.4 1-4.7-3.6-3.2 4.8-.5z" fill="${e.t}" transform="translate(11 -4)"/><circle cx="76" cy="58" r="3.4" fill="none" stroke="#aab3c5" stroke-width="2.4"/><path d="M76 61.4V90M69.6 66H82.4M65 82Q76 98 87 82" fill="none" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/><path d="M65 82L63 86M87 82L89 86" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/>${k(e,76,74)}`),marotte:(e)=>y(`<g class="glow"><circle cx="66" cy="40" r="3" fill="${e.t}"/><circle cx="86" cy="40" r="3" fill="${e.t}"/></g><path d="M76 94V52" stroke="${S}" stroke-width="4" stroke-linecap="round"/><circle cx="76" cy="46" r="7" fill="${e.k}" stroke="${e.kd}" stroke-width="1"/><path d="M70 42Q64 36 66 40Q68 42 71 44ZM82 42Q88 36 86 40Q84 42 81 44Z" fill="${e.p}"/><path d="M69 42C64 38 62 36 66 40ZM83 42C88 38 90 36 86 40Z" fill="none"/><circle cx="74" cy="46" r="1" fill="${e.ink}"/><circle cx="78" cy="46" r="1" fill="${e.ink}"/><path d="M73.4 49Q76 51.4 78.6 49" fill="none" stroke="${e.ink}" stroke-width="1" stroke-linecap="round"/>${k(e,76,62,4.4)}`),sword:(e)=>y(`<path class="glow" d="M76 20V76" stroke="#fff" stroke-width="8" stroke-linecap="round"/><path d="M76 17L80.4 24V76H71.6V24Z" fill="#e1e7f2" stroke="#9aa5ba" stroke-width="1.2" stroke-linejoin="round"/><path d="M76 24V74" stroke="#fff" stroke-width="1.4" opacity=".8"/><rect x="67" y="76" width="18" height="4" rx="2" fill="${e.t}"/><rect x="74.4" y="80" width="3.6" height="8" fill="${S}"/><circle cx="76.2" cy="90" r="2.4" fill="${e.t}"/>${k(e,76.2,83)}`)};var Ae=6,js=Object.freeze(["#fbebe0","#f8e1d2","#f5d8c5","#f1cfb8","#edc6ac","#e9bf9f"]);function Wr(e,t="skins"){if(!Array.isArray(e)||e.length!==Ae)throw new ae(t,`must be a list of exactly ${Ae} #rrggbb colors`);return Object.freeze(Array.from(e,(o,r)=>I(o,`${t}[${r}]`)))}var st=["modern-light","modern-dark","camelot-light","camelot-dark"],it=["disc","shield"],lt=["open","closed"],nt=/^[a-z0-9]{1,16}$/,Ze=200,Re=4096,ct={"modern-light":{bg:(e)=>F(e,0.8),ring:(e)=>e,width:3,line:null},"modern-dark":{bg:(e)=>R(e,"#0d1018",0.68),ring:(e)=>F(e,0.15),width:3,line:null},"camelot-light":{bg:(e)=>R("#f2e6c6",e,0.1),ring:()=>"#b98a2c",width:4.2,line:"#8a5f12"},"camelot-dark":{bg:(e)=>R("#16224c",e,0.16),ring:()=>"#e6b94c",width:4.2,line:"#ffe08a"}},Te="M12 14H88V50Q88 78 50 97Q12 78 12 50Z",dt="#e5484d";function pt(e){return e.replace(/[&<>"'=()]/g,(t)=>`&#${t.charCodeAt(0)};`).replace(/href/gi,(t)=>`${t[0]}&#${t.charCodeAt(1)};${t.slice(2)}`)}function ft(e,t,o,r){let{primary:a,secondary:i,trim:l}=e.colors,u=r[e.skin];return{tones:{p:a,pd:_(a,0.3),pl:F(a,0.35),pll:F(a,0.65),s:i,sd:_(i,0.16),t:l,td:_(l,0.3),k:u,kd:_(u,0.12),hr:e.hairColor,hd:_(e.hairColor,0.2),ink:te,gl:F(a,0.5)},bg:t.bg(a),ring:o?dt:t.ring(a)}}function Q(e,t,o=""){return t?`<g class="${e}" data-part="${e}"${o}>${t}</g>`:""}function Ks(e,t={}){let o=Zr(e),r=t.state===void 0?void 0:c(Kt,t.state,"state"),a=c(Fr,t.expr??Gr[r??"idle"],"expr"),i=c(st,t.look??"modern-light","look"),l=c(it,t.frame??"disc","frame"),u=t.mouth===void 0?void 0:c(lt,t.mouth,"mouth"),d=t.uid??"a";if(typeof d!=="string"||!nt.test(d))throw new ae("uid","must match /^[a-z0-9]{1,16}$/");let{size:m,label:C}=t;if(m!==void 0&&!(Number.isInteger(m)&&m>=1&&m<=Re))throw new ae("size",`must be an integer up to ${Re}`);if(C!==void 0&&(typeof C!=="string"||C.length>Ze))throw new ae("label",`must be text of at most ${Ze} characters`);let L=t.skins===void 0?Z.skins:Wr(t.skins,"skins"),O=t.bare===!0,g=t.still===!0,x=ct[i],{tones:p,bg:H,ring:n}=ft(o,x,r==="error",L),f=Me({ink:te,brow:R(o.hairColor,te,0.5),dot:R(p.p,te,0.1)},a,u),T=Se[o.hair](p),E=o.hat==="hood"?`<path d="M17 62C12 22 88 22 83 62C81 72 72 77 66 78H34C28 77 19 72 17 62Z" fill="${p.pd}"/>`:"",j=Qe[o.outfit](p),A={slim:0.8,regular:1,stout:1.3}[o.build],G=A===1?j:`<g transform="translate(${+(50-50*A).toFixed(2)} 0) scale(${A} 1)">${j}</g>`,fe=G;if(!O)fe=l==="shield"?`<g clip-path="url(#as${d})">${G}</g>`:`<clipPath id="ad${d}"><circle cx="50" cy="50" r="44.6"/></clipPath><g clip-path="url(#ad${d})">${G}</g>`;let re=x.line,_e=l==="shield"?`<clipPath id="as${d}"><path d="${Te}"/></clipPath><path d="${Te}" fill="${H}" stroke="${n}" stroke-width="${x.width}" stroke-linejoin="round" class="ring"/>${re?`<path d="M16.5 18.5H83.5V50Q83.5 74 50 91.6Q16.5 74 16.5 50Z" fill="none" stroke="${re}" stroke-width=".9" opacity=".55"/>`:""}`:`<circle cx="50" cy="50" r="46.4" fill="${H}" stroke="${n}" stroke-width="${x.width}" class="ring"/>${re?`<circle cx="50" cy="50" r="40.6" fill="none" stroke="${re}" stroke-width=".9" opacity=".55"/>`:""}<ellipse cx="50" cy="93" rx="19" ry="2.6" fill="#000" opacity=".12"/>`,Ne=`<circle cx="22.6" cy="54" r="4.2" fill="${p.k}"/><circle cx="77.4" cy="54" r="4.2" fill="${p.k}"/><ellipse cx="50" cy="51" rx="28" ry="26" fill="${p.k}"/><path d="M23 58Q50 88 77 58Q77 76 50 77Q23 76 23 58Z" fill="${p.kd}" opacity=".3"/><ellipse cx="50" cy="58.4" rx="1.7" ry="1.2" fill="${p.kd}"/>`+T.front+(o.beard==="none"?"":Le[o.beard](p)),De=(O?"":Q("frame",_e))+'<g class="ch">'+Q("back",T.back+E)+Q("body",fe)+Q("head",Ne)+Q("hat",He[o.hat](p))+Q("eyes-brows",f.eyes+f.brows)+Q("mouth",f.mouth)+Q("fx",f.fx)+Q("acc",o.accessory==="none"?"":Ie[o.accessory](p))+Q("prop",Oe[o.prop](p),` data-prop="${o.prop}"`)+"</g>"+Q("state",Ce(p.p,_(p.p,0.1),g?r??"idle":null));return`<svg ${['xmlns="http://www.w3.org/2000/svg"','viewBox="0 0 100 100"',m===void 0?"":`width="${m}" height="${m}"`,`class="${g?"av static":"av"}"`,r===void 0&&!g?"":`data-state="${r??"idle"}"`,`data-expr="${a}"`,C===void 0?'aria-hidden="true"':`role="img" aria-label="${pt(C)}"`].filter(Boolean).join(" ")}>${De}</svg>`.replace(/class="glow"/g,'class="glow" opacity=".3"')}function Js(e,t){return $e(e.colors.primary,t)}var b=(e)=>`:is(.av,.av-host)[data-state=${e}]`;function ea(){let e=Object.entries(Ee).map(([t,o])=>`.av [data-prop=${t}]{transform-origin:${o}}`).join(`
2
+ `);return`/* Generated from src/characters/css.ts by scripts/build-character-css.ts; do not edit. */
3
+ /* State motion for composed characters. Put data-state on the <svg class="av"> or on an .av-host around it. */
4
+ .av{overflow:visible}
5
+ .av .ov{opacity:0}
6
+ .av .glow{opacity:.28}
7
+ .av .ch,.av .prop,.av .eyes,.av .ov{transform-box:view-box}
8
+ .av .ch{transform-origin:${ee.character}}
9
+ .av .eyes{transform-origin:${ee.eyes};animation:av-blink 5.2s infinite}
10
+ .av .o-wait,.av .o-done,.av .o-err{transform-origin:${ee.badge}}
11
+ .av .o-think{transform-origin:${ee.orbit}}
12
+ ${e}
13
+ ${b("idle")} .ch{animation:av-breathe 3.8s ease-in-out infinite}
14
+ ${b("thinking")} .ch{animation:av-tilt 3.2s ease-in-out infinite}
15
+ ${b("thinking")} .o-think{opacity:1;animation:av-orbit 2.6s linear infinite}
16
+ ${b("working")} .ch{animation:av-bob .56s ease-in-out infinite}
17
+ ${b("working")} .prop{animation:av-sweep .56s ease-in-out infinite alternate}
18
+ ${b("working")} .glow{animation:av-glow .56s ease-in-out infinite alternate}
19
+ ${b("waiting")} .ch{animation:av-lean 1.6s ease-in-out infinite}
20
+ ${b("waiting")} .o-wait{opacity:1;animation:av-badge 1.2s ease-in-out infinite}
21
+ ${b("waiting")} .glow{animation:av-glow 1.2s ease-in-out infinite alternate}
22
+ ${b("done")} .ch{animation:av-pop .7s cubic-bezier(.3,1.6,.5,1) 1}
23
+ ${b("done")} .o-done{opacity:1;animation:av-badge-in .5s ease-out 1}
24
+ ${b("done")} .glow{opacity:.7}
25
+ ${b("error")} .ch{animation:av-shake .5s ease-in-out 2}
26
+ ${b("error")} .o-err{opacity:1;animation:av-badge-in .3s ease-out 1}
27
+ ${b("error")} .ring{stroke:#e5484d}
28
+ ${b("error")} .glow{opacity:0}
29
+ ${b("sleepy")} .ch{animation:av-breathe 6s ease-in-out infinite}
30
+ ${b("sleepy")} .o-zz{opacity:1;animation:av-float 3s ease-in-out infinite}
31
+ ${b("sleepy")} .glow{opacity:.08}
32
+ @keyframes av-blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.08)}}
33
+ @keyframes av-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,1.03)}}
34
+ @keyframes av-tilt{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
35
+ @keyframes av-orbit{to{transform:rotate(360deg)}}
36
+ @keyframes av-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.4px)}}
37
+ @keyframes av-sweep{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}
38
+ @keyframes av-glow{from{opacity:.2}to{opacity:.85}}
39
+ @keyframes av-lean{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(-6deg) translateY(1px)}}
40
+ @keyframes av-badge{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
41
+ @keyframes av-badge-in{from{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}
42
+ @keyframes av-pop{0%{transform:scale(1)}40%{transform:scale(1.1,.94)}70%{transform:scale(.97,1.05)}100%{transform:scale(1)}}
43
+ @keyframes av-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-2.4px)}40%{transform:translateX(2.4px)}60%{transform:translateX(-1.6px)}80%{transform:translateX(1.6px)}}
44
+ @keyframes av-float{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:1}}
45
+ @media (prefers-reduced-motion:reduce){.av *{animation:none!important}.av .o-think{opacity:0!important}}
46
+ .av.static *{animation:none!important}
47
+ `}var Pe=3,ht=1,kt=600,yt=/^[ -~]+$/,$t=3;function je(e){let t=2166136261;for(let o=0;o<e.length;o++)t^=e.charCodeAt(o),t=Math.imul(t,16777619)>>>0;return t>>>0}var ut=(e)=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function bt(e){let t=e.toLowerCase();if(!yt.test(t))return(r)=>r.includes(t);let o=new RegExp(`(?<![a-z0-9])${ut(t)}${t.length<=$t?"(?![a-z0-9])":""}`);return(r)=>o.test(r)}var mt=Object.fromEntries(Ke.map((e)=>[e,Z.classes[e].keywords.map(bt)]));function gt(e,t){let o=0;for(let r of mt[e])for(let[a,i]of t)if(r(a))o+=i;return o}var Ve=(e,t)=>e%t;function wn(e,t=[]){let o=je(e.name),r=[[e.displayName.toLowerCase(),Pe],[e.name.toLowerCase(),Pe],[e.prompt.slice(0,kt).toLowerCase(),ht]],a=0,i=[];for(let n of Ke){let f=gt(n,r);if(f>a)a=f,i=[n];else if(f===a&&f>0)i.push(n)}let l=a>0?i:[...Ke],u=new Set(t.map((n)=>n.class)),d=l.filter((n)=>!u.has(n)),m=d.length>0?d:l,C=m[Ve(o,m.length)],L=v(C);L.skin=o%6,L.build=V[je(`build:${e.name}`)%3];let O=Object.keys(Z.palettes),g=new Map(O.map((n)=>[n,0]));for(let n of t){let f=n.palette??X(n.colors);if(f)g.set(f,(g.get(f)??0)+1)}let x=Math.min(...g.values()),p=O.filter((n)=>g.get(n)===x),H=p[Ve(o,p.length)];return L.colors={...Z.palettes[H]},L.palette=H,L}export{Ke,Fr,Kt,Gr,Z,ae,_i,Zr,Hs,js,Wr,Ks,Js,ea,wn};
@@ -0,0 +1,2 @@
1
+ import{o,r,d,J}from"./chunk-index-cn49mawx.js";function ve(u,e){let{version:s}=J(),[t,i]=r({data:void 0,error:void 0,subject:e});return o(()=>{let n=!0;return u().then((a)=>{if(n)i({data:a,error:void 0,subject:e})},(a)=>{if(n)i((f)=>({data:f.subject===e?f.data:void 0,error:d(a),subject:e}))}),()=>{n=!1}},[e,s]),t.subject===e?{data:t.data,error:t.error}:{data:void 0,error:void 0}}
2
+ export{ve};
@@ -1,2 +1,2 @@
1
- import{y,V}from"./chunk-index-2e4am3hw.js";var t={unread:{},reads:{},cursor:{},cards:{},rooms:{},lists:{},pages:{}},{emit:R,use:b,subscribe:Hr}=V();function s(e){t={...t,...e},R()}var Ae=(e)=>b(()=>e(t)),jr=(e)=>t.unread[e]??0,Kr=()=>Object.values(t.unread).reduce((e,r)=>e+r,0);function Jr(){return Object.fromEntries(Object.entries(t.unread).filter(([,e])=>e>0))}var d=[],eo=d,to=d;function l(e,r){return e.kind!=="system"&&e.id!==0&&(e.principalId===void 0||e.principalId!==r)}var f=(e)=>y.getState().focus===e&&document.visibilityState==="visible";function nn(e){let r={...t.unread};for(let[o,n]of Object.entries(e))r[o]=n;s({unread:r})}var p=new WeakSet;function g(){let e;for(let[r,o]of Object.entries(y.getState().rooms)){let n=o.view;if(!n||p.has(n))continue;p.add(n),e??={...t.unread},e[r]=n.unread??0}if(e)s({unread:e})}y.subscribe(g);g();function nr(e,r,o){let n={};if(r)n.reads={...t.reads,[e]:r};if(o!==void 0&&o>(t.cursor[e]??0))n.cursor={...t.cursor,[e]:o};if(n.reads||n.cursor)s(n)}function no(e,r){s({cards:{...t.cards,[e]:r}})}var i=(e,r)=>({...e,[r]:(e[r]??0)+1});function zs(e){switch(e.type){case"message":case"host_message":{let r=y.getState().principal?.id;if(!l(e.message,r)||f(e.room))return;s({unread:{...t.unread,[e.room]:(t.unread[e.room]??0)+1}});return}case"read":{let{room:r,principal:o,upTo:n}=e;if(o===y.getState().principal?.id){let a=(y.getState().rooms[r]?.messages??[]).filter((u)=>u.id>n&&l(u,o)).length;s({unread:{...t.unread,[r]:a},cursor:{...t.cursor,[r]:Math.max(n,t.cursor[r]??0)}});return}let m=(t.reads[r]??d).filter((a)=>a.principal!==o),c=t.reads[r]?.find((a)=>a.principal===o);if(c&&c.upTo>=n)return;s({reads:{...t.reads,[r]:[...m,{principal:o,name:e.name,upTo:n,at:e.at}]}});return}case"host_card":{let r=(t.cards[e.room]??d).filter((o)=>o.id!==e.card.id);s({cards:{...t.cards,[e.room]:[...r,e.card].sort((o,n)=>o.at<n.at?-1:o.at>n.at?1:0)}});return}case"room_changed":s({rooms:i(t.rooms,e.room)});return;case"list_changed":s({lists:i(t.lists,e.kind)});return;case"page_changed":s({pages:i(t.pages,e.page)});return;default:return}}
2
- export{Hr,Ae,jr,Kr,Jr,eo,to,nn,nr,no,zs};
1
+ import{O,M}from"./chunk-index-cn49mawx.js";var t={unread:{},reads:{},cursor:{},cards:{},rooms:{},lists:{},pages:{}},{emit:R,use:b,subscribe:ho}=M();function s(e){t={...t,...e},R()}var Ie=(e)=>b(()=>e(t)),po=(e)=>t.unread[e]??0,mo=()=>Object.values(t.unread).reduce((e,r)=>e+r,0);function go(){return Object.fromEntries(Object.entries(t.unread).filter(([,e])=>e>0))}var d=[],Oo=d,yo=d;function l(e,r){return e.kind!=="system"&&e.id!==0&&(e.principalId===void 0||e.principalId!==r)}var f=(e)=>O.getState().focus===e&&document.visibilityState==="visible";function on(e){let r={...t.unread};for(let[o,n]of Object.entries(e))r[o]=n;s({unread:r})}var p=new WeakSet;function g(){let e;for(let[r,o]of Object.entries(O.getState().rooms)){let n=o.view;if(!n||p.has(n))continue;p.add(n),e??={...t.unread},e[r]=n.unread??0}if(e)s({unread:e})}O.subscribe(g);g();function ur(e,r,o){let n={};if(r)n.reads={...t.reads,[e]:r};if(o!==void 0&&o>(t.cursor[e]??0))n.cursor={...t.cursor,[e]:o};if(n.reads||n.cursor)s(n)}function bo(e,r){s({cards:{...t.cards,[e]:r}})}var i=(e,r)=>({...e,[r]:(e[r]??0)+1});function Oa(e){switch(e.type){case"message":case"host_message":{let r=O.getState().principal?.id;if(!l(e.message,r)||f(e.room))return;s({unread:{...t.unread,[e.room]:(t.unread[e.room]??0)+1}});return}case"read":{let{room:r,principal:o,upTo:n}=e;if(o===O.getState().principal?.id){let a=(O.getState().rooms[r]?.messages??[]).filter((u)=>u.id>n&&l(u,o)).length;s({unread:{...t.unread,[r]:a},cursor:{...t.cursor,[r]:Math.max(n,t.cursor[r]??0)}});return}let m=(t.reads[r]??d).filter((a)=>a.principal!==o),c=t.reads[r]?.find((a)=>a.principal===o);if(c&&c.upTo>=n)return;s({reads:{...t.reads,[r]:[...m,{principal:o,name:e.name,upTo:n,at:e.at}]}});return}case"host_card":{let r=(t.cards[e.room]??d).filter((o)=>o.id!==e.card.id);s({cards:{...t.cards,[e.room]:[...r,e.card].sort((o,n)=>o.at<n.at?-1:o.at>n.at?1:0)}});return}case"room_changed":s({rooms:i(t.rooms,e.room)});return;case"list_changed":s({lists:i(t.lists,e.kind)});return;case"page_changed":s({pages:i(t.pages,e.page)});return;default:return}}
2
+ export{ho,Ie,po,mo,go,Oo,yo,on,ur,bo,Oa};
@@ -0,0 +1,2 @@
1
+ import{Pe,I,O,M}from"./chunk-index-cn49mawx.js";var{emit:i,use:s}=M(),o=!1,n;function cn(t){return t.cardOrder.flatMap((e)=>{let r=t.cards[e];return r&&!r.outcome?[{id:e,card:r}]:[]})}function oa(){let t=cn(O.getState()),[e]=t;if(t.length===1&&e)Bi(e.id);else if(t.length>1)o=!0,i()}function qi(){if(!o)return;o=!1,i()}var Rr=()=>s(()=>o);function Bi(t){let e=O.getState().cards[t];if(!e)return;o=!1,n=t,i(),I("room",e.room)}var Cr=()=>s(()=>n);function Er(t){if(n!==t)return;n=void 0,i()}var fi=(t,e)=>[...t?.querySelectorAll("[data-card]")??[]].find((r)=>r.dataset.card===e),c=1600;function Fi(t,e){let r=fi(t,e);if(!r)return!1;r.scrollIntoView?.({block:"center",behavior:Pe()?"auto":"smooth"});let a=r.querySelector(".prompt")??r;return a.tabIndex=-1,a.focus({preventScroll:!0}),r.dataset.lit="",setTimeout(()=>delete r.dataset.lit,c),!0}
2
+ export{cn,oa,qi,Rr,Bi,Cr,Er,fi,Fi};
@@ -0,0 +1,2 @@
1
+ import{Wn}from"./chunk-index-1af8vsyb.js";var f=12;function m(r,e){let t=r.find((u)=>e>=u.top&&e<=u.bottom);if(t)return t;let n,o=f+1;for(let u of r){let i=e<u.top?u.top-e:e-u.bottom;if(i<o)n=u,o=i}return n}function d(r,e,t){for(let n of r)if(n.key!==e&&n.top+n.height/2>t)return n.key;return null}function hs(r,e,t){let n=m(r,t);return n?{zone:n,before:d(n.items,e,t)}:void 0}function ps(r,e,t){let{zone:n,before:o}=t;if(n.kind==="rest")return r.kind==="rest"?void 0:{kind:"unplace"};if(n.kind==="pinned"&&r.kind==="pinned"||n.kind==="folder"&&r.kind==="folder"&&r.folder===n.folder){let i=r.siblings;if(Wn(i,e,o).every((s,l)=>s===i[l]))return}return n.kind==="pinned"?{kind:"pin",before:o}:{kind:"folder",folder:n.folder,before:o}}function ms(r,e,t,n){if(n<e.top-f*3||n>e.bottom+f*3)return;return{before:d(r,t,n)}}function to(r,e,t,n=0){let o=(r[e]?.height??0)+n;return r.map((u,i)=>{if(i===e)return 0;if(e<t&&i>e&&i<=t)return-o;if(e>t&&i>=t&&i<e)return o;return 0})}function no(r,e,t){return Wn(r,e,t).indexOf(e)}function gs(r,e,t,n=64,o=18){if(r<e+n)return-Math.min(1,(e+n-r)/n)*o;if(r>t-n)return Math.min(1,(r-(t-n))/n)*o;return 0}var Os=600;
2
+ export{hs,ps,ms,to,no,gs,Os};
@@ -1,2 +1,2 @@
1
- import{t}from"./chunk-index-2e4am3hw.js";function En(e){if(e.builtin==="link")return t("Link your {name} account",{name:e.label});if(e.builtin==="push")return t("Turn on notifications");return e.label}function sn(e){if(e.help)return e.help;if(e.builtin==="link")return t("Prove which account is yours, so the app knows who you are there.");if(e.builtin==="push")return t("So that you hear when something needs you, even when the app is closed.");return""}
2
- export{En,sn};
1
+ import{t}from"./chunk-index-cn49mawx.js";function Nn(e){if(e.builtin==="link")return t("Link your {name} account",{name:e.label});if(e.builtin==="push")return t("Turn on notifications");return e.label}function un(e){if(e.help)return e.help;if(e.builtin==="link")return t("Prove which account is yours, so the app knows who you are there.");if(e.builtin==="push")return t("So that you hear when something needs you, even when the app is closed.");return""}
2
+ export{Nn,un};
@@ -1,2 +1,2 @@
1
- import{X,s,a,t,e,n,o,Le}from"./chunk-index-2e4am3hw.js";var C=96,S=0.6,T=220,N=()=>typeof matchMedia==="function"&&matchMedia("(max-width: 719px)").matches;function L(i){let u=a(null),g=a(void 0),{open:h,onClose:P}=i,E=a(i.restoreFocus);E.current=i.restoreFocus;let m=a(!1),p=a(!1),M=X(()=>{let r=u.current;if(r?.open)r.close();if(E.current?.()?.focus(),m.current=!1,p.current)p.current=!1;else P()},[P]),d=X(()=>{let r=u.current;if(!r||m.current)return;if(m.current=!0,Le()){M();return}r.dataset.state="closing",r.style.removeProperty("transform"),setTimeout(M,T)},[M]);s(()=>{let r=u.current;if(!r)return;if(h&&!r.open)r.dataset.state="opening",r.showModal(),requestAnimationFrame(()=>requestAnimationFrame(()=>{r.dataset.state="open"}));if(!h&&r.open&&!m.current)p.current=!0,d()},[h,d]);let b=(r)=>{if(!N())return;if(r.target instanceof Element&&r.target.closest("button, a"))return;g.current={y:r.clientY,at:r.timeStamp,dy:0},r.currentTarget.setPointerCapture(r.pointerId);let c=u.current;if(c)c.dataset.dragging="true"},v=(r)=>{let c=g.current,l=u.current;if(!c||!l)return;let f=Math.max(0,r.clientY-c.y);c.dy=f,l.style.transform=`translate3d(0, ${f}px, 0)`,l.style.setProperty("--sheet-progress",String(1-Math.min(1,f/400)))},y=(r)=>{let c=g.current,l=u.current;if(g.current=void 0,!c||!l)return;delete l.dataset.dragging;let f=c.dy/Math.max(1,r.timeStamp-c.at);if(c.dy>C||f>S){d();return}l.style.removeProperty("transform"),l.style.removeProperty("--sheet-progress")};return n("dialog",{ref:u,className:i.variant==="palette"?"sheet palette":i.size==="wide"?"sheet wide":i.size==="full"?"sheet full":"sheet","aria-label":i.title,onCancel:(r)=>{if(r.target!==r.currentTarget)return;r.preventDefault(),d()},onClick:(r)=>{if(r.target===r.currentTarget)d()},onClose:(r)=>{if(r.target!==r.currentTarget)return;if(!m.current)P()},children:[e("div",{className:"sheet-grab",onPointerDown:b,onPointerMove:v,onPointerUp:y,onPointerCancel:y,children:e("span",{className:"sheet-handle"})}),i.variant==="palette"?null:n("div",{className:"sheet-head",onPointerDown:b,onPointerMove:v,onPointerUp:y,onPointerCancel:y,children:[e("h2",{title:i.title,children:i.title}),e("button",{type:"button",className:"icon-button","aria-label":t("Close"),onClick:d,children:e(o,{name:"close"})})]}),e("div",{className:"sheet-body",children:h?i.children:null})]})}
2
- export{L};
1
+ import{A,o,a,t,e,n,s,Pe}from"./chunk-index-cn49mawx.js";var C=96,S=0.6,T=220,N=()=>typeof matchMedia==="function"&&matchMedia("(max-width: 719px)").matches;function R(i){let u=a(null),g=a(void 0),{open:h,onClose:P}=i,E=a(i.restoreFocus);E.current=i.restoreFocus;let m=a(!1),p=a(!1),M=A(()=>{let r=u.current;if(r?.open)r.close();if(E.current?.()?.focus(),m.current=!1,p.current)p.current=!1;else P()},[P]),d=A(()=>{let r=u.current;if(!r||m.current)return;if(m.current=!0,Pe()){M();return}r.dataset.state="closing",r.style.removeProperty("transform"),setTimeout(M,T)},[M]);o(()=>{let r=u.current;if(!r)return;if(h&&!r.open)r.dataset.state="opening",r.showModal(),requestAnimationFrame(()=>requestAnimationFrame(()=>{r.dataset.state="open"}));if(!h&&r.open&&!m.current)p.current=!0,d()},[h,d]);let b=(r)=>{if(!N())return;if(r.target instanceof Element&&r.target.closest("button, a"))return;g.current={y:r.clientY,at:r.timeStamp,dy:0},r.currentTarget.setPointerCapture(r.pointerId);let c=u.current;if(c)c.dataset.dragging="true"},v=(r)=>{let c=g.current,l=u.current;if(!c||!l)return;let f=Math.max(0,r.clientY-c.y);c.dy=f,l.style.transform=`translate3d(0, ${f}px, 0)`,l.style.setProperty("--sheet-progress",String(1-Math.min(1,f/400)))},y=(r)=>{let c=g.current,l=u.current;if(g.current=void 0,!c||!l)return;delete l.dataset.dragging;let f=c.dy/Math.max(1,r.timeStamp-c.at);if(c.dy>C||f>S){d();return}l.style.removeProperty("transform"),l.style.removeProperty("--sheet-progress")};return n("dialog",{ref:u,className:i.variant==="palette"?"sheet palette":i.size==="wide"?"sheet wide":i.size==="full"?"sheet full":"sheet","aria-label":i.title,onCancel:(r)=>{if(r.target!==r.currentTarget)return;r.preventDefault(),d()},onClick:(r)=>{if(r.target===r.currentTarget)d()},onClose:(r)=>{if(r.target!==r.currentTarget)return;if(!m.current)P()},children:[e("div",{className:"sheet-grab",onPointerDown:b,onPointerMove:v,onPointerUp:y,onPointerCancel:y,children:e("span",{className:"sheet-handle"})}),i.variant==="palette"?null:n("div",{className:"sheet-head",onPointerDown:b,onPointerMove:v,onPointerUp:y,onPointerCancel:y,children:[e("h2",{title:i.title,children:i.title}),e("button",{type:"button",className:"icon-button","aria-label":t("Close"),onClick:d,children:e(s,{name:"close"})})]}),e("div",{className:"sheet-body",children:h?i.children:null})]})}
2
+ export{R};
@@ -1,2 +1,2 @@
1
- import{e,n}from"./chunk-index-2e4am3hw.js";function Ut(l){return n("fieldset",{className:"field",children:[e("legend",{children:l.label}),e("div",{className:"option-chips",children:l.options.map((a)=>e("button",{type:"button","aria-pressed":a.value===l.value,className:"option-chip",onClick:()=>l.onChange(a.value),children:a.label},a.value))})]})}
2
- export{Ut};
1
+ import{e,n}from"./chunk-index-cn49mawx.js";function qt(l){return n("fieldset",{className:"field",children:[e("legend",{children:l.label}),e("div",{className:"option-chips",children:l.options.map((a)=>e("button",{type:"button","aria-pressed":a.value===l.value,className:"option-chip",onClick:()=>l.onChange(a.value),children:a.label},a.value))})]})}
2
+ export{qt};
@@ -0,0 +1,2 @@
1
+ import{O,h,d,f}from"./chunk-index-cn49mawx.js";import{ps}from"./chunk-index-h9ccz1r3.js";import{vo,Pn}from"./chunk-index-bef0fc2m.js";import{tt,Bs,Fs,Gs,Zs,Ws}from"./chunk-index-1af8vsyb.js";import{Xt}from"./chunk-index-20xgx0k2.js";var n={createFolder:(e)=>h("folders",{method:"POST",body:JSON.stringify({name:e})}),changeFolder:(e,t)=>h(`folders/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),deleteFolder:(e)=>h(`folders/${encodeURIComponent(e)}`,{method:"DELETE"}),muteFolder:(e,t)=>h(`folders/${encodeURIComponent(e)}/mute`,{method:"PUT",body:JSON.stringify({muted:t})}),placeRoom:(e,t,o)=>h(`rooms/${encodeURIComponent(e)}/folder`,{method:"PUT",body:JSON.stringify({folder:t,before:o})}),pinRoom:(e,t,o)=>h(`rooms/${encodeURIComponent(e)}/pin`,{method:"PUT",body:JSON.stringify({pinned:t,before:o})})};var a=(e)=>f(e,"danger"),l=(e)=>O.dispatch({type:"layout_loaded",pins:e.pins,folders:e.folders});async function i(e,t,o=a){let r=vo();try{l(e(r))}catch{}try{let s=await t();return l(s),s}catch(s){l(r),O.dispatch({type:"changed"}),o(d(s));return}}var fs=(e,t,o=null)=>i((r)=>Ws(r,e,t,o),()=>n.pinRoom(e,t,o)),Jt=(e,t,o=null)=>i((r)=>Zs(r,e,t,o),()=>n.placeRoom(e,t,o));function lr(e,t){let o=Xt(Pn(),e);if(o.kind==="rest")return;let r=tt(o.siblings,e,t);if(!r)return;return o.kind==="pinned"?fs(e,!0,r.before):Jt(e,o.folder,r.before)}async function Kr(e,t=a){try{let o=await n.createFolder(e);return l(o),o.folders.at(-1)?.id}catch(o){t(d(o));return}}var Jr=(e,t,o)=>i((r)=>Bs(r,e,t),()=>n.changeFolder(e,{name:t}),o),ta=(e,t)=>i((o)=>Fs(o,e,t),()=>n.changeFolder(e,{before:t}));function sa(e,t){let o=tt(vo().folders.map((r)=>r.id),e,t);return o?ta(e,o.before):void 0}var eo=(e,t)=>i((o)=>Gs(o,e),()=>n.deleteFolder(e),t);async function aa(e,t){try{let o=await n.muteFolder(e,t);for(let r of o.rooms)O.dispatch({type:"room_muted",room:r,muted:o.muted});return!0}catch(o){return a(d(o)),!1}}function la(e,t){let o=ps(Xt(Pn(),e),e,t);if(!o)return;if(o.kind==="pin")return fs(e,!0,o.before);if(o.kind==="folder")return Jt(e,o.folder,o.before);return Jt(e,null)}
2
+ export{fs,Jt,lr,Kr,Jr,ta,sa,eo,aa,la};
@@ -0,0 +1,7 @@
1
+ import{p,Se,o,C,a,r,t,u,e,Pe,I,l,M,pn,Ln,rt,st,zn,vn,Xe,ls,je,we}from"./chunk-index-cn49mawx.js";import{Ze}from"./chunk-index-2y8r4s4f.js";import{Ie}from"./chunk-index-gwkhs8s3.js";import{_n}from"./chunk-index-r7fdgzy1.js";var xe=8,ke={views:[],attention:{},loaded:!1},le=ke,{emit:Te,use:He}=M(),Cn=()=>He(()=>le);function ri(){let n=Se(rt)?.tier;return n!==void 0&&n!=="owner"}function Ae(n,i){return{key:n.key,kind:"agent",name:`${i}.${n.id}`,displayName:n.title,home:!1,readOnly:!1,mode:{yolo:!1,longRunning:!1},typing:!1,stoppable:!1}}var Ce=(n)=>n.attention===!0,Me=(n,i)=>(i.lastAt??"").localeCompare(n.lastAt??"");async function Ve(n){let i=await Promise.allSettled(n.map((s)=>Ze.list(s))),m=[];i.forEach((s,d)=>{let c=n[d];if(s.status!=="fulfilled"||c===void 0)return;for(let g of s.value.rooms)m.push({room:g,kind:c})}),m.sort((s,d)=>Me(s.room,d.room));let f={};for(let{room:s}of m)if(Ce(s))f[s.key]=!0;return{views:m.map(({room:s,kind:d})=>Ae(s,d)),attention:f,loaded:!0}}function Uo(n){let i=we(),m=l((h)=>h.connects),f=Ie((h)=>h.lists),s=a(0),d=a(0),c=n.join(`
2
+ `),{views:g}=Cn();o(()=>{s.current+=1;let h=s.current,b=!0;return Ve(c===""?[]:c.split(`
3
+ `)).then((E)=>{if(!b||h<d.current)return;d.current=h,le=E,Te()}),()=>{b=!1}},[c,m,f]);let y=g.slice(0,xe).map((h)=>h.key).join(`
4
+ `);o(()=>{let h=y===""?[]:y.split(`
5
+ `);for(let b of h)i.send({type:"subscribe",room:b});return()=>{for(let b of h)i.send({type:"unsubscribe",room:b})}},[i,y,m])}var Le=["①","②","③","④","⑤","⑥","⑦","⑧"];function Vo(n){if(!n)return[];return[...n.spoken.map((i)=>({name:i,place:"spoken"})),...n.current===void 0?[]:[{name:n.current,place:"current"}],...n.next.map((i,m)=>({name:i,place:"next",order:m+1}))]}function me(n){let i={};if(n?.state!=="running")return i;for(let f of n.spoken)i[f]="✓";let m=new Set;if(n.next.forEach((f,s)=>{let d=Le[s];if(d===void 0||m.has(f))return;m.add(f),i[f]=d}),n.current!==void 0)delete i[n.current];return i}var En=(n)=>n?.state==="running"?n.current:void 0;function qo(n){let i=n.current===void 0?n.replies:n.replies+1;return Math.min(Math.max(i,0),n.limit)}var Oe=380,Ne="cubic-bezier(0.7, 0, 0.84, 0)",De=2.4,pe=0.35,_e=260,$e="cubic-bezier(0.2, 0.8, 0.2, 1)",Fe=1.06,Ke=700,k;function ge(n){if(k?.host===n&&k.phase==="diving")k.abort()}var Be=(n)=>{if(!n||typeof n.animate!=="function")return;n.animate([{transform:`scale(${Fe})`,opacity:pe},{transform:"scale(1)",opacity:1}],{duration:_e,easing:$e})};function ye(n,i,m,f){if(k)return;let s=n.closest("main.route")??n;if(Pe()||typeof s.animate!=="function"){m();return}f?.();let d=s.getBoundingClientRect(),c=`${i.x-d.left}px ${i.y-d.top}px`,g={overflow:s.style.overflow,events:s.style.pointerEvents};s.style.overflow="hidden",s.style.pointerEvents="none";let y=s.animate([{transformOrigin:c,transform:"scale(1)",opacity:1},{transformOrigin:c,transform:`scale(${De})`,opacity:pe}],{duration:Oe,easing:Ne,fill:"forwards"}),h=document.documentElement,b,E,P=()=>{s.style.overflow=g.overflow,s.style.pointerEvents=g.events,y.cancel()},_=()=>{window.removeEventListener("popstate",T),window.removeEventListener("hashchange",T)},x={host:n,phase:"diving",abort:T};function T(){if(k!==x||x.phase!=="diving")return;_(),P(),k=void 0}let H=(N)=>{if(k!==x)return;if(E?.disconnect(),clearTimeout(b),h.removeAttribute("data-dive"),P(),k=void 0,N)Be(document.querySelector("main.route"))};k=x,window.addEventListener("popstate",T),window.addEventListener("hashchange",T),y.finished.then(()=>{if(k!==x||x.phase!=="diving")return;if(x.phase="committing",_(),h.setAttribute("data-dive",""),m(),!n.isConnected){H(!0);return}E=new MutationObserver(()=>{if(!n.isConnected)H(!0)}),E.observe(s.parentElement??document.body,{childList:!0,subtree:!0}),b=setTimeout(()=>H(!n.isConnected),Ke)},()=>{return})}var qe=(n)=>n==="sleepy"?"idle":n;function ve(n,i){let m={};for(let[s,d]of Object.entries(n))m[s]=qe(d);let f=(s)=>s!==void 0&&(s in m)&&m[s]!=="waiting"&&m[s]!=="error";for(let s of i){let d=s.agent;if(s.typing&&f(d)){let c=m[d];if(c!=="thinking"&&c!=="working")m[d]="thinking"}}for(let s of i)if(f(s.voice))m[s.voice]="speaking";return m}function re(n,i){if(n==="speaking")return"happy";return(i?.STATE_EXPRESSION??ze)[n]}var ze={idle:"neutral",thinking:"thinking",working:"determined",waiting:"curious",done:"proud",error:"apologetic",sleepy:"sleepy"};function oe(n,i){return`s${n}${i.toLowerCase().replace(/[^a-z0-9]/g,"")}`.slice(0,16)}var Ge={x:-7,y:-3,w:114,h:100},B=256;function ne(n,i,m,f,s,d,c){let g=n.composeSvg(i,{bare:!0,look:m,expr:re(f,n),...c?{mouth:c}:{},state:"idle",still:!0,size:B,uid:s,skins:d}),{x:y,y:h,w:b,h:E}=Ge;return g.replace('viewBox="0 0 100 100"',`viewBox="${y} ${h} ${b} ${E}"`).replace(`width="${B}" height="${B}"`,`width="${B}" height="${Math.round(B*E/b)}"`)}function se(n,i,m,f,s,d){if(f!=="speaking")return{avatarSvg:ne(n,i,m,f,s,d)};return{avatarSvg:ne(n,i,m,f,s,d,"closed"),talkSvg:ne(n,i,m,f,s,d,"open")}}function he(n){let i=n.delayMs??300,m=n.timers??{set:(c,g)=>setTimeout(c,g),clear:(c)=>clearTimeout(c)},f=new Map,s=new Map,d=(c)=>{let g=s.get(c);if(g===void 0)return;m.clear(g),s.delete(c)};return{seed(c,g){d(c),f.set(c,re(g))},update(c,g){let y=re(g);if(!f.has(c)){f.set(c,y);return}if(d(c),f.get(c)===y)return;s.set(c,m.set(()=>{s.delete(c),f.set(c,y),n.setAvatar(c,g)},i))},forget(c){d(c),f.delete(c)},dispose(){for(let c of[...s.keys()])d(c);f.clear()}}}var W={},{emit:Ue,use:We}=M();function Or(n,i){if(W[n]===i)return;let m={...W};if(i===void 0)delete m[n];else m[n]=i;W=m,Ue()}var Ye=()=>W;function Re(){return We(Ye)}var Je={idle:u("idle"),thinking:u("thinking"),working:u("working"),waiting:u("waiting"),speaking:u("speaking"),done:u("done"),error:u("error")},Qe=()=>({table:t("Round table"),seat:(n,i)=>t("{name} ({state})",{name:n,state:t(Je[i])})}),et=()=>{je().catch(()=>{return})};function zi(n){let i=ri(),{views:m}=Cn(),f=l((s)=>{let d=s.order.map((g)=>s.rooms[g]?.view).filter((g)=>g!==void 0&&g.kind==="agent"&&!g.helper);return[...n?n.slice(0,_n).map((g)=>d.find((y)=>y.name===g)).filter((g)=>g!==void 0):d].sort((g,y)=>Number(y.home)-Number(g.home)).slice(0,_n)},n?.join(`
6
+ `)??"");return i?m.slice(0,_n):f}function oi(){return l((n)=>n.order.map((i)=>n.rooms[i]?.view).filter((i)=>i!==void 0&&i.kind==="agent"&&!i.helper),"agents")}function tt(n){let i=Re(),m=l((f)=>Object.values(f.rooms).filter((s)=>n?s.key===n:s.view?.kind==="group").map((s)=>{let d=En(s.round),c=d??s.agent,g=s.typing&&s.progress.text!=="";return{key:s.key,typing:s.typing||d!==void 0,...c===void 0?{}:{agent:c},...g&&c!==void 0?{streamer:c}:{}}}),n??"");return C(()=>m.map(({key:f,streamer:s,...d})=>{let c=i[f]??s;return c===void 0?d:{...d,voice:c}}),[m,i])}function nt(n){return l((i)=>me(n?i.rooms[n]?.round:void 0),n??"")}function Bt(n){let{variant:i="full",onHandle:m}=n,f=Ln(),s=st(),d=zn(),c=vn(),g=Xe(),y=zi(n.members),h=ls(y.map((S)=>S.key)),b=tt(n.groupRoom),E=nt(n.groupRoom),P=Cn().attention,_=ri(),x=a(_);x.current=_;let T=i==="full"&&n.list===!0,H=C(()=>ve(Object.fromEntries(y.map((S)=>{let v=h[S.key]??"idle";return[S.name,P[S.key]&&(v==="idle"||v==="sleepy")?"waiting":v]})),b),[y,h,b,P]),N=a(H);N.current=H;let A=C(()=>{if(!f)return[];return y.map((S,v)=>{let w=g[S.name]??S.character??pn(f,S);return{id:S.name,name:S.displayName,color:f.accentOf(w,d.look),...se(f,w,d.look,N.current[S.name]??"idle",oe(v,S.name),c)}})},[f,y,g,d.look,c]),X=a(A);X.current=A;let Y=a(y);Y.current=y;let J=a({look:s,scheme:d.scheme});J.current={look:s,scheme:d.scheme};let Q=a(null),V=a(void 0),[F,be]=r(0),j=a(void 0),ie=a(()=>{return});ie.current=(S)=>{let v=y.find((w)=>w.name===S);if(!f||!v)return;return g[S]??v.character??pn(f,v)};let ae=a(d);ae.current=d;let ce=a(c);ce.current=c;let ue=a(f);ue.current=f;let Z=a(m);Z.current=m;let L=a(n);L.current=n;let de=f!==void 0&&A.length>0;o(()=>{let S=Q.current;if(!de||!S)return;let v=!0,w,te=he({setAvatar:(D,q)=>{let O=ie.current(D),R=ue.current,K=Y.current.findIndex((U)=>U.name===D);if(!O||!R||K<0)return;let{avatarSvg:z,talkSvg:G}=se(R,O,ae.current.look,q,oe(K,D),ce.current);w?.setAvatar(D,z,G)}});return j.current=te,(async()=>{let{mountRoundTable:D}=await (p("mws704mc"),import("./chunk-entry-mws704mc.js")),q=X.current.map((R)=>({...R,state:N.current[R.id]??"idle"})),O=await D(S,{theme:J.current.look,scheme:J.current.scheme,seats:q,onSeatClick:({id:R,at:K})=>{let z=L.current.onSeat;if(z){z(R);return}let G=Y.current.find((Ee)=>Ee.name===R);if(!G)return;let U=()=>I("room",G.key),fe=Q.current;if(K&&fe)ye(fe,K,U,x.current?et:void 0);else U()},...L.current.onSeatMenu?{onSeatMenu:(R)=>L.current.onSeatMenu?.(R)}:{},ownerName:L.current.ownerName??t("You"),focus:L.current.focus??null,onFocus:(R)=>L.current.onFocus?.(R),reducedMotion:"auto",lowPower:"auto",variant:i,listBelow:T,labels:Qe()});if(!v){O.dispose();return}w=O,V.current=O;for(let R of q)te.seed(R.id,R.state??"idle");Z.current?.(O),be((R)=>R+1)})(),()=>{v=!1,ge(S),te.dispose(),j.current=void 0,V.current=void 0,Z.current?.(void 0),w?.dispose()}},[de,i,T]);let ee=n.focus??null;if(o(()=>{let S=V.current;if(S&&S.focused()!==ee)S.focus(ee)},[ee,F]),o(()=>{let S=V.current;if(!S||A.length===0)return;let v=N.current;S.setSeats(A.map((w)=>({...w,state:v[w.id]??"idle"})));for(let w of A)j.current?.seed(w.id,v[w.id]??"idle")},[A,F]),o(()=>{let S=V.current;if(!S)return;for(let v of X.current)S.setMark(v.id,E[v.id]??null)},[E,A,F]),o(()=>{let S=V.current;if(S)S.setTheme(s,d.scheme)},[s,d.scheme,F]),o(()=>{let S=V.current;if(!S)return;for(let v of X.current){let w=H[v.id]??"idle";S.setState(v.id,w),j.current?.update(v.id,w)}},[H,F]),y.length===0)return e("p",{className:"table-empty",children:t("No knights are seated yet.")});return e("section",{className:"table-host",ref:Q,"aria-label":t("Round table")})}
7
+ export{Cn,ri,Uo,Vo,En,qo,Or,zi,oi,Bt};