sol-dbg 0.9.13 → 0.9.15

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 (49) hide show
  1. package/dist/debug/abi.d.ts.map +1 -1
  2. package/dist/debug/abi.js +6 -0
  3. package/dist/debug/abi.js.map +1 -1
  4. package/dist/debug/artifact_manager/artifact_manager.d.ts.map +1 -1
  5. package/dist/debug/artifact_manager/artifact_manager.js +3 -0
  6. package/dist/debug/artifact_manager/artifact_manager.js.map +1 -1
  7. package/dist/debug/decoding/calldata/view.d.ts +12 -2
  8. package/dist/debug/decoding/calldata/view.d.ts.map +1 -1
  9. package/dist/debug/decoding/calldata/view.js +32 -2
  10. package/dist/debug/decoding/calldata/view.js.map +1 -1
  11. package/dist/debug/decoding/memory/view.d.ts +11 -3
  12. package/dist/debug/decoding/memory/view.d.ts.map +1 -1
  13. package/dist/debug/decoding/memory/view.js +38 -4
  14. package/dist/debug/decoding/memory/view.js.map +1 -1
  15. package/dist/debug/decoding/stack/view.d.ts +10 -2
  16. package/dist/debug/decoding/stack/view.d.ts.map +1 -1
  17. package/dist/debug/decoding/stack/view.js +46 -2
  18. package/dist/debug/decoding/stack/view.js.map +1 -1
  19. package/dist/debug/decoding/storage/view.d.ts +19 -2
  20. package/dist/debug/decoding/storage/view.d.ts.map +1 -1
  21. package/dist/debug/decoding/storage/view.js +66 -11
  22. package/dist/debug/decoding/storage/view.js.map +1 -1
  23. package/dist/debug/decoding/utils.d.ts +6 -1
  24. package/dist/debug/decoding/utils.d.ts.map +1 -1
  25. package/dist/debug/decoding/utils.js +14 -4
  26. package/dist/debug/decoding/utils.js.map +1 -1
  27. package/dist/debug/decoding/value.d.ts +2 -3
  28. package/dist/debug/decoding/value.d.ts.map +1 -1
  29. package/dist/debug/decoding/value.js +2 -2
  30. package/dist/debug/decoding/value.js.map +1 -1
  31. package/dist/debug/tracers/transformers/ext_stack.d.ts.map +1 -1
  32. package/dist/debug/tracers/transformers/ext_stack.js +3 -1
  33. package/dist/debug/tracers/transformers/ext_stack.js.map +1 -1
  34. package/dist/debug/tracers/transformers/int_stack.js +1 -1
  35. package/dist/debug/tracers/transformers/int_stack.js.map +1 -1
  36. package/dist/debug/tracers/transformers/ret_info.d.ts.map +1 -1
  37. package/dist/debug/tracers/transformers/ret_info.js +17 -4
  38. package/dist/debug/tracers/transformers/ret_info.js.map +1 -1
  39. package/dist/utils/misc.d.ts +5 -0
  40. package/dist/utils/misc.d.ts.map +1 -1
  41. package/dist/utils/misc.js +34 -3
  42. package/dist/utils/misc.js.map +1 -1
  43. package/dist/utils/pp.d.ts.map +1 -1
  44. package/dist/utils/pp.js +9 -0
  45. package/dist/utils/pp.js.map +1 -1
  46. package/dist/utils/test_runner.d.ts.map +1 -1
  47. package/dist/utils/test_runner.js +1 -2
  48. package/dist/utils/test_runner.js.map +1 -1
  49. package/package.json +1 -1
@@ -33,11 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.PointerStackView = exports.FixedBytesStackView = exports.SingleByteStackView = exports.AddressStackView = exports.BoolStackView = exports.IntStackView = exports.BaseStackView = void 0;
36
+ exports.ExternalFunctionStackView = exports.InternalFunctionStackView = exports.PointerStackView = exports.FixedBytesStackView = exports.SingleByteStackView = exports.AddressStackView = exports.BoolStackView = exports.IntStackView = exports.BaseStackView = void 0;
37
37
  exports.makeStackView = makeStackView;
38
38
  const value_1 = require("../value");
39
39
  const view_1 = require("../view");
40
40
  const utils_1 = require("../../../utils");
41
+ const util_1 = require("@ethereumjs/util");
41
42
  const storage_1 = require("../storage");
42
43
  const utils_2 = require("../utils");
43
44
  const view_2 = require("../calldata/view");
