termdock 1.4.317 → 1.4.319

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 (347) hide show
  1. package/dist/client/assets/App-9yy2aYiT.js +186 -0
  2. package/dist/client/assets/App-9yy2aYiT.js.br +0 -0
  3. package/dist/client/assets/App-9yy2aYiT.js.gz +0 -0
  4. package/dist/client/assets/{ArchitecturePanel-CdgUQsVD.js → ArchitecturePanel-CHMjbrPM.js} +2 -2
  5. package/dist/client/assets/ArchitecturePanel-CHMjbrPM.js.br +0 -0
  6. package/dist/client/assets/ArchitecturePanel-CHMjbrPM.js.gz +0 -0
  7. package/dist/client/assets/{ChangeWalkthroughPanel-DHp5r1k9.js → ChangeWalkthroughPanel-B0JYVVwB.js} +1 -1
  8. package/dist/client/assets/ChangeWalkthroughPanel-B0JYVVwB.js.br +0 -0
  9. package/dist/client/assets/ChangeWalkthroughPanel-B0JYVVwB.js.gz +0 -0
  10. package/dist/client/assets/{CollaborationMainWorkspace-P_jXjsT-.js → CollaborationMainWorkspace-BJzMdyZc.js} +1 -1
  11. package/dist/client/assets/CollaborationMainWorkspace-BJzMdyZc.js.br +0 -0
  12. package/dist/client/assets/CollaborationMainWorkspace-BJzMdyZc.js.gz +0 -0
  13. package/dist/client/assets/CollaborationTaskContent-BwHxwcOP.js +2 -0
  14. package/dist/client/assets/{ComputerControlView-B5Yng8Dt.js → ComputerControlView-CdMNRZsH.js} +2 -2
  15. package/dist/client/assets/ComputerControlView-CdMNRZsH.js.br +0 -0
  16. package/dist/client/assets/ComputerControlView-CdMNRZsH.js.gz +0 -0
  17. package/dist/client/assets/{DagPlayground-rZE40fcL.js → DagPlayground-C1xEyYVK.js} +1 -1
  18. package/dist/client/assets/DagPlayground-C1xEyYVK.js.br +0 -0
  19. package/dist/client/assets/DagPlayground-C1xEyYVK.js.gz +0 -0
  20. package/dist/client/assets/{DiffLab-3sIn0W3p.js → DiffLab-DcCKWB7G.js} +1 -1
  21. package/dist/client/assets/DiffLab-DcCKWB7G.js.br +0 -0
  22. package/dist/client/assets/DiffLab-DcCKWB7G.js.gz +0 -0
  23. package/dist/client/assets/{DiffReview-CBf8-Tli.js → DiffReview-C1TyvrA9.js} +1 -1
  24. package/dist/client/assets/DiffReview-C1TyvrA9.js.br +0 -0
  25. package/dist/client/assets/DiffReview-C1TyvrA9.js.gz +0 -0
  26. package/dist/client/assets/{DiffReviewLab-BXhskTlx.js → DiffReviewLab-D784yT2y.js} +1 -1
  27. package/dist/client/assets/DiffReviewLab-D784yT2y.js.br +0 -0
  28. package/dist/client/assets/DiffReviewLab-D784yT2y.js.gz +0 -0
  29. package/dist/client/assets/{DiffViewer-DZfgjOBh.js → DiffViewer-ByAlz2NG.js} +1 -1
  30. package/dist/client/assets/DiffViewer-ByAlz2NG.js.br +0 -0
  31. package/dist/client/assets/DiffViewer-ByAlz2NG.js.gz +0 -0
  32. package/dist/client/assets/{ModelPreview-Bzdi_sPh.js → ModelPreview-DxMcmJZy.js} +1 -1
  33. package/dist/client/assets/ModelPreview-DxMcmJZy.js.br +0 -0
  34. package/dist/client/assets/ModelPreview-DxMcmJZy.js.gz +0 -0
  35. package/dist/client/assets/{RightSidebar-DaRdlJzn.js → RightSidebar-CXykcIPb.js} +3 -3
  36. package/dist/client/assets/RightSidebar-CXykcIPb.js.br +0 -0
  37. package/dist/client/assets/RightSidebar-CXykcIPb.js.gz +0 -0
  38. package/dist/client/assets/{abnfDiagram-VCTEODGH-CarKrfAf.js → abnfDiagram-VCTEODGH-DZZIayJV.js} +1 -1
  39. package/dist/client/assets/abnfDiagram-VCTEODGH-DZZIayJV.js.br +0 -0
  40. package/dist/client/assets/abnfDiagram-VCTEODGH-DZZIayJV.js.gz +0 -0
  41. package/dist/client/assets/{app-BCTEfclM.js → app-CI3Oh-41.js} +3 -3
  42. package/dist/client/assets/app-CI3Oh-41.js.br +0 -0
  43. package/dist/client/assets/app-CI3Oh-41.js.gz +0 -0
  44. package/dist/client/assets/{arc-B6Qdq2Vw.js → arc-CjpEX_Ug.js} +1 -1
  45. package/dist/client/assets/arc-CjpEX_Ug.js.br +0 -0
  46. package/dist/client/assets/arc-CjpEX_Ug.js.gz +0 -0
  47. package/dist/client/assets/{architectureDiagram-5GKGNRK7-DgPJ0l9i.js → architectureDiagram-5GKGNRK7-DUx2_xyE.js} +1 -1
  48. package/dist/client/assets/architectureDiagram-5GKGNRK7-DUx2_xyE.js.br +0 -0
  49. package/dist/client/assets/architectureDiagram-5GKGNRK7-DUx2_xyE.js.gz +0 -0
  50. package/dist/client/assets/{blockDiagram-I7D4REHJ-BsorvNo4.js → blockDiagram-I7D4REHJ-DP-lXaM3.js} +1 -1
  51. package/dist/client/assets/blockDiagram-I7D4REHJ-DP-lXaM3.js.br +0 -0
  52. package/dist/client/assets/blockDiagram-I7D4REHJ-DP-lXaM3.js.gz +0 -0
  53. package/dist/client/assets/{c4Diagram-7LVT6UL2-Bbpi62ab.js → c4Diagram-7LVT6UL2-DomY5VR-.js} +1 -1
  54. package/dist/client/assets/c4Diagram-7LVT6UL2-DomY5VR-.js.br +0 -0
  55. package/dist/client/assets/c4Diagram-7LVT6UL2-DomY5VR-.js.gz +0 -0
  56. package/dist/client/assets/channel-DIO7oiN5.js +1 -0
  57. package/dist/client/assets/{chunk-2Q5K7J3B-Cm7mDz66.js → chunk-2Q5K7J3B-BPtKxDa8.js} +1 -1
  58. package/dist/client/assets/{chunk-5VM5RSS4-BMERXU_m.js → chunk-5VM5RSS4-CRCqW368.js} +1 -1
  59. package/dist/client/assets/{chunk-F27PBJKO-fe9Yw7OI.js → chunk-F27PBJKO-Bs1ITIOZ.js} +1 -1
  60. package/dist/client/assets/chunk-F27PBJKO-Bs1ITIOZ.js.br +0 -0
  61. package/dist/client/assets/chunk-F27PBJKO-Bs1ITIOZ.js.gz +0 -0
  62. package/dist/client/assets/{chunk-IMKFNOWR-QquKV9k-.js → chunk-IMKFNOWR-Cw7kOnvo.js} +1 -1
  63. package/dist/client/assets/chunk-IMKFNOWR-Cw7kOnvo.js.br +0 -0
  64. package/dist/client/assets/chunk-IMKFNOWR-Cw7kOnvo.js.gz +0 -0
  65. package/dist/client/assets/{chunk-JWPE2WC7-CVe8_YO4.js → chunk-JWPE2WC7-DBNaGHE2.js} +1 -1
  66. package/dist/client/assets/{chunk-POPQ4Y6H-DT8PalJ4.js → chunk-POPQ4Y6H-B_OEr0FR.js} +1 -1
  67. package/dist/client/assets/{chunk-SVP7TREG-BUQulipE.js → chunk-SVP7TREG-Ct25uRBl.js} +1 -1
  68. package/dist/client/assets/chunk-SVP7TREG-Ct25uRBl.js.br +0 -0
  69. package/dist/client/assets/chunk-SVP7TREG-Ct25uRBl.js.gz +0 -0
  70. package/dist/client/assets/{chunk-TICWLB2K-fubKwUCg.js → chunk-TICWLB2K-BVxQwSUB.js} +1 -1
  71. package/dist/client/assets/chunk-TICWLB2K-BVxQwSUB.js.br +0 -0
  72. package/dist/client/assets/chunk-TICWLB2K-BVxQwSUB.js.gz +0 -0
  73. package/dist/client/assets/{chunk-XXDRQBXY-CdwTi82y.js → chunk-XXDRQBXY-B6PLILau.js} +1 -1
  74. package/dist/client/assets/classDiagram-ZZMXUADV-DukHh254.js +1 -0
  75. package/dist/client/assets/classDiagram-v2-VYDZK3BY-DukHh254.js +1 -0
  76. package/dist/client/assets/{cose-bilkent-JH36ORCC-DmEDc2ee.js → cose-bilkent-JH36ORCC-Df23Xlgg.js} +1 -1
  77. package/dist/client/assets/cose-bilkent-JH36ORCC-Df23Xlgg.js.br +0 -0
  78. package/dist/client/assets/cose-bilkent-JH36ORCC-Df23Xlgg.js.gz +0 -0
  79. package/dist/client/assets/{cynefin-OW5HDTMX-C-mfarRX.js → cynefin-OW5HDTMX-Dxy4auKS.js} +1 -1
  80. package/dist/client/assets/cynefin-OW5HDTMX-Dxy4auKS.js.br +0 -0
  81. package/dist/client/assets/cynefin-OW5HDTMX-Dxy4auKS.js.gz +0 -0
  82. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-CgVmp8od.js → cynefinDiagram-5FMLGOSQ-CRypsJyP.js} +1 -1
  83. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CRypsJyP.js.br +0 -0
  84. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CRypsJyP.js.gz +0 -0
  85. package/dist/client/assets/{dagre-GXQ25YYZ-WU_d2fSU.js → dagre-GXQ25YYZ-B2XmJ6IF.js} +1 -1
  86. package/dist/client/assets/dagre-GXQ25YYZ-B2XmJ6IF.js.br +0 -0
  87. package/dist/client/assets/dagre-GXQ25YYZ-B2XmJ6IF.js.gz +0 -0
  88. package/dist/client/assets/{diagram-S7CK7UJ4-Dtikk80Z.js → diagram-S7CK7UJ4-BQcwNDWz.js} +1 -1
  89. package/dist/client/assets/diagram-S7CK7UJ4-BQcwNDWz.js.br +0 -0
  90. package/dist/client/assets/diagram-S7CK7UJ4-BQcwNDWz.js.gz +0 -0
  91. package/dist/client/assets/{diagram-UQ7AKVKN-DuTCB36P.js → diagram-UQ7AKVKN-B6LD6n6P.js} +1 -1
  92. package/dist/client/assets/diagram-UQ7AKVKN-B6LD6n6P.js.br +0 -0
  93. package/dist/client/assets/diagram-UQ7AKVKN-B6LD6n6P.js.gz +0 -0
  94. package/dist/client/assets/{diagram-VSXAHHWV-DSLAcWi6.js → diagram-VSXAHHWV-DDI4SMid.js} +1 -1
  95. package/dist/client/assets/diagram-VSXAHHWV-DDI4SMid.js.br +0 -0
  96. package/dist/client/assets/diagram-VSXAHHWV-DDI4SMid.js.gz +0 -0
  97. package/dist/client/assets/{diagram-VX7I27RA-DyQOu10m.js → diagram-VX7I27RA-CRq35BVZ.js} +1 -1
  98. package/dist/client/assets/diagram-VX7I27RA-CRq35BVZ.js.br +0 -0
  99. package/dist/client/assets/diagram-VX7I27RA-CRq35BVZ.js.gz +0 -0
  100. package/dist/client/assets/{diagram-Z3DM3KII-CuMI1k1t.js → diagram-Z3DM3KII-Br2tE-aw.js} +1 -1
  101. package/dist/client/assets/diagram-Z3DM3KII-Br2tE-aw.js.br +0 -0
  102. package/dist/client/assets/diagram-Z3DM3KII-Br2tE-aw.js.gz +0 -0
  103. package/dist/client/assets/{ebnfDiagram-PWID7BFC-Di8RxhNL.js → ebnfDiagram-PWID7BFC-CLERVjPA.js} +1 -1
  104. package/dist/client/assets/ebnfDiagram-PWID7BFC-CLERVjPA.js.br +0 -0
  105. package/dist/client/assets/ebnfDiagram-PWID7BFC-CLERVjPA.js.gz +0 -0
  106. package/dist/client/assets/{erDiagram-RLTQ6QDP-C1wPuBtH.js → erDiagram-RLTQ6QDP-CdjRSsSD.js} +1 -1
  107. package/dist/client/assets/erDiagram-RLTQ6QDP-CdjRSsSD.js.br +0 -0
  108. package/dist/client/assets/erDiagram-RLTQ6QDP-CdjRSsSD.js.gz +0 -0
  109. package/dist/client/assets/{flowDiagram-HODETNUW-D0SIEpUy.js → flowDiagram-HODETNUW-CJcQ479Z.js} +1 -1
  110. package/dist/client/assets/flowDiagram-HODETNUW-CJcQ479Z.js.br +0 -0
  111. package/dist/client/assets/flowDiagram-HODETNUW-CJcQ479Z.js.gz +0 -0
  112. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-DgeD2fKd.js → ganttDiagram-EL5Y4UJY-CdDCSJ3h.js} +1 -1
  113. package/dist/client/assets/ganttDiagram-EL5Y4UJY-CdDCSJ3h.js.br +0 -0
  114. package/dist/client/assets/ganttDiagram-EL5Y4UJY-CdDCSJ3h.js.gz +0 -0
  115. package/dist/client/assets/{gestureArbiter-Xl7awIrX.js → gestureArbiter-D6uN_O0i.js} +1 -1
  116. package/dist/client/assets/gestureArbiter-D6uN_O0i.js.br +0 -0
  117. package/dist/client/assets/gestureArbiter-D6uN_O0i.js.gz +0 -0
  118. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-CzFKSKK_.js → gitGraphDiagram-WWUBYQGX-tcLWvosg.js} +1 -1
  119. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-tcLWvosg.js.br +0 -0
  120. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-tcLWvosg.js.gz +0 -0
  121. package/dist/client/assets/index-_7yzQpVq.css +1 -0
  122. package/dist/client/assets/index-_7yzQpVq.css.br +0 -0
  123. package/dist/client/assets/{index-BObjbh2R.css.gz → index-_7yzQpVq.css.gz} +0 -0
  124. package/dist/client/assets/{infoDiagram-27XIBGKW-C9mmJGhv.js → infoDiagram-27XIBGKW-D7ze39D4.js} +1 -1
  125. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-D9uVb4Og.js → ishikawaDiagram-5VMMS53U-BmvDG55X.js} +1 -1
  126. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BmvDG55X.js.br +0 -0
  127. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BmvDG55X.js.gz +0 -0
  128. package/dist/client/assets/{journeyDiagram-3NMN7TZE-BMKNUyUx.js → journeyDiagram-3NMN7TZE-Ba2oQRdr.js} +1 -1
  129. package/dist/client/assets/journeyDiagram-3NMN7TZE-Ba2oQRdr.js.br +0 -0
  130. package/dist/client/assets/journeyDiagram-3NMN7TZE-Ba2oQRdr.js.gz +0 -0
  131. package/dist/client/assets/{kanban-definition-UXKFOSKX-8i7nyqix.js → kanban-definition-UXKFOSKX-BGrEtfSU.js} +1 -1
  132. package/dist/client/assets/{kanban-definition-UXKFOSKX-8i7nyqix.js.br → kanban-definition-UXKFOSKX-BGrEtfSU.js.br} +0 -0
  133. package/dist/client/assets/kanban-definition-UXKFOSKX-BGrEtfSU.js.gz +0 -0
  134. package/dist/client/assets/{layout-BS5SCHbc.js → layout-Df_WxQ7_.js} +1 -1
  135. package/dist/client/assets/layout-Df_WxQ7_.js.br +0 -0
  136. package/dist/client/assets/layout-Df_WxQ7_.js.gz +0 -0
  137. package/dist/client/assets/{linear-fo2zkK6T.js → linear-yjCZ1UPt.js} +1 -1
  138. package/dist/client/assets/{linear-fo2zkK6T.js.br → linear-yjCZ1UPt.js.br} +0 -0
  139. package/dist/client/assets/linear-yjCZ1UPt.js.gz +0 -0
  140. package/dist/client/assets/{mermaid.core-B8k3pAmc.js → mermaid.core-wqB76PXA.js} +5 -5
  141. package/dist/client/assets/mermaid.core-wqB76PXA.js.br +0 -0
  142. package/dist/client/assets/mermaid.core-wqB76PXA.js.gz +0 -0
  143. package/dist/client/assets/{mindmap-definition-YA3MSWOX-BwgQTj2Q.js → mindmap-definition-YA3MSWOX-BvFfuDI9.js} +1 -1
  144. package/dist/client/assets/mindmap-definition-YA3MSWOX-BvFfuDI9.js.br +0 -0
  145. package/dist/client/assets/mindmap-definition-YA3MSWOX-BvFfuDI9.js.gz +0 -0
  146. package/dist/client/assets/{passwordBootstrap-DvQk0qYt.js → passwordBootstrap-CeMHRTET.js} +1 -1
  147. package/dist/client/assets/passwordBootstrap-CeMHRTET.js.br +0 -0
  148. package/dist/client/assets/passwordBootstrap-CeMHRTET.js.gz +0 -0
  149. package/dist/client/assets/{pegDiagram-XKGWAZYB-CumSoxLr.js → pegDiagram-XKGWAZYB-GFNFRFcn.js} +1 -1
  150. package/dist/client/assets/pegDiagram-XKGWAZYB-GFNFRFcn.js.br +0 -0
  151. package/dist/client/assets/pegDiagram-XKGWAZYB-GFNFRFcn.js.gz +0 -0
  152. package/dist/client/assets/{pieDiagram-E7YTZNPT-Dc3txkBL.js → pieDiagram-E7YTZNPT-i_OnIQ5S.js} +1 -1
  153. package/dist/client/assets/pieDiagram-E7YTZNPT-i_OnIQ5S.js.br +0 -0
  154. package/dist/client/assets/pieDiagram-E7YTZNPT-i_OnIQ5S.js.gz +0 -0
  155. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-D92mwZnT.js → quadrantDiagram-AXDQQJYC-DgclfhW2.js} +1 -1
  156. package/dist/client/assets/quadrantDiagram-AXDQQJYC-DgclfhW2.js.br +0 -0
  157. package/dist/client/assets/quadrantDiagram-AXDQQJYC-DgclfhW2.js.gz +0 -0
  158. package/dist/client/assets/{railroadDiagram-O6MQD6OU-O1UOZ30Y.js → railroadDiagram-O6MQD6OU-Bta7NOF1.js} +1 -1
  159. package/dist/client/assets/railroadDiagram-O6MQD6OU-Bta7NOF1.js.br +0 -0
  160. package/dist/client/assets/railroadDiagram-O6MQD6OU-Bta7NOF1.js.gz +0 -0
  161. package/dist/client/assets/{rdpSession-Dr_tPwzx.js → rdpSession-CVTDBhDb.js} +1 -1
  162. package/dist/client/assets/rdpSession-CVTDBhDb.js.br +0 -0
  163. package/dist/client/assets/rdpSession-CVTDBhDb.js.gz +0 -0
  164. package/dist/client/assets/{referenceLongPress-YuGU-PYw.js → referenceLongPress-C91ZK5h8.js} +1 -1
  165. package/dist/client/assets/referenceLongPress-C91ZK5h8.js.br +0 -0
  166. package/dist/client/assets/referenceLongPress-C91ZK5h8.js.gz +0 -0
  167. package/dist/client/assets/{requirementDiagram-BXWQKSXE-uD1cgrxA.js → requirementDiagram-BXWQKSXE-CjVvykFZ.js} +1 -1
  168. package/dist/client/assets/requirementDiagram-BXWQKSXE-CjVvykFZ.js.br +0 -0
  169. package/dist/client/assets/requirementDiagram-BXWQKSXE-CjVvykFZ.js.gz +0 -0
  170. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-CIJE4-pc.js → sankeyDiagram-P5KCCOFB-DkRiE5xj.js} +1 -1
  171. package/dist/client/assets/sankeyDiagram-P5KCCOFB-DkRiE5xj.js.br +0 -0
  172. package/dist/client/assets/sankeyDiagram-P5KCCOFB-DkRiE5xj.js.gz +0 -0
  173. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BT6LG37W.js → sequenceDiagram-WJ2MYXX4-BW-TiTTz.js} +1 -1
  174. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BW-TiTTz.js.br +0 -0
  175. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BW-TiTTz.js.gz +0 -0
  176. package/dist/client/assets/{sizeCapture-INFHLROL-DoYY94Rj.js → sizeCapture-INFHLROL-CknYHWYz.js} +1 -1
  177. package/dist/client/assets/sizeCapture-INFHLROL-CknYHWYz.js.br +0 -0
  178. package/dist/client/assets/sizeCapture-INFHLROL-CknYHWYz.js.gz +0 -0
  179. package/dist/client/assets/{sparkles-DFYGpezN.js → sparkles-BhmNaa1u.js} +1 -1
  180. package/dist/client/assets/{stateDiagram-D77RDMKH-C4xmgR_-.js → stateDiagram-D77RDMKH-do6p3u1y.js} +1 -1
  181. package/dist/client/assets/stateDiagram-D77RDMKH-do6p3u1y.js.br +0 -0
  182. package/dist/client/assets/stateDiagram-D77RDMKH-do6p3u1y.js.gz +0 -0
  183. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CBBKJJkB.js +1 -0
  184. package/dist/client/assets/{swimlanes-42K2YHIH-mRdmZmAA.js → swimlanes-42K2YHIH-BloliwwH.js} +1 -1
  185. package/dist/client/assets/swimlanes-42K2YHIH-BloliwwH.js.br +0 -0
  186. package/dist/client/assets/swimlanes-42K2YHIH-BloliwwH.js.gz +0 -0
  187. package/dist/client/assets/swimlanesDiagram-VR7AAH4N--bexkZyM.js +8 -0
  188. package/dist/client/assets/{timeline-definition-24CTP7MA-BFFrD5kR.js → timeline-definition-24CTP7MA-DelADR0N.js} +1 -1
  189. package/dist/client/assets/timeline-definition-24CTP7MA-DelADR0N.js.br +0 -0
  190. package/dist/client/assets/timeline-definition-24CTP7MA-DelADR0N.js.gz +0 -0
  191. package/dist/client/assets/{triangle-alert-BwJ6Q_Y0.js → triangle-alert-B5d_l343.js} +1 -1
  192. package/dist/client/assets/{vennDiagram-4TSXK5OY-Dy59OxIM.js → vennDiagram-4TSXK5OY-BJhlRAwF.js} +1 -1
  193. package/dist/client/assets/{vennDiagram-4TSXK5OY-Dy59OxIM.js.br → vennDiagram-4TSXK5OY-BJhlRAwF.js.br} +0 -0
  194. package/dist/client/assets/vennDiagram-4TSXK5OY-BJhlRAwF.js.gz +0 -0
  195. package/dist/client/assets/{videoCompression-DrQ47oZA.js → videoCompression-CuDMhYU3.js} +1 -1
  196. package/dist/client/assets/videoCompression-CuDMhYU3.js.br +0 -0
  197. package/dist/client/assets/videoCompression-CuDMhYU3.js.gz +0 -0
  198. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-B-BKlX7o.js → wardleyDiagram-VM6X3IG4-3MDCa0Rt.js} +1 -1
  199. package/dist/client/assets/wardleyDiagram-VM6X3IG4-3MDCa0Rt.js.br +0 -0
  200. package/dist/client/assets/wardleyDiagram-VM6X3IG4-3MDCa0Rt.js.gz +0 -0
  201. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-79qktI_4.js → xychartDiagram-S5SC5T6Z-LWuDetCo.js} +1 -1
  202. package/dist/client/assets/xychartDiagram-S5SC5T6Z-LWuDetCo.js.br +0 -0
  203. package/dist/client/assets/xychartDiagram-S5SC5T6Z-LWuDetCo.js.gz +0 -0
  204. package/dist/client/index.html +2 -2
  205. package/dist/client/index.html.br +0 -0
  206. package/dist/client/index.html.gz +0 -0
  207. package/dist/client/sw.js +1 -1
  208. package/dist/client/sw.js.br +0 -0
  209. package/dist/client/sw.js.gz +0 -0
  210. package/dist/server/agent/collaborationStore.js +83 -7
  211. package/dist/server/agent/collaborationTeam.js +11 -4
  212. package/dist/server/agent/integrationCli.js +49 -4
  213. package/dist/server/agent/integrationServer.js +14 -2
  214. package/dist/server/routes/terminal.js +12 -6
  215. package/docs/integrations.md +80 -4
  216. package/package.json +1 -1
  217. package/runtime-manifest.json +3 -3
  218. package/dist/client/assets/App-BF_s1-_u.js +0 -186
  219. package/dist/client/assets/App-BF_s1-_u.js.br +0 -0
  220. package/dist/client/assets/App-BF_s1-_u.js.gz +0 -0
  221. package/dist/client/assets/ArchitecturePanel-CdgUQsVD.js.br +0 -0
  222. package/dist/client/assets/ArchitecturePanel-CdgUQsVD.js.gz +0 -0
  223. package/dist/client/assets/ChangeWalkthroughPanel-DHp5r1k9.js.br +0 -0
  224. package/dist/client/assets/ChangeWalkthroughPanel-DHp5r1k9.js.gz +0 -0
  225. package/dist/client/assets/CollaborationMainWorkspace-P_jXjsT-.js.br +0 -0
  226. package/dist/client/assets/CollaborationMainWorkspace-P_jXjsT-.js.gz +0 -0
  227. package/dist/client/assets/CollaborationTaskContent-DSkxOlKQ.js +0 -2
  228. package/dist/client/assets/ComputerControlView-B5Yng8Dt.js.br +0 -0
  229. package/dist/client/assets/ComputerControlView-B5Yng8Dt.js.gz +0 -0
  230. package/dist/client/assets/DagPlayground-rZE40fcL.js.br +0 -0
  231. package/dist/client/assets/DagPlayground-rZE40fcL.js.gz +0 -0
  232. package/dist/client/assets/DiffLab-3sIn0W3p.js.br +0 -0
  233. package/dist/client/assets/DiffLab-3sIn0W3p.js.gz +0 -0
  234. package/dist/client/assets/DiffReview-CBf8-Tli.js.br +0 -0
  235. package/dist/client/assets/DiffReview-CBf8-Tli.js.gz +0 -0
  236. package/dist/client/assets/DiffReviewLab-BXhskTlx.js.br +0 -0
  237. package/dist/client/assets/DiffReviewLab-BXhskTlx.js.gz +0 -0
  238. package/dist/client/assets/DiffViewer-DZfgjOBh.js.br +0 -0
  239. package/dist/client/assets/DiffViewer-DZfgjOBh.js.gz +0 -0
  240. package/dist/client/assets/ModelPreview-Bzdi_sPh.js.br +0 -0
  241. package/dist/client/assets/ModelPreview-Bzdi_sPh.js.gz +0 -0
  242. package/dist/client/assets/RightSidebar-DaRdlJzn.js.br +0 -0
  243. package/dist/client/assets/RightSidebar-DaRdlJzn.js.gz +0 -0
  244. package/dist/client/assets/abnfDiagram-VCTEODGH-CarKrfAf.js.br +0 -0
  245. package/dist/client/assets/abnfDiagram-VCTEODGH-CarKrfAf.js.gz +0 -0
  246. package/dist/client/assets/app-BCTEfclM.js.br +0 -0
  247. package/dist/client/assets/app-BCTEfclM.js.gz +0 -0
  248. package/dist/client/assets/arc-B6Qdq2Vw.js.br +0 -0
  249. package/dist/client/assets/arc-B6Qdq2Vw.js.gz +0 -0
  250. package/dist/client/assets/architectureDiagram-5GKGNRK7-DgPJ0l9i.js.br +0 -0
  251. package/dist/client/assets/architectureDiagram-5GKGNRK7-DgPJ0l9i.js.gz +0 -0
  252. package/dist/client/assets/blockDiagram-I7D4REHJ-BsorvNo4.js.br +0 -0
  253. package/dist/client/assets/blockDiagram-I7D4REHJ-BsorvNo4.js.gz +0 -0
  254. package/dist/client/assets/c4Diagram-7LVT6UL2-Bbpi62ab.js.br +0 -0
  255. package/dist/client/assets/c4Diagram-7LVT6UL2-Bbpi62ab.js.gz +0 -0
  256. package/dist/client/assets/channel-uZtI4GD8.js +0 -1
  257. package/dist/client/assets/chunk-F27PBJKO-fe9Yw7OI.js.br +0 -0
  258. package/dist/client/assets/chunk-F27PBJKO-fe9Yw7OI.js.gz +0 -0
  259. package/dist/client/assets/chunk-IMKFNOWR-QquKV9k-.js.br +0 -0
  260. package/dist/client/assets/chunk-IMKFNOWR-QquKV9k-.js.gz +0 -0
  261. package/dist/client/assets/chunk-SVP7TREG-BUQulipE.js.br +0 -0
  262. package/dist/client/assets/chunk-SVP7TREG-BUQulipE.js.gz +0 -0
  263. package/dist/client/assets/chunk-TICWLB2K-fubKwUCg.js.br +0 -0
  264. package/dist/client/assets/chunk-TICWLB2K-fubKwUCg.js.gz +0 -0
  265. package/dist/client/assets/classDiagram-ZZMXUADV-CgJJ1J4J.js +0 -1
  266. package/dist/client/assets/classDiagram-v2-VYDZK3BY-CgJJ1J4J.js +0 -1
  267. package/dist/client/assets/cose-bilkent-JH36ORCC-DmEDc2ee.js.br +0 -0
  268. package/dist/client/assets/cose-bilkent-JH36ORCC-DmEDc2ee.js.gz +0 -0
  269. package/dist/client/assets/cynefin-OW5HDTMX-C-mfarRX.js.br +0 -0
  270. package/dist/client/assets/cynefin-OW5HDTMX-C-mfarRX.js.gz +0 -0
  271. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CgVmp8od.js.br +0 -0
  272. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CgVmp8od.js.gz +0 -0
  273. package/dist/client/assets/dagre-GXQ25YYZ-WU_d2fSU.js.br +0 -0
  274. package/dist/client/assets/dagre-GXQ25YYZ-WU_d2fSU.js.gz +0 -0
  275. package/dist/client/assets/diagram-S7CK7UJ4-Dtikk80Z.js.br +0 -0
  276. package/dist/client/assets/diagram-S7CK7UJ4-Dtikk80Z.js.gz +0 -0
  277. package/dist/client/assets/diagram-UQ7AKVKN-DuTCB36P.js.br +0 -0
  278. package/dist/client/assets/diagram-UQ7AKVKN-DuTCB36P.js.gz +0 -0
  279. package/dist/client/assets/diagram-VSXAHHWV-DSLAcWi6.js.br +0 -0
  280. package/dist/client/assets/diagram-VSXAHHWV-DSLAcWi6.js.gz +0 -0
  281. package/dist/client/assets/diagram-VX7I27RA-DyQOu10m.js.br +0 -0
  282. package/dist/client/assets/diagram-VX7I27RA-DyQOu10m.js.gz +0 -0
  283. package/dist/client/assets/diagram-Z3DM3KII-CuMI1k1t.js.br +0 -0
  284. package/dist/client/assets/diagram-Z3DM3KII-CuMI1k1t.js.gz +0 -0
  285. package/dist/client/assets/ebnfDiagram-PWID7BFC-Di8RxhNL.js.br +0 -0
  286. package/dist/client/assets/ebnfDiagram-PWID7BFC-Di8RxhNL.js.gz +0 -0
  287. package/dist/client/assets/erDiagram-RLTQ6QDP-C1wPuBtH.js.br +0 -0
  288. package/dist/client/assets/erDiagram-RLTQ6QDP-C1wPuBtH.js.gz +0 -0
  289. package/dist/client/assets/flowDiagram-HODETNUW-D0SIEpUy.js.br +0 -0
  290. package/dist/client/assets/flowDiagram-HODETNUW-D0SIEpUy.js.gz +0 -0
  291. package/dist/client/assets/ganttDiagram-EL5Y4UJY-DgeD2fKd.js.br +0 -0
  292. package/dist/client/assets/ganttDiagram-EL5Y4UJY-DgeD2fKd.js.gz +0 -0
  293. package/dist/client/assets/gestureArbiter-Xl7awIrX.js.br +0 -0
  294. package/dist/client/assets/gestureArbiter-Xl7awIrX.js.gz +0 -0
  295. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-CzFKSKK_.js.br +0 -0
  296. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-CzFKSKK_.js.gz +0 -0
  297. package/dist/client/assets/index-BObjbh2R.css +0 -1
  298. package/dist/client/assets/index-BObjbh2R.css.br +0 -0
  299. package/dist/client/assets/ishikawaDiagram-5VMMS53U-D9uVb4Og.js.br +0 -0
  300. package/dist/client/assets/ishikawaDiagram-5VMMS53U-D9uVb4Og.js.gz +0 -0
  301. package/dist/client/assets/journeyDiagram-3NMN7TZE-BMKNUyUx.js.br +0 -0
  302. package/dist/client/assets/journeyDiagram-3NMN7TZE-BMKNUyUx.js.gz +0 -0
  303. package/dist/client/assets/kanban-definition-UXKFOSKX-8i7nyqix.js.gz +0 -0
  304. package/dist/client/assets/layout-BS5SCHbc.js.br +0 -0
  305. package/dist/client/assets/layout-BS5SCHbc.js.gz +0 -0
  306. package/dist/client/assets/linear-fo2zkK6T.js.gz +0 -0
  307. package/dist/client/assets/mermaid.core-B8k3pAmc.js.br +0 -0
  308. package/dist/client/assets/mermaid.core-B8k3pAmc.js.gz +0 -0
  309. package/dist/client/assets/mindmap-definition-YA3MSWOX-BwgQTj2Q.js.br +0 -0
  310. package/dist/client/assets/mindmap-definition-YA3MSWOX-BwgQTj2Q.js.gz +0 -0
  311. package/dist/client/assets/passwordBootstrap-DvQk0qYt.js.br +0 -0
  312. package/dist/client/assets/passwordBootstrap-DvQk0qYt.js.gz +0 -0
  313. package/dist/client/assets/pegDiagram-XKGWAZYB-CumSoxLr.js.br +0 -0
  314. package/dist/client/assets/pegDiagram-XKGWAZYB-CumSoxLr.js.gz +0 -0
  315. package/dist/client/assets/pieDiagram-E7YTZNPT-Dc3txkBL.js.br +0 -0
  316. package/dist/client/assets/pieDiagram-E7YTZNPT-Dc3txkBL.js.gz +0 -0
  317. package/dist/client/assets/quadrantDiagram-AXDQQJYC-D92mwZnT.js.br +0 -0
  318. package/dist/client/assets/quadrantDiagram-AXDQQJYC-D92mwZnT.js.gz +0 -0
  319. package/dist/client/assets/railroadDiagram-O6MQD6OU-O1UOZ30Y.js.br +0 -0
  320. package/dist/client/assets/railroadDiagram-O6MQD6OU-O1UOZ30Y.js.gz +0 -0
  321. package/dist/client/assets/rdpSession-Dr_tPwzx.js.br +0 -0
  322. package/dist/client/assets/rdpSession-Dr_tPwzx.js.gz +0 -0
  323. package/dist/client/assets/referenceLongPress-YuGU-PYw.js.br +0 -0
  324. package/dist/client/assets/referenceLongPress-YuGU-PYw.js.gz +0 -0
  325. package/dist/client/assets/requirementDiagram-BXWQKSXE-uD1cgrxA.js.br +0 -0
  326. package/dist/client/assets/requirementDiagram-BXWQKSXE-uD1cgrxA.js.gz +0 -0
  327. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CIJE4-pc.js.br +0 -0
  328. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CIJE4-pc.js.gz +0 -0
  329. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BT6LG37W.js.br +0 -0
  330. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BT6LG37W.js.gz +0 -0
  331. package/dist/client/assets/sizeCapture-INFHLROL-DoYY94Rj.js.br +0 -0
  332. package/dist/client/assets/sizeCapture-INFHLROL-DoYY94Rj.js.gz +0 -0
  333. package/dist/client/assets/stateDiagram-D77RDMKH-C4xmgR_-.js.br +0 -0
  334. package/dist/client/assets/stateDiagram-D77RDMKH-C4xmgR_-.js.gz +0 -0
  335. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BLHH60cg.js +0 -1
  336. package/dist/client/assets/swimlanes-42K2YHIH-mRdmZmAA.js.br +0 -0
  337. package/dist/client/assets/swimlanes-42K2YHIH-mRdmZmAA.js.gz +0 -0
  338. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-D-lNPW5d.js +0 -8
  339. package/dist/client/assets/timeline-definition-24CTP7MA-BFFrD5kR.js.br +0 -0
  340. package/dist/client/assets/timeline-definition-24CTP7MA-BFFrD5kR.js.gz +0 -0
  341. package/dist/client/assets/vennDiagram-4TSXK5OY-Dy59OxIM.js.gz +0 -0
  342. package/dist/client/assets/videoCompression-DrQ47oZA.js.br +0 -0
  343. package/dist/client/assets/videoCompression-DrQ47oZA.js.gz +0 -0
  344. package/dist/client/assets/wardleyDiagram-VM6X3IG4-B-BKlX7o.js.br +0 -0
  345. package/dist/client/assets/wardleyDiagram-VM6X3IG4-B-BKlX7o.js.gz +0 -0
  346. package/dist/client/assets/xychartDiagram-S5SC5T6Z-79qktI_4.js.br +0 -0
  347. package/dist/client/assets/xychartDiagram-S5SC5T6Z-79qktI_4.js.gz +0 -0
