@rezless/vm 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +32 -0
  3. package/dist/builtins/base64.d.ts +25 -0
  4. package/dist/builtins/base64.d.ts.map +1 -0
  5. package/dist/builtins/base64.js +43 -0
  6. package/dist/builtins/base64.js.map +1 -0
  7. package/dist/builtins/chat.d.ts +10 -0
  8. package/dist/builtins/chat.d.ts.map +1 -0
  9. package/dist/builtins/chat.js +36 -0
  10. package/dist/builtins/chat.js.map +1 -0
  11. package/dist/builtins/dataserver.d.ts +26 -0
  12. package/dist/builtins/dataserver.d.ts.map +1 -0
  13. package/dist/builtins/dataserver.js +20 -0
  14. package/dist/builtins/dataserver.js.map +1 -0
  15. package/dist/builtins/detected.d.ts +40 -0
  16. package/dist/builtins/detected.d.ts.map +1 -0
  17. package/dist/builtins/detected.js +23 -0
  18. package/dist/builtins/detected.js.map +1 -0
  19. package/dist/builtins/hash.d.ts +6 -0
  20. package/dist/builtins/hash.d.ts.map +1 -0
  21. package/dist/builtins/hash.js +34 -0
  22. package/dist/builtins/hash.js.map +1 -0
  23. package/dist/builtins/http.d.ts +40 -0
  24. package/dist/builtins/http.d.ts.map +1 -0
  25. package/dist/builtins/http.js +87 -0
  26. package/dist/builtins/http.js.map +1 -0
  27. package/dist/builtins/identity.d.ts +14 -0
  28. package/dist/builtins/identity.d.ts.map +1 -0
  29. package/dist/builtins/identity.js +17 -0
  30. package/dist/builtins/identity.js.map +1 -0
  31. package/dist/builtins/index.d.ts +8 -0
  32. package/dist/builtins/index.d.ts.map +1 -0
  33. package/dist/builtins/index.js +232 -0
  34. package/dist/builtins/index.js.map +1 -0
  35. package/dist/builtins/inventory.d.ts +33 -0
  36. package/dist/builtins/inventory.d.ts.map +1 -0
  37. package/dist/builtins/inventory.js +134 -0
  38. package/dist/builtins/inventory.js.map +1 -0
  39. package/dist/builtins/json.d.ts +7 -0
  40. package/dist/builtins/json.d.ts.map +1 -0
  41. package/dist/builtins/json.js +690 -0
  42. package/dist/builtins/json.js.map +1 -0
  43. package/dist/builtins/link-info.d.ts +10 -0
  44. package/dist/builtins/link-info.d.ts.map +1 -0
  45. package/dist/builtins/link-info.js +26 -0
  46. package/dist/builtins/link-info.js.map +1 -0
  47. package/dist/builtins/linked.d.ts +23 -0
  48. package/dist/builtins/linked.d.ts.map +1 -0
  49. package/dist/builtins/linked.js +20 -0
  50. package/dist/builtins/linked.js.map +1 -0
  51. package/dist/builtins/linksetdata.d.ts +20 -0
  52. package/dist/builtins/linksetdata.d.ts.map +1 -0
  53. package/dist/builtins/linksetdata.js +196 -0
  54. package/dist/builtins/linksetdata.js.map +1 -0
  55. package/dist/builtins/listen.d.ts +33 -0
  56. package/dist/builtins/listen.d.ts.map +1 -0
  57. package/dist/builtins/listen.js +45 -0
  58. package/dist/builtins/listen.js.map +1 -0
  59. package/dist/builtins/lists.d.ts +37 -0
  60. package/dist/builtins/lists.d.ts.map +1 -0
  61. package/dist/builtins/lists.js +275 -0
  62. package/dist/builtins/lists.js.map +1 -0
  63. package/dist/builtins/math.d.ts +32 -0
  64. package/dist/builtins/math.d.ts.map +1 -0
  65. package/dist/builtins/math.js +104 -0
  66. package/dist/builtins/math.js.map +1 -0
  67. package/dist/builtins/object.d.ts +29 -0
  68. package/dist/builtins/object.d.ts.map +1 -0
  69. package/dist/builtins/object.js +50 -0
  70. package/dist/builtins/object.js.map +1 -0
  71. package/dist/builtins/prim-accessors.d.ts +56 -0
  72. package/dist/builtins/prim-accessors.d.ts.map +1 -0
  73. package/dist/builtins/prim-accessors.js +353 -0
  74. package/dist/builtins/prim-accessors.js.map +1 -0
  75. package/dist/builtins/prim-params.d.ts +12 -0
  76. package/dist/builtins/prim-params.d.ts.map +1 -0
  77. package/dist/builtins/prim-params.js +124 -0
  78. package/dist/builtins/prim-params.js.map +1 -0
  79. package/dist/builtins/script-control.d.ts +13 -0
  80. package/dist/builtins/script-control.d.ts.map +1 -0
  81. package/dist/builtins/script-control.js +41 -0
  82. package/dist/builtins/script-control.js.map +1 -0
  83. package/dist/builtins/strings.d.ts +23 -0
  84. package/dist/builtins/strings.d.ts.map +1 -0
  85. package/dist/builtins/strings.js +130 -0
  86. package/dist/builtins/strings.js.map +1 -0
  87. package/dist/builtins/time.d.ts +28 -0
  88. package/dist/builtins/time.d.ts.map +1 -0
  89. package/dist/builtins/time.js +54 -0
  90. package/dist/builtins/time.js.map +1 -0
  91. package/dist/clock.d.ts +75 -0
  92. package/dist/clock.d.ts.map +1 -0
  93. package/dist/clock.js +125 -0
  94. package/dist/clock.js.map +1 -0
  95. package/dist/coverage.d.ts +110 -0
  96. package/dist/coverage.d.ts.map +1 -0
  97. package/dist/coverage.js +221 -0
  98. package/dist/coverage.js.map +1 -0
  99. package/dist/dispatch.d.ts +19 -0
  100. package/dist/dispatch.d.ts.map +1 -0
  101. package/dist/dispatch.js +42 -0
  102. package/dist/dispatch.js.map +1 -0
  103. package/dist/env.d.ts +33 -0
  104. package/dist/env.d.ts.map +1 -0
  105. package/dist/env.js +76 -0
  106. package/dist/env.js.map +1 -0
  107. package/dist/generated/constants.d.ts +967 -0
  108. package/dist/generated/constants.d.ts.map +1 -0
  109. package/dist/generated/constants.js +969 -0
  110. package/dist/generated/constants.js.map +1 -0
  111. package/dist/generated/constants_table.d.ts +11 -0
  112. package/dist/generated/constants_table.d.ts.map +1 -0
  113. package/dist/generated/constants_table.js +978 -0
  114. package/dist/generated/constants_table.js.map +1 -0
  115. package/dist/generated/events.d.ts +545 -0
  116. package/dist/generated/events.d.ts.map +1 -0
  117. package/dist/generated/events.js +49 -0
  118. package/dist/generated/events.js.map +1 -0
  119. package/dist/generated/functions.d.ts +6051 -0
  120. package/dist/generated/functions.d.ts.map +1 -0
  121. package/dist/generated/functions.js +526 -0
  122. package/dist/generated/functions.js.map +1 -0
  123. package/dist/index.d.ts +21 -0
  124. package/dist/index.d.ts.map +1 -0
  125. package/dist/index.js +11 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/interpreter.d.ts +39 -0
  128. package/dist/interpreter.d.ts.map +1 -0
  129. package/dist/interpreter.js +381 -0
  130. package/dist/interpreter.js.map +1 -0
  131. package/dist/inventory.d.ts +52 -0
  132. package/dist/inventory.d.ts.map +1 -0
  133. package/dist/inventory.js +45 -0
  134. package/dist/inventory.js.map +1 -0
  135. package/dist/linkset.d.ts +89 -0
  136. package/dist/linkset.d.ts.map +1 -0
  137. package/dist/linkset.js +179 -0
  138. package/dist/linkset.js.map +1 -0
  139. package/dist/prim-params.d.ts +221 -0
  140. package/dist/prim-params.d.ts.map +1 -0
  141. package/dist/prim-params.js +852 -0
  142. package/dist/prim-params.js.map +1 -0
  143. package/dist/prim.d.ts +79 -0
  144. package/dist/prim.d.ts.map +1 -0
  145. package/dist/prim.js +96 -0
  146. package/dist/prim.js.map +1 -0
  147. package/dist/random.d.ts +16 -0
  148. package/dist/random.d.ts.map +1 -0
  149. package/dist/random.js +29 -0
  150. package/dist/random.js.map +1 -0
  151. package/dist/runtime.d.ts +108 -0
  152. package/dist/runtime.d.ts.map +1 -0
  153. package/dist/runtime.js +2 -0
  154. package/dist/runtime.js.map +1 -0
  155. package/dist/script.d.ts +248 -0
  156. package/dist/script.d.ts.map +1 -0
  157. package/dist/script.js +667 -0
  158. package/dist/script.js.map +1 -0
  159. package/dist/values/coerce.d.ts +22 -0
  160. package/dist/values/coerce.d.ts.map +1 -0
  161. package/dist/values/coerce.js +184 -0
  162. package/dist/values/coerce.js.map +1 -0
  163. package/dist/values/format.d.ts +20 -0
  164. package/dist/values/format.d.ts.map +1 -0
  165. package/dist/values/format.js +47 -0
  166. package/dist/values/format.js.map +1 -0
  167. package/dist/values/ops.d.ts +19 -0
  168. package/dist/values/ops.d.ts.map +1 -0
  169. package/dist/values/ops.js +345 -0
  170. package/dist/values/ops.js.map +1 -0
  171. package/dist/values/types.d.ts +39 -0
  172. package/dist/values/types.d.ts.map +1 -0
  173. package/dist/values/types.js +68 -0
  174. package/dist/values/types.js.map +1 -0
  175. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/builtins/json.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAelC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,YAAY;IACZ,WAAW;IACX,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;IACT,SAAS;IACT,UAAU;IACV,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,MAAM;IAEmB;IADrB,CAAC,GAAG,CAAC,CAAA;IACb,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE5C,SAAS;QACP,IAAI,CAAC,EAAE,EAAE,CAAA;QACT,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC3B,IAAI,CAAC,EAAE,EAAE,CAAA;QACT,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC3C,OAAO,CAAC,CAAA;IACV,CAAC;IAEO,EAAE;QACR,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAA;YAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAA;;gBAC5D,MAAK;QACZ,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,EAAE,EAAE,CAAA;QACT,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,UAAU,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;YACX,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;YACX,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;YACX,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QAClE,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,CAAC,EAAE,CAAA;QACR,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,IAAI,CAAC,EAAE,EAAE,CAAA;QACT,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;YACR,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QAC9B,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,EAAE,CAAA;YACT,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAA;YACzC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAA;YAC5C,IAAI,CAAC,EAAE,EAAE,CAAA;YACT,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAA;YACzC,IAAI,CAAC,CAAC,EAAE,CAAA;YACR,IAAI,CAAC,EAAE,EAAE,CAAA;YACT,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3B,IAAI,CAAQ,CAAA;YACZ,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC7B,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;gBAChC,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAA;gBAChC,CAAC,GAAG,MAAM,CAAA;YACZ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,CAAC,EAAE,EAAE,CAAA;YACT,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;gBACR,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;YAC9B,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;gBACR,IAAI,CAAC,EAAE,EAAE,CAAA;gBACT,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;oBACR,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;gBAC9B,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,CAAC,EAAE,CAAA;QACR,MAAM,KAAK,GAAY,EAAE,CAAA;QACzB,IAAI,CAAC,EAAE,EAAE,CAAA;QACT,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;YACR,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QAC5B,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,EAAE,CAAA;YACT,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3B,IAAI,CAAQ,CAAA;YACZ,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC7B,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;gBAChC,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAA;gBAChC,CAAC,GAAG,MAAM,CAAA;YACZ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACb,IAAI,CAAC,EAAE,EAAE,CAAA;YACT,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;gBACR,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;YAC5B,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;gBACR,IAAI,CAAC,EAAE,EAAE,CAAA;gBACT,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;oBACR,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;gBAC5B,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAA;QACzC,IAAI,CAAC,CAAC,EAAE,CAAA;QACR,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAA;YAC3B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,CAAC,EAAE,CAAA;gBACR,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;YAC7B,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,EAAE,CAAA;gBACR,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC1B,IAAI,CAAC,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAA;gBAChC,IAAI,CAAC,CAAC,EAAE,CAAA;gBACR,IAAI,CAAC,KAAK,GAAG;oBAAE,GAAG,IAAI,GAAG,CAAA;qBACpB,IAAI,CAAC,KAAK,IAAI;oBAAE,GAAG,IAAI,IAAI,CAAA;qBAC3B,IAAI,CAAC,KAAK,GAAG;oBAAE,GAAG,IAAI,GAAG,CAAA;qBACzB,IAAI,CAAC,KAAK,GAAG;oBAAE,GAAG,IAAI,IAAI,CAAA;qBAC1B,IAAI,CAAC,KAAK,GAAG;oBAAE,GAAG,IAAI,IAAI,CAAA;qBAC1B,IAAI,CAAC,KAAK,GAAG;oBAAE,GAAG,IAAI,IAAI,CAAA;qBAC1B,IAAI,CAAC,KAAK,GAAG;oBAAE,GAAG,IAAI,IAAI,CAAA;qBAC1B,IAAI,CAAC,KAAK,GAAG;oBAAE,GAAG,IAAI,IAAI,CAAA;qBAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;oBAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAA;oBAChE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;oBACX,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;gBAC/C,CAAC;qBAAM,CAAC;oBACN,GAAG,IAAI,CAAC,CAAA;gBACV,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,CAAC,CAAA;gBACR,IAAI,CAAC,CAAC,EAAE,CAAA;YACV,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,WAAW;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;QACpB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,IAAI,CAAC,CAAC,EAAE,CAAA;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAA;QACzB,OACE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,GAAG;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,GAAG,EACxB,CAAC;YACD,IAAI,CAAC,CAAC,EAAE,CAAA;QACV,CAAC;QACD,IAAI,IAAI,CAAC,CAAC,KAAK,UAAU;YAAE,OAAO,IAAI,CAAA;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,EAAE,CAAA;YACR,OACE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,GAAG;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,GAAG,EACxB,CAAC;gBACD,IAAI,CAAC,CAAC,EAAE,CAAA;YACV,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACzD,IAAI,CAAC,CAAC,EAAE,CAAA;YACR,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAA;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAA;YACvB,OACE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,GAAG;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,GAAG,EACxB,CAAC;gBACD,IAAI,CAAC,CAAC,EAAE,CAAA;YACV,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAA;QACtC,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACzD,CAAC;CACF;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAA;AACpC,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;QACf,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG;YAAE,GAAG,IAAI,KAAK,CAAA;aACtB,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,MAAM,CAAA;aAC7B,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAA;aAC5B,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAA;aAC5B,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAA;aAC5B,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAA;aAC5B,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAA;aAC5B,IAAI,IAAI,GAAG,IAAI;YAAE,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;;YAClE,GAAG,IAAI,CAAC,CAAA;IACf,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,CAAQ;IACzB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,MAAM,CAAA;QACf,KAAK,MAAM;YACT,OAAO,MAAM,CAAA;QACf,KAAK,OAAO;YACV,OAAO,OAAO,CAAA;QAChB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,CAAA;QACd,KAAK,KAAK;YACR,OAAO,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QAC1C,KAAK,KAAK;YACR,OAAO,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;QACrD,KAAK,KAAK;YACR,OAAO,CACL,GAAG;gBACH,CAAC,CAAC,OAAO;qBACN,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;qBAChE,IAAI,CAAC,GAAG,CAAC;gBACZ,GAAG,CACJ,CAAA;QACH,KAAK,OAAO;YACV,OAAO,MAAM,CAAA;IACjB,CAAC;AACH,CAAC;AAOD,SAAS,IAAI,CAAC,IAAW,EAAE,KAA8B;IACvD,IAAI,GAAG,GAAU,IAAI,CAAA;IACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;YAC/C,IAAI,KAAK,GAAiB,IAAI,CAAA;YAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO;gBAAE,IAAI,CAAC,KAAK,IAAI;oBAAE,KAAK,GAAG,CAAC,CAAA;YAC3D,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;YAC9C,GAAG,GAAG,KAAK,CAAA;QACb,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;YAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5B,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;YAClE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAE,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AACpC,CAAC;AAED,SAAS,eAAe,CAAC,CAAQ;IAC/B,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;QAClB,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;QAClB,KAAK,OAAO;YACV,OAAO,UAAU,CAAA;QACnB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,CAAA;QACd,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;QACrB,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAQ;IACxB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;QAClB,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;QAClB,KAAK,OAAO;YACV,OAAO,UAAU,CAAA;QACnB,KAAK,KAAK;YACR,OAAO,WAAW,CAAA;QACpB,KAAK,KAAK;YACR,OAAO,WAAW,CAAA;QACpB,KAAK,KAAK;YACR,OAAO,UAAU,CAAA;QACnB,KAAK,KAAK;YACR,OAAO,WAAW,CAAA;QACpB,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,sEAAsE;AACtE,mEAAmE;AACnE,wEAAwE;AACxE,qEAAqE;AACrE,8BAA8B;AAC9B,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAA;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7C,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5C,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAA;IAC9C,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QACtB,IACE,EAAE,KAAK,GAAG;YACV,EAAE,KAAK,GAAG;YACV,EAAE,KAAK,GAAG;YACV,EAAE,KAAK,GAAG;YACV,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EACxB,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACjC,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAA;QACpC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAA;AAC/B,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAgD;IAEhD,wEAAwE;IACxE,8CAA8C;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,QAAQ,GAA2B,EAAE,CAAA;IAC3C,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACX,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAA;AAC3B,CAAC;AAID,SAAS,KAAK,CACZ,IAAkB,EAClB,KAA8B,EAC9B,KAAuB;IAEvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAClC,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACtB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,GAAG,GACP,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK;YACtB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QAC7B,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,KAAK,KAAK,QAAQ;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;gBAC5C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChC,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACpC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;YACjC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;QAChC,CAAC;QACD,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QACjC,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QAChD,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,KAAK,KAAK,QAAQ;oBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;gBACtD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChC,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACpC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;YACjC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,uDAAuD;gBACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;YACtB,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;QAChC,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC/C,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QACjC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAA;QACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IAChC,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GACP,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK;YACtB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5D,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAI,WAAW,IAAI,CAAC;oBAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;gBACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChC,CAAC;YACD,IAAI,WAAW,IAAI,CAAC;gBAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;;gBACzD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;YACpC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;QAChC,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACvE,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QACjC,IAAI,WAAW,IAAI,CAAC;YAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;;YAC5D,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QACvC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IAChC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;AACtB,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAQ;IACrC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IACvD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;QAClB,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;QAClB,KAAK,OAAO;YACV,OAAO,UAAU,CAAA;QACnB,KAAK,KAAK;YACR,kEAAkE;YAClE,mEAAmE;YACnE,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAA;YACtC,CAAC;YACD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACtB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IACjD,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IACzB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAClE,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAe,EAAE,CAAA;QAC1B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACpE,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,YAAY,CAAA;IACpC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAA;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC5B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,YAAY,CAAA;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,YAAY,CAAA;IAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,SAAS,CAAA;IACvC,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACzD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACpE,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,YAAY,CAAA;IACpC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAA;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC5B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,YAAY,CAAA;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,YAAY,CAAA;IAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,SAAS,CAAA;IACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACpE,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IACnD,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/E,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,YAAY,CAAA;IAC9B,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,oEAAoE;IACpE,gCAAgC;IAChC,oCAAoC;IACpC,gCAAgC;IAChC,yEAAyE;IACzE,8BAA8B;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACxC,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAA;IAC1C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACxC,IACE,OAAO,CAAC,MAAM,IAAI,CAAC;QACnB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrB,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACpE,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACjC,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAA;QACrC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,GAAG,CAAA;AAC9C,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAW;IACxC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACpC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7C,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAA;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,GAAyB,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAChE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9C,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;IACpC,CAAC;IACD,IAAI,QAAQ,CAAC,CAAW,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAW,CAAA;QACrB,OAAO,CACL,IAAI;YACJ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,IAAI;YACJ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,IAAI;YACJ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,IAAI,CACL,CAAA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,CAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAa,CAAA;QACvB,OAAO,CACL,IAAI;YACJ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,IAAI;YACJ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,IAAI;YACJ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,IAAI;YACJ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,IAAI,CACL,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACrE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,KAAK,GAAyB,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QACrE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO,YAAY,CAAA;QACtD,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;IACpC,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,YAAY,CAAA;QAChD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACnB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;YACxB,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,YAAY,CAAA;YAC9C,MAAM,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;YACnC,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,YAAY,CAAA;YACpC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;IACpC,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { BuiltinImpl } from '../runtime.js';