@@ -161,7 +162,7 @@ class PointerStackView extends BaseStackView {
161
162
  if ((0, utils_2.isFailure)(off)) {
162
163
  return off;
163
164
  }
164
- if ((0, utils_2.isCalldataArrayType)(this.type)) {
165
+ if ((0, utils_2.is2SlotStackType)(this.type)) {
165
166
  // Calldata Array slice - fetch 2 words from stack
166
167
  const len = this.decodeIntAt(this.loc - 1, utils_1.uint256, state);
167
168
  if ((0, utils_2.isFailure)(len)) {
@@ -206,6 +207,42 @@ class PointerStackView extends BaseStackView {
206
207
  }
207
208
  }
208
209
  exports.PointerStackView = PointerStackView;
210
+ class InternalFunctionStackView extends BaseStackView {
211
+ encode(value, state) {
212
+ this.encodeIntAt(value.opaque, utils_1.uint256, this.loc, state);
213
+ }
214
+ decode(state) {
215
+ const opaque = this.decodeIntAt(this.loc, utils_1.uint256, state);
216
+ if ((0, utils_2.isFailure)(opaque)) {
217
+ return opaque;
218
+ }
219
+ return new value_1.InternalFunRef(opaque);
220
+ }
221
+ }
222
+ exports.InternalFunctionStackView = InternalFunctionStackView;
223
+ class ExternalFunctionStackView extends BaseStackView {
224
+ encode(value, state) {
225
+ const addrWord = this.fetchStackWord(this.loc, state);
226
+ const selectorWord = this.fetchStackWord(this.loc - 1, state);
227
+ if ((0, utils_2.isFailure)(addrWord) || (0, utils_2.isFailure)(selectorWord)) {
228
+ throw new view_1.EncodingError(`OoB access at ${this.loc} in stack`);
229
+ }
230
+ addrWord.set(value.address.bytes, 12);
231
+ selectorWord.set(value.selector, 28);
232
+ }
233
+ decode(state) {
234
+ const addr = this.fetchStackWord(this.loc, state);
235
+ if ((0, utils_2.isFailure)(addr)) {
236
+ return new value_1.DecodingFailure(`OoB access at ${this.loc} in stack`);
237
+ }
238
+ const selector = this.fetchStackWord(this.loc - 1, state);
239
+ if ((0, utils_2.isFailure)(selector)) {
240
+ return new value_1.DecodingFailure(`OoB access at ${this.loc - 1} in stack`);
241
+ }
242
+ return new value_1.ExternalFunRef(new util_1.Address(addr.slice(12)), selector.slice(28));
243
+ }
244
+ }
245
+ exports.ExternalFunctionStackView = ExternalFunctionStackView;
209
246
  function makeStackView(type, loc) {
210
247
  if (type instanceof runtime_types_1.IntType) {
211
248
  return new IntStackView(type, loc);
@@ -222,6 +259,13 @@ function makeStackView(type, loc) {
222
259
  if (type instanceof runtime_types_1.PointerType) {
223
260
  return new PointerStackView(type, loc);
224
261
  }
262
+ if (type instanceof runtime_types_1.FunctionType) {
263
+ if (type.solType.kind === "external") {
264
+ return new ExternalFunctionStackView(type, loc);
265
+ }
266
+ sol.assert(type.solType.kind === "internal", `Unexpected function type on stack {0}`, type);
267
+ return new InternalFunctionStackView(type, loc);
268
+ }
225
269
  (0, utils_1.nyi)(`makeStackView(${type.pp()}, ${loc})`);
226
270
  }
227
271
  //# sourceMappingURL=view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsSA,sCAmCC;AAxUD,oCAAkF;AAClF,kCAAwF;AACxF,0CASwB;AACxB,2CAA2C;AAC3C,wCAA6C;AAC7C,oCAAgE;AAChE,2CAM0B;AAC1B,0CAAkD;AAClD,yCAAgE;AAChE,uDAW6B;AAC7B,oDAAsC;AAEtC,MAAsB,aAA+D,SAAQ,WAK5F;IACG,cAAc,CAAC,aAAqB,EAAE,KAAY;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QAEzB,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,uBAAe,CAAC,GAAG,aAAa,2BAA2B,GAAG,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,aAAqB,EAAE,GAAY,EAAE,KAAY;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEvD,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,GAAG,GAAG,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC;QACrC,gDAAgD;QAChD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,2CAA2C;YAC3C,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,uBAAe,CAAC,GAAG,GAAG,uBAAuB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,EAAE;QACE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,YAAY,CAAC;IACtD,CAAC;IAID,WAAW,CAAC,KAAa,EAAE,IAAa,EAAE,aAAqB,EAAE,KAAY;QACzE,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,IAAI,oBAAa,CAAC,iBAAiB,aAAa,WAAW,CAAC,CAAC;QACvE,CAAC;QAED,IAAA,kCAA0B,EAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;CACJ;AAnDD,sCAmDC;AAED,MAAa,YAAa,SAAQ,aAA8B;IAC5D,MAAM,CAAC,KAAY;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,KAAY;QAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;CACJ;AARD,oCAQC;AAED,MAAa,aAAc,SAAQ,aAAgC;IAC/D,MAAM,CAAC,KAAY;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,KAAY;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,aAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;CACJ;AATD,sCASC;AAED,MAAa,gBAAiB,SAAQ,aAAmC;IACrE,MAAM,CAAC,KAAY;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,KAAY;QAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE/C,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,oBAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;CACJ;AAfD,4CAeC;AAED,MAAa,mBAAoB,SAAQ,aAAyC;IAC9E,YACI,GAAW,EACK,UAAkB;QAElC,KAAK,CAAC,YAAI,EAAE,GAAG,CAAC,CAAC;QAFD,eAAU,GAAV,UAAU,CAAQ;IAGtC,CAAC;IAED,MAAM,CAAC,KAAY;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,KAAY;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE/C,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,oBAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;CACJ;AAtBD,kDAsBC;AAED,MAAa,mBACT,SAAQ,aAAyC;IAGjD,MAAM,CAAC,KAAY;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,KAAY;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,oBAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,IAAI;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,GAAW;QACjB,IAAI,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,uBAAe,CAAC,iBAAiB,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ;AA7BD,kDA6BC;AAID,MAAa,gBAAiB,SAAQ,aAAwC;IAC1E,MAAM,CAAC,KAAY;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QAEvD,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,kDAAkD;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;YAE3D,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC;YACf,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,YAAY,yBAAS,EAAE,CAAC;gBACxC,OAAO,IAAI,6BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/E,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,YAAY,yBAAS,EAAE,CAAC;gBAC/C,OAAO,IAAI,6BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,YAAY,0BAAU,EAAE,EAAE,CAAC,CAAC;gBACvD,OAAO,IAAA,gCAAyB,GAAE;oBAC9B,CAAC,CAAC,IAAI,6BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;oBACxD,CAAC,CAAC,IAAI,8BAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,IAAA,uBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,IAAA,qBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,IACI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,YAAY,CAAC,OAAO;YAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,YAAY,CAAC,SAAS,EACnD,CAAC;YACC,OAAO,IAAA,yBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,IAAA,WAAG,EAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,KAAmB,EAAE,KAAY;QACpC,IAAI,KAAK,YAAY,sBAAe,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,eAAe,KAAK,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,oBAAa,CACnB,+DAA+D,CAClE,CAAC;YACN,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,eAAO,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,KAAK,YAAY,qBAAc,IAAI,KAAK,YAAY,uBAAgB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,eAAO,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,IAAA,WAAG,EAAC,sBAAsB,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;CACJ;AA7DD,4CA6DC;AAED,MAAa,yBAA0B,SAAQ,aAA2C;IACtF,MAAM,CAAC,KAAqB,EAAE,KAAY;QACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,eAAO,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAC,KAAY;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,sBAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACJ;AAZD,8DAYC;AAED,MAAa,yBAA0B,SAAQ,aAA2C;IACtF,MAAM,CAAC,KAAqB,EAAE,KAAY;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9D,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,IAAI,IAAA,iBAAS,EAAC,YAAY,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,oBAAa,CAAC,iBAAiB,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAClE,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAY;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAElD,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,uBAAe,CAAC,iBAAiB,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAE1D,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,uBAAe,CAAC,iBAAiB,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,IAAI,sBAAc,CAAC,IAAI,cAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;CACJ;AA5BD,8DA4BC;AAED,SAAgB,aAAa,CACzB,IAAqB,EACrB,GAAW;IAEX,IAAI,IAAI,YAAY,uBAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,YAAY,8BAAc,EAAE,CAAC;QACjC,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI,YAAY,wBAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,YAAY,4BAAY,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,IAAI,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;QAE5F,OAAO,IAAI,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,IAAA,WAAG,EAAC,iBAAiB,IAAI,CAAC,EAAE,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,9 +1,9 @@
1
- import { DecodingFailure, Struct, Value } from "../value";
1
+ import { DecodingFailure, ExternalFunRef, InternalFunRef, Struct, Value } from "../value";
2
2
  import { ArrayLikeView, IndexableView, PointerView, StructView, View } from "../view";
3
3
  import { Storage } from "../../types";
4
4
  import { Address } from "@ethereumjs/util";
5
5
  import { MapKeys } from "../../tracers";
6
- import { AddressType, ArrayType, BaseRuntimeType, BoolType, BytesType, FixedBytesType, IntType, MappingType, PointerType, StringType, StructType } from "../../runtime_types";
6
+ import { AddressType, ArrayType, BaseRuntimeType, BoolType, BytesType, FixedBytesType, FunctionType, IntType, MappingType, PointerType, StringType, StructType } from "../../runtime_types";
7
7
  interface ArrayLikeStorageView<ValViewT extends BaseStorageView<Value, BaseRuntimeType>> extends ArrayLikeView<Storage, ValViewT> {
8
8
  }
9
9
  type StorageLocation = [bigint, number];
@@ -31,6 +31,13 @@ export declare abstract class BaseStorageView<Val extends Value, Type extends Ba
31
31
  */
32
32
  protected decodeIntAt(key: bigint, endOffsetInWord: number, type: IntType, state: Storage): bigint | DecodingFailure;
33
33
  protected encodeIntAt(val: bigint, key: bigint, endOffsetInWord: number, type: IntType, state: Storage): Storage;
34
+ /**
35
+ * Helper to decode fixed bytes at a given location
36
+ * @param state
37
+ * @returns
38
+ */
39
+ decodeFixedBytesAt(key: bigint, endOffsetInWord: number, numBytes: number, state: Storage): Uint8Array | DecodingFailure;
40
+ encodeFixedBytesAt(value: Uint8Array, key: bigint, endOffsetInWord: number, numBytes: number, state: Storage): Storage;
34
41
  pp(): string;
35
42
  /**
36
43
  * The first location after the end of this view
@@ -134,6 +141,16 @@ export declare class MissingStorageView extends BaseStorageView<DecodingFailure,
134
141
  encode(): Storage;
135
142
  nextLoc(): StorageLocation | undefined;
136
143
  }
144
+ export declare class InternalFunctionStorageView extends BaseStorageView<InternalFunRef, FunctionType> {
145
+ nextLoc(): StorageLocation | undefined;
146
+ encode(value: InternalFunRef, state: Storage): Storage;
147
+ decode(state: Storage): InternalFunRef | DecodingFailure;
148
+ }
149
+ export declare class ExternalFunctionStorageView extends BaseStorageView<ExternalFunRef, FunctionType> {
150
+ nextLoc(): StorageLocation | undefined;
151
+ encode(value: ExternalFunRef, state: Storage): Storage;
152
+ decode(state: Storage): ExternalFunRef | DecodingFailure;
153
+ }
137
154
  export declare function nextWord(loc: StorageLocation): StorageLocation;
138
155
  export declare function makeStorageView(type: BaseRuntimeType, loc: StorageLocation): BaseStorageView<Value, BaseRuntimeType>;
139
156
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/view.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MissingStorageView = exports.StringStorageView = exports.BytesStorageView = exports.PackedArrayStorageView = exports.MapStorageView = exports.StructStorageView = exports.ArrayStorageView = exports.PointerStorageView = exports.FixedBytesStorageView = exports.SingleByteStorageView = exports.AddressStorageView = exports.BoolStorageView = exports.IntStorageView = exports.BaseStorageView = void 0;
3
+ exports.ExternalFunctionStorageView = exports.InternalFunctionStorageView = exports.MissingStorageView = exports.StringStorageView = exports.BytesStorageView = exports.PackedArrayStorageView = exports.MapStorageView = exports.StructStorageView = exports.ArrayStorageView = exports.PointerStorageView = exports.FixedBytesStorageView = exports.SingleByteStorageView = exports.AddressStorageView = exports.BoolStorageView = exports.IntStorageView = exports.BaseStorageView = void 0;
4
4
  exports.isArrayLikeStorageView = isArrayLikeStorageView;
5
5
  exports.nextWord = nextWord;
6
6
  exports.makeStorageView = makeStorageView;
@@ -110,6 +110,25 @@ class BaseStorageView extends view_1.View {
110
110
  (0, utils_1.encodeBigintInBigEndianBuf)(val, word, type.numBits / 8, endOffsetInWord);
111
111
  return this.setWord(key, word, state);
112
112
  }
113
+ /**
114
+ * Helper to decode fixed bytes at a given location
115
+ * @param state
116
+ * @returns
117
+ */
118
+ decodeFixedBytesAt(key, endOffsetInWord, numBytes, state) {
119
+ if (endOffsetInWord < numBytes) {
120
+ return new value_1.DecodingFailure(`Unalighed Read: Can't decode ${numBytes} bytes starting at offset ${endOffsetInWord} in word ${key}`);
121
+ }
122
+ return this.fetchBytes(key, endOffsetInWord - numBytes, numBytes, state);
123
+ }
124
+ encodeFixedBytesAt(value, key, endOffsetInWord, numBytes, state) {
125
+ if (endOffsetInWord < numBytes) {
126
+ throw new view_1.EncodingError(`Unalighed read: Can't decode ${numBytes} bytes starting at offset ${endOffsetInWord} in word ${key}`);
127
+ }
128
+ const word = this.fetchWordCopy(key, state);
129
+ word.set(value, endOffsetInWord - numBytes);
130
+ return this.setWord(key, word, state);
131
+ }
113
132
  pp() {
114
133
  return `<${this.type.pp()}@${this.loc} in storage>`;
115
134
  }
@@ -190,18 +209,10 @@ class SingleByteStorageView extends BaseStorageView {
190
209
  exports.SingleByteStorageView = SingleByteStorageView;
191
210
  class FixedBytesStorageView extends BaseStorageView {
192
211
  decode(state) {
193
- if (this.endOffsetInWord < this.type.numBytes) {
194
- return new value_1.DecodingFailure(`Unalighed Read: Can't decode ${this.type.pp()} starting at offset ${this.endOffsetInWord} in word ${this.key}`);
195
- }
196
- return this.fetchBytes(this.key, this.endOffsetInWord - this.type.numBytes, this.type.numBytes, state);
212
+ return this.decodeFixedBytesAt(this.key, this.endOffsetInWord, this.type.numBytes, state);
197
213
  }
198
214
  encode(value, state) {
199
- if (this.endOffsetInWord < this.type.numBytes) {
200
- throw new view_1.EncodingError(`Unalighed read: Can't decode ${this.type.pp()} starting at offset ${this.endOffsetInWord} in word ${this.key}`);
201
- }
202
- const word = this.fetchWordCopy(this.key, state);
203
- word.set(value, this.endOffsetInWord - this.type.numBytes);
204
- return this.setWord(this.key, word, state);
215
+ return this.encodeFixedBytesAt(value, this.key, this.endOffsetInWord, this.type.numBytes, state);
205
216
  }
206
217
  indexView(key) {
207
218
  if (!(0, utils_2.inRange)(key, 0, this.type.numBytes)) {
@@ -654,6 +665,40 @@ class MissingStorageView extends BaseStorageView {
654
665
  }
655
666
  }
656
667
  exports.MissingStorageView = MissingStorageView;
668
+ class InternalFunctionStorageView extends BaseStorageView {
669
+ nextLoc() {
670
+ return move(this.loc, 8);
671
+ }
672
+ encode(value, state) {
673
+ return this.encodeIntAt(value.opaque, this.key, this.endOffsetInWord, utils_1.uint64, state);
674
+ }
675
+ decode(state) {
676
+ const opaque = this.decodeIntAt(this.key, this.endOffsetInWord, utils_1.uint64, state);
677
+ if ((0, utils_2.isFailure)(opaque)) {
678
+ return opaque;
679
+ }
680
+ return new value_1.InternalFunRef(opaque);
681
+ }
682
+ }
683
+ exports.InternalFunctionStorageView = InternalFunctionStorageView;
684
+ class ExternalFunctionStorageView extends BaseStorageView {
685
+ nextLoc() {
686
+ return move(this.loc, 24);
687
+ }
688
+ encode(value, state) {
689
+ const word = (0, util_1.concatBytes)(value.address.bytes, value.selector);
690
+ (0, solc_typed_ast_1.assert)(word.length === 24, ``);
691
+ return this.encodeFixedBytesAt(word, this.key, this.endOffsetInWord, 24, state);
692
+ }
693
+ decode(state) {
694
+ const word = this.decodeFixedBytesAt(this.key, this.endOffsetInWord, 24, state);
695
+ if ((0, utils_2.isFailure)(word)) {
696
+ return word;
697
+ }
698
+ return new value_1.ExternalFunRef(new util_1.Address(word.slice(0, 20)), word.slice(20, 24));
699
+ }
700
+ }
701
+ exports.ExternalFunctionStorageView = ExternalFunctionStorageView;
657
702
  /**
658
703
  * Return true if the given type `typ` fits in the storage word location pointed by
659
704
  * `loc`. This checks that the type actually fits, and that its not one of the types
@@ -706,6 +751,9 @@ function staticSize(typ) {
706
751
  if (typ instanceof runtime_types_1.PointerType) {
707
752
  return staticSize(typ.toType);
708
753
  }
754
+ if (typ instanceof runtime_types_1.FunctionType) {
755
+ return typ.solType.kind === "external" ? 24 : 32;
756
+ }
709
757
  (0, utils_1.nyi)(`NYI staticSize(${typ.pp()})`);
710
758
  }
711
759
  function makeStorageView(type, loc) {
@@ -747,6 +795,13 @@ function makeStorageView(type, loc) {
747
795
  if (type instanceof runtime_types_1.MappingType) {
748
796
  return new MapStorageView(type, loc);
749
797
  }
798
+ if (type instanceof runtime_types_1.FunctionType) {
799
+ if (type.solType.kind === "external") {
800
+ return new ExternalFunctionStorageView(type, loc);
801
+ }
802
+ (0, solc_typed_ast_1.assert)(type.solType.kind === "internal", "Unexpected function type in storage {0}", type);
803
+ return new InternalFunctionStorageView(type, loc);
804
+ }
750
805
  (0, utils_1.nyi)(`makeStoragView(${type.pp()})`);
751
806
  }
752
807
  //# sourceMappingURL=view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/view.ts"],"names":[],"mappings":";;;AAqDA,wDAQC;AAw4BD,4BAEC;AAiDD,0CAuDC;AA/iCD,mDAAuD;AACvD,oCAA0D;AAC1D,kCAQiB;AAEjB,0CAawB;AACxB,yDAAyD;AACzD,2CAAqE;AAErE,sCAA2C;AAC3C,oCAA8C;AAC9C,yCAA4D;AAC5D,uDAAsE;AACtE,uDAa6B;AAO7B,SAAgB,sBAAsB,CAClC,CAAM;IAEN,OAAO,CACH,CAAC,YAAY,qBAAqB;QAClC,CAAC,YAAY,gBAAgB;QAC7B,CAAC,YAAY,gBAAgB,CAChC,CAAC;AACN,CAAC;AAED,SAAS,IAAI,CAAC,GAAoB,EAAE,OAAe;IAC/C,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,GAAG,CAAC;IACnC,IAAA,uBAAM,EAAC,eAAe,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC;AAC3F,CAAC;AAED,MAAsB,eAGpB,SAAQ,WAA0C;IAIhD,YAAY,IAAU,EAAE,GAAqB;QACzC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,GAAW,EAAE,OAAgB;QAC7C,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACO,aAAa,CAAC,GAAW,EAAE,OAAgB;QACjD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAES,OAAO,CAAC,GAAW,EAAE,KAAiB,EAAE,OAAgB;QAC9D,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7E,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACO,UAAU,CAChB,OAAe,EACf,SAAiB,EACjB,QAAgB,EAChB,KAAc;QAEd,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QAErC;;;WAGG;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAE3B,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAEjC,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC;gBAEV,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACO,WAAW,CACjB,GAAW,EACX,eAAuB,EACvB,IAAa,EACb,KAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAE9B,IAAI,eAAe,GAAG,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,uBAAe,CACtB,gCAAgC,IAAI,CAAC,EAAE,EAAE,uBAAuB,eAAe,YAAY,GAAG,EAAE,CACnG,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3E,IAAI,GAAG,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,CAAC;QAEzC,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,2CAA2C;YAC3C,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,uBAAe,CACtB,iBAAiB,GAAG,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,EAAE,CACnG,CAAC;QACN,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAES,WAAW,CACjB,GAAW,EACX,GAAW,EACX,eAAuB,EACvB,IAAa,EACb,KAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAE9B,IAAI,eAAe,GAAG,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAa,CACnB,gCAAgC,IAAI,CAAC,EAAE,EAAE,uBAAuB,eAAe,YAAY,GAAG,EAAE,CACnG,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAa,CACnB,iBAAiB,GAAG,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,EAAE,CACnG,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAA,kCAA0B,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,EAAE;QACE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,cAAc,CAAC;IACxD,CAAC;CASJ;AAxJD,0CAwJC;AAED,MAAa,cAAe,SAAQ,eAAgC;IAChE,MAAM,CAAC,KAAc;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,KAAc;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;CACJ;AAZD,wCAYC;AAED,MAAa,eAAgB,SAAQ,eAAkC;IACnE,MAAM,CAAC,KAAc;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,aAAK,EAAE,KAAK,CAAC,CAAC;QAE5E,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,KAAc;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,aAAK,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;CACJ;AAlBD,0CAkBC;AAED,MAAa,kBAAmB,SAAQ,eAAqC;IACzE,MAAM,CAAC,KAAc;QACjB,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC;YAC5B,OAAO,IAAI,uBAAe,CACtB,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,GAAG,EAAE,CAClH,CAAC;QACN,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9E,OAAO,IAAI,cAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,KAAc;QACjC,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,oBAAa,CACnB,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,GAAG,EAAE,CAClH,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AA3BD,gDA2BC;AAED;;GAEG;AACH,MAAa,qBAAsB,SAAQ,eAA2C;IAClF,YAAY,GAAqB;QAC7B,KAAK,CAAC,YAAI,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAc;QACjB,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,uBAAe,CACtB,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,GAAG,EAAE,CAClH,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CACxB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,KAAK,CACR,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,KAAc;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACJ;AA/BD,sDA+BC;AAED,MAAa,qBACT,SAAQ,eAA2C;IAGnD,MAAM,CAAC,KAAc;QACjB,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,uBAAe,CACtB,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,GAAG,EAAE,CAClH,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAClB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,KAAK,CACR,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,KAAc;QACpC,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,oBAAa,CACnB,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,GAAG,EAAE,CAClH,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,GAAW;QACjB,IAAI,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,uBAAe,CAAC,iBAAiB,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,qBAAqB,CAAC;YAC7B,IAAI,CAAC,GAAG;YACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;SAC9D,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACJ;AAjDD,sDAiDC;AAED,MAAa,kBACT,SAAQ,eAAmC;IAI3C,YAAY,IAAiB,EAAE,GAAqB;QAChD,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAiB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAY,EAAE,KAAc;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAzBD,gDAyBC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAa,gBACT,SAAQ,eAAmC;IAK3C;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAoB;QACzC,IAAI,IAAI,GAAgC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAChD,IAAI,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAExB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,2CAA2C;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,IAAe,EAAE,GAAqB;QAC9C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,+DAA+D;YAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC;gBAClC,mDAAmD;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvE,oDAAoD;gBACpD,+DAA+D;gBAC/D,yEAAyE;gBACzE,sDAAsD;gBACtD,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAiB;QACpC,IAAI,UAAoC,CAAC;QACzC,IAAI,WAAmB,CAAC;QAExB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;YAE9E,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC;YACtB,CAAC;YAED,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,IAAA,eAAO,EAAC,UAAU,EAAE,EAAE,EAAE,4BAAoB,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,uBAAe,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,IAAI,KAAK,GAAgC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,IAAI,uBAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,KAAc;QACjC,IAAI,CAAC,GAAY,KAAK,CAAC;QAEvB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1E,MAAM,IAAI,oBAAa,CACnB,kBAAkB,KAAK,CAAC,MAAM,kCAAkC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CACnF,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,qBAA0C,CAAC;QAE/C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,CAAC,CAAC,CAAC;YACvE,qBAAqB,GAAG,CAAC,CAAC;YAC1B,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,KAAK,GAAgC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE7B,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACtC,qBAAqB,GAAG,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,IAAA,uBAAM,EACF,KAAK,KAAK,SAAS,EACnB,wEAAwE,CAC3E,CAAC;QACN,CAAC;QAED,OAAO,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,CACL,GAAW,EACX,KAAc;QAEd,IAAI,IAA8B,CAAC;QACnC,IAAI,IAAY,CAAC;QAEjB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;YAExE,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,uBAAe,CAAC,iBAAiB,GAAG,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,uBAAe,CAAC,gCAAgC,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC;QAElC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;QAE1C,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,KAAc;QACf,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;CACJ;AA9LD,4CA8LC;AAED,MAAa,iBACT,SAAQ,eAAmC;IAM3C,YAAY,IAAgB,EAAE,GAAoB;QAC9C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAJrB,eAAU,GAA6D,EAAE,CAAC;QAKtE,IAAA,uBAAM,EAAC,IAAI,CAAC,eAAe,KAAK,EAAE,EAAE,0CAA0C,CAAC,CAAC;QAEhF,IAAI,QAAQ,GAAgC,IAAI,CAAC,GAAG,CAAC;QAErD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,SAAS,GACX,QAAQ,KAAK,SAAS;gBAClB,CAAC,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3C,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,QAAQ;YACT,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAiB;QACpC,MAAM,OAAO,GAA2B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YAC1E,IAAI;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,IAAI,cAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,KAAc;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,oBAAa,CACnB,+CAA+C,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAC9E,CAAC;QACN,CAAC;QAED,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,qBAA0C,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzD,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACtC,qBAAqB,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,OAAO,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,uBAAe,CAAC,YAAY,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;CACJ;AAnED,8CAmEC;AAED,SAAS,eAAe,CAAC,IAAqB,EAAE,IAAgB;IAC5D,IAAI,CAAC,CAAC,IAAI,YAAY,0BAAU,IAAI,IAAI,YAAY,yBAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,YAAY,0BAAU,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,YAAY,CAAC,IAAqB,EAAE,KAAY;IACrD,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,mBAAW,EAAC,KAAe,CAAC,CAAC,CAAC,CAAE,KAAoB,CAAC;IAC5F,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAA,uBAAc,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,SAAgB,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAa,cACT,SAAQ,eAA+C;IAGvD,YAAY,IAAiB,EAAE,GAAoB;QAC/C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAiB;QACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,GAAG,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAC;QAEpC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,OAA2D,CAAC;QAEhE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,YAAY,2BAAW,CAAC,EAAE,CAAC;YAC9C,OAAO,GAAG,IAAA,uBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,sIAAsI;QACtI,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC;YACxD,IAAI,UAAiB,CAAC;YAEtB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,eAAe,CACvB,IAAI,CAAC,IAAI,CAAC,OAAuB,CAAC,MAAM,EACzC,YAAY,CACf,CAAC;YACN,CAAC;YAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,YAAY,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAwB,EAAE,KAAc;QAC3C,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,iBAAU,CAAC,eAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAErC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;YACzB,4CAA4C;YAC5C,uGAAuG;YACvG,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAC,CAAC;YAE7D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,GAAU;QAChB,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,iBAAU,CAAC,eAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAC,CAAC;QAC7D,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACJ;AApFD,wCAoFC;AAED,MAAsB,sBAGpB,SAAQ,eAAqB;IAC3B,OAAO;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAES,OAAO,CAAC,KAAc;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvB,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,yDAAyD;YACzD,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QAE7E,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW,CAAC,KAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvB,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,yDAAyD;YACzD,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;YACtB,IAAA,uBAAM,EAAC,GAAG,IAAI,EAAE,EAAE,mCAAmC,CAAC,CAAC;YAEvD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QAE3E,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,EAAE,EAAE,4BAAoB,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,uBAAe,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,KAAiB,EAAE,IAAY,EAAE,KAAc;QACzD,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QACjF,MAAM,aAAa,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAa,CAAC;YAElB,IAAI,GAAG,GAAG,MAAM,KAAK,EAAE,EAAE,CAAC;gBACtB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;YAED,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,EAAE,CAAC;YACP,MAAM,IAAI,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;CACJ;AAtFD,wDAsFC;AAED,MAAa,gBACT,SAAQ,sBAA0D;IAGlE,MAAM,CAAC,KAAc;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,KAAc;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAA,iBAAS,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,KAAc;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,KAAc;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,KAAc;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,uBAAe,CAAC,iBAAiB,GAAG,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;YACZ,OAAO,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9C,OAAO,IAAI,qBAAqB,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,KAAc;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACJ;AA9CD,4CA8CC;AAED,MAAa,iBAAkB,SAAQ,sBAA0C;IAC7E,MAAM,CAAC,KAAc;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,IAAA,iBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,KAAc;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAA,8BAAa,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;CACJ;AAdD,8CAcC;AAED,MAAa,kBAAmB,SAAQ,eAAiD;IACrF,YAAY,IAAqB,EAAE,GAAoB;QACnD,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,uBAAe,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM;QACF,MAAM,IAAI,oBAAa,CAAC,+BAA+B,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAhBD,gDAgBC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,GAAoB,EAAE,GAAoB;IAC7D,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,GAAG,CAAC;IAEhC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,eAAe,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC;AAC9C,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAoB;IACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAkB;IAC3C,IAAI,CAAC,YAAY,2BAAW,EAAE,CAAC;QAC3B,OAAO,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CACH,CAAC,YAAY,yBAAS;QACtB,CAAC,YAAY,2BAAW;QACxB,CAAC,YAAY,0BAAU;QACvB,CAAC,CAAC,YAAY,8BAAc,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CACtE,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,GAAoB;IACpC,IAAI,GAAG,YAAY,uBAAO,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,GAAG,YAAY,8BAAc,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,IAAI,GAAG,YAAY,wBAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,GAAG,YAAY,2BAAW,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,GAAG,YAAY,yBAAS,IAAI,GAAG,YAAY,0BAAU,EAAE,CAAC;QACxD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,GAAG,YAAY,2BAAW,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,IAAA,WAAG,EAAC,kBAAkB,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,eAAe,CAC3B,IAAqB,EACrB,GAAoB;IAEpB,IAAI,IAAI,YAAY,8BAAc,EAAE,CAAC;QACjC,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5B,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,IAAI,YAAY,uBAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,YAAY,wBAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,eAAe,CAAC,YAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,kBAAkB,CAAC,eAAO,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,YAAY,8BAAc,EAAE,CAAC;QACjC,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,YAAY,yBAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,YAAY,0BAAU,EAAE,CAAC;QAC7B,OAAO,IAAA,gCAAyB,GAAE;YAC9B,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;YACjC,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,YAAY,yBAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,YAAY,0BAAU,EAAE,CAAC;QAC7B,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,IAAA,WAAG,EAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/view.ts"],"names":[],"mappings":";;;AAuDA,wDAQC;AAy8BD,4BAEC;AAqDD,0CAgEC;AA/nCD,mDAAuD;AACvD,oCAA0F;AAC1F,kCAQiB;AAEjB,0CAcwB;AACxB,yDAAyD;AACzD,2CAAqE;AAErE,sCAA2C;AAC3C,oCAA8C;AAC9C,yCAA4D;AAC5D,uDAAsE;AACtE,uDAc6B;AAO7B,SAAgB,sBAAsB,CAClC,CAAM;IAEN,OAAO,CACH,CAAC,YAAY,qBAAqB;QAClC,CAAC,YAAY,gBAAgB;QAC7B,CAAC,YAAY,gBAAgB,CAChC,CAAC;AACN,CAAC;AAED,SAAS,IAAI,CAAC,GAAoB,EAAE,OAAe;IAC/C,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,GAAG,CAAC;IACnC,IAAA,uBAAM,EAAC,eAAe,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC;AAC3F,CAAC;AAED,MAAsB,eAGpB,SAAQ,WAA0C;IAIhD,YAAY,IAAU,EAAE,GAAqB;QACzC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,GAAW,EAAE,OAAgB;QAC7C,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACO,aAAa,CAAC,GAAW,EAAE,OAAgB;QACjD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAES,OAAO,CAAC,GAAW,EAAE,KAAiB,EAAE,OAAgB;QAC9D,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7E,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACO,UAAU,CAChB,OAAe,EACf,SAAiB,EACjB,QAAgB,EAChB,KAAc;QAEd,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QAErC;;;WAGG;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAE3B,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAEjC,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC;gBAEV,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACO,WAAW,CACjB,GAAW,EACX,eAAuB,EACvB,IAAa,EACb,KAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAE9B,IAAI,eAAe,GAAG,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,uBAAe,CACtB,gCAAgC,IAAI,CAAC,EAAE,EAAE,uBAAuB,eAAe,YAAY,GAAG,EAAE,CACnG,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3E,IAAI,GAAG,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,CAAC;QAEzC,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,2CAA2C;YAC3C,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,uBAAe,CACtB,iBAAiB,GAAG,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,EAAE,CACnG,CAAC;QACN,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAES,WAAW,CACjB,GAAW,EACX,GAAW,EACX,eAAuB,EACvB,IAAa,EACb,KAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAE9B,IAAI,eAAe,GAAG,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAa,CACnB,gCAAgC,IAAI,CAAC,EAAE,EAAE,uBAAuB,eAAe,YAAY,GAAG,EAAE,CACnG,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAa,CACnB,iBAAiB,GAAG,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,EAAE,CACnG,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAA,kCAA0B,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CACd,GAAW,EACX,eAAuB,EACvB,QAAgB,EAChB,KAAc;QAEd,IAAI,eAAe,GAAG,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,uBAAe,CACtB,gCAAgC,QAAQ,6BAA6B,eAAe,YAAY,GAAG,EAAE,CACxG,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB,CACd,KAAiB,EACjB,GAAW,EACX,eAAuB,EACvB,QAAgB,EAChB,KAAc;QAEd,IAAI,eAAe,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,oBAAa,CACnB,gCAAgC,QAAQ,6BAA6B,eAAe,YAAY,GAAG,EAAE,CACxG,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,QAAQ,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,EAAE;QACE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,cAAc,CAAC;IACxD,CAAC;CASJ;AA9LD,0CA8LC;AAED,MAAa,cAAe,SAAQ,eAAgC;IAChE,MAAM,CAAC,KAAc;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,KAAc;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;CACJ;AAZD,wCAYC;AAED,MAAa,eAAgB,SAAQ,eAAkC;IACnE,MAAM,CAAC,KAAc;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,aAAK,EAAE,KAAK,CAAC,CAAC;QAE5E,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,KAAc;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,aAAK,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;CACJ;AAlBD,0CAkBC;AAED,MAAa,kBAAmB,SAAQ,eAAqC;IACzE,MAAM,CAAC,KAAc;QACjB,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC;YAC5B,OAAO,IAAI,uBAAe,CACtB,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,GAAG,EAAE,CAClH,CAAC;QACN,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9E,OAAO,IAAI,cAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,KAAc;QACjC,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,oBAAa,CACnB,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,GAAG,EAAE,CAClH,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AA3BD,gDA2BC;AAED;;GAEG;AACH,MAAa,qBAAsB,SAAQ,eAA2C;IAClF,YAAY,GAAqB;QAC7B,KAAK,CAAC,YAAI,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAc;QACjB,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,uBAAe,CACtB,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,GAAG,EAAE,CAClH,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CACxB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,KAAK,CACR,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,KAAc;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACJ;AA/BD,sDA+BC;AAED,MAAa,qBACT,SAAQ,eAA2C;IAGnD,MAAM,CAAC,KAAc;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,KAAc;QACpC,OAAO,IAAI,CAAC,kBAAkB,CAC1B,KAAK,EACL,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,KAAK,CACR,CAAC;IACN,CAAC;IAED,SAAS,CAAC,GAAW;QACjB,IAAI,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,uBAAe,CAAC,iBAAiB,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,qBAAqB,CAAC;YAC7B,IAAI,CAAC,GAAG;YACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;SAC9D,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACJ;AApCD,sDAoCC;AAED,MAAa,kBACT,SAAQ,eAAmC;IAI3C,YAAY,IAAiB,EAAE,GAAqB;QAChD,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAiB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAY,EAAE,KAAc;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAzBD,gDAyBC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAa,gBACT,SAAQ,eAAmC;IAK3C;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAoB;QACzC,IAAI,IAAI,GAAgC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAChD,IAAI,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAExB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,2CAA2C;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,IAAe,EAAE,GAAqB;QAC9C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,+DAA+D;YAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC;gBAClC,mDAAmD;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvE,oDAAoD;gBACpD,+DAA+D;gBAC/D,yEAAyE;gBACzE,sDAAsD;gBACtD,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAiB;QACpC,IAAI,UAAoC,CAAC;QACzC,IAAI,WAAmB,CAAC;QAExB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;YAE9E,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC;YACtB,CAAC;YAED,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,IAAA,eAAO,EAAC,UAAU,EAAE,EAAE,EAAE,4BAAoB,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,uBAAe,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,IAAI,KAAK,GAAgC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,IAAI,uBAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,KAAc;QACjC,IAAI,CAAC,GAAY,KAAK,CAAC;QAEvB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1E,MAAM,IAAI,oBAAa,CACnB,kBAAkB,KAAK,CAAC,MAAM,kCAAkC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CACnF,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,qBAA0C,CAAC;QAE/C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,CAAC,CAAC,CAAC;YACvE,qBAAqB,GAAG,CAAC,CAAC;YAC1B,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,KAAK,GAAgC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE7B,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACtC,qBAAqB,GAAG,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,IAAA,uBAAM,EACF,KAAK,KAAK,SAAS,EACnB,wEAAwE,CAC3E,CAAC;QACN,CAAC;QAED,OAAO,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,CACL,GAAW,EACX,KAAc;QAEd,IAAI,IAA8B,CAAC;QACnC,IAAI,IAAY,CAAC;QAEjB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;YAExE,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,uBAAe,CAAC,iBAAiB,GAAG,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,uBAAe,CAAC,gCAAgC,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC;QAElC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;QAE1C,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,KAAc;QACf,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;CACJ;AA9LD,4CA8LC;AAED,MAAa,iBACT,SAAQ,eAAmC;IAM3C,YAAY,IAAgB,EAAE,GAAoB;QAC9C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAJrB,eAAU,GAA6D,EAAE,CAAC;QAKtE,IAAA,uBAAM,EAAC,IAAI,CAAC,eAAe,KAAK,EAAE,EAAE,0CAA0C,CAAC,CAAC;QAEhF,IAAI,QAAQ,GAAgC,IAAI,CAAC,GAAG,CAAC;QAErD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,SAAS,GACX,QAAQ,KAAK,SAAS;gBAClB,CAAC,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3C,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,QAAQ;YACT,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAiB;QACpC,MAAM,OAAO,GAA2B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YAC1E,IAAI;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,IAAI,cAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,KAAc;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,oBAAa,CACnB,+CAA+C,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAC9E,CAAC;QACN,CAAC;QAED,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,qBAA0C,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzD,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACtC,qBAAqB,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,OAAO,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,uBAAe,CAAC,YAAY,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;CACJ;AAnED,8CAmEC;AAED,SAAS,eAAe,CAAC,IAAqB,EAAE,IAAgB;IAC5D,IAAI,CAAC,CAAC,IAAI,YAAY,0BAAU,IAAI,IAAI,YAAY,yBAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,YAAY,0BAAU,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,YAAY,CAAC,IAAqB,EAAE,KAAY;IACrD,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,mBAAW,EAAC,KAAe,CAAC,CAAC,CAAC,CAAE,KAAoB,CAAC;IAC5F,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAA,uBAAc,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,SAAgB,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAa,cACT,SAAQ,eAA+C;IAGvD,YAAY,IAAiB,EAAE,GAAoB;QAC/C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAc,EAAE,OAAiB;QACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,GAAG,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAC;QAEpC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,OAA2D,CAAC;QAEhE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,YAAY,2BAAW,CAAC,EAAE,CAAC;YAC9C,OAAO,GAAG,IAAA,uBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,sIAAsI;QACtI,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC;YACxD,IAAI,UAAiB,CAAC;YAEtB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,eAAe,CACvB,IAAI,CAAC,IAAI,CAAC,OAAuB,CAAC,MAAM,EACzC,YAAY,CACf,CAAC;YACN,CAAC;YAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,YAAY,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAwB,EAAE,KAAc;QAC3C,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,iBAAU,CAAC,eAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAErC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;YACzB,4CAA4C;YAC5C,uGAAuG;YACvG,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAC,CAAC;YAE7D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,GAAU;QAChB,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,iBAAU,CAAC,eAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAC,CAAC;QAC7D,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACJ;AApFD,wCAoFC;AAED,MAAsB,sBAGpB,SAAQ,eAAqB;IAC3B,OAAO;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAES,OAAO,CAAC,KAAc;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvB,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,yDAAyD;YACzD,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QAE7E,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW,CAAC,KAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvB,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,yDAAyD;YACzD,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;YACtB,IAAA,uBAAM,EAAC,GAAG,IAAI,EAAE,EAAE,mCAAmC,CAAC,CAAC;YAEvD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QAE3E,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,EAAE,EAAE,4BAAoB,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,uBAAe,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,KAAiB,EAAE,IAAY,EAAE,KAAc;QACzD,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,eAAO,EAAE,KAAK,CAAC,CAAC;QACjF,MAAM,aAAa,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAa,CAAC;YAElB,IAAI,GAAG,GAAG,MAAM,KAAK,EAAE,EAAE,CAAC;gBACtB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;YAED,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,EAAE,CAAC;YACP,MAAM,IAAI,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;CACJ;AAtFD,wDAsFC;AAED,MAAa,gBACT,SAAQ,sBAA0D;IAGlE,MAAM,CAAC,KAAc;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,KAAc;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAA,iBAAS,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,KAAc;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,KAAc;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,KAAc;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,uBAAe,CAAC,iBAAiB,GAAG,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;YACZ,OAAO,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9C,OAAO,IAAI,qBAAqB,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,KAAc;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACJ;AA9CD,4CA8CC;AAED,MAAa,iBAAkB,SAAQ,sBAA0C;IAC7E,MAAM,CAAC,KAAc;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,IAAA,iBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,KAAc;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAA,8BAAa,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;CACJ;AAdD,8CAcC;AAED,MAAa,kBAAmB,SAAQ,eAAiD;IACrF,YAAY,IAAqB,EAAE,GAAoB;QACnD,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,uBAAe,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM;QACF,MAAM,IAAI,oBAAa,CAAC,+BAA+B,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAhBD,gDAgBC;AAED,MAAa,2BAA4B,SAAQ,eAA6C;IAC1F,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,KAAqB,EAAE,KAAc;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,cAAM,EAAE,KAAK,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,CAAC,KAAc;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,cAAM,EAAE,KAAK,CAAC,CAAC;QAC/E,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,sBAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACJ;AAjBD,kEAiBC;AAED,MAAa,2BAA4B,SAAQ,eAA6C;IAC1F,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAqB,EAAE,KAAc;QACxC,MAAM,IAAI,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAA,uBAAM,EAAC,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,KAAc;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,sBAAc,CAAC,IAAI,cAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;CACJ;AAnBD,kEAmBC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,GAAoB,EAAE,GAAoB;IAC7D,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,GAAG,CAAC;IAEhC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,eAAe,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC;AAC9C,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAoB;IACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAkB;IAC3C,IAAI,CAAC,YAAY,2BAAW,EAAE,CAAC;QAC3B,OAAO,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CACH,CAAC,YAAY,yBAAS;QACtB,CAAC,YAAY,2BAAW;QACxB,CAAC,YAAY,0BAAU;QACvB,CAAC,CAAC,YAAY,8BAAc,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CACtE,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,GAAoB;IACpC,IAAI,GAAG,YAAY,uBAAO,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,GAAG,YAAY,8BAAc,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,IAAI,GAAG,YAAY,wBAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,GAAG,YAAY,2BAAW,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,GAAG,YAAY,yBAAS,IAAI,GAAG,YAAY,0BAAU,EAAE,CAAC;QACxD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,GAAG,YAAY,2BAAW,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,GAAG,YAAY,4BAAY,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,IAAA,WAAG,EAAC,kBAAkB,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,eAAe,CAC3B,IAAqB,EACrB,GAAoB;IAEpB,IAAI,IAAI,YAAY,8BAAc,EAAE,CAAC;QACjC,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5B,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,IAAI,YAAY,uBAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,YAAY,wBAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,eAAe,CAAC,YAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,kBAAkB,CAAC,eAAO,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,YAAY,8BAAc,EAAE,CAAC;QACjC,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,YAAY,yBAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,YAAY,0BAAU,EAAE,CAAC;QAC7B,OAAO,IAAA,gCAAyB,GAAE;YAC9B,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;YACjC,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,YAAY,yBAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,YAAY,0BAAU,EAAE,CAAC;QAC7B,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,YAAY,2BAAW,EAAE,CAAC;QAC9B,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,YAAY,4BAAY,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,IAAI,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,IAAA,uBAAM,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;QAC1F,OAAO,IAAI,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,IAAA,WAAG,EAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC"}
@@ -4,7 +4,12 @@ import { BaseRuntimeType } from "../runtime_types";
4
4
  import * as sol from "solc-typed-ast";
5
5
  import * as rtt from "../runtime_types/ast";
6
6
  import { BytecodeInfo, LinkMap } from "../artifact_manager";
7
- export declare function isCalldataArrayType(typ: BaseRuntimeType): boolean;
7
+ /**
8
+ * Returns true of the given type takes 2 slot words on the stack
9
+ * @param typ
10
+ * @returns
11
+ */
12
+ export declare function is2SlotStackType(typ: BaseRuntimeType): boolean;
8
13
  /**
9
14
  * Returns true IFF the n >= min && n <= max
10
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAUhG,OAAO,EAEH,eAAe,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAQjE;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAE/F;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,eAAe,CAExD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAOjE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAM/D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAOhF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CA8BjG;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,GAAG,OAAO,CAc7F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAUhG,OAAO,EAEH,eAAe,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAc9D;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAE/F;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,eAAe,CAExD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAOjE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAM/D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAOhF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CA8BjG;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,GAAG,OAAO,CAc7F"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.isCalldataArrayType = isCalldataArrayType;
36
+ exports.is2SlotStackType = is2SlotStackType;
37
37
  exports.inRange = inRange;
38
38
  exports.isFailure = isFailure;
39
39
  exports.isPointerView = isPointerView;
@@ -52,12 +52,22 @@ const runtime_types_1 = require("../runtime_types");
52
52
  const sol = __importStar(require("solc-typed-ast"));
53
53
  const rtt = __importStar(require("../runtime_types/ast"));
54
54
  const util_1 = require("@ethereumjs/util");
55
- function isCalldataArrayType(typ) {
56
- return (typ instanceof runtime_types_1.PointerType &&
55
+ /**
56
+ * Returns true of the given type takes 2 slot words on the stack
57
+ * @param typ
58
+ * @returns
59
+ */
60
+ function is2SlotStackType(typ) {
61
+ // Array slice
62
+ if (typ instanceof runtime_types_1.PointerType &&
57
63
  ((typ.toType instanceof runtime_types_1.ArrayType && typ.toType.size === undefined) ||
58
64
  typ.toType instanceof runtime_types_1.BytesType ||
59
65
  typ.toType instanceof runtime_types_1.StringType) &&
60
- typ.location === solc_typed_ast_1.DataLocation.CallData);
66
+ typ.location === solc_typed_ast_1.DataLocation.CallData) {
67
+ return true;
68
+ }
69
+ // External function type
70
+ return typ instanceof rtt.FunctionType && typ.solType.kind === "external";
61
71
  }
62
72
  /**
63
73
  * Returns true IFF the n >= min && n <= max
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/debug/decoding/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/debug/decoding/utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Address } from "@ethereumjs/util";
2
- import { FunctionDefinition } from "solc-typed-ast";
3
2
  import { View } from "./view";
4
3
  import { BaseRuntimeType } from "../runtime_types";
5
4
  export declare class ExternalFunRef {
@@ -8,8 +7,8 @@ export declare class ExternalFunRef {
8
7
  constructor(address: Address, selector: Uint8Array);
9
8
  }
10
9
  export declare class InternalFunRef {
11
- readonly fun: FunctionDefinition;
12
- constructor(fun: FunctionDefinition);
10
+ readonly opaque: any;
11
+ constructor(opaque: any);
13
12
  }
14
13
  export type FunctionValue = ExternalFunRef | InternalFunRef;
15
14
  export declare class Struct {
@@ -1 +1 @@
1
- {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAU,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,qBAAa,cAAc;aAEH,OAAO,EAAE,OAAO;aAChB,QAAQ,EAAE,UAAU;gBADpB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAU;CAE3C;AAED,qBAAa,cAAc;aACK,GAAG,EAAE,kBAAkB;gBAAvB,GAAG,EAAE,kBAAkB;CACtD;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;AAE5D,qBAAa,MAAM;aACa,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAA/B,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;CAS7B;AAED,qBAAa,KAAK;aAEM,KAAK,EAAE,KAAK,EAAE;aACd,KAAK,EAAE,MAAM;aACb,GAAG,EAAE,MAAM;gBAFX,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM;CAElC;AAED,8BAAsB,MAAM;IACxB,QAAQ,CAAC,EAAE,IAAI,MAAM;CACxB;AAED,qBAAa,eAAgB,SAAQ,MAAM;aACX,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAI1C,EAAE,IAAI,MAAM;CAGf;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CA8C3C;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GACpB,MAAM,GACN,OAAO,GACP,UAAU,GACV,OAAO,GACP,aAAa,GACb,KAAK,GACL,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,CAAC,GACtC,MAAM,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,YAAY,GAClB,UAAU,GACV,MAAM,GACN,KAAK,EAAE,GACP,MAAM,GACN,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAExB,MAAM,MAAM,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,qBAAa,cAAc;aAEH,OAAO,EAAE,OAAO;aAChB,QAAQ,EAAE,UAAU;gBADpB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAU;CAE3C;AAED,qBAAa,cAAc;aACK,MAAM,EAAE,GAAG;gBAAX,MAAM,EAAE,GAAG;CAC1C;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;AAE5D,qBAAa,MAAM;aACa,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAA/B,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;CAS7B;AAED,qBAAa,KAAK;aAEM,KAAK,EAAE,KAAK,EAAE;aACd,KAAK,EAAE,MAAM;aACb,GAAG,EAAE,MAAM;gBAFX,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM;CAElC;AAED,8BAAsB,MAAM;IACxB,QAAQ,CAAC,EAAE,IAAI,MAAM;CACxB;AAED,qBAAa,eAAgB,SAAQ,MAAM;aACX,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAI1C,EAAE,IAAI,MAAM;CAGf;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CA8C3C;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GACpB,MAAM,GACN,OAAO,GACP,UAAU,GACV,OAAO,GACP,aAAa,GACb,KAAK,GACL,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,CAAC,GACtC,MAAM,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,YAAY,GAClB,UAAU,GACV,MAAM,GACN,KAAK,EAAE,GACP,MAAM,GACN,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAExB,MAAM,MAAM,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC"}
@@ -12,8 +12,8 @@ class ExternalFunRef {
12
12
  }
13
13
  exports.ExternalFunRef = ExternalFunRef;
14
14
  class InternalFunRef {
15
- constructor(fun) {
16
- this.fun = fun;
15
+ constructor(opaque) {
16
+ this.opaque = opaque;
17
17
  }
18
18
  }
19
19
  exports.InternalFunRef = InternalFunRef;
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/debug/decoding/value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/debug/decoding/value.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ext_stack.d.ts","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/ext_stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAIpC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAA4B,aAAa,EAAwB,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa,CAEjE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAEjF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAE3D;AAqHD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,aAAa,EACnE,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,iBAAiB,CAAC,EACnC,eAAe,EAAE,gBAAgB,EACjC,EAAE,EAAE,gBAAgB,GACrB,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAgHhC"}
1
+ {"version":3,"file":"ext_stack.d.ts","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/ext_stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAUpC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAA4B,aAAa,EAAwB,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa,CAEjE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAEjF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAE3D;AAmHD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,aAAa,EACnE,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,iBAAiB,CAAC,EACnC,eAAe,EAAE,gBAAgB,EACjC,EAAE,EAAE,gBAAgB,GACrB,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAgHhC"}
@@ -96,7 +96,9 @@ function decodeCall(step) {
96
96
  const receiverArg = (0, misc_1.wordToAddress)(step.evmStack[stackTop - 1]);
97
97
  const receiver = op.opcode === opcodes_1.OPCODES.DELEGATECALL ? step.address : receiverArg;
98
98
  const codeAddr = receiverArg;
99
- const msgData = (0, misc_1.mustReadMem)(step.evmStack[stackTop - argStackOff], step.evmStack[stackTop - argSizeStackOff], step.memory);
99
+ const start = (0, misc_1.bigEndianBufToNumber)(step.evmStack[stackTop - argStackOff]);
100
+ const size = (0, misc_1.bigEndianBufToNumber)(step.evmStack[stackTop - argSizeStackOff]);
101
+ const msgData = size === 0 ? new Uint8Array() : (0, misc_1.mustReadMem)(start, size, step.memory);
100
102
  return [receiver, codeAddr, msgData];
101
103
  }
102
104
  /**