@@ -1 +1 @@
1
- import{g as l,r as m,d as a}from"./chunk-SVP7TREG-BUQulipE.js";import{p}from"./chunk-JWPE2WC7-CVe8_YO4.js";import{d as t,bg as o}from"./mermaid.core-B8k3pAmc.js";import{M as u,b as c}from"./cynefin-OW5HDTMX-C-mfarRX.js";import"./app-BCTEfclM.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(g);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),g=t(e=>{const r=P(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),P=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},C={parser:b,db:a,renderer:m,styles:l};export{C as diagram};
1
+ import{g as l,r as m,d as a}from"./chunk-SVP7TREG-Ct25uRBl.js";import{p}from"./chunk-JWPE2WC7-DBNaGHE2.js";import{d as t,bg as o}from"./mermaid.core-wqB76PXA.js";import{M as u,b as c}from"./cynefin-OW5HDTMX-Dxy4auKS.js";import"./app-CI3Oh-41.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(g);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),g=t(e=>{const r=P(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),P=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},C={parser:b,db:a,renderer:m,styles:l};export{C as diagram};
@@ -1,4 +1,4 @@
1
- import{p as at}from"./chunk-JWPE2WC7-CVe8_YO4.js";import{Y as D,b_ as G,j as rt,ao as nt,bK as it,ap as ot,bL as st,at as lt,bN as ct,d as g,bg as B,as as ut,N as dt,bJ as gt,bt as pt,X as ht,O as ft,ab as mt}from"./mermaid.core-B8k3pAmc.js";import{p as vt}from"./cynefin-OW5HDTMX-C-mfarRX.js";import{d as K}from"./arc-B6Qdq2Vw.js";import{o as xt}from"./ordinal-Cboi1Yqb.js";import"./app-BCTEfclM.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";import"./init-Gi6I4Gst.js";function St(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function yt(t){return t}function wt(){var t=yt,n=St,y=null,T=D(0),l=D(G),p=D(0);function i(e){var r,s=(e=rt(e)).length,h,w,$=0,f=new Array(s),o=new Array(s),b=+T.apply(this,arguments),E=Math.min(G,Math.max(-G,l.apply(this,arguments)-b)),k,N=Math.min(Math.abs(E)/s,p.apply(this,arguments)),u=N*(E<0?-1:1),A;for(r=0;r<s;++r)(A=o[f[r]=r]=+t(e[r],r,e))>0&&($+=A);for(n!=null?f.sort(function(M,m){return n(o[M],o[m])}):y!=null&&f.sort(function(M,m){return y(e[M],e[m])}),r=0,w=$?(E-s*u)/$:0;r<s;++r,b=k)h=f[r],A=o[h],k=b+(A>0?A*w:0)+u,o[h]={data:e[h],index:r,value:A,startAngle:b,endAngle:k,padAngle:N};return o}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:D(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(T=typeof e=="function"?e:D(+e),i):T},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:D(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:D(+e),i):p},i}var At=mt.pie,I={sections:new Map,showData:!1},W=I.sections,V=I.showData,Ct=structuredClone(At),$t=g(()=>structuredClone(Ct),"getConfig"),bt=g(()=>{W=new Map,V=I.showData,ft()},"clear"),Dt=g(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);W.has(t)||(W.set(t,n),B.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),Tt=g(()=>W,"getSections"),kt=g(t=>{V=t},"setShowData"),zt=g(()=>V,"getShowData"),Y={getConfig:$t,clear:bt,setDiagramTitle:ct,getDiagramTitle:lt,setAccTitle:st,getAccTitle:ot,setAccDescription:it,getAccDescription:nt,addSection:Dt,getSections:Tt,setShowData:kt,getShowData:zt},Et=g((t,n)=>{at(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),Mt={parse:g(async t=>{const n=await vt("pie",t);B.debug(n),Et(n,Y)},"parse")},Lt=g(t=>`
1
+ import{p as at}from"./chunk-JWPE2WC7-DBNaGHE2.js";import{Y as D,b_ as G,j as rt,ao as nt,bK as it,ap as ot,bL as st,at as lt,bN as ct,d as g,bg as B,as as ut,N as dt,bJ as gt,bt as pt,X as ht,O as ft,ab as mt}from"./mermaid.core-wqB76PXA.js";import{p as vt}from"./cynefin-OW5HDTMX-Dxy4auKS.js";import{d as K}from"./arc-CjpEX_Ug.js";import{o as xt}from"./ordinal-Cboi1Yqb.js";import"./app-CI3Oh-41.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";import"./init-Gi6I4Gst.js";function St(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function yt(t){return t}function wt(){var t=yt,n=St,y=null,T=D(0),l=D(G),p=D(0);function i(e){var r,s=(e=rt(e)).length,h,w,$=0,f=new Array(s),o=new Array(s),b=+T.apply(this,arguments),E=Math.min(G,Math.max(-G,l.apply(this,arguments)-b)),k,N=Math.min(Math.abs(E)/s,p.apply(this,arguments)),u=N*(E<0?-1:1),A;for(r=0;r<s;++r)(A=o[f[r]=r]=+t(e[r],r,e))>0&&($+=A);for(n!=null?f.sort(function(M,m){return n(o[M],o[m])}):y!=null&&f.sort(function(M,m){return y(e[M],e[m])}),r=0,w=$?(E-s*u)/$:0;r<s;++r,b=k)h=f[r],A=o[h],k=b+(A>0?A*w:0)+u,o[h]={data:e[h],index:r,value:A,startAngle:b,endAngle:k,padAngle:N};return o}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:D(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(T=typeof e=="function"?e:D(+e),i):T},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:D(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:D(+e),i):p},i}var At=mt.pie,I={sections:new Map,showData:!1},W=I.sections,V=I.showData,Ct=structuredClone(At),$t=g(()=>structuredClone(Ct),"getConfig"),bt=g(()=>{W=new Map,V=I.showData,ft()},"clear"),Dt=g(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);W.has(t)||(W.set(t,n),B.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),Tt=g(()=>W,"getSections"),kt=g(t=>{V=t},"setShowData"),zt=g(()=>V,"getShowData"),Y={getConfig:$t,clear:bt,setDiagramTitle:ct,getDiagramTitle:lt,setAccTitle:st,getAccTitle:ot,setAccDescription:it,getAccDescription:nt,addSection:Dt,getSections:Tt,setShowData:kt,getShowData:zt},Et=g((t,n)=>{at(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),Mt={parse:g(async t=>{const n=await vt("pie",t);B.debug(n),Et(n,Y)},"parse")},Lt=g(t=>`
2
2
  .pieCircle{
3
3
  stroke: ${t.pieStrokeColor};
4
4
  stroke-width : ${t.pieStrokeWidth};
@@ -1,4 +1,4 @@
1
- import{bK as Ae,ao as ke,at as ae,bN as Fe,ap as Pe,bL as ve,d as o,as as zt,bg as bt,bI as Lt,X as Ce,O as Le,ab as z,bH as Ee,aB as De}from"./mermaid.core-B8k3pAmc.js";import{l as ie}from"./linear-fo2zkK6T.js";import"./app-BCTEfclM.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";import"./init-Gi6I4Gst.js";import"./defaultLocale-CrowFXzY.js";var Et=(function(){var t=o(function(Y,r,l,x){for(l=l||{},x=Y.length;x--;l[Y[x]]=r);return l},"o"),n=[1,3],f=[1,4],d=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],_=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],u=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],g=[1,41],A=[1,45],ht=[1,14],xt=[1,23],ft=[1,18],gt=[1,19],ct=[1,20],_t=[1,21],dt=[1,22],i=[1,24],Vt=[1,25],It=[1,26],wt=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],Q=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Qt=[1,69],Ot=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],K=[1,91],Z=[1,92],J=[1,93],$=[1,100],tt=[1,94],et=[1,97],it=[1,95],at=[1,96],nt=[1,98],st=[1,99],At=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],kt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,x,c,S,e,ut){var s=e.length-1;switch(S){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],c.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),c.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),c.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),c.setAccDescription(this.$);break;case 46:c.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:c.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:c.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:c.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:c.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:c.setXAxisLeftText(e[s-2]),c.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",c.setXAxisLeftText(e[s-1]);break;case 53:c.setXAxisLeftText(e[s]);break;case 54:c.setYAxisBottomText(e[s-2]),c.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",c.setYAxisBottomText(e[s-1]);break;case 56:c.setYAxisBottomText(e[s]);break;case 57:c.setQuadrant1Text(e[s]);break;case 58:c.setQuadrant2Text(e[s]);break;case 59:c.setQuadrant3Text(e[s]);break;case 60:c.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:f,55:d,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:f,55:d,56:h,57:p},{18:n,26:9,27:2,28:f,55:d,56:h,57:p},t(y,[2,33],{29:10}),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:u,5:T,10:m,12:q,13:b,14:g,15:A,18:ht,25:xt,35:ft,37:gt,39:ct,41:_t,42:dt,48:i,50:Vt,51:It,52:wt,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:d,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:u,5:T,10:m,12:q,13:b,14:g,15:A,18:ht,25:xt,35:ft,37:gt,39:ct,41:_t,42:dt,48:i,50:Vt,51:It,52:wt,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:52,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:53,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:54,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:55,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:56,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:57,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:u,5:T,10:m,12:q,13:b,14:g,15:A,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:u,5:T,10:m,12:q,13:b,14:g,15:A,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:K,5:Z,6:J,8:$,11:tt,13:et,16:90,17:it,18:at,19:nt,20:st,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),{46:[1,102]},t(a,[2,29],{10:At}),t(Zt,[2,27],{16:104,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:At}),t(a,[2,48],{22:89,16:90,23:105,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),{4:K,5:Z,6:J,8:$,11:tt,13:et,16:90,17:it,18:at,19:nt,20:st,22:106},t(N,[2,26]),t(a,[2,50],{10:At}),t(Zt,[2,28],{16:104,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var x=new Error(r);throw x.hash=l,x}},"parseError"),parse:o(function(r){var l=this,x=[0],c=[],S=[null],e=[],ut=this.table,s="",yt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),j={yy:{}};for(var Ft in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ft)&&(j.yy[Ft]=this.yy[Ft]);D.setInput(r,j.yy),j.yy.lexer=D,j.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Pt=D.yylloc;e.push(Pt);var Se=D.options&&D.options.ranges;typeof j.yy.parseError=="function"?this.parseError=j.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){x.length=x.length-2*R,S.length=S.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=c.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(c=R,R=c.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,G,W,vt,rt={},Tt,M,ee,mt;;){if(G=x[x.length-1],this.defaultActions[G]?W=this.defaultActions[G]:((B===null||typeof B>"u")&&(B=te()),W=ut[G]&&ut[G][B]),typeof W>"u"||!W.length||!W[0]){var Ct="";mt=[];for(Tt in ut[G])this.terminals_[Tt]&&Tt>qe&&mt.push("'"+this.terminals_[Tt]+"'");D.showPosition?Ct="Parse error on line "+(yt+1)+`:
1
+ import{bK as Ae,ao as ke,at as ae,bN as Fe,ap as Pe,bL as ve,d as o,as as zt,bg as bt,bI as Lt,X as Ce,O as Le,ab as z,bH as Ee,aB as De}from"./mermaid.core-wqB76PXA.js";import{l as ie}from"./linear-yjCZ1UPt.js";import"./app-CI3Oh-41.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";import"./init-Gi6I4Gst.js";import"./defaultLocale-CrowFXzY.js";var Et=(function(){var t=o(function(Y,r,l,x){for(l=l||{},x=Y.length;x--;l[Y[x]]=r);return l},"o"),n=[1,3],f=[1,4],d=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],_=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],u=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],g=[1,41],A=[1,45],ht=[1,14],xt=[1,23],ft=[1,18],gt=[1,19],ct=[1,20],_t=[1,21],dt=[1,22],i=[1,24],Vt=[1,25],It=[1,26],wt=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],Q=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Qt=[1,69],Ot=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],K=[1,91],Z=[1,92],J=[1,93],$=[1,100],tt=[1,94],et=[1,97],it=[1,95],at=[1,96],nt=[1,98],st=[1,99],At=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],kt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,x,c,S,e,ut){var s=e.length-1;switch(S){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],c.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),c.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),c.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),c.setAccDescription(this.$);break;case 46:c.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:c.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:c.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:c.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:c.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:c.setXAxisLeftText(e[s-2]),c.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",c.setXAxisLeftText(e[s-1]);break;case 53:c.setXAxisLeftText(e[s]);break;case 54:c.setYAxisBottomText(e[s-2]),c.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",c.setYAxisBottomText(e[s-1]);break;case 56:c.setYAxisBottomText(e[s]);break;case 57:c.setQuadrant1Text(e[s]);break;case 58:c.setQuadrant2Text(e[s]);break;case 59:c.setQuadrant3Text(e[s]);break;case 60:c.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:f,55:d,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:f,55:d,56:h,57:p},{18:n,26:9,27:2,28:f,55:d,56:h,57:p},t(y,[2,33],{29:10}),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:u,5:T,10:m,12:q,13:b,14:g,15:A,18:ht,25:xt,35:ft,37:gt,39:ct,41:_t,42:dt,48:i,50:Vt,51:It,52:wt,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:d,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:u,5:T,10:m,12:q,13:b,14:g,15:A,18:ht,25:xt,35:ft,37:gt,39:ct,41:_t,42:dt,48:i,50:Vt,51:It,52:wt,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:52,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:53,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:54,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:55,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:56,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:57,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:u,5:T,10:m,12:q,13:b,14:g,15:A,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:u,5:T,10:m,12:q,13:b,14:g,15:A,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:K,5:Z,6:J,8:$,11:tt,13:et,16:90,17:it,18:at,19:nt,20:st,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),{46:[1,102]},t(a,[2,29],{10:At}),t(Zt,[2,27],{16:104,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:At}),t(a,[2,48],{22:89,16:90,23:105,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),{4:K,5:Z,6:J,8:$,11:tt,13:et,16:90,17:it,18:at,19:nt,20:st,22:106},t(N,[2,26]),t(a,[2,50],{10:At}),t(Zt,[2,28],{16:104,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var x=new Error(r);throw x.hash=l,x}},"parseError"),parse:o(function(r){var l=this,x=[0],c=[],S=[null],e=[],ut=this.table,s="",yt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),j={yy:{}};for(var Ft in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ft)&&(j.yy[Ft]=this.yy[Ft]);D.setInput(r,j.yy),j.yy.lexer=D,j.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Pt=D.yylloc;e.push(Pt);var Se=D.options&&D.options.ranges;typeof j.yy.parseError=="function"?this.parseError=j.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){x.length=x.length-2*R,S.length=S.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=c.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(c=R,R=c.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,G,W,vt,rt={},Tt,M,ee,mt;;){if(G=x[x.length-1],this.defaultActions[G]?W=this.defaultActions[G]:((B===null||typeof B>"u")&&(B=te()),W=ut[G]&&ut[G][B]),typeof W>"u"||!W.length||!W[0]){var Ct="";mt=[];for(Tt in ut[G])this.terminals_[Tt]&&Tt>qe&&mt.push("'"+this.terminals_[Tt]+"'");D.showPosition?Ct="Parse error on line "+(yt+1)+`:
2
2
  `+D.showPosition()+`
3
3
  Expecting `+mt.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Ct="Parse error on line "+(yt+1)+": Unexpected "+(B==$t?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Ct,{text:D.match,token:this.terminals_[B]||B,line:D.yylineno,loc:Pt,expected:mt})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+B);switch(W[0]){case 1:x.push(B),S.push(D.yytext),e.push(D.yylloc),x.push(W[1]),B=null,Jt=D.yyleng,s=D.yytext,yt=D.yylineno,Pt=D.yylloc;break;case 2:if(M=this.productions_[W[1]][1],rt.$=S[S.length-M],rt._$={first_line:e[e.length-(M||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(M||1)].first_column,last_column:e[e.length-1].last_column},Se&&(rt._$.range=[e[e.length-(M||1)].range[0],e[e.length-1].range[1]]),vt=this.performAction.apply(rt,[s,Jt,yt,j.yy,W[1],S,e].concat(be)),typeof vt<"u")return vt;M&&(x=x.slice(0,-1*M*2),S=S.slice(0,-1*M),e=e.slice(0,-1*M)),x.push(this.productions_[W[1]][0]),S.push(rt.$),e.push(rt._$),ee=ut[x[x.length-2]][x[x.length-1]],x.push(ee);break;case 3:return!0}}return!0},"parse")},me=(function(){var Y={EOF:1,parseError:o(function(l,x){if(this.yy.parser)this.yy.parser.parseError(l,x);else throw new Error(l)},"parseError"),setInput:o(function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:o(function(r){var l=r.length,x=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),x.length-1&&(this.yylineno-=x.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:x?(x.length===c.length?this.yylloc.first_column:0)+c[c.length-x.length].length-x[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(r){this.unput(this.match.slice(r))},"less"),pastInput:o(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
@@ -1 +1 @@
1
- import{g as s,r as l,d as t}from"./chunk-SVP7TREG-BUQulipE.js";import{p as m}from"./chunk-JWPE2WC7-CVe8_YO4.js";import{d as n,bg as i}from"./mermaid.core-B8k3pAmc.js";import{M as p,d}from"./cynefin-OW5HDTMX-C-mfarRX.js";import"./app-BCTEfclM.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";var u=d().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=u.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},S={parser:y,db:t,renderer:l,styles:s};export{S as diagram};
1
+ import{g as s,r as l,d as t}from"./chunk-SVP7TREG-Ct25uRBl.js";import{p as m}from"./chunk-JWPE2WC7-DBNaGHE2.js";import{d as n,bg as i}from"./mermaid.core-wqB76PXA.js";import{M as p,d}from"./cynefin-OW5HDTMX-Dxy4auKS.js";import"./app-CI3Oh-41.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";var u=d().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=u.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},S={parser:y,db:t,renderer:l,styles:s};export{S as diagram};
@@ -1 +1 @@
1
- import{cx as V}from"./app-BCTEfclM.js";import{c as X}from"./ComputerControlView-B5Yng8Dt.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./ChangeWalkthroughPanel-DHp5r1k9.js";import"./sparkles-DFYGpezN.js";import"./triangle-alert-BwJ6Q_Y0.js";import"./RightSidebar-DaRdlJzn.js";import"./App-BF_s1-_u.js";import"./gestureArbiter-Xl7awIrX.js";import"./referenceLongPress-YuGU-PYw.js";import"./DiffReview-CBf8-Tli.js";import"./DiffViewer-DZfgjOBh.js";var n=n||{};n.ArrayBufferReader=function(l){var e=this;l.onblob=function(t){for(var a=window.atob(t),s=new ArrayBuffer(a.length),c=new Uint8Array(s),y=0;y<a.length;y++)c[y]=a.charCodeAt(y);e.ondata&&e.ondata(s)},l.onend=function(){e.onend&&e.onend()},this.ondata=null,this.onend=null};var n=n||{};n.ArrayBufferWriter=function(l){var e=this;l.onack=function(a){e.onack&&e.onack(a)};function t(a){for(var s="",c=0;c<a.byteLength;c++)s+=String.fromCharCode(a[c]);l.sendBlob(window.btoa(s))}this.blobLength=n.ArrayBufferWriter.DEFAULT_BLOB_LENGTH,this.sendData=function(a){var s=new Uint8Array(a);if(s.length<=e.blobLength)t(s);else for(var c=0;c<s.length;c+=e.blobLength)t(s.subarray(c,c+e.blobLength))},this.sendEnd=function(){l.sendEnd()},this.onack=null};n.ArrayBufferWriter.DEFAULT_BLOB_LENGTH=6048;var n=n||{};n.AudioContextFactory={singleton:null,getAudioContext:function(){var e=window.AudioContext||window.webkitAudioContext;if(e)try{return n.AudioContextFactory.singleton||(n.AudioContextFactory.singleton=new e),n.AudioContextFactory.singleton}catch{}return null}};var n=n||{};n.AudioPlayer=function(){this.sync=function(){}};n.AudioPlayer.isSupportedType=function(e){return n.RawAudioPlayer.isSupportedType(e)};n.AudioPlayer.getSupportedTypes=function(){return n.RawAudioPlayer.getSupportedTypes()};n.AudioPlayer.getInstance=function(e,t){return n.RawAudioPlayer.isSupportedType(t)?new n.RawAudioPlayer(e,t):null};n.RawAudioPlayer=function(e,t){var a=n.RawAudioFormat.parse(t),s=n.AudioContextFactory.getAudioContext(),c=s.currentTime,y=new n.ArrayBufferReader(e),v=.02,h=.3,o=a.bytesPerSample===1?window.Int8Array:window.Int16Array,m=a.bytesPerSample===1?128:32768,I=[],F=function(S){if(S.length<=1)return S[0];var u=0;S.forEach(function(w){u+=w.length});var f=0,p=new o(u);return S.forEach(function(w){p.set(w,f),f+=w.length}),p},x=function(S){for(var u=Number.MAX_VALUE,f=S.length,p=Math.floor(S.length/a.channels),T=Math.floor(a.rate*v),w=Math.max(a.channels*T,a.channels*(p-T)),k=w;k<S.length;k+=a.channels){for(var _=0,D=0;D<a.channels;D++)_+=Math.abs(S[k+D]);_<=u&&(f=k+a.channels,u=_)}return f===S.length?[S]:[new o(S.buffer.slice(0,f*a.bytesPerSample)),new o(S.buffer.slice(f*a.bytesPerSample))]},P=function(S){I.push(new o(S))},O=function(){var S=F(I);return S?(I=x(S),S=I.shift(),S):null},M=function(S){var u=S.length/a.channels,f=s.currentTime;c<f&&(c=f);for(var p=s.createBuffer(a.channels,u,a.rate),T=0;T<a.channels;T++)for(var w=p.getChannelData(T),k=T,_=0;_<u;_++)w[_]=S[k]/m,k+=a.channels;return p};y.ondata=function(S){P(new o(S));var u=O();if(u){var f=s.currentTime;c<f&&(c=f);var p=s.createBufferSource();p.connect(s.destination),p.start||(p.start=p.noteOn),p.buffer=M(u),p.start(c),c+=u.length/a.channels/a.rate}},this.sync=function(){var S=s.currentTime;c=Math.min(c,S+h)}};n.RawAudioPlayer.prototype=new n.AudioPlayer;n.RawAudioPlayer.isSupportedType=function(e){return n.AudioContextFactory.getAudioContext()?n.RawAudioFormat.parse(e)!==null:!1};n.RawAudioPlayer.getSupportedTypes=function(){return n.AudioContextFactory.getAudioContext()?["audio/L8","audio/L16"]:[]};var n=n||{};n.AudioRecorder=function(){this.onclose=null,this.onerror=null};n.AudioRecorder.isSupportedType=function(e){return n.RawAudioRecorder.isSupportedType(e)};n.AudioRecorder.getSupportedTypes=function(){return n.RawAudioRecorder.getSupportedTypes()};n.AudioRecorder.getInstance=function(e,t){return n.RawAudioRecorder.isSupportedType(t)?new n.RawAudioRecorder(e,t):null};n.RawAudioRecorder=function(e,t){var a=this,s=2048,c=3,y=n.RawAudioFormat.parse(t),v=n.AudioContextFactory.getAudioContext();navigator.mediaDevices||(navigator.mediaDevices={}),navigator.mediaDevices.getUserMedia||(navigator.mediaDevices.getUserMedia=(navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia).bind(navigator));var h=new n.ArrayBufferWriter(e),o=y.bytesPerSample===1?window.Int8Array:window.Int16Array,m=y.bytesPerSample===1?128:32768,I=0,F=0,x=null,P=null,O=null,M=function(_){if(_===0)return 1;var D=Math.PI*_;return Math.sin(D)/D},L=function(_,D){return-D<_&&_<D?M(_)*M(_/D):0},S=function(_,D){for(var r=(_.length-1)*D,i=Math.floor(r)-c+1,d=Math.floor(r)+c,E=0,A=i;A<=d;A++)E+=(_[A]||0)*L(r-A,c);return E},u=function(_){var D=_.length;I+=D;var r=Math.round(I*y.rate/_.sampleRate),i=r-F;F+=i;for(var d=new o(i*y.channels),E=0;E<y.channels;E++)for(var A=_.getChannelData(E),b=E,R=0;R<i;R++)d[b]=S(A,R/(i-1))*m,b+=y.channels;return d},f=function(_){O=v.createScriptProcessor(s,y.channels,y.channels),O.connect(v.destination),O.onaudioprocess=function(r){h.sendData(u(r.inputBuffer).buffer)},P=v.createMediaStreamSource(_),P.connect(O),v.state==="suspended"&&v.resume(),x=_},p=function(){h.sendEnd(),a.onerror&&a.onerror()},T=function(){var _=navigator.mediaDevices.getUserMedia({audio:!0},f,p);_&&_.then&&_.then(f,p)},w=function(){if(P&&P.disconnect(),O&&O.disconnect(),x)for(var _=x.getTracks(),D=0;D<_.length;D++)_[D].stop();O=null,P=null,x=null,h.sendEnd()};h.onack=function(_){_.code===n.Status.Code.SUCCESS&&!x?T():(w(),h.onack=null,_.code===n.Status.Code.RESOURCE_CLOSED?a.onclose&&a.onclose():a.onerror&&a.onerror())}};n.RawAudioRecorder.prototype=new n.AudioRecorder;n.RawAudioRecorder.isSupportedType=function(e){return n.AudioContextFactory.getAudioContext()?n.RawAudioFormat.parse(e)!==null:!1};n.RawAudioRecorder.getSupportedTypes=function(){return n.AudioContextFactory.getAudioContext()?["audio/L8","audio/L16"]:[]};var n=n||{};n.BlobReader=function(l,e){var t=this,a=0,s;window.BlobBuilder?s=new BlobBuilder:window.WebKitBlobBuilder?s=new WebKitBlobBuilder:window.MozBlobBuilder?s=new MozBlobBuilder:s=new(function(){var c=[];this.append=function(y){c.push(new Blob([y],{type:e}))},this.getBlob=function(){return new Blob(c,{type:e})}}),l.onblob=function(c){for(var y=window.atob(c),v=new ArrayBuffer(y.length),h=new Uint8Array(v),o=0;o<y.length;o++)h[o]=y.charCodeAt(o);s.append(v),a+=v.byteLength,t.onprogress&&t.onprogress(v.byteLength),l.sendAck("OK",0)},l.onend=function(){t.onend&&t.onend()},this.getLength=function(){return a},this.getBlob=function(){return s.getBlob()},this.onprogress=null,this.onend=null};var n=n||{};n.BlobWriter=function(e){var t=this,a=new n.ArrayBufferWriter(e);a.onack=function(c){t.onack&&t.onack(c)};var s=function(y,v,h){var o=(y.slice||y.webkitSlice||y.mozSlice).bind(y),m=h-v;if(m!==h){var I=o(v,m);if(I.size===m)return I}return o(v,h)};this.sendBlob=function(y){var v=0,h=new FileReader,o=function(){if(v>=y.size){t.oncomplete&&t.oncomplete(y);return}var I=s(y,v,v+a.blobLength);v+=a.blobLength,h.readAsArrayBuffer(I)};h.onload=function(){a.sendData(h.result),a.onack=function(F){t.onack&&t.onack(F),!F.isError()&&(t.onprogress&&t.onprogress(y,v-a.blobLength),o())}},h.onerror=function(){t.onerror&&t.onerror(y,v,h.error)},o()},this.sendEnd=function(){a.sendEnd()},this.onack=null,this.onerror=null,this.onprogress=null,this.oncomplete=null};var n=n||{};n.Client=function(l){var e=this,t=n.Client.State.IDLE,a=0,s=5e3,c=null,y=0,v={0:"butt",1:"round",2:"square"},h={0:"bevel",1:"miter",2:"round"},o=new n.Display,m={},I={},F=[],x=[],P=[],O=new n.IntegerPool,M=[];function L(r){r!=t&&(t=r,e.onstatechange&&e.onstatechange(t))}function S(){return t==n.Client.State.CONNECTED||t==n.Client.State.WAITING}this.exportState=function(i){var d={currentState:t,currentTimestamp:a,layers:{}},E={};for(var A in m)E[A]=m[A];o.flush(function(){for(var R in E){var C=parseInt(R),g=E[R],N=g.toCanvas(),B={width:g.width,height:g.height};g.width&&g.height&&(B.url=N.toDataURL("image/png")),C>0&&(B.x=g.x,B.y=g.y,B.z=g.z,B.alpha=g.alpha,B.matrix=g.matrix,B.parent=f(g.parent)),d.layers[R]=B}i(d)})},this.importState=function(i,d){var E,A;t=i.currentState,a=i.currentTimestamp,o.cancel();for(E in m)A=parseInt(E),A>0&&m[E].dispose();m={};for(E in i.layers){A=parseInt(E);var b=i.layers[E],R=u(A);if(o.resize(R,b.width,b.height),b.url&&(o.setChannelMask(R,n.Layer.SRC),o.draw(R,0,0,b.url)),A>0&&b.parent>=0){var C=u(b.parent);o.move(R,C,b.x,b.y,b.z),o.shade(R,b.alpha);var g=b.matrix;o.distort(R,g[0],g[1],g[2],g[3],g[4],g[5])}}o.flush(d)},this.getDisplay=function(){return o},this.sendSize=function(r,i){S()&&l.sendMessage("size",r,i)},this.sendKeyEvent=function(r,i){S()&&l.sendMessage("key",i,r)},this.sendMouseState=function(i,d){if(S()){var E=i.x,A=i.y;d&&(E/=o.getScale(),A/=o.getScale()),o.moveCursor(Math.floor(E),Math.floor(A));var b=0;i.left&&(b|=1),i.middle&&(b|=2),i.right&&(b|=4),i.up&&(b|=8),i.down&&(b|=16),l.sendMessage("mouse",Math.floor(E),Math.floor(A),b)}},this.sendTouchState=function(i,d){if(S()){var E=i.x,A=i.y;d&&(E/=o.getScale(),A/=o.getScale()),l.sendMessage("touch",i.id,Math.floor(E),Math.floor(A),Math.floor(i.radiusX),Math.floor(i.radiusY),i.angle,i.force)}},this.createOutputStream=function(){var i=O.next(),d=M[i]=new n.OutputStream(e,i);return d},this.createAudioStream=function(r){var i=e.createOutputStream();return l.sendMessage("audio",i.index,r),i},this.createFileStream=function(r,i){var d=e.createOutputStream();return l.sendMessage("file",d.index,r,i),d},this.createPipeStream=function(r,i){var d=e.createOutputStream();return l.sendMessage("pipe",d.index,r,i),d},this.createClipboardStream=function(r){var i=e.createOutputStream();return l.sendMessage("clipboard",i.index,r),i},this.createArgumentValueStream=function(i,d){var E=e.createOutputStream();return l.sendMessage("argv",E.index,i,d),E},this.createObjectOutputStream=function(i,d,E){var A=e.createOutputStream();return l.sendMessage("put",i,A.index,d,E),A},this.requestObjectInputStream=function(i,d){S()&&l.sendMessage("get",i,d)},this.sendAck=function(r,i,d){S()&&l.sendMessage("ack",r,i,d)},this.sendBlob=function(r,i){S()&&l.sendMessage("blob",r,i)},this.endStream=function(r){S()&&(l.sendMessage("end",r),M[r]&&(O.free(r),delete M[r]))},this.onstatechange=null,this.onname=null,this.onerror=null,this.onmsg=null,this.onjoin=null,this.onleave=null,this.onaudio=null,this.onvideo=null,this.onmultitouch=null,this.onargv=null,this.onclipboard=null,this.onfile=null,this.onfilesystem=null,this.onpipe=null,this.onrequired=null,this.onsync=null;var u=function(i){var d=m[i];return d||(i===0?d=o.getDefaultLayer():i>0?d=o.createLayer():d=o.createBuffer(),m[i]=d),d},f=function(i){if(!i)return null;for(var d in m)if(i===m[d])return parseInt(d);return null};function p(r){var i=F[r];return i==null&&(i=F[r]=new n.Parser,i.oninstruction=l.oninstruction),i}var T={"miter-limit":function(r,i){o.setMiterLimit(r,parseFloat(i))},"multi-touch":function(i,d){e.onmultitouch&&i instanceof n.Display.VisibleLayer&&e.onmultitouch(i,parseInt(d))}},w={ack:function(r){var i=parseInt(r[0]),d=r[1],E=parseInt(r[2]),A=M[i];A&&(A.onack&&A.onack(new n.Status(E,d)),E>=256&&M[i]===A&&(O.free(i),delete M[i]))},arc:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseFloat(r[4]),R=parseFloat(r[5]),C=parseInt(r[6]);o.arc(i,d,E,A,b,R,C!=0)},argv:function(r){var i=parseInt(r[0]),d=r[1],E=r[2];if(e.onargv){var A=x[i]=new n.InputStream(e,i);e.onargv(A,d,E)}else e.sendAck(i,"Receiving argument values unsupported",256)},audio:function(r){var i=parseInt(r[0]),d=r[1],E=x[i]=new n.InputStream(e,i),A=null;e.onaudio&&(A=e.onaudio(E,d)),A||(A=n.AudioPlayer.getInstance(E,d)),A?(I[i]=A,e.sendAck(i,"OK",0)):e.sendAck(i,"BAD TYPE",783)},blob:function(r){var i=parseInt(r[0]),d=r[1],E=x[i];E&&E.onblob&&E.onblob(d)},body:function(i){var d=parseInt(i[0]),E=P[d],A=parseInt(i[1]),b=i[2],R=i[3];if(E&&E.onbody){var C=x[A]=new n.InputStream(e,A);E.onbody(C,b,R)}else e.sendAck(A,"Receipt of body unsupported",256)},cfill:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]);o.setChannelMask(d,i),o.fillColor(d,E,A,b,R)},clip:function(r){var i=u(parseInt(r[0]));o.clip(i)},clipboard:function(r){var i=parseInt(r[0]),d=r[1];if(e.onclipboard){var E=x[i]=new n.InputStream(e,i);e.onclipboard(E,d)}else e.sendAck(i,"Clipboard unsupported",256)},close:function(r){var i=u(parseInt(r[0]));o.close(i)},copy:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]),C=u(parseInt(r[6])),g=parseInt(r[7]),N=parseInt(r[8]);o.setChannelMask(C,R),o.copy(i,d,E,A,b,C,g,N)},cstroke:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=v[parseInt(r[2])],A=h[parseInt(r[3])],b=parseInt(r[4]),R=parseInt(r[5]),C=parseInt(r[6]),g=parseInt(r[7]),N=parseInt(r[8]);o.setChannelMask(d,i),o.strokeColor(d,E,A,b,R,C,g,N)},cursor:function(r){var i=parseInt(r[0]),d=parseInt(r[1]),E=u(parseInt(r[2])),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]),C=parseInt(r[6]);o.setCursor(i,d,E,A,b,R,C)},curve:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]),C=parseInt(r[6]);o.curveTo(i,d,E,A,b,R,C)},disconnect:function(i){e.disconnect()},dispose:function(r){var i=parseInt(r[0]);if(i>0){var d=u(i);o.dispose(d),delete m[i]}else i<0&&delete m[i]},distort:function(r){var i=parseInt(r[0]),d=parseFloat(r[1]),E=parseFloat(r[2]),A=parseFloat(r[3]),b=parseFloat(r[4]),R=parseFloat(r[5]),C=parseFloat(r[6]);if(i>=0){var g=u(i);o.distort(g,d,E,A,b,R,C)}},error:function(r){var i=r[0],d=parseInt(r[1]);e.onerror&&e.onerror(new n.Status(d,i)),e.disconnect()},end:function(r){var i=parseInt(r[0]),d=x[i];d&&(d.onend&&d.onend(),delete x[i])},file:function(r){var i=parseInt(r[0]),d=r[1],E=r[2];if(e.onfile){var A=x[i]=new n.InputStream(e,i);e.onfile(A,d,E)}else e.sendAck(i,"File transfer unsupported",256)},filesystem:function(i){var d=parseInt(i[0]),E=i[1];if(e.onfilesystem){var A=P[d]=new n.Object(e,d);e.onfilesystem(A,E)}},identity:function(r){var i=u(parseInt(r[0]));o.setTransform(i,1,0,0,1,0,0)},img:function(r){var i=parseInt(r[0]),d=parseInt(r[1]),E=u(parseInt(r[2])),A=r[3],b=parseInt(r[4]),R=parseInt(r[5]),C=x[i]=new n.InputStream(e,i);o.setChannelMask(E,d),o.drawStream(E,b,R,C,A)},jpeg:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=parseInt(r[2]),A=parseInt(r[3]),b=r[4];o.setChannelMask(d,i),o.draw(d,E,A,"data:image/jpeg;base64,"+b)},lfill:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=u(parseInt(r[2]));o.setChannelMask(d,i),o.fillLayer(d,E)},line:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]);o.lineTo(i,d,E)},lstroke:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=u(parseInt(r[2]));o.setChannelMask(d,i),o.strokeLayer(d,E)},mouse:function(i){var d=parseInt(i[0]),E=parseInt(i[1]);o.showCursor(!0),o.moveCursor(d,E)},move:function(r){var i=parseInt(r[0]),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]);if(i>0&&d>=0){var R=u(i),C=u(d);o.move(R,C,E,A,b)}},msg:function(r){var i,d,E=!0,A=parseInt(r[0]);if(e.onmsg&&(E=e.onmsg(A,r.slice(1)),E===void 0&&(E=!0)),E)switch(A){case n.Client.Message.USER_JOINED:i=r[1],d=r[2],e.onjoin&&e.onjoin(i,d);break;case n.Client.Message.USER_LEFT:i=r[1],d=r[2],e.onleave&&e.onleave(i,d);break}},name:function(r){e.onname&&e.onname(r[0])},nest:function(r){var i=p(parseInt(r[0]));i.receive(r[1])},pipe:function(r){var i=parseInt(r[0]),d=r[1],E=r[2];if(e.onpipe){var A=x[i]=new n.InputStream(e,i);e.onpipe(A,d,E)}else e.sendAck(i,"Named pipes unsupported",256)},png:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=parseInt(r[2]),A=parseInt(r[3]),b=r[4];o.setChannelMask(d,i),o.draw(d,E,A,"data:image/png;base64,"+b)},pop:function(r){var i=u(parseInt(r[0]));o.pop(i)},push:function(r){var i=u(parseInt(r[0]));o.push(i)},rect:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]);o.rect(i,d,E,A,b)},required:function(i){e.onrequired&&e.onrequired(i)},reset:function(r){var i=u(parseInt(r[0]));o.reset(i)},set:function(r){var i=u(parseInt(r[0])),d=r[1],E=r[2],A=T[d];A&&A(i,E)},shade:function(r){var i=parseInt(r[0]),d=parseInt(r[1]);if(i>=0){var E=u(i);o.shade(E,d)}},size:function(r){var i=parseInt(r[0]),d=u(i),E=parseInt(r[1]),A=parseInt(r[2]);o.resize(d,E,A)},start:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]);o.moveTo(i,d,E)},sync:function(r){var i=parseInt(r[0]),d=r[1]?parseInt(r[1]):0;o.flush(function(){for(var A in I){var b=I[A];b&&b.sync()}i!==a&&(l.sendMessage("sync",i),a=i)},i,d),t===n.Client.State.WAITING&&L(n.Client.State.CONNECTED),e.onsync&&e.onsync(i,d)},transfer:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]),C=u(parseInt(r[6])),g=parseInt(r[7]),N=parseInt(r[8]);R===3?o.put(i,d,E,A,b,C,g,N):R!==5&&o.transfer(i,d,E,A,b,C,g,N,n.Client.DefaultTransferFunction[R])},transform:function(r){var i=u(parseInt(r[0])),d=parseFloat(r[1]),E=parseFloat(r[2]),A=parseFloat(r[3]),b=parseFloat(r[4]),R=parseFloat(r[5]),C=parseFloat(r[6]);o.transform(i,d,E,A,b,R,C)},undefine:function(i){var d=parseInt(i[0]),E=P[d];E&&E.onundefine&&E.onundefine()},video:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=r[2],A=x[i]=new n.InputStream(e,i),b=null;e.onvideo&&(b=e.onvideo(A,d,E)),b||(b=n.VideoPlayer.getInstance(A,d,E)),b?e.sendAck(i,"OK",0):e.sendAck(i,"BAD TYPE",783)}},k=function(){l.sendMessage("nop"),y=new Date().getTime()},_=function(){window.clearTimeout(c);var i=new Date().getTime(),d=Math.max(y+s-i,0);d>0?c=window.setTimeout(k,d):k()},D=function(){window.clearTimeout(c)};l.oninstruction=function(r,i){var d=w[r];d&&d(i),_()},this.disconnect=function(){t!=n.Client.State.DISCONNECTED&&t!=n.Client.State.DISCONNECTING&&(L(n.Client.State.DISCONNECTING),D(),l.sendMessage("disconnect"),l.disconnect(),L(n.Client.State.DISCONNECTED))},this.connect=function(r){L(n.Client.State.CONNECTING);try{l.connect(r)}catch(i){throw L(n.Client.State.IDLE),i}_(),L(n.Client.State.WAITING)}};n.Client.State={IDLE:0,CONNECTING:1,WAITING:2,CONNECTED:3,DISCONNECTING:4,DISCONNECTED:5};n.Client.DefaultTransferFunction={0:function(l,e){e.red=e.green=e.blue=0},15:function(l,e){e.red=e.green=e.blue=255},3:function(l,e){e.red=l.red,e.green=l.green,e.blue=l.blue,e.alpha=l.alpha},5:function(l,e){},12:function(l,e){e.red=255&~l.red,e.green=255&~l.green,e.blue=255&~l.blue,e.alpha=l.alpha},10:function(l,e){e.red=255&~e.red,e.green=255&~e.green,e.blue=255&~e.blue},1:function(l,e){e.red=l.red&e.red,e.green=l.green&e.green,e.blue=l.blue&e.blue},14:function(l,e){e.red=255&~(l.red&e.red),e.green=255&~(l.green&e.green),e.blue=255&~(l.blue&e.blue)},7:function(l,e){e.red=l.red|e.red,e.green=l.green|e.green,e.blue=l.blue|e.blue},8:function(l,e){e.red=255&~(l.red|e.red),e.green=255&~(l.green|e.green),e.blue=255&~(l.blue|e.blue)},6:function(l,e){e.red=l.red^e.red,e.green=l.green^e.green,e.blue=l.blue^e.blue},9:function(l,e){e.red=255&~(l.red^e.red),e.green=255&~(l.green^e.green),e.blue=255&~(l.blue^e.blue)},4:function(l,e){e.red=255&(~l.red&e.red),e.green=255&(~l.green&e.green),e.blue=255&(~l.blue&e.blue)},13:function(l,e){e.red=255&(~l.red|e.red),e.green=255&(~l.green|e.green),e.blue=255&(~l.blue|e.blue)},2:function(l,e){e.red=255&(l.red&~e.red),e.green=255&(l.green&~e.green),e.blue=255&(l.blue&~e.blue)},11:function(l,e){e.red=255&(l.red|~e.red),e.green=255&(l.green|~e.green),e.blue=255&(l.blue|~e.blue)}};n.Client.Message={USER_JOINED:1,USER_LEFT:2};var n=n||{};n.DataURIReader=function(l,e){var t=this,a="data:"+e+";base64,";l.onblob=function(c){a+=c},l.onend=function(){t.onend&&t.onend()},this.getURI=function(){return a},this.onend=null};var n=n||{};n.Display=function(){var l=this,e=0,t=0,a=1,s=document.createElement("div");s.style.position="relative",s.style.width=e+"px",s.style.height=t+"px",s.style.transformOrigin=s.style.webkitTransformOrigin=s.style.MozTransformOrigin=s.style.OTransformOrigin=s.style.msTransformOrigin="0 0";var c=new n.Display.VisibleLayer(e,t),y=new n.Display.VisibleLayer(0,0);y.setChannelMask(n.Layer.SRC),s.appendChild(c.getElement()),s.appendChild(y.getElement());var v=document.createElement("div");v.style.position="relative",v.style.width=e*a+"px",v.style.height=t*a+"px",v.appendChild(s),this.cursorHotspotX=0,this.cursorHotspotY=0,this.cursorX=0,this.cursorY=0,this.statisticWindow=0,this.onresize=null,this.oncursor=null,this.onstatistics=null;var h=[],o=[],m=null,I=function(){for(var f=0,p=0,T=0,w=0;w<o.length;){var k=o[w];if(!k.isReady())break;k.flush(),f=k.localTimestamp,p=k.remoteTimestamp,T+=k.logicalFrames,w++}o.splice(0,w),w&&P(f,p,T)},F=function(){var f=function p(){if(m=null,!!o.length){if(o[0].isReady()){var T=o.shift();T.flush(),P(T.localTimestamp,T.remoteTimestamp,T.logicalFrames)}o.length&&(m=window.requestAnimationFrame(p))}};m||(m=window.requestAnimationFrame(f))},x=[],P=function(f,p,T){if(l.statisticWindow){for(var w=new Date().getTime(),k=0;k<x.length&&!(w-x[k].timestamp<=l.statisticWindow);k++);x.splice(0,k-1),x.push({localTimestamp:f,remoteTimestamp:p,timestamp:w,frames:T});var _=(x[x.length-1].timestamp-x[0].timestamp)/1e3,D=(x[x.length-1].remoteTimestamp-x[0].remoteTimestamp)/1e3,r=x.length,i=x.reduce(function(b,R){return b+R.frames},0),d=x.reduce(function(b,R){return b+Math.max(0,R.frames-1)},0),E=new n.Display.Statistics({processingLag:w-f,desktopFps:D&&i?i/D:null,clientFps:_?r/_:null,serverFps:D?r/D:null,dropRate:D?d/D:null});l.onstatistics&&l.onstatistics(E)}};window.addEventListener("blur",function(){m&&!document.hasFocus()&&(window.cancelAnimationFrame(m),m=null,I())},!0);function O(){window.requestAnimationFrame&&document.hasFocus()?F():I()}var M=function(f,p,T,w){this.localTimestamp=new Date().getTime(),this.remoteTimestamp=T||this.localTimestamp,this.logicalFrames=w||0,this.cancel=function(){f=null,p.forEach(function(D){D.cancel()}),p=[]},this.isReady=function(){for(var k=0;k<p.length;k++)if(p[k].blocked)return!1;return!0},this.flush=function(){for(var k=0;k<p.length;k++)p[k].execute();f&&f()}};function L(u,f){var p=this;this.blocked=f,this.cancel=function(){p.blocked=!1,u=null},this.unblock=function(){p.blocked&&(p.blocked=!1,O())},this.execute=function(){u&&u()}}function S(u,f){var p=new L(u,f);return h.push(p),p}this.getElement=function(){return v},this.getWidth=function(){return e},this.getHeight=function(){return t},this.getDefaultLayer=function(){return c},this.getCursorLayer=function(){return y},this.createLayer=function(){var u=new n.Display.VisibleLayer(e,t);return u.move(c,0,0,0),u},this.createBuffer=function(){var u=new n.Layer(0,0);return u.autosize=1,u},this.flush=function(u,f,p){o.push(new M(u,h,f,p)),h=[],O()},this.cancel=function(){o.forEach(function(p){p.cancel()}),o=[],h.forEach(function(p){p.cancel()}),h=[]},this.setCursor=function(u,f,p,T,w,k,_){S(function(){l.cursorHotspotX=u,l.cursorHotspotY=f,y.resize(k,_),y.copy(p,T,w,k,_,0,0),l.moveCursor(l.cursorX,l.cursorY),l.oncursor&&l.oncursor(y.toCanvas(),u,f)})},this.showCursor=function(u){var f=y.getElement(),p=f.parentNode;u===!1?p&&p.removeChild(f):p!==s&&s.appendChild(f)},this.moveCursor=function(u,f){y.translate(u-l.cursorHotspotX,f-l.cursorHotspotY),l.cursorX=u,l.cursorY=f},this.resize=function(u,f,p){S(function(){u.resize(f,p),u===c&&(e=f,t=p,s.style.width=e+"px",s.style.height=t+"px",v.style.width=e*a+"px",v.style.height=t*a+"px",l.onresize&&l.onresize(f,p))})},this.drawImage=function(u,f,p,T){S(function(){u.drawImage(f,p,T)})},this.drawBlob=function(u,f,p,T){var w;if(window.createImageBitmap){var k;w=S(function(){u.drawImage(f,p,k)},!0),window.createImageBitmap(T).then(function(i){k=i,w.unblock()})}else{var _=URL.createObjectURL(T);w=S(function(){D.width&&D.height&&u.drawImage(f,p,D),URL.revokeObjectURL(_)},!0);var D=new Image;D.onload=w.unblock,D.onerror=w.unblock,D.src=_}},this.drawStream=function(f,p,T,w,k){if(window.createImageBitmap){var _=new n.BlobReader(w,k);_.onend=function(){l.drawBlob(f,p,T,_.getBlob())}}else{var _=new n.DataURIReader(w,k);_.onend=function(){l.draw(f,p,T,_.getURI())}}},this.draw=function(u,f,p,T){var w=S(function(){k.width&&k.height&&u.drawImage(f,p,k)},!0),k=new Image;k.onload=w.unblock,k.onerror=w.unblock,k.src=T},this.play=function(u,f,p,T){var w=document.createElement("video");w.type=f,w.src=T,w.addEventListener("play",function(){function k(){u.drawImage(0,0,w),w.ended||window.setTimeout(k,20)}k()},!1),S(w.play)},this.transfer=function(u,f,p,T,w,k,_,D,r){S(function(){k.transfer(u,f,p,T,w,_,D,r)})},this.put=function(u,f,p,T,w,k,_,D){S(function(){k.put(u,f,p,T,w,_,D)})},this.copy=function(u,f,p,T,w,k,_,D){S(function(){k.copy(u,f,p,T,w,_,D)})},this.moveTo=function(u,f,p){S(function(){u.moveTo(f,p)})},this.lineTo=function(u,f,p){S(function(){u.lineTo(f,p)})},this.arc=function(u,f,p,T,w,k,_){S(function(){u.arc(f,p,T,w,k,_)})},this.curveTo=function(u,f,p,T,w,k,_){S(function(){u.curveTo(f,p,T,w,k,_)})},this.close=function(u){S(function(){u.close()})},this.rect=function(u,f,p,T,w){S(function(){u.rect(f,p,T,w)})},this.clip=function(u){S(function(){u.clip()})},this.strokeColor=function(u,f,p,T,w,k,_,D){S(function(){u.strokeColor(f,p,T,w,k,_,D)})},this.fillColor=function(u,f,p,T,w){S(function(){u.fillColor(f,p,T,w)})},this.strokeLayer=function(u,f,p,T,w){S(function(){u.strokeLayer(f,p,T,w)})},this.fillLayer=function(u,f){S(function(){u.fillLayer(f)})},this.push=function(u){S(function(){u.push()})},this.pop=function(u){S(function(){u.pop()})},this.reset=function(u){S(function(){u.reset()})},this.setTransform=function(u,f,p,T,w,k,_){S(function(){u.setTransform(f,p,T,w,k,_)})},this.transform=function(u,f,p,T,w,k,_){S(function(){u.transform(f,p,T,w,k,_)})},this.setChannelMask=function(u,f){S(function(){u.setChannelMask(f)})},this.setMiterLimit=function(u,f){S(function(){u.setMiterLimit(f)})},this.dispose=function(f){S(function(){f.dispose()})},this.distort=function(f,p,T,w,k,_,D){S(function(){f.distort(p,T,w,k,_,D)})},this.move=function(f,p,T,w,k){S(function(){f.move(p,T,w,k)})},this.shade=function(f,p){S(function(){f.shade(p)})},this.scale=function(u){s.style.transform=s.style.WebkitTransform=s.style.MozTransform=s.style.OTransform=s.style.msTransform="scale("+u+","+u+")",a=u,v.style.width=e*a+"px",v.style.height=t*a+"px"},this.getScale=function(){return a},this.flatten=function(){var u=document.createElement("canvas");u.width=c.width,u.height=c.height;var f=u.getContext("2d");function p(w){var k=[];for(var _ in w.children)k.push(w.children[_]);return k.sort(function(r,i){var d=r.z-i.z;if(d!==0)return d;var E=r.getElement(),A=i.getElement(),b=A.compareDocumentPosition(E);return b&Node.DOCUMENT_POSITION_PRECEDING?-1:b&Node.DOCUMENT_POSITION_FOLLOWING?1:0}),k}function T(w,k,_){if(w.width>0&&w.height>0){var D=f.globalAlpha;f.globalAlpha*=w.alpha/255,f.drawImage(w.getCanvas(),k,_);for(var r=p(w),i=0;i<r.length;i++){var d=r[i];T(d,k+d.x,_+d.y)}f.globalAlpha=D}}return T(c,0,0),u}};n.Display.VisibleLayer=function(l,e){n.Layer.apply(this,[l,e]);var t=this;this.__unique_id=n.Display.VisibleLayer.__next_id++,this.alpha=255,this.x=0,this.y=0,this.z=0,this.matrix=[1,0,0,1,0,0],this.parent=null,this.children={};var a=t.getCanvas();a.style.position="absolute",a.style.left="0px",a.style.top="0px";var s=document.createElement("div");s.appendChild(a),s.style.width=l+"px",s.style.height=e+"px",s.style.position="absolute",s.style.left="0px",s.style.top="0px",s.style.overflow="hidden";var c=this.resize;this.resize=function(h,o){s.style.width=h+"px",s.style.height=o+"px",c(h,o)},this.getElement=function(){return s};var y="translate(0px, 0px)",v="matrix(1, 0, 0, 1, 0, 0)";this.translate=function(h,o){t.x=h,t.y=o,y="translate("+h+"px,"+o+"px)",s.style.transform=s.style.WebkitTransform=s.style.MozTransform=s.style.OTransform=s.style.msTransform=y+" "+v},this.move=function(h,o,m,I){if(t.parent!==h){t.parent&&delete t.parent.children[t.__unique_id],t.parent=h,h.children[t.__unique_id]=t;var F=h.getElement();F.appendChild(s)}t.translate(o,m),t.z=I,s.style.zIndex=I},this.shade=function(h){t.alpha=h,s.style.opacity=h/255},this.dispose=function(){t.parent&&(delete t.parent.children[t.__unique_id],t.parent=null),s.parentNode&&s.parentNode.removeChild(s)},this.distort=function(h,o,m,I,F,x){t.matrix=[h,o,m,I,F,x],v="matrix("+h+","+o+","+m+","+I+","+F+","+x+")",s.style.transform=s.style.WebkitTransform=s.style.MozTransform=s.style.OTransform=s.style.msTransform=y+" "+v}};n.Display.VisibleLayer.__next_id=0;n.Display.Statistics=function(e){e=e||{},this.processingLag=e.processingLag,this.desktopFps=e.desktopFps,this.serverFps=e.serverFps,this.clientFps=e.clientFps,this.dropRate=e.dropRate};var n=n||{};n.Event=function(e){this.type=e,this.timestamp=new Date().getTime(),this.getAge=function(){return new Date().getTime()-this.timestamp},this.invokeLegacyHandler=function(a){}};n.Event.DOMEvent=function(e,t){n.Event.call(this,e),t=t||[],Array.isArray(t)||(t=[t]),this.preventDefault=function(){t.forEach(function(c){c.preventDefault&&c.preventDefault(),c.returnValue=!1})},this.stopPropagation=function(){t.forEach(function(c){c.stopPropagation()})}};n.Event.DOMEvent.cancelEvent=function(e){e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1};n.Event.Target=function(){var e={};this.on=function(a,s){var c=e[a];c||(e[a]=c=[]),c.push(s)},this.onEach=function(a,s){a.forEach(function(y){this.on(y,s)},this)},this.dispatch=function(a){a.invokeLegacyHandler(this);var s=e[a.type];if(s)for(var c=0;c<s.length;c++)s[c](a,this)},this.off=function(a,s){var c=e[a];if(!c)return!1;for(var y=0;y<c.length;y++)if(c[y]===s)return c.splice(y,1),!0;return!1},this.offEach=function(a,s){var c=!1;return a.forEach(function(v){c|=this.off(v,s)},this),c}};var n=n||{};n.InputSink=function(){var e=this,t=document.createElement("textarea");t.style.position="fixed",t.style.outline="none",t.style.border="none",t.style.margin="0",t.style.padding="0",t.style.height="0",t.style.width="0",t.style.left="0",t.style.bottom="0",t.style.resize="none",t.style.background="transparent",t.style.color="transparent",t.addEventListener("keypress",function(s){t.value=""},!1),t.addEventListener("compositionend",function(s){s.data&&(t.value="")},!1),t.addEventListener("input",function(s){s.data&&!s.isComposing&&(t.value="")},!1),t.addEventListener("focus",function(){window.setTimeout(function(){t.click(),t.select()},0)},!0),this.focus=function(){window.setTimeout(function(){t.focus()},0)},this.getElement=function(){return t},document.addEventListener("keydown",function(s){var c=document.activeElement;if(c&&c!==document.body){var y=c.getBoundingClientRect();if(y.left+y.width>0&&y.top+y.height>0)return}e.focus()},!0)};var n=n||{};n.InputStream=function(l,e){var t=this;this.index=e,this.onblob=null,this.onend=null,this.sendAck=function(a,s){l.sendAck(t.index,a,s)}};var n=n||{};n.IntegerPool=function(){var l=this,e=[];this.next_int=0,this.next=function(){return e.length>0?e.shift():l.next_int++},this.free=function(t){e.push(t)}};var n=n||{};n.JSONReader=function(e){var t=this,a=new n.StringReader(e),s="";this.getLength=function(){return s.length},this.getJSON=function(){return JSON.parse(s)},a.ontext=function(y){s+=y,t.onprogress&&t.onprogress(y.length)},a.onend=function(){t.onend&&t.onend()},this.onprogress=null,this.onend=null};var n=n||{};n.Keyboard=function(e){var t=this,a=n.Keyboard._nextID++,s="_GUAC_KEYBOARD_HANDLED_BY_"+a;this.onkeydown=null,this.onkeyup=null;var c={keyupUnreliable:!1,altIsTypableOnly:!1,capsLockKeyupUnreliable:!1};navigator&&navigator.platform&&(navigator.platform.match(/ipad|iphone|ipod/i)?c.keyupUnreliable=!0:navigator.platform.match(/^mac/i)&&(c.altIsTypableOnly=!0,c.capsLockKeyupUnreliable=!0));var y=function(g){var N=this;this.keyCode=g?g.which||g.keyCode:0,this.keyIdentifier=g&&g.keyIdentifier,this.key=g&&g.key,this.location=g?b(g):0,this.modifiers=g?n.Keyboard.ModifierState.fromKeyboardEvent(g):new n.Keyboard.ModifierState,this.timestamp=new Date().getTime(),this.defaultPrevented=!1,this.keysym=null,this.reliable=!1,this.getAge=function(){return new Date().getTime()-N.timestamp}},v=function(g){y.call(this,g),this.keysym=p(this.key,this.location)||k(this.keyCode,this.location),this.keyupReliable=!c.keyupUnreliable,this.keysym&&!f(this.keysym)&&(this.reliable=!0),!this.keysym&&_(this.keyCode,this.keyIdentifier)&&(this.keysym=p(this.keyIdentifier,this.location,this.modifiers.shift)),this.modifiers.meta&&this.keysym!==65511&&this.keysym!==65512?this.keyupReliable=!1:this.keysym===65509&&c.capsLockKeyupUnreliable&&(this.keyupReliable=!1);var N=!this.modifiers.ctrl&&!c.altIsTypableOnly,B=!this.modifiers.alt;(B&&this.modifiers.ctrl||N&&this.modifiers.alt||this.modifiers.meta||this.modifiers.hyper)&&(this.reliable=!0),M[this.keyCode]=this.keysym};v.prototype=new y;var h=function(g){y.call(this,g),this.keysym=w(this.keyCode),this.reliable=!0};h.prototype=new y;var o=function(g){y.call(this,g),this.keysym=k(this.keyCode,this.location)||p(this.key,this.location),t.pressed[this.keysym]||(this.keysym=M[this.keyCode]||this.keysym),this.reliable=!0};o.prototype=new y;var m=[],I={8:[65288],9:[65289],12:[65291,65291,65291,65461],13:[65293],16:[65505,65505,65506],17:[65507,65507,65508],18:[65513,65513,65027],19:[65299],20:[65509],27:[65307],32:[32],33:[65365,65365,65365,65465],34:[65366,65366,65366,65459],35:[65367,65367,65367,65457],36:[65360,65360,65360,65463],37:[65361,65361,65361,65460],38:[65362,65362,65362,65464],39:[65363,65363,65363,65462],40:[65364,65364,65364,65458],45:[65379,65379,65379,65456],46:[65535,65535,65535,65454],91:[65511],92:[65512],93:[65383],96:[65456],97:[65457],98:[65458],99:[65459],100:[65460],101:[65461],102:[65462],103:[65463],104:[65464],105:[65465],106:[65450],107:[65451],109:[65453],110:[65454],111:[65455],112:[65470],113:[65471],114:[65472],115:[65473],116:[65474],117:[65475],118:[65476],119:[65477],120:[65478],121:[65479],122:[65480],123:[65481],144:[65407],145:[65300],225:[65027]},F={Again:[65382],AllCandidates:[65341],Alphanumeric:[65328],Alt:[65513,65513,65027],Attn:[64782],AltGraph:[65027],ArrowDown:[65364],ArrowLeft:[65361],ArrowRight:[65363],ArrowUp:[65362],Backspace:[65288],CapsLock:[65509],Cancel:[65385],Clear:[65291],Convert:[65313],Copy:[64789],Crsel:[64796],CrSel:[64796],CodeInput:[65335],Compose:[65312],Control:[65507,65507,65508],ContextMenu:[65383],Delete:[65535],Down:[65364],End:[65367],Enter:[65293],EraseEof:[64774],Escape:[65307],Execute:[65378],Exsel:[64797],ExSel:[64797],F1:[65470],F2:[65471],F3:[65472],F4:[65473],F5:[65474],F6:[65475],F7:[65476],F8:[65477],F9:[65478],F10:[65479],F11:[65480],F12:[65481],F13:[65482],F14:[65483],F15:[65484],F16:[65485],F17:[65486],F18:[65487],F19:[65488],F20:[65489],F21:[65490],F22:[65491],F23:[65492],F24:[65493],Find:[65384],GroupFirst:[65036],GroupLast:[65038],GroupNext:[65032],GroupPrevious:[65034],FullWidth:null,HalfWidth:null,HangulMode:[65329],Hankaku:[65321],HanjaMode:[65332],Help:[65386],Hiragana:[65317],HiraganaKatakana:[65319],Home:[65360],Hyper:[65517,65517,65518],Insert:[65379],JapaneseHiragana:[65317],JapaneseKatakana:[65318],JapaneseRomaji:[65316],JunjaMode:[65336],KanaMode:[65325],KanjiMode:[65313],Katakana:[65318],Left:[65361],Meta:[65511,65511,65512],ModeChange:[65406],NumLock:[65407],PageDown:[65366],PageUp:[65365],Pause:[65299],Play:[64790],PreviousCandidate:[65342],PrintScreen:[65377],Redo:[65382],Right:[65363],RomanCharacters:null,Scroll:[65300],Select:[65376],Separator:[65452],Shift:[65505,65505,65506],SingleCandidate:[65340],Super:[65515,65515,65516],Tab:[65289],UIKeyInputDownArrow:[65364],UIKeyInputEscape:[65307],UIKeyInputLeftArrow:[65361],UIKeyInputRightArrow:[65363],UIKeyInputUpArrow:[65362],Up:[65362],Undo:[65381],Win:[65511,65511,65512],Zenkaku:[65320],ZenkakuHankaku:[65322]},x={65027:!0,65505:!0,65506:!0,65507:!0,65508:!0,65509:!0,65511:!0,65512:!0,65513:!0,65514:!0,65515:!0,65516:!0};this.modifiers=new n.Keyboard.ModifierState,this.pressed={};var P={},O={},M={},L=null,S=null,u=function(g,N){return g?g[N]||g[0]:null},f=function(g){return g>=0&&g<=255||(g&4294901760)===16777216};function p(C,g,N){if(!C)return null;var B,U=C.indexOf("U+");if(U>=0){var z=C.substring(U+2);B=String.fromCharCode(parseInt(z,16))}else if(C.length===1&&g!==3)B=C;else return u(F[C],g);N===!0?B=B.toUpperCase():N===!1&&(B=B.toLowerCase());var K=B.charCodeAt(0);return w(K)}function T(C){return C<=31||C>=127&&C<=159}function w(C){return T(C)?65280|C:C>=0&&C<=255?C:C>=256&&C<=1114111?16777216|C:null}function k(C,g){return u(I[C],g)}var _=function(g,N){if(!N)return!1;var B=N.indexOf("U+");if(B===-1)return!0;var U=parseInt(N.substring(B+2),16);return g!==U||g>=65&&g<=90||g>=48&&g<=57};this.press=function(C){if(C!==null){if(!t.pressed[C]&&(t.pressed[C]=!0,t.onkeydown)){var g=t.onkeydown(C);return O[C]=g,window.clearTimeout(L),window.clearInterval(S),x[C]||(L=window.setTimeout(function(){S=window.setInterval(function(){t.onkeyup(C),t.onkeydown(C)},50)},500)),g}return O[C]||!1}},this.release=function(C){t.pressed[C]&&(delete t.pressed[C],delete P[C],window.clearTimeout(L),window.clearInterval(S),C!==null&&t.onkeyup&&t.onkeyup(C))},this.type=function(g){for(var N=0;N<g.length;N++){var B=g.codePointAt?g.codePointAt(N):g.charCodeAt(N),U=w(B);t.press(U),t.release(U)}},this.reset=function(){for(var C in t.pressed)t.release(parseInt(C));m=[]};var D=function(g,N,B){var U=B.modifiers[g],z=t.modifiers[g],K;if(N.indexOf(B.keysym)===-1){if(z&&U===!1)for(K=0;K<N.length;K++)t.release(N[K]);else if(!z&&U){for(K=0;K<N.length;K++)if(t.pressed[N[K]])return;var H=N[0];B.keysym&&(P[H]=!0),t.press(H)}}},r=function(g){D("alt",[65513,65514,65027],g),D("shift",[65505,65506],g),D("ctrl",[65507,65508],g),D("meta",[65511,65512],g),D("hyper",[65515,65516],g),t.modifiers=g.modifiers},i=function(){for(var g in t.pressed)if(!P[g])return!1;return!0};function d(){var C=A();if(!C)return!1;var g;do g=C,C=A();while(C!==null);return i()&&t.reset(),g.defaultPrevented}var E=function(g){!t.modifiers.ctrl||!t.modifiers.alt||g>=65&&g<=90||g>=97&&g<=122||(g<=255||(g&4278190080)===16777216)&&(t.release(65507),t.release(65508),t.release(65513),t.release(65514))},A=function(){var g=m[0];if(!g)return null;if(g instanceof v){var N=null,B=[];if(g.keysym===65511||g.keysym===65512){if(m.length===1)return null;if(m[1].keysym!==g.keysym){if(!m[1].modifiers.meta)return m.shift()}else if(m[1]instanceof v)return m.shift()}if(g.reliable?(N=g.keysym,B=m.splice(0,1)):m[1]instanceof h?(N=m[1].keysym,B=m.splice(0,2)):m[1]&&(N=g.keysym,B=m.splice(0,1)),B.length>0){if(r(g),N){E(N);var U=!t.press(N);M[g.keyCode]=N,g.keyupReliable||t.release(N);for(var z=0;z<B.length;z++)B[z].defaultPrevented=U}return g}}else if(g instanceof o&&!c.keyupUnreliable){var N=g.keysym;if(N)t.release(N),delete M[g.keyCode],g.defaultPrevented=!0;else return t.reset(),g;return r(g),m.shift()}else return m.shift();return null},b=function(g){return"location"in g?g.location:"keyLocation"in g?g.keyLocation:0},R=function(g){return g[s]?!1:(g[s]=!0,!0)};this.listenTo=function(g){g.addEventListener("keydown",function(U){if(t.onkeydown&&R(U)){var z=new v(U);z.keyCode!==229&&(m.push(z),d()&&U.preventDefault())}},!0),g.addEventListener("keypress",function(U){!t.onkeydown&&!t.onkeyup||R(U)&&(m.push(new h(U)),d()&&U.preventDefault())},!0),g.addEventListener("keyup",function(U){t.onkeyup&&R(U)&&(U.preventDefault(),m.push(new o(U)),d())},!0);var N=function(z){!t.onkeydown&&!t.onkeyup||R(z)&&z.data&&!z.isComposing&&(g.removeEventListener("compositionend",B,!1),t.type(z.data))},B=function(z){!t.onkeydown&&!t.onkeyup||R(z)&&z.data&&(g.removeEventListener("input",N,!1),t.type(z.data))};g.addEventListener("input",N,!1),g.addEventListener("compositionend",B,!1)},e&&t.listenTo(e)};n.Keyboard._nextID=0;n.Keyboard.ModifierState=function(){this.shift=!1,this.ctrl=!1,this.alt=!1,this.meta=!1,this.hyper=!1};n.Keyboard.ModifierState.fromKeyboardEvent=function(l){var e=new n.Keyboard.ModifierState;return e.shift=l.shiftKey,e.ctrl=l.ctrlKey,e.alt=l.altKey,e.meta=l.metaKey,l.getModifierState&&(e.hyper=l.getModifierState("OS")||l.getModifierState("Super")||l.getModifierState("Hyper")||l.getModifierState("Win")),e};var n=n||{};n.Layer=function(l,e){var t=this,a=64,s=document.createElement("canvas"),c=s.getContext("2d");c.save();var y=!0,v=!0,h=0,o={1:"destination-in",2:"destination-out",4:"source-in",6:"source-atop",8:"source-out",9:"destination-atop",10:"xor",11:"destination-over",12:"copy",14:"source-over",15:"lighter"},m=function(x,P){x=x||0,P=P||0;var O=Math.ceil(x/a)*a,M=Math.ceil(P/a)*a;if(s.width!==O||s.height!==M){var L=null;if(!y&&s.width!==0&&s.height!==0){L=document.createElement("canvas"),L.width=Math.min(t.width,x),L.height=Math.min(t.height,P);var S=L.getContext("2d");S.drawImage(s,0,0,L.width,L.height,0,0,L.width,L.height)}var u=c.globalCompositeOperation;s.width=O,s.height=M,L&&c.drawImage(L,0,0,L.width,L.height,0,0,L.width,L.height),c.globalCompositeOperation=u,h=0,c.save()}else t.reset();t.width=x,t.height=P};function I(F,x,P,O){var M=P+F,L=O+x,S;M>t.width?S=M:S=t.width;var u;L>t.height?u=L:u=t.height,t.resize(S,u)}this.autosize=!1,this.width=l,this.height=e,this.getCanvas=function(){return s},this.toCanvas=function(){var x=document.createElement("canvas");x.width=t.width,x.height=t.height;var P=x.getContext("2d");return P.drawImage(t.getCanvas(),0,0),x},this.resize=function(F,x){(F!==t.width||x!==t.height)&&m(F,x)},this.drawImage=function(F,x,P){t.autosize&&I(F,x,P.width,P.height),c.drawImage(P,F,x),y=!1},this.transfer=function(F,x,P,O,M,L,S,u){var f=F.getCanvas();if(!(x>=f.width||P>=f.height)&&(x+O>f.width&&(O=f.width-x),P+M>f.height&&(M=f.height-P),!(O===0||M===0))){t.autosize&&I(L,S,O,M);for(var p=F.getCanvas().getContext("2d").getImageData(x,P,O,M),T=c.getImageData(L,S,O,M),w=0;w<O*M*4;w+=4){var k=new n.Layer.Pixel(p.data[w],p.data[w+1],p.data[w+2],p.data[w+3]),_=new n.Layer.Pixel(T.data[w],T.data[w+1],T.data[w+2],T.data[w+3]);u(k,_),T.data[w]=_.red,T.data[w+1]=_.green,T.data[w+2]=_.blue,T.data[w+3]=_.alpha}c.putImageData(T,L,S),y=!1}},this.put=function(F,x,P,O,M,L,S){var u=F.getCanvas();if(!(x>=u.width||P>=u.height)&&(x+O>u.width&&(O=u.width-x),P+M>u.height&&(M=u.height-P),!(O===0||M===0))){t.autosize&&I(L,S,O,M);var f=F.getCanvas().getContext("2d").getImageData(x,P,O,M);c.putImageData(f,L,S),y=!1}},this.copy=function(F,x,P,O,M,L,S){var u=F.getCanvas();x>=u.width||P>=u.height||(x+O>u.width&&(O=u.width-x),P+M>u.height&&(M=u.height-P),!(O===0||M===0)&&(t.autosize&&I(L,S,O,M),c.drawImage(u,x,P,O,M,L,S,O,M),y=!1))},this.moveTo=function(F,x){v&&(c.beginPath(),v=!1),t.autosize&&I(F,x,0,0),c.moveTo(F,x)},this.lineTo=function(F,x){v&&(c.beginPath(),v=!1),t.autosize&&I(F,x,0,0),c.lineTo(F,x)},this.arc=function(F,x,P,O,M,L){v&&(c.beginPath(),v=!1),t.autosize&&I(F,x,0,0),c.arc(F,x,P,O,M,L)},this.curveTo=function(F,x,P,O,M,L){v&&(c.beginPath(),v=!1),t.autosize&&I(M,L,0,0),c.bezierCurveTo(F,x,P,O,M,L)},this.close=function(){c.closePath(),v=!0},this.rect=function(F,x,P,O){v&&(c.beginPath(),v=!1),t.autosize&&I(F,x,P,O),c.rect(F,x,P,O)},this.clip=function(){c.clip(),v=!0},this.strokeColor=function(F,x,P,O,M,L,S){c.lineCap=F,c.lineJoin=x,c.lineWidth=P,c.strokeStyle="rgba("+O+","+M+","+L+","+S/255+")",c.stroke(),y=!1,v=!0},this.fillColor=function(F,x,P,O){c.fillStyle="rgba("+F+","+x+","+P+","+O/255+")",c.fill(),y=!1,v=!0},this.strokeLayer=function(F,x,P,O){c.lineCap=F,c.lineJoin=x,c.lineWidth=P,c.strokeStyle=c.createPattern(O.getCanvas(),"repeat"),c.stroke(),y=!1,v=!0},this.fillLayer=function(F){c.fillStyle=c.createPattern(F.getCanvas(),"repeat"),c.fill(),y=!1,v=!0},this.push=function(){c.save(),h++},this.pop=function(){h>0&&(c.restore(),h--)},this.reset=function(){for(;h>0;)c.restore(),h--;c.restore(),c.save(),c.beginPath(),v=!1},this.setTransform=function(F,x,P,O,M,L){c.setTransform(F,x,P,O,M,L)},this.transform=function(F,x,P,O,M,L){c.transform(F,x,P,O,M,L)},this.setChannelMask=function(F){c.globalCompositeOperation=o[F]},this.setMiterLimit=function(F){c.miterLimit=F},m(l,e),s.style.zIndex=-1};n.Layer.ROUT=2;n.Layer.ATOP=6;n.Layer.XOR=10;n.Layer.ROVER=11;n.Layer.OVER=14;n.Layer.PLUS=15;n.Layer.RIN=1;n.Layer.IN=4;n.Layer.OUT=8;n.Layer.RATOP=9;n.Layer.SRC=12;n.Layer.Pixel=function(l,e,t,a){this.red=l,this.green=e,this.blue=t,this.alpha=a};var n=n||{};n.Mouse=function(e){n.Mouse.Event.Target.call(this);var t=this;this.touchMouseThreshold=3,this.scrollThreshold=53,this.PIXELS_PER_LINE=18,this.PIXELS_PER_PAGE=this.PIXELS_PER_LINE*16;var a=[n.Mouse.State.Buttons.LEFT,n.Mouse.State.Buttons.MIDDLE,n.Mouse.State.Buttons.RIGHT],s=0,c=0;e.addEventListener("contextmenu",function(o){n.Event.DOMEvent.cancelEvent(o)},!1),e.addEventListener("mousemove",function(o){if(s){n.Event.DOMEvent.cancelEvent(o),s--;return}t.move(n.Position.fromClientPosition(e,o.clientX,o.clientY),o)},!1),e.addEventListener("mousedown",function(o){if(s){n.Event.DOMEvent.cancelEvent(o);return}var m=a[o.button];m&&t.press(m,o)},!1),e.addEventListener("mouseup",function(o){if(s){n.Event.DOMEvent.cancelEvent(o);return}var m=a[o.button];m&&t.release(m,o)},!1),e.addEventListener("mouseout",function(o){o||(o=window.event);for(var m=o.relatedTarget||o.toElement;m;){if(m===e)return;m=m.parentNode}t.reset(o),t.out(o)},!1),e.addEventListener("selectstart",function(o){n.Event.DOMEvent.cancelEvent(o)},!1);function y(){s=t.touchMouseThreshold}e.addEventListener("touchmove",y,!1),e.addEventListener("touchstart",y,!1),e.addEventListener("touchend",y,!1);function v(o){var m=o.deltaY||-o.wheelDeltaY||-o.wheelDelta;if(m?o.deltaMode===1?m=o.deltaY*t.PIXELS_PER_LINE:o.deltaMode===2&&(m=o.deltaY*t.PIXELS_PER_PAGE):m=o.detail*t.PIXELS_PER_LINE,c+=m,c<=-t.scrollThreshold){do t.click(n.Mouse.State.Buttons.UP),c+=t.scrollThreshold;while(c<=-t.scrollThreshold);c=0}if(c>=t.scrollThreshold){do t.click(n.Mouse.State.Buttons.DOWN),c-=t.scrollThreshold;while(c>=t.scrollThreshold);c=0}n.Event.DOMEvent.cancelEvent(o)}e.addEventListener("DOMMouseScroll",v,!1),e.addEventListener("mousewheel",v,!1),e.addEventListener("wheel",v,!1);var h=(function(){var o=document.createElement("div");if(!("cursor"in o.style))return!1;try{o.style.cursor="url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX///+nxBvIAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==) 0 0, auto"}catch{return!1}return/\burl\([^()]*\)\s+0\s+0\b/.test(o.style.cursor||"")})();this.setCursor=function(o,m,I){if(h){var F=o.toDataURL("image/png");return e.style.cursor="url("+F+") "+m+" "+I+", auto",!0}return!1}};n.Mouse.State=function(e){var t=function(s,c,y,v,h,o,m){return{x:s,y:c,left:y,middle:v,right:h,up:o,down:m}};arguments.length>1?e=t.apply(this,arguments):e=e||{},n.Position.call(this,e),this.left=e.left||!1,this.middle=e.middle||!1,this.right=e.right||!1,this.up=e.up||!1,this.down=e.down||!1};n.Mouse.State.Buttons={LEFT:"left",MIDDLE:"middle",RIGHT:"right",UP:"up",DOWN:"down"};n.Mouse.Event=function(e,t,a){n.Event.DOMEvent.call(this,e,a);var s="on"+this.type;this.state=t,this.invokeLegacyHandler=function(y){y[s]&&(this.preventDefault(),this.stopPropagation(),y[s](this.state))}};n.Mouse.Event.Target=function(){n.Event.Target.call(this),this.currentState=new n.Mouse.State,this.press=function(t,a){this.currentState[t]||(this.currentState[t]=!0,this.dispatch(new n.Mouse.Event("mousedown",this.currentState,a)))},this.release=function(t,a){this.currentState[t]&&(this.currentState[t]=!1,this.dispatch(new n.Mouse.Event("mouseup",this.currentState,a)))},this.click=function(t,a){this.press(t,a),this.release(t,a)},this.move=function(t,a){(this.currentState.x!==t.x||this.currentState.y!==t.y)&&(this.currentState.x=t.x,this.currentState.y=t.y,this.dispatch(new n.Mouse.Event("mousemove",this.currentState,a)))},this.out=function(t){this.dispatch(new n.Mouse.Event("mouseout",this.currentState,t))},this.reset=function(t){for(var a in n.Mouse.State.Buttons)this.release(n.Mouse.State.Buttons[a],t)}};n.Mouse.Touchpad=function(e){n.Mouse.Event.Target.call(this);var t=this;this.scrollThreshold=20*(window.devicePixelRatio||1),this.clickTimingThreshold=250,this.clickMoveThreshold=10*(window.devicePixelRatio||1),this.currentState=new n.Mouse.State;var a=0,s=0,c=0,y=0,v=0,h={1:"left",2:"right",3:"middle"},o=!1,m=null;e.addEventListener("touchend",function(I){if(I.preventDefault(),o&&I.touches.length===0){var F=new Date().getTime(),x=h[a];t.currentState[x]&&(t.release(x,I),m&&(window.clearTimeout(m),m=null)),F-y<=t.clickTimingThreshold&&v<t.clickMoveThreshold&&(t.press(x,I),m=window.setTimeout(function(){t.release(x,I),o=!1},t.clickTimingThreshold)),m||(o=!1)}},!1),e.addEventListener("touchstart",function(I){if(I.preventDefault(),a=Math.min(I.touches.length,3),m&&(window.clearTimeout(m),m=null),!o){o=!0;var F=I.touches[0];s=F.clientX,c=F.clientY,y=new Date().getTime(),v=0}},!1),e.addEventListener("touchmove",function(I){I.preventDefault();var F=I.touches[0],x=F.clientX-s,P=F.clientY-c;if(v+=Math.abs(x)+Math.abs(P),a===1){var O=v/(new Date().getTime()-y),M=1+O,L=new n.Position(t.currentState);L.x+=x*M,L.y+=P*M,L.x=Math.min(Math.max(0,L.x),e.offsetWidth-1),L.y=Math.min(Math.max(0,L.y),e.offsetHeight-1),t.move(L,I),s=F.clientX,c=F.clientY}else if(a===2&&Math.abs(P)>=t.scrollThreshold){var S;P>0?S="down":S="up",t.click(S,I),s=F.clientX,c=F.clientY}},!1)};n.Mouse.Touchscreen=function(e){n.Mouse.Event.Target.call(this);var t=this,a=!1,s=null,c=null,y=null,v=null;this.scrollThreshold=20*(window.devicePixelRatio||1),this.clickTimingThreshold=250,this.clickMoveThreshold=16*(window.devicePixelRatio||1),this.longPressThreshold=500;function h(I){var F=I.touches[0]||I.changedTouches[0],x=F.clientX-s,P=F.clientY-c;return Math.sqrt(x*x+P*P)>=t.clickMoveThreshold}function o(I){var F=I.touches[0];a=!0,s=F.clientX,c=F.clientY}function m(){window.clearTimeout(y),window.clearTimeout(v),a=!1}e.addEventListener("touchend",function(I){if(a){if(I.touches.length!==0||I.changedTouches.length!==1){m();return}if(window.clearTimeout(v),t.release(n.Mouse.State.Buttons.LEFT,I),!h(I)&&(I.preventDefault(),!t.currentState.left)){var F=I.changedTouches[0];t.move(n.Position.fromClientPosition(e,F.clientX,F.clientY)),t.press(n.Mouse.State.Buttons.LEFT,I),y=window.setTimeout(function(){t.release(n.Mouse.State.Buttons.LEFT,I),m()},t.clickTimingThreshold)}}},!1),e.addEventListener("touchstart",function(I){if(I.touches.length!==1){m();return}I.preventDefault(),o(I),window.clearTimeout(y),v=window.setTimeout(function(){var F=I.touches[0];t.move(n.Position.fromClientPosition(e,F.clientX,F.clientY)),t.click(n.Mouse.State.Buttons.RIGHT,I),m()},t.longPressThreshold)},!1),e.addEventListener("touchmove",function(I){if(a){if(h(I)&&window.clearTimeout(v),I.touches.length!==1){m();return}if(t.currentState.left){I.preventDefault();var F=I.touches[0];t.move(n.Position.fromClientPosition(e,F.clientX,F.clientY),I)}}},!1)};var n=n||{},n=n||{};n.Object=function(e,t){var a=this,s={},c=function(h){var o=s[h];if(!o)return null;var m=o.shift();return o.length===0&&delete s[h],m},y=function(h,o){var m=s[h];m||(m=[],s[h]=m),m.push(o)};this.index=t,this.onbody=function(h,o,m){var I=c(m);I&&I(h,o)},this.onundefine=null,this.requestInputStream=function(h,o){o&&y(h,o),e.requestObjectInputStream(a.index,h)},this.createOutputStream=function(h,o){return e.createObjectOutputStream(a.index,h,o)}};n.Object.ROOT_STREAM="/";n.Object.STREAM_INDEX_MIMETYPE="application/vnd.glyptodon.guacamole.stream-index+json";var n=n||{};n.OnScreenKeyboard=function(l){var e=this,t={},a={},s=[],c=function(u,f){u.classList?u.classList.add(f):u.className+=" "+f},y=function(u,f){u.classList?u.classList.remove(f):u.className=u.className.replace(/([^ ]+)[ ]*/g,function(T,w){return w===f?"":T})},v=0,h=function(u,f,p,T){this.width=f,this.height=p,this.scale=function(w){u.style.width=f*w+"px",u.style.height=p*w+"px",T&&(u.style.lineHeight=p*w+"px",u.style.fontSize=w+"px")}},o=function(u){for(var f=0;f<u.length;f++){var p=u[f];if(!(p in t))return!1}return!0},m=function(u){var f=e.keys[u];if(!f)return null;for(var p=f.length-1;p>=0;p--){var T=f[p];if(o(T.requires))return T}return null},I=function(u,f){if(!a[u]){c(f,"guac-keyboard-pressed");var p=m(u);if(p.modifier){var T="guac-keyboard-modifier-"+M(p.modifier),w=t[p.modifier];w===void 0?(c(x,T),t[p.modifier]=p.keysym,p.keysym&&e.onkeydown&&e.onkeydown(p.keysym)):(y(x,T),delete t[p.modifier],w&&e.onkeyup&&e.onkeyup(w))}else e.onkeydown&&e.onkeydown(p.keysym);a[u]=!0}},F=function(u,f){if(a[u]){y(f,"guac-keyboard-pressed");var p=m(u);!p.modifier&&e.onkeyup&&e.onkeyup(p.keysym),a[u]=!1}},x=document.createElement("div");x.className="guac-keyboard",x.onselectstart=x.onmousemove=x.onmouseup=x.onmousedown=function(u){return v&&v--,u.stopPropagation(),!1},this.touchMouseThreshold=3,this.onkeydown=null,this.onkeyup=null,this.layout=new n.OnScreenKeyboard.Layout(l),this.getElement=function(){return x},this.resize=function(S){for(var u=Math.floor(S*10/e.layout.width)/10,f=0;f<s.length;f++){var p=s[f];p.scale(u)}};var P=function(u,f){if(f instanceof Array){for(var p=[],T=0;T<f.length;T++)p.push(new n.OnScreenKeyboard.Key(f[T],u));return p}return typeof f=="number"?[new n.OnScreenKeyboard.Key({name:u,keysym:f})]:typeof f=="string"?[new n.OnScreenKeyboard.Key({name:u,title:f})]:[new n.OnScreenKeyboard.Key(f,u)]},O=function(u){var f={};for(var p in l.keys)f[p]=P(p,u[p]);return f};this.keys=O(l.keys);var M=function(u){var f=u.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[^A-Za-z0-9]+/g,"-").toLowerCase();return f},L=function S(u,f,p){var T,w=document.createElement("div");if(p&&c(w,"guac-keyboard-"+M(p)),f instanceof Array)for(c(w,"guac-keyboard-group"),T=0;T<f.length;T++)S(w,f[T]);else if(f instanceof Object){c(w,"guac-keyboard-group");var k=Object.keys(f).sort();for(T=0;T<k.length;T++){var p=k[T];S(w,f[p],p)}}else if(typeof f=="number")c(w,"guac-keyboard-gap"),s.push(new h(w,f,f));else if(typeof f=="string"){var _=f;_.length===1&&(_="0x"+_.charCodeAt(0).toString(16)),c(w,"guac-keyboard-key-container");var D=document.createElement("div");D.className="guac-keyboard-key guac-keyboard-key-"+M(_);var r=e.keys[f];if(r)for(T=0;T<r.length;T++){var i=r[T],d=document.createElement("div");d.className="guac-keyboard-cap",d.textContent=i.title;for(var E=0;E<i.requires.length;E++){var A=i.requires[E];c(d,"guac-keyboard-requires-"+M(A)),c(D,"guac-keyboard-uses-"+M(A))}D.appendChild(d)}w.appendChild(D),s.push(new h(w,e.layout.keyWidths[f]||1,1,!0));var b=function(B){B.preventDefault(),v=e.touchMouseThreshold,I(f,D)},R=function(B){B.preventDefault(),v=e.touchMouseThreshold,F(f,D)},C=function(B){B.preventDefault(),v===0&&I(f,D)},g=function(B){B.preventDefault(),v===0&&F(f,D)};D.addEventListener("touchstart",b,!0),D.addEventListener("touchend",R,!0),D.addEventListener("mousedown",C,!0),D.addEventListener("mouseup",g,!0),D.addEventListener("mouseout",g,!0)}u.appendChild(w)};L(x,l.layout)};n.OnScreenKeyboard.Layout=function(l){this.language=l.language,this.type=l.type,this.keys=l.keys,this.layout=l.layout,this.width=l.width,this.keyWidths=l.keyWidths||{}};n.OnScreenKeyboard.Key=function(l,e){this.name=e||l.name,this.title=l.title||this.name,this.keysym=l.keysym||(function(a){if(!a||a.length!==1)return null;var s=a.charCodeAt(0);return s>=0&&s<=255?s:s>=256&&s<=1114111?16777216|s:null})(this.title),this.modifier=l.modifier,this.requires=l.requires||[]};var n=n||{};n.OutputStream=function(l,e){var t=this;this.index=e,this.onack=null,this.sendBlob=function(a){l.sendBlob(t.index,a)},this.sendEnd=function(){l.endStream(t.index)}};var n=n||{};n.Parser=function(){var l=this,e="",t=[],a=-1,s=0;this.receive=function(c){for(s>4096&&a>=s&&(e=e.substring(s),a-=s,s=0),e+=c;a<e.length;){if(a>=s){var y=e.substring(s,a),v=e.substring(a,a+1);if(t.push(y),v==";"){var h=t.shift();l.oninstruction!=null&&l.oninstruction(h,t),t.length=0}else if(v!=",")throw new Error("Illegal terminator.");s=a+1}var o=e.indexOf(".",s);if(o!=-1){var m=parseInt(e.substring(a+1,o));if(isNaN(m))throw new Error("Non-numeric character in element length.");s=o+1,a=s+m}else{s=e.length;break}}},this.oninstruction=null};var n=n||{};n.Position=function(e){e=e||{},this.x=e.x||0,this.y=e.y||0,this.fromClientPosition=function(a,s,c){this.x=s-a.offsetLeft,this.y=c-a.offsetTop;for(var y=a.offsetParent;y&&y!==document.body;)this.x-=y.offsetLeft-y.scrollLeft,this.y-=y.offsetTop-y.scrollTop,y=y.offsetParent;if(y){var v=document.body.scrollLeft||document.documentElement.scrollLeft,h=document.body.scrollTop||document.documentElement.scrollTop;this.x-=y.offsetLeft-v,this.y-=y.offsetTop-h}}};n.Position.fromClientPosition=function(e,t,a){var s=new n.Position;return s.fromClientPosition(e,t,a),s};var n=n||{};n.RawAudioFormat=function(e){this.bytesPerSample=e.bytesPerSample,this.channels=e.channels,this.rate=e.rate};n.RawAudioFormat.parse=function(e){var t,a=null,s=1;if(e.substring(0,9)==="audio/L8;")e=e.substring(9),t=1;else if(e.substring(0,10)==="audio/L16;")e=e.substring(10),t=2;else return null;for(var c=e.split(","),y=0;y<c.length;y++){var v=c[y],h=v.indexOf("=");if(h===-1)return null;var o=v.substring(0,h),m=v.substring(h+1);switch(o){case"channels":s=parseInt(m);break;case"rate":a=parseInt(m);break;default:return null}}return a===null?null:new n.RawAudioFormat({bytesPerSample:t,channels:s,rate:a})};var n=n||{};n.SessionRecording=function(e){var t=this,a,s=null,c=262144,y=16384,v=5e3,h=[],o=0,m=new n.SessionRecording._PlaybackTunnel,I=new n.Client(m),F=-1,x=null,P=null,O=null,M=0,L=0,S=!1,u=null,f=function(R,C,g){if(!(S&&R===a)){var N=new n.Parser;N.oninstruction=C;var B=0,U=new FileReader,z=function(){if(!(S&&R===a)){if(U.readyState===2)try{N.receive(U.result)}catch(W){t.onerror&&t.onerror(W.message);return}if(B>=R.size)g&&g();else{var H=R.slice(B,B+c);B+=H.size,U.readAsText(H)}}};U.onload=z,z()}},p=function(R){for(var C=R.length,g=C+3;C>=10;)g++,C=Math.floor(C/10);return g};I.connect(),I.getDisplay().showCursor(!1);var T=function(R,C){L+=p(R);for(var g=0;g<C.length;g++)L+=p(C[g]);if(R==="sync"){var N=parseInt(C[0]),B=new n.SessionRecording._Frame(N,M,L);h.push(B),M=L,(h.length===1||L-h[o].start>=y&&N-h[o].timestamp>=v)&&(B.keyframe=!0,o=h.length-1),t.onprogress&&t.onprogress(t.getDuration(),L)}},w=function(){t.onload&&t.onload()};if(e instanceof Blob)f(a,T,w);else{s=e,a=new Blob;var k=!1,_="";s.oninstruction=function(R,C){_+=R.length+"."+R,C.forEach(function(N){_+=","+N.length+"."+N}),_+=";",_.length>=c&&(a=new Blob([a,_]),_=""),T(R,C)},s.onerror=function(R){k=!0,t.onerror&&t.onerror(R.message)},s.onstatechange=function(R){R===n.Tunnel.State.CLOSED&&(_.length&&(a=new Blob([a,_]),_=""),k||w())}}var D=function(R){return h.length===0?0:R-h[0].timestamp},r=function b(R,C,g){if(R===C)return R;var N=Math.floor((R+C)/2),B=D(h[N].timestamp);return g<B&&N>R?b(R,N-1,g):g>B&&N<C?b(N+1,C,g):N},i=function(R,C){var g=h[R];f(a.slice(g.start,g.end),function(B,U){m.receiveInstruction(B,U)},function(){g.keyframe&&!g.clientState&&I.exportState(function(U){g.clientState=new Blob([JSON.stringify(U)])}),F=R,C&&C()})},d=function(R,C,g){E();for(var N=O={aborted:!1},B=R,U=function H(){t.onseek&&F>B&&t.onseek(D(h[F].timestamp),F-B,R-B),!N.aborted&&(F<R?i(F+1,H):C())},z=function(){var W=g?Math.max(g-new Date().getTime(),0):0;W?window.setTimeout(U,W):U()};B>=0;B--){var K=h[B];if(B===F)break;if(K.clientState){K.clientState.text().then(function(W){I.importState(JSON.parse(W)),F=B,z()});return}}z()},E=function(){O&&(O.aborted=!0,O=null)},A=function b(){if(F+1<h.length){var R=h[F+1],C=R.timestamp-x+P;d(F+1,function(){b()},C)}else t.pause()};this.onload=null,this.onerror=null,this.onabort=null,this.onprogress=null,this.onplay=null,this.onpause=null,this.onseek=null,this.connect=function(R){s&&s.connect(R)},this.disconnect=function(){s&&s.disconnect()},this.abort=function(){S||(S=!0,t.onabort&&t.onabort(),s&&s.disconnect())},this.getDisplay=function(){return I.getDisplay()},this.isPlaying=function(){return!!x},this.getPosition=function(){return F===-1?0:D(h[F].timestamp)},this.getDuration=function(){return h.length===0?0:D(h[h.length-1].timestamp)},this.play=function(){if(!t.isPlaying()&&F+1<h.length){t.onplay&&t.onplay();var R=h[F+1];x=R.timestamp,P=new Date().getTime(),A()}},this.seek=function(R,C){if(h.length!==0){t.cancel();var g=t.isPlaying();t.pause(),u=function(){u=null,g&&(t.play(),g=null),C&&C()},d(r(0,h.length-1,R),u)}},this.cancel=function(){u&&(E(),u())},this.pause=function(){E(),t.isPlaying()&&(t.onpause&&t.onpause(),x=null,P=null)}};n.SessionRecording._Frame=function(e,t,a){this.keyframe=!1,this.timestamp=e,this.start=t,this.end=a,this.clientState=null};n.SessionRecording._PlaybackTunnel=function(){var e=this;this.connect=function(a){},this.sendMessage=function(a){},this.disconnect=function(){},this.receiveInstruction=function(a,s){e.oninstruction&&e.oninstruction(a,s)}};var n=n||{};n.Status=function(l,e){var t=this;this.code=l,this.message=e,this.isError=function(){return t.code<0||t.code>255}};n.Status.Code={SUCCESS:0,UNSUPPORTED:256,SERVER_ERROR:512,SERVER_BUSY:513,UPSTREAM_TIMEOUT:514,UPSTREAM_ERROR:515,RESOURCE_NOT_FOUND:516,RESOURCE_CONFLICT:517,RESOURCE_CLOSED:518,UPSTREAM_NOT_FOUND:519,UPSTREAM_UNAVAILABLE:520,SESSION_CONFLICT:521,SESSION_TIMEOUT:522,SESSION_CLOSED:523,CLIENT_BAD_REQUEST:768,CLIENT_UNAUTHORIZED:769,CLIENT_FORBIDDEN:771,CLIENT_TIMEOUT:776,CLIENT_OVERRUN:781,CLIENT_BAD_TYPE:783,CLIENT_TOO_MANY:797};n.Status.Code.fromHTTPCode=function(e){switch(e){case 400:return n.Status.Code.CLIENT_BAD_REQUEST;case 403:return n.Status.Code.CLIENT_FORBIDDEN;case 404:return n.Status.Code.RESOURCE_NOT_FOUND;case 429:return n.Status.Code.CLIENT_TOO_MANY;case 503:return n.Status.Code.SERVER_BUSY}return n.Status.Code.SERVER_ERROR};n.Status.Code.fromWebSocketCode=function(e){switch(e){case 1e3:return n.Status.Code.SUCCESS;case 1006:case 1015:return n.Status.Code.UPSTREAM_NOT_FOUND;case 1001:case 1012:case 1013:case 1014:return n.Status.Code.UPSTREAM_UNAVAILABLE}return n.Status.Code.SERVER_ERROR};var n=n||{};n.StringReader=function(l){var e=this,t=new n.UTF8Parser,a=new n.ArrayBufferReader(l);a.ondata=function(s){var c=t.decode(s);e.ontext&&e.ontext(c)},a.onend=function(){e.onend&&e.onend()},this.ontext=null,this.onend=null};var n=n||{};n.StringWriter=function(l){var e=this,t=new n.ArrayBufferWriter(l),a=new Uint8Array(8192),s=0;t.onack=function(h){e.onack&&e.onack(h)};function c(h){if(s+h>=a.length){var o=new Uint8Array((s+h)*2);o.set(a),a=o}s+=h}function y(h){var o,m;if(h<=127)o=0,m=1;else if(h<=2047)o=192,m=2;else if(h<=65535)o=224,m=3;else if(h<=2097151)o=240,m=4;else{y(65533);return}c(m);for(var I=s-1,F=1;F<m;F++)a[I--]=128|h&63,h>>=6;a[I]=o|h}function v(h){for(var o=0;o<h.length;o++){var m=h.charCodeAt(o);y(m)}if(s>0){var I=a.subarray(0,s);return s=0,I}}this.sendText=function(h){h.length&&t.sendData(v(h))},this.sendEnd=function(){t.sendEnd()},this.onack=null};var n=n||{};n.Touch=function(e){n.Event.Target.call(this);var t=this,a=Math.floor(16*window.devicePixelRatio);this.touches={},this.activeTouches=0,e.addEventListener("touchstart",function(c){for(var y=0;y<c.changedTouches.length;y++){var v=c.changedTouches[y],h=v.identifier;if(!t.touches[h]){var o=t.touches[h]=new n.Touch.State({id:h,radiusX:v.radiusX||a,radiusY:v.radiusY||a,angle:v.angle||0,force:v.force||1});t.activeTouches++,o.fromClientPosition(e,v.clientX,v.clientY),t.dispatch(new n.Touch.Event("touchmove",c,o))}}},!1),e.addEventListener("touchmove",function(c){for(var y=0;y<c.changedTouches.length;y++){var v=c.changedTouches[y],h=v.identifier,o=t.touches[h];o&&(v.force&&(o.force=v.force),o.angle=v.angle||0,o.radiusX=v.radiusX||a,o.radiusY=v.radiusY||a,o.fromClientPosition(e,v.clientX,v.clientY),t.dispatch(new n.Touch.Event("touchmove",c,o)))}},!1),e.addEventListener("touchend",function(c){for(var y=0;y<c.changedTouches.length;y++){var v=c.changedTouches[y],h=v.identifier,o=t.touches[h];o&&(delete t.touches[h],t.activeTouches--,o.force=0,o.fromClientPosition(e,v.clientX,v.clientY),t.dispatch(new n.Touch.Event("touchend",c,o)))}},!1)};n.Touch.State=function(e){e=e||{},n.Position.call(this,e),this.id=e.id||0,this.radiusX=e.radiusX||0,this.radiusY=e.radiusY||0,this.angle=e.angle||0,this.force=e.force||1};n.Touch.Event=function(e,t,a){n.Event.DOMEvent.call(this,e,[t]),this.state=a};var n=n||{};n.Tunnel=function(){this.connect=function(l){},this.disconnect=function(){},this.sendMessage=function(l){},this.setState=function(l){l!==this.state&&(this.state=l,this.onstatechange&&this.onstatechange(l))},this.setUUID=function(e){this.uuid=e,this.onuuid&&this.onuuid(e)},this.isConnected=function(){return this.state===n.Tunnel.State.OPEN||this.state===n.Tunnel.State.UNSTABLE},this.state=n.Tunnel.State.CLOSED,this.receiveTimeout=15e3,this.unstableThreshold=1500,this.uuid=null,this.onuuid=null,this.onerror=null,this.onstatechange=null,this.oninstruction=null};n.Tunnel.INTERNAL_DATA_OPCODE="";n.Tunnel.State={CONNECTING:0,OPEN:1,CLOSED:2,UNSTABLE:3};n.HTTPTunnel=function(l,e,t){var a=this,s=l+"?connect",c=l+"?read:",y=l+"?write:",v=1,h=0,o=v,m=!1,I="",F=!!e,x=null,P=null,O=null,M=500,L=t||{},S="Guacamole-Tunnel-Token",u=null;function f(i,d){for(var E in d)i.setRequestHeader(E,d[E])}var p=function(){window.clearTimeout(x),window.clearTimeout(P),a.state===n.Tunnel.State.UNSTABLE&&a.setState(n.Tunnel.State.OPEN),x=window.setTimeout(function(){T(new n.Status(n.Status.Code.UPSTREAM_TIMEOUT,"Server timeout."))},a.receiveTimeout),P=window.setTimeout(function(){a.setState(n.Tunnel.State.UNSTABLE)},a.unstableThreshold)};function T(i){window.clearTimeout(x),window.clearTimeout(P),window.clearInterval(O),a.state!==n.Tunnel.State.CLOSED&&(i.code!==n.Status.Code.SUCCESS&&a.onerror&&(a.state===n.Tunnel.State.CONNECTING||i.code!==n.Status.Code.RESOURCE_NOT_FOUND)&&a.onerror(i),m=!1,a.setState(n.Tunnel.State.CLOSED))}this.sendMessage=function(){if(!a.isConnected()||arguments.length===0)return;function i(A){var b=new String(A);return b.length+"."+b}for(var d=i(arguments[0]),E=1;E<arguments.length;E++)d+=","+i(arguments[E]);d+=";",I+=d,m||w()};function w(){if(a.isConnected())if(I.length>0){m=!0;var i=new XMLHttpRequest;i.open("POST",y+a.uuid),i.withCredentials=F,f(i,L),i.setRequestHeader("Content-type","application/octet-stream"),i.setRequestHeader(S,u),i.onreadystatechange=function(){i.readyState===4&&(p(),i.status!==200?k(i):w())},i.send(I),I=""}else m=!1}function k(i){var d=parseInt(i.getResponseHeader("Guacamole-Status-Code"));if(d){var E=i.getResponseHeader("Guacamole-Error-Message");T(new n.Status(d,E))}else i.status?T(new n.Status(n.Status.Code.fromHTTPCode(i.status),i.statusText)):T(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND))}function _(i){var d=null,E=null,A=0,b=-1,R=0,C=new Array;function g(){if(!a.isConnected()){d!==null&&clearInterval(d);return}if(!(i.readyState<2)){var N;try{N=i.status}catch{N=200}if(!E&&N===200&&(E=r()),i.readyState===3||i.readyState===4){if(p(),o===v&&(i.readyState===3&&!d?d=setInterval(g,30):i.readyState===4&&d&&clearInterval(d)),i.status===0){a.disconnect();return}else if(i.status!==200){k(i);return}var B;try{B=i.responseText}catch{return}for(;b<B.length;){if(b>=R){var U=B.substring(R,b),z=B.substring(b,b+1);if(C.push(U),z===";"){var K=C.shift();a.oninstruction&&a.oninstruction(K,C),C.length=0}R=b+1}var H=B.indexOf(".",R);if(H!==-1){var W=parseInt(B.substring(b+1,H));if(W===0){d&&clearInterval(d),i.onreadystatechange=null,i.abort(),E&&_(E);break}R=H+1,b=R+W}else{R=B.length;break}}}}}o===v?i.onreadystatechange=function(){i.readyState===3&&(A++,A>=2&&(o=h,i.onreadystatechange=g)),g()}:i.onreadystatechange=g,g()}var D=0;function r(){var i=new XMLHttpRequest;return i.open("GET",c+a.uuid+":"+D++),i.setRequestHeader(S,u),i.withCredentials=F,f(i,L),i.send(null),i}this.connect=function(i){p(),a.setState(n.Tunnel.State.CONNECTING);var d=new XMLHttpRequest;d.onreadystatechange=function(){if(d.readyState===4){if(d.status!==200){k(d);return}if(p(),a.setUUID(d.responseText),u=d.getResponseHeader(S),!u){T(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND));return}a.setState(n.Tunnel.State.OPEN),O=setInterval(function(){a.sendMessage("nop")},M),_(r())}},d.open("POST",s,!0),d.withCredentials=F,f(d,L),d.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8"),d.send(i)},this.disconnect=function(){T(new n.Status(n.Status.Code.SUCCESS,"Manually closed."))}};n.HTTPTunnel.prototype=new n.Tunnel;n.WebSocketTunnel=function(l){var e=this,t=null,a=null,s=null,c=null,y={"http:":"ws:","https:":"wss:"},v=500,h=0;if(l.substring(0,3)!=="ws:"&&l.substring(0,4)!=="wss:"){var o=y[window.location.protocol];if(l.substring(0,1)==="/")l=o+"//"+window.location.host+l;else{var m=window.location.pathname.lastIndexOf("/"),I=window.location.pathname.substring(0,m+1);l=o+"//"+window.location.host+I+l}}var F=function(){var M=new Date().getTime();e.sendMessage(n.Tunnel.INTERNAL_DATA_OPCODE,"ping",M),h=M},x=function(){window.clearTimeout(a),window.clearTimeout(s),window.clearTimeout(c),e.state===n.Tunnel.State.UNSTABLE&&e.setState(n.Tunnel.State.OPEN),a=window.setTimeout(function(){P(new n.Status(n.Status.Code.UPSTREAM_TIMEOUT,"Server timeout."))},e.receiveTimeout),s=window.setTimeout(function(){e.setState(n.Tunnel.State.UNSTABLE)},e.unstableThreshold);var M=new Date().getTime(),L=Math.max(h+v-M,0);L>0?c=window.setTimeout(F,L):F()};function P(O){window.clearTimeout(a),window.clearTimeout(s),window.clearTimeout(c),e.state!==n.Tunnel.State.CLOSED&&(O.code!==n.Status.Code.SUCCESS&&e.onerror&&e.onerror(O),e.setState(n.Tunnel.State.CLOSED),t.close())}this.sendMessage=function(O){if(!e.isConnected()||arguments.length===0)return;function M(u){var f=new String(u);return f.length+"."+f}for(var L=M(arguments[0]),S=1;S<arguments.length;S++)L+=","+M(arguments[S]);L+=";",t.send(L)},this.connect=function(O){x(),e.setState(n.Tunnel.State.CONNECTING),t=new WebSocket(l+"?"+O,"guacamole"),t.onopen=function(M){x()},t.onclose=function(M){M.reason?P(new n.Status(parseInt(M.reason),M.reason)):M.code?P(new n.Status(n.Status.Code.fromWebSocketCode(M.code))):P(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND))},t.onmessage=function(M){x();var L=M.data,S=0,u,f=[];do{var p=L.indexOf(".",S);if(p!==-1){var T=parseInt(L.substring(u+1,p));S=p+1,u=S+T}else P(new n.Status(n.Status.Code.SERVER_ERROR,"Incomplete instruction."));var w=L.substring(S,u),k=L.substring(u,u+1);if(f.push(w),k===";"){var _=f.shift();e.uuid===null&&(_===n.Tunnel.INTERNAL_DATA_OPCODE&&f.length===1&&e.setUUID(f[0]),e.setState(n.Tunnel.State.OPEN)),_!==n.Tunnel.INTERNAL_DATA_OPCODE&&e.oninstruction&&e.oninstruction(_,f),f.length=0}S=u+1}while(S<L.length)}},this.disconnect=function(){P(new n.Status(n.Status.Code.SUCCESS,"Manually closed."))}};n.WebSocketTunnel.prototype=new n.Tunnel;n.ChainedTunnel=function(l){for(var e=this,t,a=[],s=null,c=0;c<arguments.length;c++)a.push(arguments[c]);function y(v){e.disconnect=v.disconnect,e.sendMessage=v.sendMessage;var h=function(I){if(I&&I.code===n.Status.Code.UPSTREAM_TIMEOUT)return a=[],null;var F=a.shift();return F&&(v.onerror=null,v.oninstruction=null,v.onstatechange=null,y(F)),F};function o(){v.onstatechange=e.onstatechange,v.oninstruction=e.oninstruction,v.onerror=e.onerror,v.uuid&&e.setUUID(v.uuid),v.onuuid=function(I){e.setUUID(I)},s=v}v.onstatechange=function(m){switch(m){case n.Tunnel.State.OPEN:o(),e.onstatechange&&e.onstatechange(m);break;case n.Tunnel.State.CLOSED:!h()&&e.onstatechange&&e.onstatechange(m);break}},v.oninstruction=function(m,I){o(),e.oninstruction&&e.oninstruction(m,I)},v.onerror=function(m){!h(m)&&e.onerror&&e.onerror(m)},v.connect(t)}this.connect=function(v){t=v;var h=s||a.shift();h?y(h):e.onerror&&e.onerror(n.Status.Code.SERVER_ERROR,"No tunnels to try.")}};n.ChainedTunnel.prototype=new n.Tunnel;n.StaticHTTPTunnel=function(e,t,a){var s=this,c=null,y=a||{};this.size=null,this.sendMessage=function(h){},this.connect=function(h){s.disconnect(),s.setState(n.Tunnel.State.CONNECTING);var o=new n.Parser,m=new n.UTF8Parser;o.oninstruction=function(F,x){s.oninstruction&&s.oninstruction(F,x)},c=new AbortController,fetch(e,{headers:y,credentials:t?"include":"same-origin",signal:c.signal}).then(function(F){if(!F.ok){s.onerror&&s.onerror(new n.Status(n.Status.Code.fromHTTPCode(F.status),F.statusText)),s.disconnect();return}s.size=F.headers.get("Content-Length"),s.setState(n.Tunnel.State.OPEN);var x=F.body.getReader(),P=function O(M){if(M.done){s.disconnect();return}o.receive(m.decode(M.value)),x.read().then(O)};x.read().then(P)})},this.disconnect=function(){c&&(c.abort(),c=null),s.setState(n.Tunnel.State.CLOSED)}};n.StaticHTTPTunnel.prototype=new n.Tunnel;var n=n||{};n.UTF8Parser=function(){var e=0,t=0;this.decode=function(s){for(var c="",y=new Uint8Array(s),v=0;v<y.length;v++){var h=y[v];e===0?(h|127)===127?c+=String.fromCharCode(h):(h|31)===223?(t=h&31,e=1):(h|15)===239?(t=h&15,e=2):(h|7)===247?(t=h&7,e=3):c+="�":(h|63)===191?(t=t<<6|h&63,e--,e===0&&(c+=String.fromCharCode(t))):(e=0,c+="�")}return c}};var n=n||{};n.API_VERSION="1.5.0";var n=n||{};n.VideoPlayer=function(){this.sync=function(){}};n.VideoPlayer.isSupportedType=function(e){return!1};n.VideoPlayer.getSupportedTypes=function(){return[]};n.VideoPlayer.getInstance=function(e,t,a){return null};const G=n;class q extends G.Tunnel{socket=null;cancelPointerMoves;sendPointer;oninstructionbatch;onauthentication;constructor(e,t,a=()=>!1){super();let s=null,c=null,y="0";const v=()=>{c!==null&&cancelAnimationFrame(c),c=null,s=null};this.cancelPointerMoves=v;const h=F=>{this.socket?.readyState!==1||this.state!==G.Tunnel.State.OPEN||this.socket.send(JSON.stringify({type:"instruction",opcode:F[0],args:F.slice(1)}))};this.sendPointer=(F,x,P)=>{v(),y=String(P),h(["mouse",String(F),String(x),y])};const o=()=>{const F=s;v(),F&&h(F)},m=()=>{const F=s;c=null,s=null,F&&(h(F),c=requestAnimationFrame(m))},I=F=>{this.state!==F&&(this.state=F,this.onstatechange?.(F))};this.connect=()=>{I(G.Tunnel.State.CONNECTING);let F=0;const x=new URLSearchParams({host:e.host,protocol:"rdp",port:String(e.port)}),P=this.socket=V(`/api/computer/ws?${x}`);P.onopen=()=>{P.send(JSON.stringify({type:"start",username:e.username,password:e.password,domain:e.domain,ignoreCert:e.ignoreCert,width:e.width,height:e.height,verifyLogin:!0})),e.password=""},P.onmessage=O=>{try{const M=JSON.parse(O.data);if(M.type==="authentication"){if(!["pending","authenticated","unavailable"].includes(M.state))throw new Error("Invalid authentication state");this.onauthentication?.(M.state);return}if(M.type!=="instructions"||M.seq!==F+1||!Array.isArray(M.instructions))throw new Error("Invalid RDP record");F=M.seq;for(const u of M.instructions)if(!Array.isArray(u)||!u.length||u.some(f=>typeof f!="string"))throw new Error("Invalid RDP instruction");const L=()=>{for(const u of M.instructions){const[f,...p]=u;f==="ready"?(this.uuid=p[0],this.onuuid?.(p[0]),I(G.Tunnel.State.OPEN),this.sendMessage("nop")):(f!=="mouse"||!a())&&this.oninstruction?.(f,p)}},S=M.instructions.filter(u=>u[0]==="sync").length;this.oninstructionbatch&&S>1?this.oninstructionbatch(L,S):L(),P.readyState===1&&P.send(JSON.stringify({type:"ack",seq:M.seq}))}catch{t("COMPUTER_INVALID_MESSAGE"),this.disconnect()}},P.onerror=()=>{},P.onclose=O=>{v(),e.password="",t(O.reason||"COMPUTER_DISCONNECTED"),I(G.Tunnel.State.CLOSED)}},this.disconnect=()=>{v(),e.password="";const F=this.socket;this.socket=null,F&&(F.onclose=null,F.onerror=null,F.onmessage=null,F.onopen=null,F.close()),I(G.Tunnel.State.CLOSED)},this.sendMessage=(...F)=>{if(this.socket?.readyState!==1||this.state!==G.Tunnel.State.OPEN)return;const x=F.map(String);x[0]==="mouse"&&x.length===4&&x[3]===y?c===null?(h(x),c=requestAnimationFrame(m)):s=x:(o(),x[0]==="mouse"&&(y=x[3]),h(x))}}}function J(l){const e=l.flush;let t=0,a=[],s=0,c=!1;return l.flush=(y,v,h)=>{if(!t){e.call(l,y,v,h);return}if(t--,a.push(y),s+=h||0,t&&a.length<64)return;const o=a,m=s;a=[],s=0,e.call(l,()=>{c||o.forEach(I=>I())},v,m)},{run(y,v){t=v;try{y()}finally{t=0,a=[],s=0}},cancel(){c=!0,t=0,a=[],l.flush=e}}}class ce extends EventTarget{client;tunnel;keyboard;display;container;observer;listeners=new AbortController;readonlyMode=!1;fit=!0;zoom=1;resizePaused=!1;disposed=!1;connected=!1;authenticationPending=!1;connectionNotified=!1;phoneKeyboardActive=!1;viewportScale=1;keyboardScale=null;resizeTimer;requestedSize;localPointer=!1;nativeCursor=!1;touchpadPointer=!1;cancelDisplayBatch;constructor(e,t,a){super(),this.requestedSize=`${t.width}x${t.height}`;const s=this.tunnel=new q(t,a,()=>this.localPointer&&!this.readonlyMode);s.onauthentication=o=>{this.authenticationPending=o==="pending",this.notifyConnected()},this.client=new G.Client(s),this.display=this.client.getDisplay();const c=J(this.display);this.cancelDisplayBatch=()=>c.cancel(),s.oninstructionbatch=(o,m)=>c.run(o,m),this.container=document.createElement("div"),this.container.className="flex h-full w-full overflow-auto outline-none",this.container.tabIndex=0,this.container.appendChild(this.display.getElement()),e.appendChild(this.container),this.keyboard=new G.Keyboard(this.container),this.keyboard.onkeydown=o=>(this.readonlyMode||this.client.sendKeyEvent(1,o),!1),this.keyboard.onkeyup=o=>{this.readonlyMode||this.client.sendKeyEvent(0,o)};const y=this.display.getElement();y.className="m-auto shrink-0";const v=o=>{this.readonlyMode||(this.touchpadPointer=!1,this.localPointer=!0,this.client.sendMouseState(o.state,!0))},h=new G.Mouse(y);h.onEach(["mousedown","mousemove","mouseup"],o=>{v(o),this.readonlyMode||this.display.showCursor(!this.nativeCursor)}),h.on("mouseout",()=>{this.localPointer=!1,this.display.showCursor(!1)}),this.display.oncursor=(o,m,I)=>{this.nativeCursor=h.setCursor(o,m,I),this.localPointer&&!this.readonlyMode&&!this.touchpadPointer&&this.display.showCursor(!this.nativeCursor)},new G.Mouse.Touchscreen(y).onEach(["mousedown","mousemove","mouseup"],o=>{v(o),this.readonlyMode||this.display.showCursor(!0)}),this.container.addEventListener("pointerdown",o=>{this.phoneKeyboardActive?o.preventDefault():this.container.focus({preventScroll:!0})},{signal:this.listeners.signal}),this.container.addEventListener("blur",()=>this.keyboard.reset(),{signal:this.listeners.signal}),window.addEventListener("blur",()=>this.keyboard.reset(),{signal:this.listeners.signal}),this.observer=new ResizeObserver(()=>{this.scale(),this.scheduleResize()}),this.observer.observe(e),this.display.onresize=()=>{this.scale(),this.notifyConnected()},this.client.onstatechange=o=>{this.disposed||(o===G.Client.State.CONNECTED&&(this.connected=!0,this.notifyConnected(),this.scheduleResize()),o===G.Client.State.DISCONNECTED&&a("COMPUTER_DISCONNECTED"))},this.client.onname=o=>this.dispatchEvent(new CustomEvent("desktopname",{detail:{name:o}})),this.client.onerror=o=>{const m=/certificate/i.test(o.message||"")?"COMPUTER_RDP_CERTIFICATE":[769,771].includes(o.code)?"COMPUTER_AUTH_FAILED":o.code===514?"COMPUTER_CONNECT_TIMEOUT":"COMPUTER_RDP_FAILED";a(m)},this.client.connect()}notifyConnected(){!this.connected||!this.display.getWidth()||!this.display.getHeight()||this.authenticationPending||this.connectionNotified||this.disposed||(this.connectionNotified=!0,this.dispatchEvent(new Event("connect")),this.scheduleResize())}scale(){const e=this.display.getWidth(),t=this.display.getHeight();!this.container.clientWidth||!this.container.clientHeight||(this.viewportScale=this.fit&&e&&t?Math.min(this.container.clientWidth/e,this.keyboardScale??this.container.clientHeight/t):1,this.display.scale(this.viewportScale*this.zoom))}scheduleResize(){clearTimeout(this.resizeTimer),!(!this.connected||!this.connectionNotified||this.disposed||!this.fit||this.resizePaused)&&(this.resizeTimer=setTimeout(()=>{const e=this.container.clientWidth,t=this.container.clientHeight;if(!e||!t||!this.connectionNotified||this.disposed||!this.fit||this.resizePaused)return;const{width:a,height:s}=X(e,t),c=`${a}x${s}`;c!==this.requestedSize&&(this.requestedSize=c,this.client.sendSize(a,s))},150))}set scaleViewport(e){this.fit=e,this.scale(),this.scheduleResize()}set viewportZoom(e){this.zoom=e,this.scale()}get viewportZoom(){return this.zoom}get viewportScroller(){return this.container}set pauseResize(e){this.resizePaused=e,this.scheduleResize()}set keyboardActive(e){e!==this.phoneKeyboardActive&&(this.keyboardScale=e?this.viewportScale:null,this.phoneKeyboardActive=e,this.keyboard.reset(),this.scale())}get pointerTarget(){return{size:()=>({width:this.display.getWidth(),height:this.display.getHeight()}),surface:()=>this.display.getElement(),send:(e,t,a)=>{this.readonlyMode||this.disposed||!this.connected||(this.localPointer=!0,this.touchpadPointer||(this.touchpadPointer=!0,this.display.showCursor(!1)),this.tunnel.sendPointer(e,t,a))}}}set viewOnly(e){this.tunnel.cancelPointerMoves(),this.keyboard.reset(),this.readonlyMode=e,this.localPointer=!1}sendKey(e,t,a=!0){!this.readonlyMode&&!this.disposed&&this.client.sendKeyEvent(a?1:0,e)}clipboardPasteFrom(e){if(this.readonlyMode||this.disposed)return;const t=new G.StringWriter(this.client.createClipboardStream("text/plain"));t.sendText(e),t.sendEnd()}disconnect(){this.disposed||(this.disposed=!0,this.tunnel.cancelPointerMoves(),this.keyboard.reset(),this.listeners.abort(),this.observer.disconnect(),this.cancelDisplayBatch(),this.display.cancel?.(),clearTimeout(this.resizeTimer),this.client.disconnect(),this.container.remove())}}export{ce as RdpSession};
1
+ import{cx as V}from"./app-CI3Oh-41.js";import{c as X}from"./ComputerControlView-CdMNRZsH.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./ChangeWalkthroughPanel-B0JYVVwB.js";import"./sparkles-BhmNaa1u.js";import"./triangle-alert-B5d_l343.js";import"./RightSidebar-CXykcIPb.js";import"./App-9yy2aYiT.js";import"./gestureArbiter-D6uN_O0i.js";import"./referenceLongPress-C91ZK5h8.js";import"./DiffReview-C1TyvrA9.js";import"./DiffViewer-ByAlz2NG.js";var n=n||{};n.ArrayBufferReader=function(l){var e=this;l.onblob=function(t){for(var a=window.atob(t),s=new ArrayBuffer(a.length),c=new Uint8Array(s),y=0;y<a.length;y++)c[y]=a.charCodeAt(y);e.ondata&&e.ondata(s)},l.onend=function(){e.onend&&e.onend()},this.ondata=null,this.onend=null};var n=n||{};n.ArrayBufferWriter=function(l){var e=this;l.onack=function(a){e.onack&&e.onack(a)};function t(a){for(var s="",c=0;c<a.byteLength;c++)s+=String.fromCharCode(a[c]);l.sendBlob(window.btoa(s))}this.blobLength=n.ArrayBufferWriter.DEFAULT_BLOB_LENGTH,this.sendData=function(a){var s=new Uint8Array(a);if(s.length<=e.blobLength)t(s);else for(var c=0;c<s.length;c+=e.blobLength)t(s.subarray(c,c+e.blobLength))},this.sendEnd=function(){l.sendEnd()},this.onack=null};n.ArrayBufferWriter.DEFAULT_BLOB_LENGTH=6048;var n=n||{};n.AudioContextFactory={singleton:null,getAudioContext:function(){var e=window.AudioContext||window.webkitAudioContext;if(e)try{return n.AudioContextFactory.singleton||(n.AudioContextFactory.singleton=new e),n.AudioContextFactory.singleton}catch{}return null}};var n=n||{};n.AudioPlayer=function(){this.sync=function(){}};n.AudioPlayer.isSupportedType=function(e){return n.RawAudioPlayer.isSupportedType(e)};n.AudioPlayer.getSupportedTypes=function(){return n.RawAudioPlayer.getSupportedTypes()};n.AudioPlayer.getInstance=function(e,t){return n.RawAudioPlayer.isSupportedType(t)?new n.RawAudioPlayer(e,t):null};n.RawAudioPlayer=function(e,t){var a=n.RawAudioFormat.parse(t),s=n.AudioContextFactory.getAudioContext(),c=s.currentTime,y=new n.ArrayBufferReader(e),v=.02,h=.3,o=a.bytesPerSample===1?window.Int8Array:window.Int16Array,m=a.bytesPerSample===1?128:32768,I=[],F=function(S){if(S.length<=1)return S[0];var u=0;S.forEach(function(w){u+=w.length});var f=0,p=new o(u);return S.forEach(function(w){p.set(w,f),f+=w.length}),p},x=function(S){for(var u=Number.MAX_VALUE,f=S.length,p=Math.floor(S.length/a.channels),T=Math.floor(a.rate*v),w=Math.max(a.channels*T,a.channels*(p-T)),k=w;k<S.length;k+=a.channels){for(var _=0,D=0;D<a.channels;D++)_+=Math.abs(S[k+D]);_<=u&&(f=k+a.channels,u=_)}return f===S.length?[S]:[new o(S.buffer.slice(0,f*a.bytesPerSample)),new o(S.buffer.slice(f*a.bytesPerSample))]},P=function(S){I.push(new o(S))},O=function(){var S=F(I);return S?(I=x(S),S=I.shift(),S):null},M=function(S){var u=S.length/a.channels,f=s.currentTime;c<f&&(c=f);for(var p=s.createBuffer(a.channels,u,a.rate),T=0;T<a.channels;T++)for(var w=p.getChannelData(T),k=T,_=0;_<u;_++)w[_]=S[k]/m,k+=a.channels;return p};y.ondata=function(S){P(new o(S));var u=O();if(u){var f=s.currentTime;c<f&&(c=f);var p=s.createBufferSource();p.connect(s.destination),p.start||(p.start=p.noteOn),p.buffer=M(u),p.start(c),c+=u.length/a.channels/a.rate}},this.sync=function(){var S=s.currentTime;c=Math.min(c,S+h)}};n.RawAudioPlayer.prototype=new n.AudioPlayer;n.RawAudioPlayer.isSupportedType=function(e){return n.AudioContextFactory.getAudioContext()?n.RawAudioFormat.parse(e)!==null:!1};n.RawAudioPlayer.getSupportedTypes=function(){return n.AudioContextFactory.getAudioContext()?["audio/L8","audio/L16"]:[]};var n=n||{};n.AudioRecorder=function(){this.onclose=null,this.onerror=null};n.AudioRecorder.isSupportedType=function(e){return n.RawAudioRecorder.isSupportedType(e)};n.AudioRecorder.getSupportedTypes=function(){return n.RawAudioRecorder.getSupportedTypes()};n.AudioRecorder.getInstance=function(e,t){return n.RawAudioRecorder.isSupportedType(t)?new n.RawAudioRecorder(e,t):null};n.RawAudioRecorder=function(e,t){var a=this,s=2048,c=3,y=n.RawAudioFormat.parse(t),v=n.AudioContextFactory.getAudioContext();navigator.mediaDevices||(navigator.mediaDevices={}),navigator.mediaDevices.getUserMedia||(navigator.mediaDevices.getUserMedia=(navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia).bind(navigator));var h=new n.ArrayBufferWriter(e),o=y.bytesPerSample===1?window.Int8Array:window.Int16Array,m=y.bytesPerSample===1?128:32768,I=0,F=0,x=null,P=null,O=null,M=function(_){if(_===0)return 1;var D=Math.PI*_;return Math.sin(D)/D},L=function(_,D){return-D<_&&_<D?M(_)*M(_/D):0},S=function(_,D){for(var r=(_.length-1)*D,i=Math.floor(r)-c+1,d=Math.floor(r)+c,E=0,A=i;A<=d;A++)E+=(_[A]||0)*L(r-A,c);return E},u=function(_){var D=_.length;I+=D;var r=Math.round(I*y.rate/_.sampleRate),i=r-F;F+=i;for(var d=new o(i*y.channels),E=0;E<y.channels;E++)for(var A=_.getChannelData(E),b=E,R=0;R<i;R++)d[b]=S(A,R/(i-1))*m,b+=y.channels;return d},f=function(_){O=v.createScriptProcessor(s,y.channels,y.channels),O.connect(v.destination),O.onaudioprocess=function(r){h.sendData(u(r.inputBuffer).buffer)},P=v.createMediaStreamSource(_),P.connect(O),v.state==="suspended"&&v.resume(),x=_},p=function(){h.sendEnd(),a.onerror&&a.onerror()},T=function(){var _=navigator.mediaDevices.getUserMedia({audio:!0},f,p);_&&_.then&&_.then(f,p)},w=function(){if(P&&P.disconnect(),O&&O.disconnect(),x)for(var _=x.getTracks(),D=0;D<_.length;D++)_[D].stop();O=null,P=null,x=null,h.sendEnd()};h.onack=function(_){_.code===n.Status.Code.SUCCESS&&!x?T():(w(),h.onack=null,_.code===n.Status.Code.RESOURCE_CLOSED?a.onclose&&a.onclose():a.onerror&&a.onerror())}};n.RawAudioRecorder.prototype=new n.AudioRecorder;n.RawAudioRecorder.isSupportedType=function(e){return n.AudioContextFactory.getAudioContext()?n.RawAudioFormat.parse(e)!==null:!1};n.RawAudioRecorder.getSupportedTypes=function(){return n.AudioContextFactory.getAudioContext()?["audio/L8","audio/L16"]:[]};var n=n||{};n.BlobReader=function(l,e){var t=this,a=0,s;window.BlobBuilder?s=new BlobBuilder:window.WebKitBlobBuilder?s=new WebKitBlobBuilder:window.MozBlobBuilder?s=new MozBlobBuilder:s=new(function(){var c=[];this.append=function(y){c.push(new Blob([y],{type:e}))},this.getBlob=function(){return new Blob(c,{type:e})}}),l.onblob=function(c){for(var y=window.atob(c),v=new ArrayBuffer(y.length),h=new Uint8Array(v),o=0;o<y.length;o++)h[o]=y.charCodeAt(o);s.append(v),a+=v.byteLength,t.onprogress&&t.onprogress(v.byteLength),l.sendAck("OK",0)},l.onend=function(){t.onend&&t.onend()},this.getLength=function(){return a},this.getBlob=function(){return s.getBlob()},this.onprogress=null,this.onend=null};var n=n||{};n.BlobWriter=function(e){var t=this,a=new n.ArrayBufferWriter(e);a.onack=function(c){t.onack&&t.onack(c)};var s=function(y,v,h){var o=(y.slice||y.webkitSlice||y.mozSlice).bind(y),m=h-v;if(m!==h){var I=o(v,m);if(I.size===m)return I}return o(v,h)};this.sendBlob=function(y){var v=0,h=new FileReader,o=function(){if(v>=y.size){t.oncomplete&&t.oncomplete(y);return}var I=s(y,v,v+a.blobLength);v+=a.blobLength,h.readAsArrayBuffer(I)};h.onload=function(){a.sendData(h.result),a.onack=function(F){t.onack&&t.onack(F),!F.isError()&&(t.onprogress&&t.onprogress(y,v-a.blobLength),o())}},h.onerror=function(){t.onerror&&t.onerror(y,v,h.error)},o()},this.sendEnd=function(){a.sendEnd()},this.onack=null,this.onerror=null,this.onprogress=null,this.oncomplete=null};var n=n||{};n.Client=function(l){var e=this,t=n.Client.State.IDLE,a=0,s=5e3,c=null,y=0,v={0:"butt",1:"round",2:"square"},h={0:"bevel",1:"miter",2:"round"},o=new n.Display,m={},I={},F=[],x=[],P=[],O=new n.IntegerPool,M=[];function L(r){r!=t&&(t=r,e.onstatechange&&e.onstatechange(t))}function S(){return t==n.Client.State.CONNECTED||t==n.Client.State.WAITING}this.exportState=function(i){var d={currentState:t,currentTimestamp:a,layers:{}},E={};for(var A in m)E[A]=m[A];o.flush(function(){for(var R in E){var C=parseInt(R),g=E[R],N=g.toCanvas(),B={width:g.width,height:g.height};g.width&&g.height&&(B.url=N.toDataURL("image/png")),C>0&&(B.x=g.x,B.y=g.y,B.z=g.z,B.alpha=g.alpha,B.matrix=g.matrix,B.parent=f(g.parent)),d.layers[R]=B}i(d)})},this.importState=function(i,d){var E,A;t=i.currentState,a=i.currentTimestamp,o.cancel();for(E in m)A=parseInt(E),A>0&&m[E].dispose();m={};for(E in i.layers){A=parseInt(E);var b=i.layers[E],R=u(A);if(o.resize(R,b.width,b.height),b.url&&(o.setChannelMask(R,n.Layer.SRC),o.draw(R,0,0,b.url)),A>0&&b.parent>=0){var C=u(b.parent);o.move(R,C,b.x,b.y,b.z),o.shade(R,b.alpha);var g=b.matrix;o.distort(R,g[0],g[1],g[2],g[3],g[4],g[5])}}o.flush(d)},this.getDisplay=function(){return o},this.sendSize=function(r,i){S()&&l.sendMessage("size",r,i)},this.sendKeyEvent=function(r,i){S()&&l.sendMessage("key",i,r)},this.sendMouseState=function(i,d){if(S()){var E=i.x,A=i.y;d&&(E/=o.getScale(),A/=o.getScale()),o.moveCursor(Math.floor(E),Math.floor(A));var b=0;i.left&&(b|=1),i.middle&&(b|=2),i.right&&(b|=4),i.up&&(b|=8),i.down&&(b|=16),l.sendMessage("mouse",Math.floor(E),Math.floor(A),b)}},this.sendTouchState=function(i,d){if(S()){var E=i.x,A=i.y;d&&(E/=o.getScale(),A/=o.getScale()),l.sendMessage("touch",i.id,Math.floor(E),Math.floor(A),Math.floor(i.radiusX),Math.floor(i.radiusY),i.angle,i.force)}},this.createOutputStream=function(){var i=O.next(),d=M[i]=new n.OutputStream(e,i);return d},this.createAudioStream=function(r){var i=e.createOutputStream();return l.sendMessage("audio",i.index,r),i},this.createFileStream=function(r,i){var d=e.createOutputStream();return l.sendMessage("file",d.index,r,i),d},this.createPipeStream=function(r,i){var d=e.createOutputStream();return l.sendMessage("pipe",d.index,r,i),d},this.createClipboardStream=function(r){var i=e.createOutputStream();return l.sendMessage("clipboard",i.index,r),i},this.createArgumentValueStream=function(i,d){var E=e.createOutputStream();return l.sendMessage("argv",E.index,i,d),E},this.createObjectOutputStream=function(i,d,E){var A=e.createOutputStream();return l.sendMessage("put",i,A.index,d,E),A},this.requestObjectInputStream=function(i,d){S()&&l.sendMessage("get",i,d)},this.sendAck=function(r,i,d){S()&&l.sendMessage("ack",r,i,d)},this.sendBlob=function(r,i){S()&&l.sendMessage("blob",r,i)},this.endStream=function(r){S()&&(l.sendMessage("end",r),M[r]&&(O.free(r),delete M[r]))},this.onstatechange=null,this.onname=null,this.onerror=null,this.onmsg=null,this.onjoin=null,this.onleave=null,this.onaudio=null,this.onvideo=null,this.onmultitouch=null,this.onargv=null,this.onclipboard=null,this.onfile=null,this.onfilesystem=null,this.onpipe=null,this.onrequired=null,this.onsync=null;var u=function(i){var d=m[i];return d||(i===0?d=o.getDefaultLayer():i>0?d=o.createLayer():d=o.createBuffer(),m[i]=d),d},f=function(i){if(!i)return null;for(var d in m)if(i===m[d])return parseInt(d);return null};function p(r){var i=F[r];return i==null&&(i=F[r]=new n.Parser,i.oninstruction=l.oninstruction),i}var T={"miter-limit":function(r,i){o.setMiterLimit(r,parseFloat(i))},"multi-touch":function(i,d){e.onmultitouch&&i instanceof n.Display.VisibleLayer&&e.onmultitouch(i,parseInt(d))}},w={ack:function(r){var i=parseInt(r[0]),d=r[1],E=parseInt(r[2]),A=M[i];A&&(A.onack&&A.onack(new n.Status(E,d)),E>=256&&M[i]===A&&(O.free(i),delete M[i]))},arc:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseFloat(r[4]),R=parseFloat(r[5]),C=parseInt(r[6]);o.arc(i,d,E,A,b,R,C!=0)},argv:function(r){var i=parseInt(r[0]),d=r[1],E=r[2];if(e.onargv){var A=x[i]=new n.InputStream(e,i);e.onargv(A,d,E)}else e.sendAck(i,"Receiving argument values unsupported",256)},audio:function(r){var i=parseInt(r[0]),d=r[1],E=x[i]=new n.InputStream(e,i),A=null;e.onaudio&&(A=e.onaudio(E,d)),A||(A=n.AudioPlayer.getInstance(E,d)),A?(I[i]=A,e.sendAck(i,"OK",0)):e.sendAck(i,"BAD TYPE",783)},blob:function(r){var i=parseInt(r[0]),d=r[1],E=x[i];E&&E.onblob&&E.onblob(d)},body:function(i){var d=parseInt(i[0]),E=P[d],A=parseInt(i[1]),b=i[2],R=i[3];if(E&&E.onbody){var C=x[A]=new n.InputStream(e,A);E.onbody(C,b,R)}else e.sendAck(A,"Receipt of body unsupported",256)},cfill:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]);o.setChannelMask(d,i),o.fillColor(d,E,A,b,R)},clip:function(r){var i=u(parseInt(r[0]));o.clip(i)},clipboard:function(r){var i=parseInt(r[0]),d=r[1];if(e.onclipboard){var E=x[i]=new n.InputStream(e,i);e.onclipboard(E,d)}else e.sendAck(i,"Clipboard unsupported",256)},close:function(r){var i=u(parseInt(r[0]));o.close(i)},copy:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]),C=u(parseInt(r[6])),g=parseInt(r[7]),N=parseInt(r[8]);o.setChannelMask(C,R),o.copy(i,d,E,A,b,C,g,N)},cstroke:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=v[parseInt(r[2])],A=h[parseInt(r[3])],b=parseInt(r[4]),R=parseInt(r[5]),C=parseInt(r[6]),g=parseInt(r[7]),N=parseInt(r[8]);o.setChannelMask(d,i),o.strokeColor(d,E,A,b,R,C,g,N)},cursor:function(r){var i=parseInt(r[0]),d=parseInt(r[1]),E=u(parseInt(r[2])),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]),C=parseInt(r[6]);o.setCursor(i,d,E,A,b,R,C)},curve:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]),C=parseInt(r[6]);o.curveTo(i,d,E,A,b,R,C)},disconnect:function(i){e.disconnect()},dispose:function(r){var i=parseInt(r[0]);if(i>0){var d=u(i);o.dispose(d),delete m[i]}else i<0&&delete m[i]},distort:function(r){var i=parseInt(r[0]),d=parseFloat(r[1]),E=parseFloat(r[2]),A=parseFloat(r[3]),b=parseFloat(r[4]),R=parseFloat(r[5]),C=parseFloat(r[6]);if(i>=0){var g=u(i);o.distort(g,d,E,A,b,R,C)}},error:function(r){var i=r[0],d=parseInt(r[1]);e.onerror&&e.onerror(new n.Status(d,i)),e.disconnect()},end:function(r){var i=parseInt(r[0]),d=x[i];d&&(d.onend&&d.onend(),delete x[i])},file:function(r){var i=parseInt(r[0]),d=r[1],E=r[2];if(e.onfile){var A=x[i]=new n.InputStream(e,i);e.onfile(A,d,E)}else e.sendAck(i,"File transfer unsupported",256)},filesystem:function(i){var d=parseInt(i[0]),E=i[1];if(e.onfilesystem){var A=P[d]=new n.Object(e,d);e.onfilesystem(A,E)}},identity:function(r){var i=u(parseInt(r[0]));o.setTransform(i,1,0,0,1,0,0)},img:function(r){var i=parseInt(r[0]),d=parseInt(r[1]),E=u(parseInt(r[2])),A=r[3],b=parseInt(r[4]),R=parseInt(r[5]),C=x[i]=new n.InputStream(e,i);o.setChannelMask(E,d),o.drawStream(E,b,R,C,A)},jpeg:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=parseInt(r[2]),A=parseInt(r[3]),b=r[4];o.setChannelMask(d,i),o.draw(d,E,A,"data:image/jpeg;base64,"+b)},lfill:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=u(parseInt(r[2]));o.setChannelMask(d,i),o.fillLayer(d,E)},line:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]);o.lineTo(i,d,E)},lstroke:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=u(parseInt(r[2]));o.setChannelMask(d,i),o.strokeLayer(d,E)},mouse:function(i){var d=parseInt(i[0]),E=parseInt(i[1]);o.showCursor(!0),o.moveCursor(d,E)},move:function(r){var i=parseInt(r[0]),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]);if(i>0&&d>=0){var R=u(i),C=u(d);o.move(R,C,E,A,b)}},msg:function(r){var i,d,E=!0,A=parseInt(r[0]);if(e.onmsg&&(E=e.onmsg(A,r.slice(1)),E===void 0&&(E=!0)),E)switch(A){case n.Client.Message.USER_JOINED:i=r[1],d=r[2],e.onjoin&&e.onjoin(i,d);break;case n.Client.Message.USER_LEFT:i=r[1],d=r[2],e.onleave&&e.onleave(i,d);break}},name:function(r){e.onname&&e.onname(r[0])},nest:function(r){var i=p(parseInt(r[0]));i.receive(r[1])},pipe:function(r){var i=parseInt(r[0]),d=r[1],E=r[2];if(e.onpipe){var A=x[i]=new n.InputStream(e,i);e.onpipe(A,d,E)}else e.sendAck(i,"Named pipes unsupported",256)},png:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=parseInt(r[2]),A=parseInt(r[3]),b=r[4];o.setChannelMask(d,i),o.draw(d,E,A,"data:image/png;base64,"+b)},pop:function(r){var i=u(parseInt(r[0]));o.pop(i)},push:function(r){var i=u(parseInt(r[0]));o.push(i)},rect:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]);o.rect(i,d,E,A,b)},required:function(i){e.onrequired&&e.onrequired(i)},reset:function(r){var i=u(parseInt(r[0]));o.reset(i)},set:function(r){var i=u(parseInt(r[0])),d=r[1],E=r[2],A=T[d];A&&A(i,E)},shade:function(r){var i=parseInt(r[0]),d=parseInt(r[1]);if(i>=0){var E=u(i);o.shade(E,d)}},size:function(r){var i=parseInt(r[0]),d=u(i),E=parseInt(r[1]),A=parseInt(r[2]);o.resize(d,E,A)},start:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]);o.moveTo(i,d,E)},sync:function(r){var i=parseInt(r[0]),d=r[1]?parseInt(r[1]):0;o.flush(function(){for(var A in I){var b=I[A];b&&b.sync()}i!==a&&(l.sendMessage("sync",i),a=i)},i,d),t===n.Client.State.WAITING&&L(n.Client.State.CONNECTED),e.onsync&&e.onsync(i,d)},transfer:function(r){var i=u(parseInt(r[0])),d=parseInt(r[1]),E=parseInt(r[2]),A=parseInt(r[3]),b=parseInt(r[4]),R=parseInt(r[5]),C=u(parseInt(r[6])),g=parseInt(r[7]),N=parseInt(r[8]);R===3?o.put(i,d,E,A,b,C,g,N):R!==5&&o.transfer(i,d,E,A,b,C,g,N,n.Client.DefaultTransferFunction[R])},transform:function(r){var i=u(parseInt(r[0])),d=parseFloat(r[1]),E=parseFloat(r[2]),A=parseFloat(r[3]),b=parseFloat(r[4]),R=parseFloat(r[5]),C=parseFloat(r[6]);o.transform(i,d,E,A,b,R,C)},undefine:function(i){var d=parseInt(i[0]),E=P[d];E&&E.onundefine&&E.onundefine()},video:function(r){var i=parseInt(r[0]),d=u(parseInt(r[1])),E=r[2],A=x[i]=new n.InputStream(e,i),b=null;e.onvideo&&(b=e.onvideo(A,d,E)),b||(b=n.VideoPlayer.getInstance(A,d,E)),b?e.sendAck(i,"OK",0):e.sendAck(i,"BAD TYPE",783)}},k=function(){l.sendMessage("nop"),y=new Date().getTime()},_=function(){window.clearTimeout(c);var i=new Date().getTime(),d=Math.max(y+s-i,0);d>0?c=window.setTimeout(k,d):k()},D=function(){window.clearTimeout(c)};l.oninstruction=function(r,i){var d=w[r];d&&d(i),_()},this.disconnect=function(){t!=n.Client.State.DISCONNECTED&&t!=n.Client.State.DISCONNECTING&&(L(n.Client.State.DISCONNECTING),D(),l.sendMessage("disconnect"),l.disconnect(),L(n.Client.State.DISCONNECTED))},this.connect=function(r){L(n.Client.State.CONNECTING);try{l.connect(r)}catch(i){throw L(n.Client.State.IDLE),i}_(),L(n.Client.State.WAITING)}};n.Client.State={IDLE:0,CONNECTING:1,WAITING:2,CONNECTED:3,DISCONNECTING:4,DISCONNECTED:5};n.Client.DefaultTransferFunction={0:function(l,e){e.red=e.green=e.blue=0},15:function(l,e){e.red=e.green=e.blue=255},3:function(l,e){e.red=l.red,e.green=l.green,e.blue=l.blue,e.alpha=l.alpha},5:function(l,e){},12:function(l,e){e.red=255&~l.red,e.green=255&~l.green,e.blue=255&~l.blue,e.alpha=l.alpha},10:function(l,e){e.red=255&~e.red,e.green=255&~e.green,e.blue=255&~e.blue},1:function(l,e){e.red=l.red&e.red,e.green=l.green&e.green,e.blue=l.blue&e.blue},14:function(l,e){e.red=255&~(l.red&e.red),e.green=255&~(l.green&e.green),e.blue=255&~(l.blue&e.blue)},7:function(l,e){e.red=l.red|e.red,e.green=l.green|e.green,e.blue=l.blue|e.blue},8:function(l,e){e.red=255&~(l.red|e.red),e.green=255&~(l.green|e.green),e.blue=255&~(l.blue|e.blue)},6:function(l,e){e.red=l.red^e.red,e.green=l.green^e.green,e.blue=l.blue^e.blue},9:function(l,e){e.red=255&~(l.red^e.red),e.green=255&~(l.green^e.green),e.blue=255&~(l.blue^e.blue)},4:function(l,e){e.red=255&(~l.red&e.red),e.green=255&(~l.green&e.green),e.blue=255&(~l.blue&e.blue)},13:function(l,e){e.red=255&(~l.red|e.red),e.green=255&(~l.green|e.green),e.blue=255&(~l.blue|e.blue)},2:function(l,e){e.red=255&(l.red&~e.red),e.green=255&(l.green&~e.green),e.blue=255&(l.blue&~e.blue)},11:function(l,e){e.red=255&(l.red|~e.red),e.green=255&(l.green|~e.green),e.blue=255&(l.blue|~e.blue)}};n.Client.Message={USER_JOINED:1,USER_LEFT:2};var n=n||{};n.DataURIReader=function(l,e){var t=this,a="data:"+e+";base64,";l.onblob=function(c){a+=c},l.onend=function(){t.onend&&t.onend()},this.getURI=function(){return a},this.onend=null};var n=n||{};n.Display=function(){var l=this,e=0,t=0,a=1,s=document.createElement("div");s.style.position="relative",s.style.width=e+"px",s.style.height=t+"px",s.style.transformOrigin=s.style.webkitTransformOrigin=s.style.MozTransformOrigin=s.style.OTransformOrigin=s.style.msTransformOrigin="0 0";var c=new n.Display.VisibleLayer(e,t),y=new n.Display.VisibleLayer(0,0);y.setChannelMask(n.Layer.SRC),s.appendChild(c.getElement()),s.appendChild(y.getElement());var v=document.createElement("div");v.style.position="relative",v.style.width=e*a+"px",v.style.height=t*a+"px",v.appendChild(s),this.cursorHotspotX=0,this.cursorHotspotY=0,this.cursorX=0,this.cursorY=0,this.statisticWindow=0,this.onresize=null,this.oncursor=null,this.onstatistics=null;var h=[],o=[],m=null,I=function(){for(var f=0,p=0,T=0,w=0;w<o.length;){var k=o[w];if(!k.isReady())break;k.flush(),f=k.localTimestamp,p=k.remoteTimestamp,T+=k.logicalFrames,w++}o.splice(0,w),w&&P(f,p,T)},F=function(){var f=function p(){if(m=null,!!o.length){if(o[0].isReady()){var T=o.shift();T.flush(),P(T.localTimestamp,T.remoteTimestamp,T.logicalFrames)}o.length&&(m=window.requestAnimationFrame(p))}};m||(m=window.requestAnimationFrame(f))},x=[],P=function(f,p,T){if(l.statisticWindow){for(var w=new Date().getTime(),k=0;k<x.length&&!(w-x[k].timestamp<=l.statisticWindow);k++);x.splice(0,k-1),x.push({localTimestamp:f,remoteTimestamp:p,timestamp:w,frames:T});var _=(x[x.length-1].timestamp-x[0].timestamp)/1e3,D=(x[x.length-1].remoteTimestamp-x[0].remoteTimestamp)/1e3,r=x.length,i=x.reduce(function(b,R){return b+R.frames},0),d=x.reduce(function(b,R){return b+Math.max(0,R.frames-1)},0),E=new n.Display.Statistics({processingLag:w-f,desktopFps:D&&i?i/D:null,clientFps:_?r/_:null,serverFps:D?r/D:null,dropRate:D?d/D:null});l.onstatistics&&l.onstatistics(E)}};window.addEventListener("blur",function(){m&&!document.hasFocus()&&(window.cancelAnimationFrame(m),m=null,I())},!0);function O(){window.requestAnimationFrame&&document.hasFocus()?F():I()}var M=function(f,p,T,w){this.localTimestamp=new Date().getTime(),this.remoteTimestamp=T||this.localTimestamp,this.logicalFrames=w||0,this.cancel=function(){f=null,p.forEach(function(D){D.cancel()}),p=[]},this.isReady=function(){for(var k=0;k<p.length;k++)if(p[k].blocked)return!1;return!0},this.flush=function(){for(var k=0;k<p.length;k++)p[k].execute();f&&f()}};function L(u,f){var p=this;this.blocked=f,this.cancel=function(){p.blocked=!1,u=null},this.unblock=function(){p.blocked&&(p.blocked=!1,O())},this.execute=function(){u&&u()}}function S(u,f){var p=new L(u,f);return h.push(p),p}this.getElement=function(){return v},this.getWidth=function(){return e},this.getHeight=function(){return t},this.getDefaultLayer=function(){return c},this.getCursorLayer=function(){return y},this.createLayer=function(){var u=new n.Display.VisibleLayer(e,t);return u.move(c,0,0,0),u},this.createBuffer=function(){var u=new n.Layer(0,0);return u.autosize=1,u},this.flush=function(u,f,p){o.push(new M(u,h,f,p)),h=[],O()},this.cancel=function(){o.forEach(function(p){p.cancel()}),o=[],h.forEach(function(p){p.cancel()}),h=[]},this.setCursor=function(u,f,p,T,w,k,_){S(function(){l.cursorHotspotX=u,l.cursorHotspotY=f,y.resize(k,_),y.copy(p,T,w,k,_,0,0),l.moveCursor(l.cursorX,l.cursorY),l.oncursor&&l.oncursor(y.toCanvas(),u,f)})},this.showCursor=function(u){var f=y.getElement(),p=f.parentNode;u===!1?p&&p.removeChild(f):p!==s&&s.appendChild(f)},this.moveCursor=function(u,f){y.translate(u-l.cursorHotspotX,f-l.cursorHotspotY),l.cursorX=u,l.cursorY=f},this.resize=function(u,f,p){S(function(){u.resize(f,p),u===c&&(e=f,t=p,s.style.width=e+"px",s.style.height=t+"px",v.style.width=e*a+"px",v.style.height=t*a+"px",l.onresize&&l.onresize(f,p))})},this.drawImage=function(u,f,p,T){S(function(){u.drawImage(f,p,T)})},this.drawBlob=function(u,f,p,T){var w;if(window.createImageBitmap){var k;w=S(function(){u.drawImage(f,p,k)},!0),window.createImageBitmap(T).then(function(i){k=i,w.unblock()})}else{var _=URL.createObjectURL(T);w=S(function(){D.width&&D.height&&u.drawImage(f,p,D),URL.revokeObjectURL(_)},!0);var D=new Image;D.onload=w.unblock,D.onerror=w.unblock,D.src=_}},this.drawStream=function(f,p,T,w,k){if(window.createImageBitmap){var _=new n.BlobReader(w,k);_.onend=function(){l.drawBlob(f,p,T,_.getBlob())}}else{var _=new n.DataURIReader(w,k);_.onend=function(){l.draw(f,p,T,_.getURI())}}},this.draw=function(u,f,p,T){var w=S(function(){k.width&&k.height&&u.drawImage(f,p,k)},!0),k=new Image;k.onload=w.unblock,k.onerror=w.unblock,k.src=T},this.play=function(u,f,p,T){var w=document.createElement("video");w.type=f,w.src=T,w.addEventListener("play",function(){function k(){u.drawImage(0,0,w),w.ended||window.setTimeout(k,20)}k()},!1),S(w.play)},this.transfer=function(u,f,p,T,w,k,_,D,r){S(function(){k.transfer(u,f,p,T,w,_,D,r)})},this.put=function(u,f,p,T,w,k,_,D){S(function(){k.put(u,f,p,T,w,_,D)})},this.copy=function(u,f,p,T,w,k,_,D){S(function(){k.copy(u,f,p,T,w,_,D)})},this.moveTo=function(u,f,p){S(function(){u.moveTo(f,p)})},this.lineTo=function(u,f,p){S(function(){u.lineTo(f,p)})},this.arc=function(u,f,p,T,w,k,_){S(function(){u.arc(f,p,T,w,k,_)})},this.curveTo=function(u,f,p,T,w,k,_){S(function(){u.curveTo(f,p,T,w,k,_)})},this.close=function(u){S(function(){u.close()})},this.rect=function(u,f,p,T,w){S(function(){u.rect(f,p,T,w)})},this.clip=function(u){S(function(){u.clip()})},this.strokeColor=function(u,f,p,T,w,k,_,D){S(function(){u.strokeColor(f,p,T,w,k,_,D)})},this.fillColor=function(u,f,p,T,w){S(function(){u.fillColor(f,p,T,w)})},this.strokeLayer=function(u,f,p,T,w){S(function(){u.strokeLayer(f,p,T,w)})},this.fillLayer=function(u,f){S(function(){u.fillLayer(f)})},this.push=function(u){S(function(){u.push()})},this.pop=function(u){S(function(){u.pop()})},this.reset=function(u){S(function(){u.reset()})},this.setTransform=function(u,f,p,T,w,k,_){S(function(){u.setTransform(f,p,T,w,k,_)})},this.transform=function(u,f,p,T,w,k,_){S(function(){u.transform(f,p,T,w,k,_)})},this.setChannelMask=function(u,f){S(function(){u.setChannelMask(f)})},this.setMiterLimit=function(u,f){S(function(){u.setMiterLimit(f)})},this.dispose=function(f){S(function(){f.dispose()})},this.distort=function(f,p,T,w,k,_,D){S(function(){f.distort(p,T,w,k,_,D)})},this.move=function(f,p,T,w,k){S(function(){f.move(p,T,w,k)})},this.shade=function(f,p){S(function(){f.shade(p)})},this.scale=function(u){s.style.transform=s.style.WebkitTransform=s.style.MozTransform=s.style.OTransform=s.style.msTransform="scale("+u+","+u+")",a=u,v.style.width=e*a+"px",v.style.height=t*a+"px"},this.getScale=function(){return a},this.flatten=function(){var u=document.createElement("canvas");u.width=c.width,u.height=c.height;var f=u.getContext("2d");function p(w){var k=[];for(var _ in w.children)k.push(w.children[_]);return k.sort(function(r,i){var d=r.z-i.z;if(d!==0)return d;var E=r.getElement(),A=i.getElement(),b=A.compareDocumentPosition(E);return b&Node.DOCUMENT_POSITION_PRECEDING?-1:b&Node.DOCUMENT_POSITION_FOLLOWING?1:0}),k}function T(w,k,_){if(w.width>0&&w.height>0){var D=f.globalAlpha;f.globalAlpha*=w.alpha/255,f.drawImage(w.getCanvas(),k,_);for(var r=p(w),i=0;i<r.length;i++){var d=r[i];T(d,k+d.x,_+d.y)}f.globalAlpha=D}}return T(c,0,0),u}};n.Display.VisibleLayer=function(l,e){n.Layer.apply(this,[l,e]);var t=this;this.__unique_id=n.Display.VisibleLayer.__next_id++,this.alpha=255,this.x=0,this.y=0,this.z=0,this.matrix=[1,0,0,1,0,0],this.parent=null,this.children={};var a=t.getCanvas();a.style.position="absolute",a.style.left="0px",a.style.top="0px";var s=document.createElement("div");s.appendChild(a),s.style.width=l+"px",s.style.height=e+"px",s.style.position="absolute",s.style.left="0px",s.style.top="0px",s.style.overflow="hidden";var c=this.resize;this.resize=function(h,o){s.style.width=h+"px",s.style.height=o+"px",c(h,o)},this.getElement=function(){return s};var y="translate(0px, 0px)",v="matrix(1, 0, 0, 1, 0, 0)";this.translate=function(h,o){t.x=h,t.y=o,y="translate("+h+"px,"+o+"px)",s.style.transform=s.style.WebkitTransform=s.style.MozTransform=s.style.OTransform=s.style.msTransform=y+" "+v},this.move=function(h,o,m,I){if(t.parent!==h){t.parent&&delete t.parent.children[t.__unique_id],t.parent=h,h.children[t.__unique_id]=t;var F=h.getElement();F.appendChild(s)}t.translate(o,m),t.z=I,s.style.zIndex=I},this.shade=function(h){t.alpha=h,s.style.opacity=h/255},this.dispose=function(){t.parent&&(delete t.parent.children[t.__unique_id],t.parent=null),s.parentNode&&s.parentNode.removeChild(s)},this.distort=function(h,o,m,I,F,x){t.matrix=[h,o,m,I,F,x],v="matrix("+h+","+o+","+m+","+I+","+F+","+x+")",s.style.transform=s.style.WebkitTransform=s.style.MozTransform=s.style.OTransform=s.style.msTransform=y+" "+v}};n.Display.VisibleLayer.__next_id=0;n.Display.Statistics=function(e){e=e||{},this.processingLag=e.processingLag,this.desktopFps=e.desktopFps,this.serverFps=e.serverFps,this.clientFps=e.clientFps,this.dropRate=e.dropRate};var n=n||{};n.Event=function(e){this.type=e,this.timestamp=new Date().getTime(),this.getAge=function(){return new Date().getTime()-this.timestamp},this.invokeLegacyHandler=function(a){}};n.Event.DOMEvent=function(e,t){n.Event.call(this,e),t=t||[],Array.isArray(t)||(t=[t]),this.preventDefault=function(){t.forEach(function(c){c.preventDefault&&c.preventDefault(),c.returnValue=!1})},this.stopPropagation=function(){t.forEach(function(c){c.stopPropagation()})}};n.Event.DOMEvent.cancelEvent=function(e){e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1};n.Event.Target=function(){var e={};this.on=function(a,s){var c=e[a];c||(e[a]=c=[]),c.push(s)},this.onEach=function(a,s){a.forEach(function(y){this.on(y,s)},this)},this.dispatch=function(a){a.invokeLegacyHandler(this);var s=e[a.type];if(s)for(var c=0;c<s.length;c++)s[c](a,this)},this.off=function(a,s){var c=e[a];if(!c)return!1;for(var y=0;y<c.length;y++)if(c[y]===s)return c.splice(y,1),!0;return!1},this.offEach=function(a,s){var c=!1;return a.forEach(function(v){c|=this.off(v,s)},this),c}};var n=n||{};n.InputSink=function(){var e=this,t=document.createElement("textarea");t.style.position="fixed",t.style.outline="none",t.style.border="none",t.style.margin="0",t.style.padding="0",t.style.height="0",t.style.width="0",t.style.left="0",t.style.bottom="0",t.style.resize="none",t.style.background="transparent",t.style.color="transparent",t.addEventListener("keypress",function(s){t.value=""},!1),t.addEventListener("compositionend",function(s){s.data&&(t.value="")},!1),t.addEventListener("input",function(s){s.data&&!s.isComposing&&(t.value="")},!1),t.addEventListener("focus",function(){window.setTimeout(function(){t.click(),t.select()},0)},!0),this.focus=function(){window.setTimeout(function(){t.focus()},0)},this.getElement=function(){return t},document.addEventListener("keydown",function(s){var c=document.activeElement;if(c&&c!==document.body){var y=c.getBoundingClientRect();if(y.left+y.width>0&&y.top+y.height>0)return}e.focus()},!0)};var n=n||{};n.InputStream=function(l,e){var t=this;this.index=e,this.onblob=null,this.onend=null,this.sendAck=function(a,s){l.sendAck(t.index,a,s)}};var n=n||{};n.IntegerPool=function(){var l=this,e=[];this.next_int=0,this.next=function(){return e.length>0?e.shift():l.next_int++},this.free=function(t){e.push(t)}};var n=n||{};n.JSONReader=function(e){var t=this,a=new n.StringReader(e),s="";this.getLength=function(){return s.length},this.getJSON=function(){return JSON.parse(s)},a.ontext=function(y){s+=y,t.onprogress&&t.onprogress(y.length)},a.onend=function(){t.onend&&t.onend()},this.onprogress=null,this.onend=null};var n=n||{};n.Keyboard=function(e){var t=this,a=n.Keyboard._nextID++,s="_GUAC_KEYBOARD_HANDLED_BY_"+a;this.onkeydown=null,this.onkeyup=null;var c={keyupUnreliable:!1,altIsTypableOnly:!1,capsLockKeyupUnreliable:!1};navigator&&navigator.platform&&(navigator.platform.match(/ipad|iphone|ipod/i)?c.keyupUnreliable=!0:navigator.platform.match(/^mac/i)&&(c.altIsTypableOnly=!0,c.capsLockKeyupUnreliable=!0));var y=function(g){var N=this;this.keyCode=g?g.which||g.keyCode:0,this.keyIdentifier=g&&g.keyIdentifier,this.key=g&&g.key,this.location=g?b(g):0,this.modifiers=g?n.Keyboard.ModifierState.fromKeyboardEvent(g):new n.Keyboard.ModifierState,this.timestamp=new Date().getTime(),this.defaultPrevented=!1,this.keysym=null,this.reliable=!1,this.getAge=function(){return new Date().getTime()-N.timestamp}},v=function(g){y.call(this,g),this.keysym=p(this.key,this.location)||k(this.keyCode,this.location),this.keyupReliable=!c.keyupUnreliable,this.keysym&&!f(this.keysym)&&(this.reliable=!0),!this.keysym&&_(this.keyCode,this.keyIdentifier)&&(this.keysym=p(this.keyIdentifier,this.location,this.modifiers.shift)),this.modifiers.meta&&this.keysym!==65511&&this.keysym!==65512?this.keyupReliable=!1:this.keysym===65509&&c.capsLockKeyupUnreliable&&(this.keyupReliable=!1);var N=!this.modifiers.ctrl&&!c.altIsTypableOnly,B=!this.modifiers.alt;(B&&this.modifiers.ctrl||N&&this.modifiers.alt||this.modifiers.meta||this.modifiers.hyper)&&(this.reliable=!0),M[this.keyCode]=this.keysym};v.prototype=new y;var h=function(g){y.call(this,g),this.keysym=w(this.keyCode),this.reliable=!0};h.prototype=new y;var o=function(g){y.call(this,g),this.keysym=k(this.keyCode,this.location)||p(this.key,this.location),t.pressed[this.keysym]||(this.keysym=M[this.keyCode]||this.keysym),this.reliable=!0};o.prototype=new y;var m=[],I={8:[65288],9:[65289],12:[65291,65291,65291,65461],13:[65293],16:[65505,65505,65506],17:[65507,65507,65508],18:[65513,65513,65027],19:[65299],20:[65509],27:[65307],32:[32],33:[65365,65365,65365,65465],34:[65366,65366,65366,65459],35:[65367,65367,65367,65457],36:[65360,65360,65360,65463],37:[65361,65361,65361,65460],38:[65362,65362,65362,65464],39:[65363,65363,65363,65462],40:[65364,65364,65364,65458],45:[65379,65379,65379,65456],46:[65535,65535,65535,65454],91:[65511],92:[65512],93:[65383],96:[65456],97:[65457],98:[65458],99:[65459],100:[65460],101:[65461],102:[65462],103:[65463],104:[65464],105:[65465],106:[65450],107:[65451],109:[65453],110:[65454],111:[65455],112:[65470],113:[65471],114:[65472],115:[65473],116:[65474],117:[65475],118:[65476],119:[65477],120:[65478],121:[65479],122:[65480],123:[65481],144:[65407],145:[65300],225:[65027]},F={Again:[65382],AllCandidates:[65341],Alphanumeric:[65328],Alt:[65513,65513,65027],Attn:[64782],AltGraph:[65027],ArrowDown:[65364],ArrowLeft:[65361],ArrowRight:[65363],ArrowUp:[65362],Backspace:[65288],CapsLock:[65509],Cancel:[65385],Clear:[65291],Convert:[65313],Copy:[64789],Crsel:[64796],CrSel:[64796],CodeInput:[65335],Compose:[65312],Control:[65507,65507,65508],ContextMenu:[65383],Delete:[65535],Down:[65364],End:[65367],Enter:[65293],EraseEof:[64774],Escape:[65307],Execute:[65378],Exsel:[64797],ExSel:[64797],F1:[65470],F2:[65471],F3:[65472],F4:[65473],F5:[65474],F6:[65475],F7:[65476],F8:[65477],F9:[65478],F10:[65479],F11:[65480],F12:[65481],F13:[65482],F14:[65483],F15:[65484],F16:[65485],F17:[65486],F18:[65487],F19:[65488],F20:[65489],F21:[65490],F22:[65491],F23:[65492],F24:[65493],Find:[65384],GroupFirst:[65036],GroupLast:[65038],GroupNext:[65032],GroupPrevious:[65034],FullWidth:null,HalfWidth:null,HangulMode:[65329],Hankaku:[65321],HanjaMode:[65332],Help:[65386],Hiragana:[65317],HiraganaKatakana:[65319],Home:[65360],Hyper:[65517,65517,65518],Insert:[65379],JapaneseHiragana:[65317],JapaneseKatakana:[65318],JapaneseRomaji:[65316],JunjaMode:[65336],KanaMode:[65325],KanjiMode:[65313],Katakana:[65318],Left:[65361],Meta:[65511,65511,65512],ModeChange:[65406],NumLock:[65407],PageDown:[65366],PageUp:[65365],Pause:[65299],Play:[64790],PreviousCandidate:[65342],PrintScreen:[65377],Redo:[65382],Right:[65363],RomanCharacters:null,Scroll:[65300],Select:[65376],Separator:[65452],Shift:[65505,65505,65506],SingleCandidate:[65340],Super:[65515,65515,65516],Tab:[65289],UIKeyInputDownArrow:[65364],UIKeyInputEscape:[65307],UIKeyInputLeftArrow:[65361],UIKeyInputRightArrow:[65363],UIKeyInputUpArrow:[65362],Up:[65362],Undo:[65381],Win:[65511,65511,65512],Zenkaku:[65320],ZenkakuHankaku:[65322]},x={65027:!0,65505:!0,65506:!0,65507:!0,65508:!0,65509:!0,65511:!0,65512:!0,65513:!0,65514:!0,65515:!0,65516:!0};this.modifiers=new n.Keyboard.ModifierState,this.pressed={};var P={},O={},M={},L=null,S=null,u=function(g,N){return g?g[N]||g[0]:null},f=function(g){return g>=0&&g<=255||(g&4294901760)===16777216};function p(C,g,N){if(!C)return null;var B,U=C.indexOf("U+");if(U>=0){var z=C.substring(U+2);B=String.fromCharCode(parseInt(z,16))}else if(C.length===1&&g!==3)B=C;else return u(F[C],g);N===!0?B=B.toUpperCase():N===!1&&(B=B.toLowerCase());var K=B.charCodeAt(0);return w(K)}function T(C){return C<=31||C>=127&&C<=159}function w(C){return T(C)?65280|C:C>=0&&C<=255?C:C>=256&&C<=1114111?16777216|C:null}function k(C,g){return u(I[C],g)}var _=function(g,N){if(!N)return!1;var B=N.indexOf("U+");if(B===-1)return!0;var U=parseInt(N.substring(B+2),16);return g!==U||g>=65&&g<=90||g>=48&&g<=57};this.press=function(C){if(C!==null){if(!t.pressed[C]&&(t.pressed[C]=!0,t.onkeydown)){var g=t.onkeydown(C);return O[C]=g,window.clearTimeout(L),window.clearInterval(S),x[C]||(L=window.setTimeout(function(){S=window.setInterval(function(){t.onkeyup(C),t.onkeydown(C)},50)},500)),g}return O[C]||!1}},this.release=function(C){t.pressed[C]&&(delete t.pressed[C],delete P[C],window.clearTimeout(L),window.clearInterval(S),C!==null&&t.onkeyup&&t.onkeyup(C))},this.type=function(g){for(var N=0;N<g.length;N++){var B=g.codePointAt?g.codePointAt(N):g.charCodeAt(N),U=w(B);t.press(U),t.release(U)}},this.reset=function(){for(var C in t.pressed)t.release(parseInt(C));m=[]};var D=function(g,N,B){var U=B.modifiers[g],z=t.modifiers[g],K;if(N.indexOf(B.keysym)===-1){if(z&&U===!1)for(K=0;K<N.length;K++)t.release(N[K]);else if(!z&&U){for(K=0;K<N.length;K++)if(t.pressed[N[K]])return;var H=N[0];B.keysym&&(P[H]=!0),t.press(H)}}},r=function(g){D("alt",[65513,65514,65027],g),D("shift",[65505,65506],g),D("ctrl",[65507,65508],g),D("meta",[65511,65512],g),D("hyper",[65515,65516],g),t.modifiers=g.modifiers},i=function(){for(var g in t.pressed)if(!P[g])return!1;return!0};function d(){var C=A();if(!C)return!1;var g;do g=C,C=A();while(C!==null);return i()&&t.reset(),g.defaultPrevented}var E=function(g){!t.modifiers.ctrl||!t.modifiers.alt||g>=65&&g<=90||g>=97&&g<=122||(g<=255||(g&4278190080)===16777216)&&(t.release(65507),t.release(65508),t.release(65513),t.release(65514))},A=function(){var g=m[0];if(!g)return null;if(g instanceof v){var N=null,B=[];if(g.keysym===65511||g.keysym===65512){if(m.length===1)return null;if(m[1].keysym!==g.keysym){if(!m[1].modifiers.meta)return m.shift()}else if(m[1]instanceof v)return m.shift()}if(g.reliable?(N=g.keysym,B=m.splice(0,1)):m[1]instanceof h?(N=m[1].keysym,B=m.splice(0,2)):m[1]&&(N=g.keysym,B=m.splice(0,1)),B.length>0){if(r(g),N){E(N);var U=!t.press(N);M[g.keyCode]=N,g.keyupReliable||t.release(N);for(var z=0;z<B.length;z++)B[z].defaultPrevented=U}return g}}else if(g instanceof o&&!c.keyupUnreliable){var N=g.keysym;if(N)t.release(N),delete M[g.keyCode],g.defaultPrevented=!0;else return t.reset(),g;return r(g),m.shift()}else return m.shift();return null},b=function(g){return"location"in g?g.location:"keyLocation"in g?g.keyLocation:0},R=function(g){return g[s]?!1:(g[s]=!0,!0)};this.listenTo=function(g){g.addEventListener("keydown",function(U){if(t.onkeydown&&R(U)){var z=new v(U);z.keyCode!==229&&(m.push(z),d()&&U.preventDefault())}},!0),g.addEventListener("keypress",function(U){!t.onkeydown&&!t.onkeyup||R(U)&&(m.push(new h(U)),d()&&U.preventDefault())},!0),g.addEventListener("keyup",function(U){t.onkeyup&&R(U)&&(U.preventDefault(),m.push(new o(U)),d())},!0);var N=function(z){!t.onkeydown&&!t.onkeyup||R(z)&&z.data&&!z.isComposing&&(g.removeEventListener("compositionend",B,!1),t.type(z.data))},B=function(z){!t.onkeydown&&!t.onkeyup||R(z)&&z.data&&(g.removeEventListener("input",N,!1),t.type(z.data))};g.addEventListener("input",N,!1),g.addEventListener("compositionend",B,!1)},e&&t.listenTo(e)};n.Keyboard._nextID=0;n.Keyboard.ModifierState=function(){this.shift=!1,this.ctrl=!1,this.alt=!1,this.meta=!1,this.hyper=!1};n.Keyboard.ModifierState.fromKeyboardEvent=function(l){var e=new n.Keyboard.ModifierState;return e.shift=l.shiftKey,e.ctrl=l.ctrlKey,e.alt=l.altKey,e.meta=l.metaKey,l.getModifierState&&(e.hyper=l.getModifierState("OS")||l.getModifierState("Super")||l.getModifierState("Hyper")||l.getModifierState("Win")),e};var n=n||{};n.Layer=function(l,e){var t=this,a=64,s=document.createElement("canvas"),c=s.getContext("2d");c.save();var y=!0,v=!0,h=0,o={1:"destination-in",2:"destination-out",4:"source-in",6:"source-atop",8:"source-out",9:"destination-atop",10:"xor",11:"destination-over",12:"copy",14:"source-over",15:"lighter"},m=function(x,P){x=x||0,P=P||0;var O=Math.ceil(x/a)*a,M=Math.ceil(P/a)*a;if(s.width!==O||s.height!==M){var L=null;if(!y&&s.width!==0&&s.height!==0){L=document.createElement("canvas"),L.width=Math.min(t.width,x),L.height=Math.min(t.height,P);var S=L.getContext("2d");S.drawImage(s,0,0,L.width,L.height,0,0,L.width,L.height)}var u=c.globalCompositeOperation;s.width=O,s.height=M,L&&c.drawImage(L,0,0,L.width,L.height,0,0,L.width,L.height),c.globalCompositeOperation=u,h=0,c.save()}else t.reset();t.width=x,t.height=P};function I(F,x,P,O){var M=P+F,L=O+x,S;M>t.width?S=M:S=t.width;var u;L>t.height?u=L:u=t.height,t.resize(S,u)}this.autosize=!1,this.width=l,this.height=e,this.getCanvas=function(){return s},this.toCanvas=function(){var x=document.createElement("canvas");x.width=t.width,x.height=t.height;var P=x.getContext("2d");return P.drawImage(t.getCanvas(),0,0),x},this.resize=function(F,x){(F!==t.width||x!==t.height)&&m(F,x)},this.drawImage=function(F,x,P){t.autosize&&I(F,x,P.width,P.height),c.drawImage(P,F,x),y=!1},this.transfer=function(F,x,P,O,M,L,S,u){var f=F.getCanvas();if(!(x>=f.width||P>=f.height)&&(x+O>f.width&&(O=f.width-x),P+M>f.height&&(M=f.height-P),!(O===0||M===0))){t.autosize&&I(L,S,O,M);for(var p=F.getCanvas().getContext("2d").getImageData(x,P,O,M),T=c.getImageData(L,S,O,M),w=0;w<O*M*4;w+=4){var k=new n.Layer.Pixel(p.data[w],p.data[w+1],p.data[w+2],p.data[w+3]),_=new n.Layer.Pixel(T.data[w],T.data[w+1],T.data[w+2],T.data[w+3]);u(k,_),T.data[w]=_.red,T.data[w+1]=_.green,T.data[w+2]=_.blue,T.data[w+3]=_.alpha}c.putImageData(T,L,S),y=!1}},this.put=function(F,x,P,O,M,L,S){var u=F.getCanvas();if(!(x>=u.width||P>=u.height)&&(x+O>u.width&&(O=u.width-x),P+M>u.height&&(M=u.height-P),!(O===0||M===0))){t.autosize&&I(L,S,O,M);var f=F.getCanvas().getContext("2d").getImageData(x,P,O,M);c.putImageData(f,L,S),y=!1}},this.copy=function(F,x,P,O,M,L,S){var u=F.getCanvas();x>=u.width||P>=u.height||(x+O>u.width&&(O=u.width-x),P+M>u.height&&(M=u.height-P),!(O===0||M===0)&&(t.autosize&&I(L,S,O,M),c.drawImage(u,x,P,O,M,L,S,O,M),y=!1))},this.moveTo=function(F,x){v&&(c.beginPath(),v=!1),t.autosize&&I(F,x,0,0),c.moveTo(F,x)},this.lineTo=function(F,x){v&&(c.beginPath(),v=!1),t.autosize&&I(F,x,0,0),c.lineTo(F,x)},this.arc=function(F,x,P,O,M,L){v&&(c.beginPath(),v=!1),t.autosize&&I(F,x,0,0),c.arc(F,x,P,O,M,L)},this.curveTo=function(F,x,P,O,M,L){v&&(c.beginPath(),v=!1),t.autosize&&I(M,L,0,0),c.bezierCurveTo(F,x,P,O,M,L)},this.close=function(){c.closePath(),v=!0},this.rect=function(F,x,P,O){v&&(c.beginPath(),v=!1),t.autosize&&I(F,x,P,O),c.rect(F,x,P,O)},this.clip=function(){c.clip(),v=!0},this.strokeColor=function(F,x,P,O,M,L,S){c.lineCap=F,c.lineJoin=x,c.lineWidth=P,c.strokeStyle="rgba("+O+","+M+","+L+","+S/255+")",c.stroke(),y=!1,v=!0},this.fillColor=function(F,x,P,O){c.fillStyle="rgba("+F+","+x+","+P+","+O/255+")",c.fill(),y=!1,v=!0},this.strokeLayer=function(F,x,P,O){c.lineCap=F,c.lineJoin=x,c.lineWidth=P,c.strokeStyle=c.createPattern(O.getCanvas(),"repeat"),c.stroke(),y=!1,v=!0},this.fillLayer=function(F){c.fillStyle=c.createPattern(F.getCanvas(),"repeat"),c.fill(),y=!1,v=!0},this.push=function(){c.save(),h++},this.pop=function(){h>0&&(c.restore(),h--)},this.reset=function(){for(;h>0;)c.restore(),h--;c.restore(),c.save(),c.beginPath(),v=!1},this.setTransform=function(F,x,P,O,M,L){c.setTransform(F,x,P,O,M,L)},this.transform=function(F,x,P,O,M,L){c.transform(F,x,P,O,M,L)},this.setChannelMask=function(F){c.globalCompositeOperation=o[F]},this.setMiterLimit=function(F){c.miterLimit=F},m(l,e),s.style.zIndex=-1};n.Layer.ROUT=2;n.Layer.ATOP=6;n.Layer.XOR=10;n.Layer.ROVER=11;n.Layer.OVER=14;n.Layer.PLUS=15;n.Layer.RIN=1;n.Layer.IN=4;n.Layer.OUT=8;n.Layer.RATOP=9;n.Layer.SRC=12;n.Layer.Pixel=function(l,e,t,a){this.red=l,this.green=e,this.blue=t,this.alpha=a};var n=n||{};n.Mouse=function(e){n.Mouse.Event.Target.call(this);var t=this;this.touchMouseThreshold=3,this.scrollThreshold=53,this.PIXELS_PER_LINE=18,this.PIXELS_PER_PAGE=this.PIXELS_PER_LINE*16;var a=[n.Mouse.State.Buttons.LEFT,n.Mouse.State.Buttons.MIDDLE,n.Mouse.State.Buttons.RIGHT],s=0,c=0;e.addEventListener("contextmenu",function(o){n.Event.DOMEvent.cancelEvent(o)},!1),e.addEventListener("mousemove",function(o){if(s){n.Event.DOMEvent.cancelEvent(o),s--;return}t.move(n.Position.fromClientPosition(e,o.clientX,o.clientY),o)},!1),e.addEventListener("mousedown",function(o){if(s){n.Event.DOMEvent.cancelEvent(o);return}var m=a[o.button];m&&t.press(m,o)},!1),e.addEventListener("mouseup",function(o){if(s){n.Event.DOMEvent.cancelEvent(o);return}var m=a[o.button];m&&t.release(m,o)},!1),e.addEventListener("mouseout",function(o){o||(o=window.event);for(var m=o.relatedTarget||o.toElement;m;){if(m===e)return;m=m.parentNode}t.reset(o),t.out(o)},!1),e.addEventListener("selectstart",function(o){n.Event.DOMEvent.cancelEvent(o)},!1);function y(){s=t.touchMouseThreshold}e.addEventListener("touchmove",y,!1),e.addEventListener("touchstart",y,!1),e.addEventListener("touchend",y,!1);function v(o){var m=o.deltaY||-o.wheelDeltaY||-o.wheelDelta;if(m?o.deltaMode===1?m=o.deltaY*t.PIXELS_PER_LINE:o.deltaMode===2&&(m=o.deltaY*t.PIXELS_PER_PAGE):m=o.detail*t.PIXELS_PER_LINE,c+=m,c<=-t.scrollThreshold){do t.click(n.Mouse.State.Buttons.UP),c+=t.scrollThreshold;while(c<=-t.scrollThreshold);c=0}if(c>=t.scrollThreshold){do t.click(n.Mouse.State.Buttons.DOWN),c-=t.scrollThreshold;while(c>=t.scrollThreshold);c=0}n.Event.DOMEvent.cancelEvent(o)}e.addEventListener("DOMMouseScroll",v,!1),e.addEventListener("mousewheel",v,!1),e.addEventListener("wheel",v,!1);var h=(function(){var o=document.createElement("div");if(!("cursor"in o.style))return!1;try{o.style.cursor="url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX///+nxBvIAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==) 0 0, auto"}catch{return!1}return/\burl\([^()]*\)\s+0\s+0\b/.test(o.style.cursor||"")})();this.setCursor=function(o,m,I){if(h){var F=o.toDataURL("image/png");return e.style.cursor="url("+F+") "+m+" "+I+", auto",!0}return!1}};n.Mouse.State=function(e){var t=function(s,c,y,v,h,o,m){return{x:s,y:c,left:y,middle:v,right:h,up:o,down:m}};arguments.length>1?e=t.apply(this,arguments):e=e||{},n.Position.call(this,e),this.left=e.left||!1,this.middle=e.middle||!1,this.right=e.right||!1,this.up=e.up||!1,this.down=e.down||!1};n.Mouse.State.Buttons={LEFT:"left",MIDDLE:"middle",RIGHT:"right",UP:"up",DOWN:"down"};n.Mouse.Event=function(e,t,a){n.Event.DOMEvent.call(this,e,a);var s="on"+this.type;this.state=t,this.invokeLegacyHandler=function(y){y[s]&&(this.preventDefault(),this.stopPropagation(),y[s](this.state))}};n.Mouse.Event.Target=function(){n.Event.Target.call(this),this.currentState=new n.Mouse.State,this.press=function(t,a){this.currentState[t]||(this.currentState[t]=!0,this.dispatch(new n.Mouse.Event("mousedown",this.currentState,a)))},this.release=function(t,a){this.currentState[t]&&(this.currentState[t]=!1,this.dispatch(new n.Mouse.Event("mouseup",this.currentState,a)))},this.click=function(t,a){this.press(t,a),this.release(t,a)},this.move=function(t,a){(this.currentState.x!==t.x||this.currentState.y!==t.y)&&(this.currentState.x=t.x,this.currentState.y=t.y,this.dispatch(new n.Mouse.Event("mousemove",this.currentState,a)))},this.out=function(t){this.dispatch(new n.Mouse.Event("mouseout",this.currentState,t))},this.reset=function(t){for(var a in n.Mouse.State.Buttons)this.release(n.Mouse.State.Buttons[a],t)}};n.Mouse.Touchpad=function(e){n.Mouse.Event.Target.call(this);var t=this;this.scrollThreshold=20*(window.devicePixelRatio||1),this.clickTimingThreshold=250,this.clickMoveThreshold=10*(window.devicePixelRatio||1),this.currentState=new n.Mouse.State;var a=0,s=0,c=0,y=0,v=0,h={1:"left",2:"right",3:"middle"},o=!1,m=null;e.addEventListener("touchend",function(I){if(I.preventDefault(),o&&I.touches.length===0){var F=new Date().getTime(),x=h[a];t.currentState[x]&&(t.release(x,I),m&&(window.clearTimeout(m),m=null)),F-y<=t.clickTimingThreshold&&v<t.clickMoveThreshold&&(t.press(x,I),m=window.setTimeout(function(){t.release(x,I),o=!1},t.clickTimingThreshold)),m||(o=!1)}},!1),e.addEventListener("touchstart",function(I){if(I.preventDefault(),a=Math.min(I.touches.length,3),m&&(window.clearTimeout(m),m=null),!o){o=!0;var F=I.touches[0];s=F.clientX,c=F.clientY,y=new Date().getTime(),v=0}},!1),e.addEventListener("touchmove",function(I){I.preventDefault();var F=I.touches[0],x=F.clientX-s,P=F.clientY-c;if(v+=Math.abs(x)+Math.abs(P),a===1){var O=v/(new Date().getTime()-y),M=1+O,L=new n.Position(t.currentState);L.x+=x*M,L.y+=P*M,L.x=Math.min(Math.max(0,L.x),e.offsetWidth-1),L.y=Math.min(Math.max(0,L.y),e.offsetHeight-1),t.move(L,I),s=F.clientX,c=F.clientY}else if(a===2&&Math.abs(P)>=t.scrollThreshold){var S;P>0?S="down":S="up",t.click(S,I),s=F.clientX,c=F.clientY}},!1)};n.Mouse.Touchscreen=function(e){n.Mouse.Event.Target.call(this);var t=this,a=!1,s=null,c=null,y=null,v=null;this.scrollThreshold=20*(window.devicePixelRatio||1),this.clickTimingThreshold=250,this.clickMoveThreshold=16*(window.devicePixelRatio||1),this.longPressThreshold=500;function h(I){var F=I.touches[0]||I.changedTouches[0],x=F.clientX-s,P=F.clientY-c;return Math.sqrt(x*x+P*P)>=t.clickMoveThreshold}function o(I){var F=I.touches[0];a=!0,s=F.clientX,c=F.clientY}function m(){window.clearTimeout(y),window.clearTimeout(v),a=!1}e.addEventListener("touchend",function(I){if(a){if(I.touches.length!==0||I.changedTouches.length!==1){m();return}if(window.clearTimeout(v),t.release(n.Mouse.State.Buttons.LEFT,I),!h(I)&&(I.preventDefault(),!t.currentState.left)){var F=I.changedTouches[0];t.move(n.Position.fromClientPosition(e,F.clientX,F.clientY)),t.press(n.Mouse.State.Buttons.LEFT,I),y=window.setTimeout(function(){t.release(n.Mouse.State.Buttons.LEFT,I),m()},t.clickTimingThreshold)}}},!1),e.addEventListener("touchstart",function(I){if(I.touches.length!==1){m();return}I.preventDefault(),o(I),window.clearTimeout(y),v=window.setTimeout(function(){var F=I.touches[0];t.move(n.Position.fromClientPosition(e,F.clientX,F.clientY)),t.click(n.Mouse.State.Buttons.RIGHT,I),m()},t.longPressThreshold)},!1),e.addEventListener("touchmove",function(I){if(a){if(h(I)&&window.clearTimeout(v),I.touches.length!==1){m();return}if(t.currentState.left){I.preventDefault();var F=I.touches[0];t.move(n.Position.fromClientPosition(e,F.clientX,F.clientY),I)}}},!1)};var n=n||{},n=n||{};n.Object=function(e,t){var a=this,s={},c=function(h){var o=s[h];if(!o)return null;var m=o.shift();return o.length===0&&delete s[h],m},y=function(h,o){var m=s[h];m||(m=[],s[h]=m),m.push(o)};this.index=t,this.onbody=function(h,o,m){var I=c(m);I&&I(h,o)},this.onundefine=null,this.requestInputStream=function(h,o){o&&y(h,o),e.requestObjectInputStream(a.index,h)},this.createOutputStream=function(h,o){return e.createObjectOutputStream(a.index,h,o)}};n.Object.ROOT_STREAM="/";n.Object.STREAM_INDEX_MIMETYPE="application/vnd.glyptodon.guacamole.stream-index+json";var n=n||{};n.OnScreenKeyboard=function(l){var e=this,t={},a={},s=[],c=function(u,f){u.classList?u.classList.add(f):u.className+=" "+f},y=function(u,f){u.classList?u.classList.remove(f):u.className=u.className.replace(/([^ ]+)[ ]*/g,function(T,w){return w===f?"":T})},v=0,h=function(u,f,p,T){this.width=f,this.height=p,this.scale=function(w){u.style.width=f*w+"px",u.style.height=p*w+"px",T&&(u.style.lineHeight=p*w+"px",u.style.fontSize=w+"px")}},o=function(u){for(var f=0;f<u.length;f++){var p=u[f];if(!(p in t))return!1}return!0},m=function(u){var f=e.keys[u];if(!f)return null;for(var p=f.length-1;p>=0;p--){var T=f[p];if(o(T.requires))return T}return null},I=function(u,f){if(!a[u]){c(f,"guac-keyboard-pressed");var p=m(u);if(p.modifier){var T="guac-keyboard-modifier-"+M(p.modifier),w=t[p.modifier];w===void 0?(c(x,T),t[p.modifier]=p.keysym,p.keysym&&e.onkeydown&&e.onkeydown(p.keysym)):(y(x,T),delete t[p.modifier],w&&e.onkeyup&&e.onkeyup(w))}else e.onkeydown&&e.onkeydown(p.keysym);a[u]=!0}},F=function(u,f){if(a[u]){y(f,"guac-keyboard-pressed");var p=m(u);!p.modifier&&e.onkeyup&&e.onkeyup(p.keysym),a[u]=!1}},x=document.createElement("div");x.className="guac-keyboard",x.onselectstart=x.onmousemove=x.onmouseup=x.onmousedown=function(u){return v&&v--,u.stopPropagation(),!1},this.touchMouseThreshold=3,this.onkeydown=null,this.onkeyup=null,this.layout=new n.OnScreenKeyboard.Layout(l),this.getElement=function(){return x},this.resize=function(S){for(var u=Math.floor(S*10/e.layout.width)/10,f=0;f<s.length;f++){var p=s[f];p.scale(u)}};var P=function(u,f){if(f instanceof Array){for(var p=[],T=0;T<f.length;T++)p.push(new n.OnScreenKeyboard.Key(f[T],u));return p}return typeof f=="number"?[new n.OnScreenKeyboard.Key({name:u,keysym:f})]:typeof f=="string"?[new n.OnScreenKeyboard.Key({name:u,title:f})]:[new n.OnScreenKeyboard.Key(f,u)]},O=function(u){var f={};for(var p in l.keys)f[p]=P(p,u[p]);return f};this.keys=O(l.keys);var M=function(u){var f=u.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[^A-Za-z0-9]+/g,"-").toLowerCase();return f},L=function S(u,f,p){var T,w=document.createElement("div");if(p&&c(w,"guac-keyboard-"+M(p)),f instanceof Array)for(c(w,"guac-keyboard-group"),T=0;T<f.length;T++)S(w,f[T]);else if(f instanceof Object){c(w,"guac-keyboard-group");var k=Object.keys(f).sort();for(T=0;T<k.length;T++){var p=k[T];S(w,f[p],p)}}else if(typeof f=="number")c(w,"guac-keyboard-gap"),s.push(new h(w,f,f));else if(typeof f=="string"){var _=f;_.length===1&&(_="0x"+_.charCodeAt(0).toString(16)),c(w,"guac-keyboard-key-container");var D=document.createElement("div");D.className="guac-keyboard-key guac-keyboard-key-"+M(_);var r=e.keys[f];if(r)for(T=0;T<r.length;T++){var i=r[T],d=document.createElement("div");d.className="guac-keyboard-cap",d.textContent=i.title;for(var E=0;E<i.requires.length;E++){var A=i.requires[E];c(d,"guac-keyboard-requires-"+M(A)),c(D,"guac-keyboard-uses-"+M(A))}D.appendChild(d)}w.appendChild(D),s.push(new h(w,e.layout.keyWidths[f]||1,1,!0));var b=function(B){B.preventDefault(),v=e.touchMouseThreshold,I(f,D)},R=function(B){B.preventDefault(),v=e.touchMouseThreshold,F(f,D)},C=function(B){B.preventDefault(),v===0&&I(f,D)},g=function(B){B.preventDefault(),v===0&&F(f,D)};D.addEventListener("touchstart",b,!0),D.addEventListener("touchend",R,!0),D.addEventListener("mousedown",C,!0),D.addEventListener("mouseup",g,!0),D.addEventListener("mouseout",g,!0)}u.appendChild(w)};L(x,l.layout)};n.OnScreenKeyboard.Layout=function(l){this.language=l.language,this.type=l.type,this.keys=l.keys,this.layout=l.layout,this.width=l.width,this.keyWidths=l.keyWidths||{}};n.OnScreenKeyboard.Key=function(l,e){this.name=e||l.name,this.title=l.title||this.name,this.keysym=l.keysym||(function(a){if(!a||a.length!==1)return null;var s=a.charCodeAt(0);return s>=0&&s<=255?s:s>=256&&s<=1114111?16777216|s:null})(this.title),this.modifier=l.modifier,this.requires=l.requires||[]};var n=n||{};n.OutputStream=function(l,e){var t=this;this.index=e,this.onack=null,this.sendBlob=function(a){l.sendBlob(t.index,a)},this.sendEnd=function(){l.endStream(t.index)}};var n=n||{};n.Parser=function(){var l=this,e="",t=[],a=-1,s=0;this.receive=function(c){for(s>4096&&a>=s&&(e=e.substring(s),a-=s,s=0),e+=c;a<e.length;){if(a>=s){var y=e.substring(s,a),v=e.substring(a,a+1);if(t.push(y),v==";"){var h=t.shift();l.oninstruction!=null&&l.oninstruction(h,t),t.length=0}else if(v!=",")throw new Error("Illegal terminator.");s=a+1}var o=e.indexOf(".",s);if(o!=-1){var m=parseInt(e.substring(a+1,o));if(isNaN(m))throw new Error("Non-numeric character in element length.");s=o+1,a=s+m}else{s=e.length;break}}},this.oninstruction=null};var n=n||{};n.Position=function(e){e=e||{},this.x=e.x||0,this.y=e.y||0,this.fromClientPosition=function(a,s,c){this.x=s-a.offsetLeft,this.y=c-a.offsetTop;for(var y=a.offsetParent;y&&y!==document.body;)this.x-=y.offsetLeft-y.scrollLeft,this.y-=y.offsetTop-y.scrollTop,y=y.offsetParent;if(y){var v=document.body.scrollLeft||document.documentElement.scrollLeft,h=document.body.scrollTop||document.documentElement.scrollTop;this.x-=y.offsetLeft-v,this.y-=y.offsetTop-h}}};n.Position.fromClientPosition=function(e,t,a){var s=new n.Position;return s.fromClientPosition(e,t,a),s};var n=n||{};n.RawAudioFormat=function(e){this.bytesPerSample=e.bytesPerSample,this.channels=e.channels,this.rate=e.rate};n.RawAudioFormat.parse=function(e){var t,a=null,s=1;if(e.substring(0,9)==="audio/L8;")e=e.substring(9),t=1;else if(e.substring(0,10)==="audio/L16;")e=e.substring(10),t=2;else return null;for(var c=e.split(","),y=0;y<c.length;y++){var v=c[y],h=v.indexOf("=");if(h===-1)return null;var o=v.substring(0,h),m=v.substring(h+1);switch(o){case"channels":s=parseInt(m);break;case"rate":a=parseInt(m);break;default:return null}}return a===null?null:new n.RawAudioFormat({bytesPerSample:t,channels:s,rate:a})};var n=n||{};n.SessionRecording=function(e){var t=this,a,s=null,c=262144,y=16384,v=5e3,h=[],o=0,m=new n.SessionRecording._PlaybackTunnel,I=new n.Client(m),F=-1,x=null,P=null,O=null,M=0,L=0,S=!1,u=null,f=function(R,C,g){if(!(S&&R===a)){var N=new n.Parser;N.oninstruction=C;var B=0,U=new FileReader,z=function(){if(!(S&&R===a)){if(U.readyState===2)try{N.receive(U.result)}catch(W){t.onerror&&t.onerror(W.message);return}if(B>=R.size)g&&g();else{var H=R.slice(B,B+c);B+=H.size,U.readAsText(H)}}};U.onload=z,z()}},p=function(R){for(var C=R.length,g=C+3;C>=10;)g++,C=Math.floor(C/10);return g};I.connect(),I.getDisplay().showCursor(!1);var T=function(R,C){L+=p(R);for(var g=0;g<C.length;g++)L+=p(C[g]);if(R==="sync"){var N=parseInt(C[0]),B=new n.SessionRecording._Frame(N,M,L);h.push(B),M=L,(h.length===1||L-h[o].start>=y&&N-h[o].timestamp>=v)&&(B.keyframe=!0,o=h.length-1),t.onprogress&&t.onprogress(t.getDuration(),L)}},w=function(){t.onload&&t.onload()};if(e instanceof Blob)f(a,T,w);else{s=e,a=new Blob;var k=!1,_="";s.oninstruction=function(R,C){_+=R.length+"."+R,C.forEach(function(N){_+=","+N.length+"."+N}),_+=";",_.length>=c&&(a=new Blob([a,_]),_=""),T(R,C)},s.onerror=function(R){k=!0,t.onerror&&t.onerror(R.message)},s.onstatechange=function(R){R===n.Tunnel.State.CLOSED&&(_.length&&(a=new Blob([a,_]),_=""),k||w())}}var D=function(R){return h.length===0?0:R-h[0].timestamp},r=function b(R,C,g){if(R===C)return R;var N=Math.floor((R+C)/2),B=D(h[N].timestamp);return g<B&&N>R?b(R,N-1,g):g>B&&N<C?b(N+1,C,g):N},i=function(R,C){var g=h[R];f(a.slice(g.start,g.end),function(B,U){m.receiveInstruction(B,U)},function(){g.keyframe&&!g.clientState&&I.exportState(function(U){g.clientState=new Blob([JSON.stringify(U)])}),F=R,C&&C()})},d=function(R,C,g){E();for(var N=O={aborted:!1},B=R,U=function H(){t.onseek&&F>B&&t.onseek(D(h[F].timestamp),F-B,R-B),!N.aborted&&(F<R?i(F+1,H):C())},z=function(){var W=g?Math.max(g-new Date().getTime(),0):0;W?window.setTimeout(U,W):U()};B>=0;B--){var K=h[B];if(B===F)break;if(K.clientState){K.clientState.text().then(function(W){I.importState(JSON.parse(W)),F=B,z()});return}}z()},E=function(){O&&(O.aborted=!0,O=null)},A=function b(){if(F+1<h.length){var R=h[F+1],C=R.timestamp-x+P;d(F+1,function(){b()},C)}else t.pause()};this.onload=null,this.onerror=null,this.onabort=null,this.onprogress=null,this.onplay=null,this.onpause=null,this.onseek=null,this.connect=function(R){s&&s.connect(R)},this.disconnect=function(){s&&s.disconnect()},this.abort=function(){S||(S=!0,t.onabort&&t.onabort(),s&&s.disconnect())},this.getDisplay=function(){return I.getDisplay()},this.isPlaying=function(){return!!x},this.getPosition=function(){return F===-1?0:D(h[F].timestamp)},this.getDuration=function(){return h.length===0?0:D(h[h.length-1].timestamp)},this.play=function(){if(!t.isPlaying()&&F+1<h.length){t.onplay&&t.onplay();var R=h[F+1];x=R.timestamp,P=new Date().getTime(),A()}},this.seek=function(R,C){if(h.length!==0){t.cancel();var g=t.isPlaying();t.pause(),u=function(){u=null,g&&(t.play(),g=null),C&&C()},d(r(0,h.length-1,R),u)}},this.cancel=function(){u&&(E(),u())},this.pause=function(){E(),t.isPlaying()&&(t.onpause&&t.onpause(),x=null,P=null)}};n.SessionRecording._Frame=function(e,t,a){this.keyframe=!1,this.timestamp=e,this.start=t,this.end=a,this.clientState=null};n.SessionRecording._PlaybackTunnel=function(){var e=this;this.connect=function(a){},this.sendMessage=function(a){},this.disconnect=function(){},this.receiveInstruction=function(a,s){e.oninstruction&&e.oninstruction(a,s)}};var n=n||{};n.Status=function(l,e){var t=this;this.code=l,this.message=e,this.isError=function(){return t.code<0||t.code>255}};n.Status.Code={SUCCESS:0,UNSUPPORTED:256,SERVER_ERROR:512,SERVER_BUSY:513,UPSTREAM_TIMEOUT:514,UPSTREAM_ERROR:515,RESOURCE_NOT_FOUND:516,RESOURCE_CONFLICT:517,RESOURCE_CLOSED:518,UPSTREAM_NOT_FOUND:519,UPSTREAM_UNAVAILABLE:520,SESSION_CONFLICT:521,SESSION_TIMEOUT:522,SESSION_CLOSED:523,CLIENT_BAD_REQUEST:768,CLIENT_UNAUTHORIZED:769,CLIENT_FORBIDDEN:771,CLIENT_TIMEOUT:776,CLIENT_OVERRUN:781,CLIENT_BAD_TYPE:783,CLIENT_TOO_MANY:797};n.Status.Code.fromHTTPCode=function(e){switch(e){case 400:return n.Status.Code.CLIENT_BAD_REQUEST;case 403:return n.Status.Code.CLIENT_FORBIDDEN;case 404:return n.Status.Code.RESOURCE_NOT_FOUND;case 429:return n.Status.Code.CLIENT_TOO_MANY;case 503:return n.Status.Code.SERVER_BUSY}return n.Status.Code.SERVER_ERROR};n.Status.Code.fromWebSocketCode=function(e){switch(e){case 1e3:return n.Status.Code.SUCCESS;case 1006:case 1015:return n.Status.Code.UPSTREAM_NOT_FOUND;case 1001:case 1012:case 1013:case 1014:return n.Status.Code.UPSTREAM_UNAVAILABLE}return n.Status.Code.SERVER_ERROR};var n=n||{};n.StringReader=function(l){var e=this,t=new n.UTF8Parser,a=new n.ArrayBufferReader(l);a.ondata=function(s){var c=t.decode(s);e.ontext&&e.ontext(c)},a.onend=function(){e.onend&&e.onend()},this.ontext=null,this.onend=null};var n=n||{};n.StringWriter=function(l){var e=this,t=new n.ArrayBufferWriter(l),a=new Uint8Array(8192),s=0;t.onack=function(h){e.onack&&e.onack(h)};function c(h){if(s+h>=a.length){var o=new Uint8Array((s+h)*2);o.set(a),a=o}s+=h}function y(h){var o,m;if(h<=127)o=0,m=1;else if(h<=2047)o=192,m=2;else if(h<=65535)o=224,m=3;else if(h<=2097151)o=240,m=4;else{y(65533);return}c(m);for(var I=s-1,F=1;F<m;F++)a[I--]=128|h&63,h>>=6;a[I]=o|h}function v(h){for(var o=0;o<h.length;o++){var m=h.charCodeAt(o);y(m)}if(s>0){var I=a.subarray(0,s);return s=0,I}}this.sendText=function(h){h.length&&t.sendData(v(h))},this.sendEnd=function(){t.sendEnd()},this.onack=null};var n=n||{};n.Touch=function(e){n.Event.Target.call(this);var t=this,a=Math.floor(16*window.devicePixelRatio);this.touches={},this.activeTouches=0,e.addEventListener("touchstart",function(c){for(var y=0;y<c.changedTouches.length;y++){var v=c.changedTouches[y],h=v.identifier;if(!t.touches[h]){var o=t.touches[h]=new n.Touch.State({id:h,radiusX:v.radiusX||a,radiusY:v.radiusY||a,angle:v.angle||0,force:v.force||1});t.activeTouches++,o.fromClientPosition(e,v.clientX,v.clientY),t.dispatch(new n.Touch.Event("touchmove",c,o))}}},!1),e.addEventListener("touchmove",function(c){for(var y=0;y<c.changedTouches.length;y++){var v=c.changedTouches[y],h=v.identifier,o=t.touches[h];o&&(v.force&&(o.force=v.force),o.angle=v.angle||0,o.radiusX=v.radiusX||a,o.radiusY=v.radiusY||a,o.fromClientPosition(e,v.clientX,v.clientY),t.dispatch(new n.Touch.Event("touchmove",c,o)))}},!1),e.addEventListener("touchend",function(c){for(var y=0;y<c.changedTouches.length;y++){var v=c.changedTouches[y],h=v.identifier,o=t.touches[h];o&&(delete t.touches[h],t.activeTouches--,o.force=0,o.fromClientPosition(e,v.clientX,v.clientY),t.dispatch(new n.Touch.Event("touchend",c,o)))}},!1)};n.Touch.State=function(e){e=e||{},n.Position.call(this,e),this.id=e.id||0,this.radiusX=e.radiusX||0,this.radiusY=e.radiusY||0,this.angle=e.angle||0,this.force=e.force||1};n.Touch.Event=function(e,t,a){n.Event.DOMEvent.call(this,e,[t]),this.state=a};var n=n||{};n.Tunnel=function(){this.connect=function(l){},this.disconnect=function(){},this.sendMessage=function(l){},this.setState=function(l){l!==this.state&&(this.state=l,this.onstatechange&&this.onstatechange(l))},this.setUUID=function(e){this.uuid=e,this.onuuid&&this.onuuid(e)},this.isConnected=function(){return this.state===n.Tunnel.State.OPEN||this.state===n.Tunnel.State.UNSTABLE},this.state=n.Tunnel.State.CLOSED,this.receiveTimeout=15e3,this.unstableThreshold=1500,this.uuid=null,this.onuuid=null,this.onerror=null,this.onstatechange=null,this.oninstruction=null};n.Tunnel.INTERNAL_DATA_OPCODE="";n.Tunnel.State={CONNECTING:0,OPEN:1,CLOSED:2,UNSTABLE:3};n.HTTPTunnel=function(l,e,t){var a=this,s=l+"?connect",c=l+"?read:",y=l+"?write:",v=1,h=0,o=v,m=!1,I="",F=!!e,x=null,P=null,O=null,M=500,L=t||{},S="Guacamole-Tunnel-Token",u=null;function f(i,d){for(var E in d)i.setRequestHeader(E,d[E])}var p=function(){window.clearTimeout(x),window.clearTimeout(P),a.state===n.Tunnel.State.UNSTABLE&&a.setState(n.Tunnel.State.OPEN),x=window.setTimeout(function(){T(new n.Status(n.Status.Code.UPSTREAM_TIMEOUT,"Server timeout."))},a.receiveTimeout),P=window.setTimeout(function(){a.setState(n.Tunnel.State.UNSTABLE)},a.unstableThreshold)};function T(i){window.clearTimeout(x),window.clearTimeout(P),window.clearInterval(O),a.state!==n.Tunnel.State.CLOSED&&(i.code!==n.Status.Code.SUCCESS&&a.onerror&&(a.state===n.Tunnel.State.CONNECTING||i.code!==n.Status.Code.RESOURCE_NOT_FOUND)&&a.onerror(i),m=!1,a.setState(n.Tunnel.State.CLOSED))}this.sendMessage=function(){if(!a.isConnected()||arguments.length===0)return;function i(A){var b=new String(A);return b.length+"."+b}for(var d=i(arguments[0]),E=1;E<arguments.length;E++)d+=","+i(arguments[E]);d+=";",I+=d,m||w()};function w(){if(a.isConnected())if(I.length>0){m=!0;var i=new XMLHttpRequest;i.open("POST",y+a.uuid),i.withCredentials=F,f(i,L),i.setRequestHeader("Content-type","application/octet-stream"),i.setRequestHeader(S,u),i.onreadystatechange=function(){i.readyState===4&&(p(),i.status!==200?k(i):w())},i.send(I),I=""}else m=!1}function k(i){var d=parseInt(i.getResponseHeader("Guacamole-Status-Code"));if(d){var E=i.getResponseHeader("Guacamole-Error-Message");T(new n.Status(d,E))}else i.status?T(new n.Status(n.Status.Code.fromHTTPCode(i.status),i.statusText)):T(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND))}function _(i){var d=null,E=null,A=0,b=-1,R=0,C=new Array;function g(){if(!a.isConnected()){d!==null&&clearInterval(d);return}if(!(i.readyState<2)){var N;try{N=i.status}catch{N=200}if(!E&&N===200&&(E=r()),i.readyState===3||i.readyState===4){if(p(),o===v&&(i.readyState===3&&!d?d=setInterval(g,30):i.readyState===4&&d&&clearInterval(d)),i.status===0){a.disconnect();return}else if(i.status!==200){k(i);return}var B;try{B=i.responseText}catch{return}for(;b<B.length;){if(b>=R){var U=B.substring(R,b),z=B.substring(b,b+1);if(C.push(U),z===";"){var K=C.shift();a.oninstruction&&a.oninstruction(K,C),C.length=0}R=b+1}var H=B.indexOf(".",R);if(H!==-1){var W=parseInt(B.substring(b+1,H));if(W===0){d&&clearInterval(d),i.onreadystatechange=null,i.abort(),E&&_(E);break}R=H+1,b=R+W}else{R=B.length;break}}}}}o===v?i.onreadystatechange=function(){i.readyState===3&&(A++,A>=2&&(o=h,i.onreadystatechange=g)),g()}:i.onreadystatechange=g,g()}var D=0;function r(){var i=new XMLHttpRequest;return i.open("GET",c+a.uuid+":"+D++),i.setRequestHeader(S,u),i.withCredentials=F,f(i,L),i.send(null),i}this.connect=function(i){p(),a.setState(n.Tunnel.State.CONNECTING);var d=new XMLHttpRequest;d.onreadystatechange=function(){if(d.readyState===4){if(d.status!==200){k(d);return}if(p(),a.setUUID(d.responseText),u=d.getResponseHeader(S),!u){T(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND));return}a.setState(n.Tunnel.State.OPEN),O=setInterval(function(){a.sendMessage("nop")},M),_(r())}},d.open("POST",s,!0),d.withCredentials=F,f(d,L),d.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8"),d.send(i)},this.disconnect=function(){T(new n.Status(n.Status.Code.SUCCESS,"Manually closed."))}};n.HTTPTunnel.prototype=new n.Tunnel;n.WebSocketTunnel=function(l){var e=this,t=null,a=null,s=null,c=null,y={"http:":"ws:","https:":"wss:"},v=500,h=0;if(l.substring(0,3)!=="ws:"&&l.substring(0,4)!=="wss:"){var o=y[window.location.protocol];if(l.substring(0,1)==="/")l=o+"//"+window.location.host+l;else{var m=window.location.pathname.lastIndexOf("/"),I=window.location.pathname.substring(0,m+1);l=o+"//"+window.location.host+I+l}}var F=function(){var M=new Date().getTime();e.sendMessage(n.Tunnel.INTERNAL_DATA_OPCODE,"ping",M),h=M},x=function(){window.clearTimeout(a),window.clearTimeout(s),window.clearTimeout(c),e.state===n.Tunnel.State.UNSTABLE&&e.setState(n.Tunnel.State.OPEN),a=window.setTimeout(function(){P(new n.Status(n.Status.Code.UPSTREAM_TIMEOUT,"Server timeout."))},e.receiveTimeout),s=window.setTimeout(function(){e.setState(n.Tunnel.State.UNSTABLE)},e.unstableThreshold);var M=new Date().getTime(),L=Math.max(h+v-M,0);L>0?c=window.setTimeout(F,L):F()};function P(O){window.clearTimeout(a),window.clearTimeout(s),window.clearTimeout(c),e.state!==n.Tunnel.State.CLOSED&&(O.code!==n.Status.Code.SUCCESS&&e.onerror&&e.onerror(O),e.setState(n.Tunnel.State.CLOSED),t.close())}this.sendMessage=function(O){if(!e.isConnected()||arguments.length===0)return;function M(u){var f=new String(u);return f.length+"."+f}for(var L=M(arguments[0]),S=1;S<arguments.length;S++)L+=","+M(arguments[S]);L+=";",t.send(L)},this.connect=function(O){x(),e.setState(n.Tunnel.State.CONNECTING),t=new WebSocket(l+"?"+O,"guacamole"),t.onopen=function(M){x()},t.onclose=function(M){M.reason?P(new n.Status(parseInt(M.reason),M.reason)):M.code?P(new n.Status(n.Status.Code.fromWebSocketCode(M.code))):P(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND))},t.onmessage=function(M){x();var L=M.data,S=0,u,f=[];do{var p=L.indexOf(".",S);if(p!==-1){var T=parseInt(L.substring(u+1,p));S=p+1,u=S+T}else P(new n.Status(n.Status.Code.SERVER_ERROR,"Incomplete instruction."));var w=L.substring(S,u),k=L.substring(u,u+1);if(f.push(w),k===";"){var _=f.shift();e.uuid===null&&(_===n.Tunnel.INTERNAL_DATA_OPCODE&&f.length===1&&e.setUUID(f[0]),e.setState(n.Tunnel.State.OPEN)),_!==n.Tunnel.INTERNAL_DATA_OPCODE&&e.oninstruction&&e.oninstruction(_,f),f.length=0}S=u+1}while(S<L.length)}},this.disconnect=function(){P(new n.Status(n.Status.Code.SUCCESS,"Manually closed."))}};n.WebSocketTunnel.prototype=new n.Tunnel;n.ChainedTunnel=function(l){for(var e=this,t,a=[],s=null,c=0;c<arguments.length;c++)a.push(arguments[c]);function y(v){e.disconnect=v.disconnect,e.sendMessage=v.sendMessage;var h=function(I){if(I&&I.code===n.Status.Code.UPSTREAM_TIMEOUT)return a=[],null;var F=a.shift();return F&&(v.onerror=null,v.oninstruction=null,v.onstatechange=null,y(F)),F};function o(){v.onstatechange=e.onstatechange,v.oninstruction=e.oninstruction,v.onerror=e.onerror,v.uuid&&e.setUUID(v.uuid),v.onuuid=function(I){e.setUUID(I)},s=v}v.onstatechange=function(m){switch(m){case n.Tunnel.State.OPEN:o(),e.onstatechange&&e.onstatechange(m);break;case n.Tunnel.State.CLOSED:!h()&&e.onstatechange&&e.onstatechange(m);break}},v.oninstruction=function(m,I){o(),e.oninstruction&&e.oninstruction(m,I)},v.onerror=function(m){!h(m)&&e.onerror&&e.onerror(m)},v.connect(t)}this.connect=function(v){t=v;var h=s||a.shift();h?y(h):e.onerror&&e.onerror(n.Status.Code.SERVER_ERROR,"No tunnels to try.")}};n.ChainedTunnel.prototype=new n.Tunnel;n.StaticHTTPTunnel=function(e,t,a){var s=this,c=null,y=a||{};this.size=null,this.sendMessage=function(h){},this.connect=function(h){s.disconnect(),s.setState(n.Tunnel.State.CONNECTING);var o=new n.Parser,m=new n.UTF8Parser;o.oninstruction=function(F,x){s.oninstruction&&s.oninstruction(F,x)},c=new AbortController,fetch(e,{headers:y,credentials:t?"include":"same-origin",signal:c.signal}).then(function(F){if(!F.ok){s.onerror&&s.onerror(new n.Status(n.Status.Code.fromHTTPCode(F.status),F.statusText)),s.disconnect();return}s.size=F.headers.get("Content-Length"),s.setState(n.Tunnel.State.OPEN);var x=F.body.getReader(),P=function O(M){if(M.done){s.disconnect();return}o.receive(m.decode(M.value)),x.read().then(O)};x.read().then(P)})},this.disconnect=function(){c&&(c.abort(),c=null),s.setState(n.Tunnel.State.CLOSED)}};n.StaticHTTPTunnel.prototype=new n.Tunnel;var n=n||{};n.UTF8Parser=function(){var e=0,t=0;this.decode=function(s){for(var c="",y=new Uint8Array(s),v=0;v<y.length;v++){var h=y[v];e===0?(h|127)===127?c+=String.fromCharCode(h):(h|31)===223?(t=h&31,e=1):(h|15)===239?(t=h&15,e=2):(h|7)===247?(t=h&7,e=3):c+="�":(h|63)===191?(t=t<<6|h&63,e--,e===0&&(c+=String.fromCharCode(t))):(e=0,c+="�")}return c}};var n=n||{};n.API_VERSION="1.5.0";var n=n||{};n.VideoPlayer=function(){this.sync=function(){}};n.VideoPlayer.isSupportedType=function(e){return!1};n.VideoPlayer.getSupportedTypes=function(){return[]};n.VideoPlayer.getInstance=function(e,t,a){return null};const G=n;class q extends G.Tunnel{socket=null;cancelPointerMoves;sendPointer;oninstructionbatch;onauthentication;constructor(e,t,a=()=>!1){super();let s=null,c=null,y="0";const v=()=>{c!==null&&cancelAnimationFrame(c),c=null,s=null};this.cancelPointerMoves=v;const h=F=>{this.socket?.readyState!==1||this.state!==G.Tunnel.State.OPEN||this.socket.send(JSON.stringify({type:"instruction",opcode:F[0],args:F.slice(1)}))};this.sendPointer=(F,x,P)=>{v(),y=String(P),h(["mouse",String(F),String(x),y])};const o=()=>{const F=s;v(),F&&h(F)},m=()=>{const F=s;c=null,s=null,F&&(h(F),c=requestAnimationFrame(m))},I=F=>{this.state!==F&&(this.state=F,this.onstatechange?.(F))};this.connect=()=>{I(G.Tunnel.State.CONNECTING);let F=0;const x=new URLSearchParams({host:e.host,protocol:"rdp",port:String(e.port)}),P=this.socket=V(`/api/computer/ws?${x}`);P.onopen=()=>{P.send(JSON.stringify({type:"start",username:e.username,password:e.password,domain:e.domain,ignoreCert:e.ignoreCert,width:e.width,height:e.height,verifyLogin:!0})),e.password=""},P.onmessage=O=>{try{const M=JSON.parse(O.data);if(M.type==="authentication"){if(!["pending","authenticated","unavailable"].includes(M.state))throw new Error("Invalid authentication state");this.onauthentication?.(M.state);return}if(M.type!=="instructions"||M.seq!==F+1||!Array.isArray(M.instructions))throw new Error("Invalid RDP record");F=M.seq;for(const u of M.instructions)if(!Array.isArray(u)||!u.length||u.some(f=>typeof f!="string"))throw new Error("Invalid RDP instruction");const L=()=>{for(const u of M.instructions){const[f,...p]=u;f==="ready"?(this.uuid=p[0],this.onuuid?.(p[0]),I(G.Tunnel.State.OPEN),this.sendMessage("nop")):(f!=="mouse"||!a())&&this.oninstruction?.(f,p)}},S=M.instructions.filter(u=>u[0]==="sync").length;this.oninstructionbatch&&S>1?this.oninstructionbatch(L,S):L(),P.readyState===1&&P.send(JSON.stringify({type:"ack",seq:M.seq}))}catch{t("COMPUTER_INVALID_MESSAGE"),this.disconnect()}},P.onerror=()=>{},P.onclose=O=>{v(),e.password="",t(O.reason||"COMPUTER_DISCONNECTED"),I(G.Tunnel.State.CLOSED)}},this.disconnect=()=>{v(),e.password="";const F=this.socket;this.socket=null,F&&(F.onclose=null,F.onerror=null,F.onmessage=null,F.onopen=null,F.close()),I(G.Tunnel.State.CLOSED)},this.sendMessage=(...F)=>{if(this.socket?.readyState!==1||this.state!==G.Tunnel.State.OPEN)return;const x=F.map(String);x[0]==="mouse"&&x.length===4&&x[3]===y?c===null?(h(x),c=requestAnimationFrame(m)):s=x:(o(),x[0]==="mouse"&&(y=x[3]),h(x))}}}function J(l){const e=l.flush;let t=0,a=[],s=0,c=!1;return l.flush=(y,v,h)=>{if(!t){e.call(l,y,v,h);return}if(t--,a.push(y),s+=h||0,t&&a.length<64)return;const o=a,m=s;a=[],s=0,e.call(l,()=>{c||o.forEach(I=>I())},v,m)},{run(y,v){t=v;try{y()}finally{t=0,a=[],s=0}},cancel(){c=!0,t=0,a=[],l.flush=e}}}class ce extends EventTarget{client;tunnel;keyboard;display;container;observer;listeners=new AbortController;readonlyMode=!1;fit=!0;zoom=1;resizePaused=!1;disposed=!1;connected=!1;authenticationPending=!1;connectionNotified=!1;phoneKeyboardActive=!1;viewportScale=1;keyboardScale=null;resizeTimer;requestedSize;localPointer=!1;nativeCursor=!1;touchpadPointer=!1;cancelDisplayBatch;constructor(e,t,a){super(),this.requestedSize=`${t.width}x${t.height}`;const s=this.tunnel=new q(t,a,()=>this.localPointer&&!this.readonlyMode);s.onauthentication=o=>{this.authenticationPending=o==="pending",this.notifyConnected()},this.client=new G.Client(s),this.display=this.client.getDisplay();const c=J(this.display);this.cancelDisplayBatch=()=>c.cancel(),s.oninstructionbatch=(o,m)=>c.run(o,m),this.container=document.createElement("div"),this.container.className="flex h-full w-full overflow-auto outline-none",this.container.tabIndex=0,this.container.appendChild(this.display.getElement()),e.appendChild(this.container),this.keyboard=new G.Keyboard(this.container),this.keyboard.onkeydown=o=>(this.readonlyMode||this.client.sendKeyEvent(1,o),!1),this.keyboard.onkeyup=o=>{this.readonlyMode||this.client.sendKeyEvent(0,o)};const y=this.display.getElement();y.className="m-auto shrink-0";const v=o=>{this.readonlyMode||(this.touchpadPointer=!1,this.localPointer=!0,this.client.sendMouseState(o.state,!0))},h=new G.Mouse(y);h.onEach(["mousedown","mousemove","mouseup"],o=>{v(o),this.readonlyMode||this.display.showCursor(!this.nativeCursor)}),h.on("mouseout",()=>{this.localPointer=!1,this.display.showCursor(!1)}),this.display.oncursor=(o,m,I)=>{this.nativeCursor=h.setCursor(o,m,I),this.localPointer&&!this.readonlyMode&&!this.touchpadPointer&&this.display.showCursor(!this.nativeCursor)},new G.Mouse.Touchscreen(y).onEach(["mousedown","mousemove","mouseup"],o=>{v(o),this.readonlyMode||this.display.showCursor(!0)}),this.container.addEventListener("pointerdown",o=>{this.phoneKeyboardActive?o.preventDefault():this.container.focus({preventScroll:!0})},{signal:this.listeners.signal}),this.container.addEventListener("blur",()=>this.keyboard.reset(),{signal:this.listeners.signal}),window.addEventListener("blur",()=>this.keyboard.reset(),{signal:this.listeners.signal}),this.observer=new ResizeObserver(()=>{this.scale(),this.scheduleResize()}),this.observer.observe(e),this.display.onresize=()=>{this.scale(),this.notifyConnected()},this.client.onstatechange=o=>{this.disposed||(o===G.Client.State.CONNECTED&&(this.connected=!0,this.notifyConnected(),this.scheduleResize()),o===G.Client.State.DISCONNECTED&&a("COMPUTER_DISCONNECTED"))},this.client.onname=o=>this.dispatchEvent(new CustomEvent("desktopname",{detail:{name:o}})),this.client.onerror=o=>{const m=/certificate/i.test(o.message||"")?"COMPUTER_RDP_CERTIFICATE":[769,771].includes(o.code)?"COMPUTER_AUTH_FAILED":o.code===514?"COMPUTER_CONNECT_TIMEOUT":"COMPUTER_RDP_FAILED";a(m)},this.client.connect()}notifyConnected(){!this.connected||!this.display.getWidth()||!this.display.getHeight()||this.authenticationPending||this.connectionNotified||this.disposed||(this.connectionNotified=!0,this.dispatchEvent(new Event("connect")),this.scheduleResize())}scale(){const e=this.display.getWidth(),t=this.display.getHeight();!this.container.clientWidth||!this.container.clientHeight||(this.viewportScale=this.fit&&e&&t?Math.min(this.container.clientWidth/e,this.keyboardScale??this.container.clientHeight/t):1,this.display.scale(this.viewportScale*this.zoom))}scheduleResize(){clearTimeout(this.resizeTimer),!(!this.connected||!this.connectionNotified||this.disposed||!this.fit||this.resizePaused)&&(this.resizeTimer=setTimeout(()=>{const e=this.container.clientWidth,t=this.container.clientHeight;if(!e||!t||!this.connectionNotified||this.disposed||!this.fit||this.resizePaused)return;const{width:a,height:s}=X(e,t),c=`${a}x${s}`;c!==this.requestedSize&&(this.requestedSize=c,this.client.sendSize(a,s))},150))}set scaleViewport(e){this.fit=e,this.scale(),this.scheduleResize()}set viewportZoom(e){this.zoom=e,this.scale()}get viewportZoom(){return this.zoom}get viewportScroller(){return this.container}set pauseResize(e){this.resizePaused=e,this.scheduleResize()}set keyboardActive(e){e!==this.phoneKeyboardActive&&(this.keyboardScale=e?this.viewportScale:null,this.phoneKeyboardActive=e,this.keyboard.reset(),this.scale())}get pointerTarget(){return{size:()=>({width:this.display.getWidth(),height:this.display.getHeight()}),surface:()=>this.display.getElement(),send:(e,t,a)=>{this.readonlyMode||this.disposed||!this.connected||(this.localPointer=!0,this.touchpadPointer||(this.touchpadPointer=!0,this.display.showCursor(!1)),this.tunnel.sendPointer(e,t,a))}}}set viewOnly(e){this.tunnel.cancelPointerMoves(),this.keyboard.reset(),this.readonlyMode=e,this.localPointer=!1}sendKey(e,t,a=!0){!this.readonlyMode&&!this.disposed&&this.client.sendKeyEvent(a?1:0,e)}clipboardPasteFrom(e){if(this.readonlyMode||this.disposed)return;const t=new G.StringWriter(this.client.createClipboardStream("text/plain"));t.sendText(e),t.sendEnd()}disconnect(){this.disposed||(this.disposed=!0,this.tunnel.cancelPointerMoves(),this.keyboard.reset(),this.listeners.abort(),this.observer.disconnect(),this.cancelDisplayBatch(),this.display.cancel?.(),clearTimeout(this.resizeTimer),this.client.disconnect(),this.container.remove())}}export{ce as RdpSession};
@@ -1 +1 @@
1
- import{ag as T,az as k,g as M}from"./app-BCTEfclM.js";import{b as o,r as O}from"./dnd-BCFAPC0L.js";const N=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]],Y=T("git-compare",N),I=450,L=10,b=88,h=36,E=10,w=14;function g(c){if(typeof document>"u")return 0;const r=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(c)||"0");return Number.isFinite(r)?r:0}function X(c,r){if(typeof window>"u")return{left:0,top:0};const a=window.visualViewport,u=a?.offsetLeft??0,s=a?.offsetTop??0,p=a?.width??window.innerWidth,m=a?.height??window.innerHeight,i=g("--safe-top-inset"),y=g("--safe-bottom-inset"),_=u+E,l=u+p-b-E,d=s+i+E,P=s+m-y-h-E,x=Math.max(_,Math.min(c-b/2,Math.max(_,l))),n=r-h-w,f=r+w,e=n>=d?n:f,t=Math.max(d,Math.min(e,Math.max(d,P)));return{left:Math.round(x),top:Math.round(t)}}async function C(c){if(!c)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(c);return}catch{}if(typeof document>"u")return;const r=document.createElement("textarea");r.value=c,r.setAttribute("readonly",""),r.style.position="fixed",r.style.left="-9999px",r.style.top="0",document.body.appendChild(r),r.select();try{document.execCommand("copy")}finally{document.body.removeChild(r)}}function F(c,r=!1){const a=o.useRef(null),u=o.useRef(null),s=o.useRef(!1),p=o.useRef(!1),m=o.useRef(!1),[i,y]=o.useState(null);o.useEffect(()=>{if(!i)return;const n=f=>{const e=f.target;e instanceof HTMLElement&&e.closest('[data-reference-copy-popover="true"]')||(y(null),s.current=!1,p.current=!1)};return document.addEventListener("pointerdown",n,{capture:!0}),()=>document.removeEventListener("pointerdown",n,!0)},[i]);const _=o.useCallback(()=>{a.current!=null&&(window.clearTimeout(a.current),a.current=null)},[]),l=o.useCallback(()=>{_(),u.current=null,s.current=!1},[_]),d=o.useCallback((n,f)=>({onPointerDown:e=>{e.pointerType==="mouse"&&e.button!==0||(l(),u.current={pointerId:e.pointerId,pointerType:e.pointerType,startX:e.clientX,startY:e.clientY,text:n,key:f},a.current=window.setTimeout(()=>{const t=u.current;if(t){if(s.current=!0,p.current=!0,m.current=!1,t.pointerType==="mouse"){C(t.text).then(()=>c?.(t.key)),a.current=null;return}y({text:t.text,key:t.key,...X(t.startX,t.startY)}),a.current=null}},I))},onPointerMove:e=>{const t=u.current;if(!t||t.pointerId!==e.pointerId||s.current)return;const R=e.clientX-t.startX,v=e.clientY-t.startY;Math.hypot(R,v)>L&&l()},onPointerUp:e=>{const t=u.current;if(!t||t.pointerId!==e.pointerId){l();return}s.current&&(e.preventDefault(),e.stopPropagation(),p.current=!0),l()},onPointerCancel:l,onPointerLeave:e=>{u.current?.pointerId===e.pointerId&&!s.current&&l()},onClickCapture:e=>{p.current&&(p.current=!1,e.preventDefault(),e.stopPropagation())},onContextMenu:e=>{!s.current&&!p.current||(e.preventDefault(),e.stopPropagation())}}),[c,l]),P=o.useCallback(n=>{if(n.preventDefault(),n.stopPropagation(),!i||m.current)return;m.current=!0;const f=i;y(null),s.current=!1,p.current=!1,C(f.text).then(()=>c?.(f.key))},[c,i]),x=i&&typeof document<"u"?O.createPortal(o.createElement("button",{type:"button","data-reference-copy-popover":"true","data-sidebar-composer-popover":r?k()?.element.id:void 0,className:`fixed ${r?"z-popover":"z-modal-backdrop"} inline-flex h-9 w-[88px] select-none items-center justify-center gap-1.5 rounded-full border border-white/15 bg-[rgb(28_28_30_/_0.92)] px-3 text-[13px] font-semibold text-white shadow-[0_10px_28px_rgb(0_0_0_/_0.32),0_2px_8px_rgb(0_0_0_/_0.18)] backdrop-blur-xl transition-transform duration-100 ease-out active:scale-[0.96]`,style:{left:i.left,top:i.top,WebkitBackdropFilter:"blur(18px)"},onPointerDown:n=>{n.stopPropagation()},onPointerUp:P,onTouchStart:n=>{n.stopPropagation()},onTouchEnd:P,onClick:P},o.createElement(M,{size:14,strokeWidth:2.4}),o.createElement("span",null,"Copy")),document.body):null;return o.useMemo(()=>Object.assign(d,{popoverNode:x}),[d,x])}export{Y as G,F as u};
1
+ import{ag as T,az as k,g as M}from"./app-CI3Oh-41.js";import{b as o,r as O}from"./dnd-BCFAPC0L.js";const N=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]],Y=T("git-compare",N),I=450,L=10,b=88,h=36,E=10,w=14;function g(c){if(typeof document>"u")return 0;const r=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(c)||"0");return Number.isFinite(r)?r:0}function X(c,r){if(typeof window>"u")return{left:0,top:0};const a=window.visualViewport,u=a?.offsetLeft??0,s=a?.offsetTop??0,p=a?.width??window.innerWidth,m=a?.height??window.innerHeight,i=g("--safe-top-inset"),y=g("--safe-bottom-inset"),_=u+E,l=u+p-b-E,d=s+i+E,P=s+m-y-h-E,x=Math.max(_,Math.min(c-b/2,Math.max(_,l))),n=r-h-w,f=r+w,e=n>=d?n:f,t=Math.max(d,Math.min(e,Math.max(d,P)));return{left:Math.round(x),top:Math.round(t)}}async function C(c){if(!c)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(c);return}catch{}if(typeof document>"u")return;const r=document.createElement("textarea");r.value=c,r.setAttribute("readonly",""),r.style.position="fixed",r.style.left="-9999px",r.style.top="0",document.body.appendChild(r),r.select();try{document.execCommand("copy")}finally{document.body.removeChild(r)}}function F(c,r=!1){const a=o.useRef(null),u=o.useRef(null),s=o.useRef(!1),p=o.useRef(!1),m=o.useRef(!1),[i,y]=o.useState(null);o.useEffect(()=>{if(!i)return;const n=f=>{const e=f.target;e instanceof HTMLElement&&e.closest('[data-reference-copy-popover="true"]')||(y(null),s.current=!1,p.current=!1)};return document.addEventListener("pointerdown",n,{capture:!0}),()=>document.removeEventListener("pointerdown",n,!0)},[i]);const _=o.useCallback(()=>{a.current!=null&&(window.clearTimeout(a.current),a.current=null)},[]),l=o.useCallback(()=>{_(),u.current=null,s.current=!1},[_]),d=o.useCallback((n,f)=>({onPointerDown:e=>{e.pointerType==="mouse"&&e.button!==0||(l(),u.current={pointerId:e.pointerId,pointerType:e.pointerType,startX:e.clientX,startY:e.clientY,text:n,key:f},a.current=window.setTimeout(()=>{const t=u.current;if(t){if(s.current=!0,p.current=!0,m.current=!1,t.pointerType==="mouse"){C(t.text).then(()=>c?.(t.key)),a.current=null;return}y({text:t.text,key:t.key,...X(t.startX,t.startY)}),a.current=null}},I))},onPointerMove:e=>{const t=u.current;if(!t||t.pointerId!==e.pointerId||s.current)return;const R=e.clientX-t.startX,v=e.clientY-t.startY;Math.hypot(R,v)>L&&l()},onPointerUp:e=>{const t=u.current;if(!t||t.pointerId!==e.pointerId){l();return}s.current&&(e.preventDefault(),e.stopPropagation(),p.current=!0),l()},onPointerCancel:l,onPointerLeave:e=>{u.current?.pointerId===e.pointerId&&!s.current&&l()},onClickCapture:e=>{p.current&&(p.current=!1,e.preventDefault(),e.stopPropagation())},onContextMenu:e=>{!s.current&&!p.current||(e.preventDefault(),e.stopPropagation())}}),[c,l]),P=o.useCallback(n=>{if(n.preventDefault(),n.stopPropagation(),!i||m.current)return;m.current=!0;const f=i;y(null),s.current=!1,p.current=!1,C(f.text).then(()=>c?.(f.key))},[c,i]),x=i&&typeof document<"u"?O.createPortal(o.createElement("button",{type:"button","data-reference-copy-popover":"true","data-sidebar-composer-popover":r?k()?.element.id:void 0,className:`fixed ${r?"z-popover":"z-modal-backdrop"} inline-flex h-9 w-[88px] select-none items-center justify-center gap-1.5 rounded-full border border-white/15 bg-[rgb(28_28_30_/_0.92)] px-3 text-[13px] font-semibold text-white shadow-[0_10px_28px_rgb(0_0_0_/_0.32),0_2px_8px_rgb(0_0_0_/_0.18)] backdrop-blur-xl transition-transform duration-100 ease-out active:scale-[0.96]`,style:{left:i.left,top:i.top,WebkitBackdropFilter:"blur(18px)"},onPointerDown:n=>{n.stopPropagation()},onPointerUp:P,onTouchStart:n=>{n.stopPropagation()},onTouchEnd:P,onClick:P},o.createElement(M,{size:14,strokeWidth:2.4}),o.createElement("span",null,"Copy")),document.body):null;return o.useMemo(()=>Object.assign(d,{popoverNode:x}),[d,x])}export{Y as G,F as u};