2
+ /** llGetLinkNumber() — calling prim's link number. 0 for a lone unlinked prim. */
3
+ export declare const llGetLinkNumber: BuiltinImpl;
4
+ /** llGetNumberOfPrims() — total prim count in the linkset. */
5
+ export declare const llGetNumberOfPrims: BuiltinImpl;
6
+ /** llGetLinkKey(integer link) — UUID of the prim at `link`, or NULL_KEY. */
7
+ export declare const llGetLinkKey: BuiltinImpl;
8
+ /** llGetLinkName(integer link) — name of the prim at `link`, or empty. */
9
+ export declare const llGetLinkName: BuiltinImpl;
10
+ //# sourceMappingURL=link-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-info.d.ts","sourceRoot":"","sources":["../../src/builtins/link-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIhD,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,WAA0C,CAAA;AAExE,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,EAAE,WAA+C,CAAA;AAEhF,4EAA4E;AAC5E,eAAO,MAAM,YAAY,EAAE,WAI1B,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,WAI3B,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { LINK_THIS } from '../generated/constants.js';
2
+ import { NULL_KEY } from '../values/types.js';
3
+ /** llGetLinkNumber() — calling prim's link number. 0 for a lone unlinked prim. */
4
+ export const llGetLinkNumber = (ctx) => ctx.prim.linkNumber;
5
+ /** llGetNumberOfPrims() — total prim count in the linkset. */
6
+ export const llGetNumberOfPrims = (ctx) => ctx.linkset.prims.length;
7
+ /** llGetLinkKey(integer link) — UUID of the prim at `link`, or NULL_KEY. */
8
+ export const llGetLinkKey = (ctx, args) => {
9
+ const link = args[0] ?? 0;
10
+ const prim = findPrim(ctx, link);
11
+ return prim ? prim.key : NULL_KEY;
12
+ };
13
+ /** llGetLinkName(integer link) — name of the prim at `link`, or empty. */
14
+ export const llGetLinkName = (ctx, args) => {
15
+ const link = args[0] ?? 0;
16
+ const prim = findPrim(ctx, link);
17
+ return prim ? prim.name : '';
18
+ };
19
+ function findPrim(ctx, link) {
20
+ if (link === 0 && ctx.linkset.prims.length === 1)
21
+ return ctx.linkset.prims[0];
22
+ if (link === LINK_THIS)
23
+ return ctx.prim;
24
+ return ctx.linkset.prims.find((p) => p.linkNumber === link);
25
+ }
26
+ //# sourceMappingURL=link-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-info.js","sourceRoot":"","sources":["../../src/builtins/link-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAA;AAExE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAA;AAEhF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACrD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAA;AACnC,CAAC,CAAA;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACtD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9B,CAAC,CAAA;AAED,SAAS,QAAQ,CAAC,GAA+B,EAAE,IAAY;IAC7D,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC7E,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAA;IACvC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAA;AAC7D,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { BuiltinImpl } from '../runtime.js';
2
+ /**
3
+ * Captured llMessageLinked invocation. The per-script state.linkedMessages
4
+ * holds invocations originating from one script; the linkset.linkedMessages
5
+ * cross-script capture mirrors all invocations across the linkset.
6
+ */
7
+ export interface LinkedMessageEntry {
8
+ readonly target: number;
9
+ readonly num: number;
10
+ readonly str: string;
11
+ readonly id: string;
12
+ }
13
+ /**
14
+ * llMessageLinked(integer link, integer num, string str, key id)
15
+ *
16
+ * Resolves `link` (LINK_THIS / LINK_SET / LINK_ALL_OTHERS / LINK_ALL_CHILDREN /
17
+ * LINK_ROOT / specific link number) relative to the calling prim's link
18
+ * number, then schedules a `link_message` event on every targeted script
19
+ * with `sender_num` = caller's link number. Records the call on both the
20
+ * per-script and linkset-wide capture arrays.
21
+ */
22
+ export declare const llMessageLinked: BuiltinImpl;
23
+ //# sourceMappingURL=linked.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked.d.ts","sourceRoot":"","sources":["../../src/builtins/linked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,WAQ7B,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { LINK_THIS } from '../linkset.js';
2
+ /**
3
+ * llMessageLinked(integer link, integer num, string str, key id)
4
+ *
5
+ * Resolves `link` (LINK_THIS / LINK_SET / LINK_ALL_OTHERS / LINK_ALL_CHILDREN /
6
+ * LINK_ROOT / specific link number) relative to the calling prim's link
7
+ * number, then schedules a `link_message` event on every targeted script
8
+ * with `sender_num` = caller's link number. Records the call on both the
9
+ * per-script and linkset-wide capture arrays.
10
+ */
11
+ export const llMessageLinked = (ctx, args) => {
12
+ const target = args[0] ?? LINK_THIS;
13
+ const num = args[1] ?? 0;
14
+ const str = args[2] ?? '';
15
+ const id = args[3] ?? '';
16
+ ctx.state.linkedMessages.push({ target, num, str, id });
17
+ ctx.linkset.deliverLinkMessage(ctx.prim.linkNumber, target, num, str, id);
18
+ return undefined;
19
+ };
20
+ //# sourceMappingURL=linked.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked.js","sourceRoot":"","sources":["../../src/builtins/linked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAczC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,SAAS,CAAA;IAC3D,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAChD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IACjD,MAAM,EAAE,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAChD,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;IACvD,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACzE,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import type { BuiltinImpl } from '../runtime.js';
2
+ export interface LinksetDataEntry {
3
+ value: string;
4
+ /** Empty string = unprotected. */
5
+ password: string;
6
+ }
7
+ export declare const llLinksetDataWrite: BuiltinImpl;
8
+ export declare const llLinksetDataWriteProtected: BuiltinImpl;
9
+ export declare const llLinksetDataRead: BuiltinImpl;
10
+ export declare const llLinksetDataReadProtected: BuiltinImpl;
11
+ export declare const llLinksetDataDelete: BuiltinImpl;
12
+ export declare const llLinksetDataDeleteProtected: BuiltinImpl;
13
+ export declare const llLinksetDataDeleteFound: BuiltinImpl;
14
+ export declare const llLinksetDataReset: BuiltinImpl;
15
+ export declare const llLinksetDataAvailable: BuiltinImpl;
16
+ export declare const llLinksetDataCountKeys: BuiltinImpl;
17
+ export declare const llLinksetDataListKeys: BuiltinImpl;
18
+ export declare const llLinksetDataFindKeys: BuiltinImpl;
19
+ export declare const llLinksetDataCountFound: BuiltinImpl;
20
+ //# sourceMappingURL=linksetdata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linksetdata.d.ts","sourceRoot":"","sources":["../../src/builtins/linksetdata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,eAAe,CAAA;AAa7D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAiCD,eAAO,MAAM,kBAAkB,EAAE,WAiBhC,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,WAsBzC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,WAM/B,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,WAOxC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,WAUjC,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,WAW1C,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,WAqBtC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,WASpC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,WAEpC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAInC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAQnC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,WAOrC,CAAA"}
@@ -0,0 +1,196 @@
1
+ import { LINKSETDATA_OK, LINKSETDATA_ENOKEY, LINKSETDATA_EPROTECTED, LINKSETDATA_NOTFOUND, LINKSETDATA_NOUPDATE, LINKSETDATA_RESET, LINKSETDATA_UPDATE, LINKSETDATA_DELETE, LINKSETDATA_MULTIDELETE, } from '../generated/constants.js';
2
+ const LSD_AVAILABLE_BYTES = 131072;
3
+ function fireEvent(ctx, action, keyname, value) {
4
+ ctx.linkset.broadcastLinksetData(action, keyname, value);
5
+ }
6
+ function compilePattern(pattern) {
7
+ // LSL uses POSIX ERE; we use JS RegExp. The dialect gap is small in practice
8
+ // (anchors, character classes, alternation all match). Invalid patterns
9
+ // return no matches in LSL — emulate by returning null.
10
+ try {
11
+ return new RegExp(pattern);
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ /**
18
+ * Slice helper matching LSL list-style start/count semantics for ListKeys /
19
+ * FindKeys: negative `start` counts from the end; `count = -1` means "to the
20
+ * end".
21
+ */
22
+ function slice(arr, start, count) {
23
+ if (arr.length === 0)
24
+ return [];
25
+ let s = start < 0 ? arr.length + start : start;
26
+ if (s < 0)
27
+ s = 0;
28
+ if (s >= arr.length)
29
+ return [];
30
+ const end = count < 0 ? arr.length : Math.min(arr.length, s + count);
31
+ return arr.slice(s, end);
32
+ }
33
+ export const llLinksetDataWrite = (ctx, args) => {
34
+ const name = args[0] ?? '';
35
+ const value = args[1] ?? '';
36
+ if (name === '')
37
+ return LINKSETDATA_ENOKEY;
38
+ const store = ctx.state.linksetData;
39
+ const existing = store.get(name);
40
+ if (existing && existing.password !== '')
41
+ return LINKSETDATA_EPROTECTED;
42
+ if (value === '') {
43
+ if (!existing)
44
+ return LINKSETDATA_NOTFOUND;
45
+ store.delete(name);
46
+ fireEvent(ctx, LINKSETDATA_DELETE, name, '');
47
+ return LINKSETDATA_OK;
48
+ }
49
+ if (existing && existing.value === value)
50
+ return LINKSETDATA_NOUPDATE;
51
+ store.set(name, { value, password: '' });
52
+ fireEvent(ctx, LINKSETDATA_UPDATE, name, '');
53
+ return LINKSETDATA_OK;
54
+ };
55
+ export const llLinksetDataWriteProtected = (ctx, args) => {
56
+ const name = args[0] ?? '';
57
+ const value = args[1] ?? '';
58
+ const password = args[2] ?? '';
59
+ if (name === '')
60
+ return LINKSETDATA_ENOKEY;
61
+ const store = ctx.state.linksetData;
62
+ const existing = store.get(name);
63
+ if (existing && existing.password !== '' && existing.password !== password) {
64
+ return LINKSETDATA_EPROTECTED;
65
+ }
66
+ if (value === '') {
67
+ if (!existing)
68
+ return LINKSETDATA_NOTFOUND;
69
+ store.delete(name);
70
+ fireEvent(ctx, LINKSETDATA_DELETE, name, '');
71
+ return LINKSETDATA_OK;
72
+ }
73
+ if (existing && existing.value === value && existing.password === password) {
74
+ return LINKSETDATA_NOUPDATE;
75
+ }
76
+ store.set(name, { value, password });
77
+ fireEvent(ctx, LINKSETDATA_UPDATE, name, '');
78
+ return LINKSETDATA_OK;
79
+ };
80
+ export const llLinksetDataRead = (ctx, args) => {
81
+ const name = args[0] ?? '';
82
+ const entry = ctx.state.linksetData.get(name);
83
+ if (!entry)
84
+ return '';
85
+ if (entry.password !== '')
86
+ return '';
87
+ return entry.value;
88
+ };
89
+ export const llLinksetDataReadProtected = (ctx, args) => {
90
+ const name = args[0] ?? '';
91
+ const password = args[1] ?? '';
92
+ const entry = ctx.state.linksetData.get(name);
93
+ if (!entry)
94
+ return '';
95
+ if (entry.password !== '' && entry.password !== password)
96
+ return '';
97
+ return entry.value;
98
+ };
99
+ export const llLinksetDataDelete = (ctx, args) => {
100
+ const name = args[0] ?? '';
101
+ if (name === '')
102
+ return LINKSETDATA_ENOKEY;
103
+ const store = ctx.state.linksetData;
104
+ const entry = store.get(name);
105
+ if (!entry)
106
+ return LINKSETDATA_NOTFOUND;
107
+ if (entry.password !== '')
108
+ return LINKSETDATA_EPROTECTED;
109
+ store.delete(name);
110
+ fireEvent(ctx, LINKSETDATA_DELETE, name, '');
111
+ return LINKSETDATA_OK;
112
+ };
113
+ export const llLinksetDataDeleteProtected = (ctx, args) => {
114
+ const name = args[0] ?? '';
115
+ const password = args[1] ?? '';
116
+ if (name === '')
117
+ return LINKSETDATA_ENOKEY;
118
+ const store = ctx.state.linksetData;
119
+ const entry = store.get(name);
120
+ if (!entry)
121
+ return LINKSETDATA_NOTFOUND;
122
+ if (entry.password !== '' && entry.password !== password)
123
+ return LINKSETDATA_EPROTECTED;
124
+ store.delete(name);
125
+ fireEvent(ctx, LINKSETDATA_DELETE, name, '');
126
+ return LINKSETDATA_OK;
127
+ };
128
+ export const llLinksetDataDeleteFound = (ctx, args) => {
129
+ const pattern = args[0] ?? '';
130
+ const password = args[1] ?? '';
131
+ const re = compilePattern(pattern);
132
+ if (!re)
133
+ return [0, 0];
134
+ const store = ctx.state.linksetData;
135
+ let deleted = 0;
136
+ let notDeleted = 0;
137
+ for (const [name, entry] of [...store.entries()]) {
138
+ if (!re.test(name))
139
+ continue;
140
+ if (entry.password !== '' && entry.password !== password) {
141
+ notDeleted += 1;
142
+ continue;
143
+ }
144
+ store.delete(name);
145
+ deleted += 1;
146
+ }
147
+ if (deleted > 0) {
148
+ fireEvent(ctx, LINKSETDATA_MULTIDELETE, String(deleted), String(notDeleted));
149
+ }
150
+ return [deleted, notDeleted];
151
+ };
152
+ export const llLinksetDataReset = (ctx) => {
153
+ ctx.state.linksetData.clear();
154
+ fireEvent(ctx, LINKSETDATA_RESET, '', '');
155
+ return undefined;
156
+ };
157
+ export const llLinksetDataAvailable = (ctx) => {
158
+ // TODO: track real bytes used (UTF-8 size of keys + values + overhead) once
159
+ // memory accounting lands. For now return the full quota minus a rough
160
+ // per-entry estimate so tests can still observe the value going down.
161
+ let used = 0;
162
+ for (const [k, e] of ctx.state.linksetData) {
163
+ used += k.length + e.value.length + e.password.length;
164
+ }
165
+ return Math.max(0, LSD_AVAILABLE_BYTES - used);
166
+ };
167
+ export const llLinksetDataCountKeys = (ctx) => {
168
+ return ctx.state.linksetData.size;
169
+ };
170
+ export const llLinksetDataListKeys = (ctx, args) => {
171
+ const start = args[0] ?? 0;
172
+ const count = args[1] ?? -1;
173
+ return slice([...ctx.state.linksetData.keys()], start, count);
174
+ };
175
+ export const llLinksetDataFindKeys = (ctx, args) => {
176
+ const pattern = args[0] ?? '';
177
+ const start = args[1] ?? 0;
178
+ const count = args[2] ?? -1;
179
+ const re = compilePattern(pattern);
180
+ if (!re)
181
+ return [];
182
+ const matches = [...ctx.state.linksetData.keys()].filter((k) => re.test(k));
183
+ return slice(matches, start, count);
184
+ };
185
+ export const llLinksetDataCountFound = (ctx, args) => {
186
+ const pattern = args[0] ?? '';
187
+ const re = compilePattern(pattern);
188
+ if (!re)
189
+ return 0;
190
+ let n = 0;
191
+ for (const k of ctx.state.linksetData.keys())
192
+ if (re.test(k))
193
+ n += 1;
194
+ return n;
195
+ };
196
+ //# sourceMappingURL=linksetdata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linksetdata.js","sourceRoot":"","sources":["../../src/builtins/linksetdata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { BuiltinImpl } from '../runtime.js';
2
+ /**
3
+ * A registered listen filter. Tests inspect these via Script.listens
4
+ * and can deliver chat through Script.deliverChat to trigger handlers.
5
+ *
6
+ * LSL filtering semantics: an empty `name` / `key` / `message` is a
7
+ * wildcard for that field. A specific value must match exactly.
8
+ */
9
+ export interface ListenEntry {
10
+ /** Handle returned by llListen; passed to llListenRemove / llListenControl. */
11
+ readonly handle: number;
12
+ readonly channel: number;
13
+ /** Empty string = match any speaker name. */
14
+ readonly name: string;
15
+ /** All-zero UUID = match any speaker key (LSL convention). */
16
+ readonly key: string;
17
+ /** Empty string = match any message. */
18
+ readonly message: string;
19
+ /** Toggled by llListenControl; off entries don't deliver. */
20
+ active: boolean;
21
+ }
22
+ /**
23
+ * llListen(integer channel, string name, key id, string msg) → integer handle
24
+ *
25
+ * Empty name / NULL_KEY id / empty msg act as wildcards. The handle is
26
+ * a positive integer used by llListenRemove / llListenControl.
27
+ */
28
+ export declare const llListen: BuiltinImpl;
29
+ /** llListenRemove(integer handle) — drops the listen entirely. */
30
+ export declare const llListenRemove: BuiltinImpl;
31
+ /** llListenControl(integer handle, integer active) — turns a listen on or off. */
32
+ export declare const llListenControl: BuiltinImpl;
33
+ //# sourceMappingURL=listen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../src/builtins/listen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,6DAA6D;IAC7D,MAAM,EAAE,OAAO,CAAA;CAChB;AAOD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,WAetB,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,cAAc,EAAE,WAK5B,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,WAM7B,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { NULL_KEY } from '../values/types.js';
2
+ function nextListenHandle(state) {
3
+ state.listenHandleCounter += 1;
4
+ return state.listenHandleCounter;
5
+ }
6
+ /**
7
+ * llListen(integer channel, string name, key id, string msg) → integer handle
8
+ *
9
+ * Empty name / NULL_KEY id / empty msg act as wildcards. The handle is
10
+ * a positive integer used by llListenRemove / llListenControl.
11
+ */
12
+ export const llListen = (ctx, args) => {
13
+ const channel = args[0] ?? 0;
14
+ const name = args[1] ?? '';
15
+ const id = args[2] ?? NULL_KEY;
16
+ const msg = args[3] ?? '';
17
+ const handle = nextListenHandle(ctx.state);
18
+ ctx.state.listens.push({
19
+ handle,
20
+ channel,
21
+ name,
22
+ key: id,
23
+ message: msg,
24
+ active: true,
25
+ });
26
+ return handle;
27
+ };
28
+ /** llListenRemove(integer handle) — drops the listen entirely. */
29
+ export const llListenRemove = (ctx, args) => {
30
+ const handle = args[0] ?? 0;
31
+ const i = ctx.state.listens.findIndex((l) => l.handle === handle);
32
+ if (i >= 0)
33
+ ctx.state.listens.splice(i, 1);
34
+ return undefined;
35
+ };
36
+ /** llListenControl(integer handle, integer active) — turns a listen on or off. */
37
+ export const llListenControl = (ctx, args) => {
38
+ const handle = args[0] ?? 0;
39
+ const active = (args[1] ?? 0) !== 0;
40
+ const entry = ctx.state.listens.find((l) => l.handle === handle);
41
+ if (entry)
42
+ entry.active = active;
43
+ return undefined;
44
+ };
45
+ //# sourceMappingURL=listen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listen.js","sourceRoot":"","sources":["../../src/builtins/listen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAuB7C,SAAS,gBAAgB,CAAC,KAAsC;IAC9D,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAA;IAC9B,OAAO,KAAK,CAAC,mBAAmB,CAAA;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACjD,MAAM,OAAO,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IACpD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,MAAM,EAAE,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,QAAQ,CAAA;IACtD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACrB,MAAM;QACN,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACvD,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IACnD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACjE,IAAI,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAChE,IAAI,KAAK;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;IAChC,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,37 @@
1
+ import type { BuiltinImpl } from '../runtime.js';
2
+ /** llGetListLength(list l) — number of elements. */
3
+ export declare const llGetListLength: BuiltinImpl;
4
+ /** llList2Integer(list l, integer i) — element coerced to integer (0 default). */
5
+ export declare const llList2Integer: BuiltinImpl;
6
+ export declare const llList2Float: BuiltinImpl;
7
+ export declare const llList2String: BuiltinImpl;
8
+ export declare const llList2Key: BuiltinImpl;
9
+ export declare const llList2Vector: BuiltinImpl;
10
+ export declare const llList2Rot: BuiltinImpl;
11
+ /**
12
+ * llList2List(list src, integer start, integer end) — inclusive slice.
13
+ * Same wrap rules as llGetSubString.
14
+ */
15
+ export declare const llList2List: BuiltinImpl;
16
+ /**
17
+ * llDeleteSubList(list src, integer start, integer end) — inverse of
18
+ * llList2List. Same wrap rules.
19
+ */
20
+ export declare const llDeleteSubList: BuiltinImpl;
21
+ /** llListInsertList(list dst, list src, integer pos) — inserts src at pos. */
22
+ export declare const llListInsertList: BuiltinImpl;
23
+ /**
24
+ * llListReplaceList(list dst, list src, integer start, integer end)
25
+ * — replaces dst[start..end] (inclusive) with src.
26
+ */
27
+ export declare const llListReplaceList: BuiltinImpl;
28
+ /**
29
+ * llListFindList(list src, list test) — index of first occurrence of `test`
30
+ * as a contiguous subsequence in `src`, or -1. Empty `test` returns 0
31
+ * (per LSL).
32
+ */
33
+ export declare const llListFindList: BuiltinImpl;
34
+ export declare const llDumpList2String: BuiltinImpl;
35
+ export declare const llCSV2List: BuiltinImpl;
36
+ export declare const llParseString2List: BuiltinImpl;
37
+ //# sourceMappingURL=lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/builtins/lists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,oDAAoD;AACpD,eAAO,MAAM,eAAe,EAAE,WAG7B,CAAA;AAaD,kFAAkF;AAClF,eAAO,MAAM,cAAc,EAAE,WAY5B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,WAY1B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,WAkB3B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAOxB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,WAO3B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAOxB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WAazB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAY7B,CAAA;AAED,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,EAAE,WAO9B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAa/B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,WAa5B,CAAA;AAUD,eAAO,MAAM,iBAAiB,EAAE,WAiB/B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAIxB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,WAyBhC,CAAA"}