node-opcua-address-space 2.106.0 → 2.108.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/source/helpers/coerce_enum_value.js +5 -4
  2. package/dist/source/helpers/coerce_enum_value.js.map +1 -1
  3. package/dist/source/loader/load_nodeset2.js +1 -1
  4. package/dist/source/loader/load_nodeset2.js.map +1 -1
  5. package/dist/source/loader/register_node_promoter.d.ts +1 -1
  6. package/dist/source/loader/register_node_promoter.js +2 -2
  7. package/dist/source/loader/register_node_promoter.js.map +1 -1
  8. package/dist/src/_instantiate_helpers.d.ts +2 -0
  9. package/dist/src/_instantiate_helpers.js +80 -0
  10. package/dist/src/_instantiate_helpers.js.map +1 -0
  11. package/dist/src/_mandatory_child_or_requested_optional_filter.d.ts +9 -0
  12. package/dist/src/_mandatory_child_or_requested_optional_filter.js +80 -0
  13. package/dist/src/_mandatory_child_or_requested_optional_filter.js.map +1 -0
  14. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +3 -0
  15. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  16. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +1 -1
  17. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  18. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +2 -2
  19. package/dist/src/alarms_and_conditions/ua_condition_impl.js +2 -1
  20. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  21. package/dist/src/base_node_private.d.ts +1 -1
  22. package/dist/src/base_node_private.js +82 -82
  23. package/dist/src/base_node_private.js.map +1 -1
  24. package/dist/src/extension_object_array_node.js +2 -1
  25. package/dist/src/extension_object_array_node.js.map +1 -1
  26. package/dist/src/namespace_impl.d.ts +1 -1
  27. package/dist/src/namespace_impl.js +6 -6
  28. package/dist/src/namespace_impl.js.map +1 -1
  29. package/dist/src/state_machine/finite_state_machine.d.ts +1 -1
  30. package/dist/src/state_machine/finite_state_machine.js +204 -19
  31. package/dist/src/state_machine/finite_state_machine.js.map +1 -1
  32. package/dist/src/ua_method_impl.js +4 -1
  33. package/dist/src/ua_method_impl.js.map +1 -1
  34. package/dist/src/ua_object_impl.js +2 -3
  35. package/dist/src/ua_object_impl.js.map +1 -1
  36. package/dist/src/ua_object_type_impl.js +2 -1
  37. package/dist/src/ua_object_type_impl.js.map +1 -1
  38. package/dist/src/ua_variable_impl.d.ts +1 -1
  39. package/dist/src/ua_variable_impl.js +6 -4
  40. package/dist/src/ua_variable_impl.js.map +1 -1
  41. package/dist/src/ua_variable_type_impl.d.ts +5 -3
  42. package/dist/src/ua_variable_type_impl.js +8 -132
  43. package/dist/src/ua_variable_type_impl.js.map +1 -1
  44. package/dist/tsconfig_common.tsbuildinfo +1 -1
  45. package/package.json +38 -38
  46. package/source/helpers/coerce_enum_value.ts +5 -5
  47. package/source/loader/load_nodeset2.ts +1 -1
  48. package/source/loader/register_node_promoter.ts +3 -6
  49. package/src/_instantiate_helpers.ts +141 -0
  50. package/src/_mandatory_child_or_requested_optional_filter.ts +98 -0
  51. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +3 -0
  52. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +1 -1
  53. package/src/alarms_and_conditions/ua_condition_impl.ts +7 -5
  54. package/src/base_node_private.ts +100 -117
  55. package/src/extension_object_array_node.ts +4 -3
  56. package/src/namespace_impl.ts +11 -7
  57. package/src/state_machine/finite_state_machine.ts +250 -37
  58. package/src/ua_method_impl.ts +4 -1
  59. package/src/ua_object_impl.ts +2 -3
  60. package/src/ua_object_type_impl.ts +1 -1
  61. package/src/ua_variable_impl.ts +7 -7
  62. package/src/ua_variable_type_impl.ts +4 -202
@@ -18,6 +18,7 @@ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
18
18
  const node_opcua_status_code_1 = require("node-opcua-status-code");
19
19
  const node_opcua_types_1 = require("node-opcua-types");
20
20
  const node_opcua_variant_1 = require("node-opcua-variant");
21
+ const node_opcua_address_space_base_1 = require("node-opcua-address-space-base");
21
22
  const ua_two_state_variable_1 = require("../state_machine/ua_two_state_variable");
22
23
  const ua_object_impl_1 = require("../ua_object_impl");
23
24
  const ua_base_event_impl_1 = require("./ua_base_event_impl");
@@ -349,7 +350,7 @@ class UAConditionImpl extends ua_base_event_impl_1.UABaseEventImpl {
349
350
  }
350
351
  }
351
352
  else {
352
- warningLog("Condition ", this.nodeId.toString(), "is not linked to a Object with a IsConditionOf(reversed(HasCondition))");
353
+ warningLog("raiseConditionEvent: the condition ", (0, node_opcua_address_space_base_1.fullPath2)(this), "is not linked to a Object with a IsConditionOf(reversed(HasCondition)) reference", "therefore event cannot bubble-up to the server object");
353
354
  }
354
355
  // xx console.log("MMMMMMMM%%%%%%%%%%%%%%%%%%%%% branch " +
355
356
  // branch.getBranchId().toString() + " eventId = " + branch.getEventId().toString("hex"));
@@ -1 +1 @@
1
- {"version":3,"file":"ua_condition_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_condition_impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ua_condition_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_condition_impl.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA+B;AAC/B;;GAEG;AACH,kDAA0B;AAE1B,yDAA2C;AAE3C,mEAAoD;AACpD,iEAS+B;AAE/B,uDAAiG;AACjG,mEAAiD;AACjD,yDAAgG;AAChG,mEAA4E;AAC5E,uDAA6E;AAC7E,2DAAoF;AACpF,iFAUuC;AASvC,kFAA6F;AAC7F,sDAAiD;AAGjD,6DAAuD;AACvD,uEAAkE;AAElE,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAO/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,eAAgB,SAAQ,oCAAe;IAApD;;QA2GY,aAAQ,GAAsB,IAAW,CAAC;QAC1C,wBAAmB,GAAG,KAAK,CAAC;QAC5B,cAAS,GAAyC,EAAE,CAAC;IA8cjE,CAAC;IAvjBU,MAAM,CAAC,WAAW,CACrB,SAAqB,EACrB,eAA8C,EAC9C,OAAY,EACZ,IAAqC;QAErC,OAAO,uBAAuB,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAoB,CAAC;IACjG,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAAC,YAAiC;QAC5E,EAAE;QACF,2BAA2B;QAC3B,EAAE;QACF,QAAQ;QACR,6DAA6D;QAC7D,+BAA+B;QAC/B,kGAAkG;QAClG,kGAAkG;QAClG,8FAA8F;QAC9F,2FAA2F;QAC3F,+FAA+F;QAC/F,iGAAiG;QACjG,yFAAyF;QACzF,gEAAgE;QAEhE,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,eAAe,CAAoB,CAAC;QACrF,IAAA,0BAAM,EAAC,aAAa,KAAK,IAAI,CAAC,CAAC;QAE/B,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAClD,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAEhD,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;QAErE,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;QAEvE,uFAAuF;QACvF,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,qBAAqB,CAC/B,cAA6B,EAC7B,OAAwB,EACxB,QAA0E,EAC1E,UAKe;QAEf,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAErC,wEAAwE;QACxE,IAAI,CAAC,CAAC,aAAa,YAAY,eAAe,CAAC,EAAE;YAC7C,QAAQ,CAAC,IAAI,EAAE;gBACX,UAAU,EAAE,oCAAW,CAAC,gBAAgB;aAC3C,CAAC,CAAC;YACH,OAAO;SACV;QAED,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE;YAClC,QAAQ,CAAC,IAAI,EAAE;gBACX,UAAU,EAAE,oCAAW,CAAC,oBAAoB;aAC/C,CAAC,CAAC;YACH,OAAO;SACV;QAED,iCAAiC;QACjC,mEAAmE;QACnE,gEAAgE;QAChE,IAAA,0BAAM,EAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACpC,IAAA,0BAAM,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,6BAAQ,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAA,0BAAM,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,6BAAQ,CAAC,aAAa,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxC,IAAA,0BAAM,EAAC,CAAC,OAAO,IAAI,OAAO,YAAY,MAAM,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxC,IAAA,0BAAM,EAAC,OAAO,YAAY,qCAAa,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,QAAQ,CAAC,IAAI,EAAE;gBACX,UAAU,EAAE,oCAAW,CAAC,iBAAiB;aAC5C,CAAC,CAAC;YACH,OAAO;SACV;QACD,IAAA,0BAAM,EAAC,MAAM,YAAY,+CAAqB,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAEvE,+BAA+B;QAC/B,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,IAAI,0BAA0B,CAAC,CAAC;QAE3E,QAAQ,CAAC,IAAI,EAAE;YACX,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAKD;;;OAGG;IACI,UAAU;QACb,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,eAAe;QAClB,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,+CAAqB,CAAC,IAAI,EAAE,IAAI,0BAAM,EAAE,CAAC,CAAC;QAC9D,sEAAsE;QACtE,8DAA8D;QAC9D,2BAA2B;QAE3B,qFAAqF;QACrF,wDAAwD;QACxD,6EAA6E;QAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,IAAgB,EAAE,OAAgB,EAAE,EAAE;YACrE,IAAA,0BAAM,EAAC,IAAI,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,cAAc;QACjB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;IAEM,WAAW;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,+CAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC/C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,MAAyB;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAA,0BAAM,EAAC,CAAC,IAAA,8BAAU,EAAC,MAAM,CAAC,WAAW,EAAE,EAAE,0BAAM,CAAC,UAAU,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAC1F,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,uBAAuB;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,qBAA8B;QAClD,IAAA,0BAAM,EAAC,OAAO,qBAAqB,KAAK,SAAS,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,YAAY,IAAI,qBAAqB,EAAE;YACvC,OAAO,oCAAW,CAAC,0BAA0B,CAAC;SACjD;QACD,IAAI,CAAC,YAAY,IAAI,CAAC,qBAAqB,EAAE;YACzC,OAAO,oCAAW,CAAC,2BAA2B,CAAC;SAClD;QAED,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QACrD,8DAA8D;QAE9D,+GAA+G;QAC/G,yGAAyG;QAEzG,IAAI,CAAC,qBAAqB,EAAE;YACxB,4BAA4B;YAC5B,uFAAuF;YACvF,mFAAmF;YACnF,8DAA8D;YAC9D,8FAA8F;YAC9F,wCAAwC;YACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,CAAC;YAC5D,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEtC,2EAA2E;YAC3E,kCAAkC;YAClC,MAAM,UAAU,GAAG,oCAAW,CAAC,oBAAoB,CAAC;YAEpD,8BAA8B;YAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;SACxD;aAAM;YACH,iFAAiF;YACjF,sFAAsF;YACtF,wFAAwF;YACxF,2EAA2E;YAE3E,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAEtC,yBAAyB;YACzB,oCAAoC;YAEpC,sBAAsB;YACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE;gBACnE,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAC5D;YAED,yDAAyD;YACzD,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE;gBAClC,mBAAmB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;aACzD;YAED,IAAI,mBAAmB,KAAK,CAAC,EAAE;gBAC3B,8BAA8B;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;aACxD;SACJ;QACD,OAAO,oCAAW,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,qBAA8B;QACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,IAAU;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,IAAsB;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,IAAU;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,aAAa;QAChB,IAAA,0BAAM,EAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAA,0BAAM,EAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC;QAEjE,IAAA,0BAAM,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAA,0BAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,MAAM,CAAC,CAAC;QAErE,IAAA,0BAAM,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAA,0BAAM,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC;QAE1D,IAAA,0BAAM,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,UAAU,CAAC,CAAC;QAExE,IAAA,0BAAM,EAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,aAAa,CAAC,CAAC;QAChF,IAAA,0BAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,MAAM,CAAC,CAAC;QAErE,gDAAgD;QAChD,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,eAAe,CAAC,CAAC;IACtG,CAAC;IAED;;;OAGG;IACI,eAAe;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC;SACf;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,gDAAgD,CAAC,CAAC;QAC5E,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAA,0BAAM,EACF,IAAI,CAAC,SAAS,KAAK,iCAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,EAC5E,wEAAwE,CAC3E,CAAC;QACF,OAAO,IAA6B,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAC,MAAyB,EAAE,YAAqB;QACvE,IAAA,0BAAM,EAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;QACxD,IAAI,YAAY,EAAE;YACd,MAAM,CAAC,YAAY,EAAE,CAAC;SACzB;QAED,4DAA4D;QAC5D,0FAA0F;QAE1F,IAAA,0BAAM,EAAC,MAAM,YAAY,+CAAqB,CAAC,CAAC;QAEhD,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,0EAA0E;QAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE/C,IAAI,eAAe,EAAE;YACjB,MAAM,SAAS,GAAI,MAAgC,CAAC,mBAAmB,EAAE,CAAC;YAE1E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAE9B,IAAI,eAAe,YAAY,6BAAY,EAAE;gBACzC,qDAAqD;gBACrD,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aAC/C;iBAAM;gBACH,IAAA,0BAAM,EAAC,eAAe,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,CAAC,CAAC;gBACzD,eAAe;gBACf,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,EAAE,CAAC;gBACrD,IAAA,0BAAM,EAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAa,CAAC;gBACrC,IAAI,IAAI,YAAY,6BAAY,EAAE;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;iBACpC;aACJ;SACJ;aAAM;YACH,UAAU,CACN,qCAAqC,EACrC,IAAA,yCAAS,EAAC,IAAI,CAAC,EACf,kFAAkF,EAClF,uDAAuD,CAC1D,CAAC;SACL;QACD,4DAA4D;QAC5D,0FAA0F;IAC9F,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,aAAmC;QACxD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;SAC7E;QAED,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;QAEpC,aAAa,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;YACpF,CAAC,CAAC,aAAa,CAAC,QAAQ;YACxB,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC;QAEtC,kCAAkC;QAClC,kDAAkD;QAElD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,eAAe,CAAE,CAAC;QACpE,IAAA,0BAAM,EAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,6BAA6B;QAC7B,wBAAwB;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE3B,gDAAgD;QAChD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;YACzD,MAAM,CAAC,YAAY,CACf,IAAI,mCAAgB,CAAC;gBACjB,sBAAsB,EAAE,KAAK;gBAC7B,MAAM,EAAE,CAAC;aACZ,CAAC,CACL,CAAC;SACL;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE;YACzF,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SAC5C;QACD,qFAAqF;QACrF,yCAAyC;QAEzC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE;YACpG,IAAA,0BAAM,EAAC,QAAQ,CAAC,aAAa,CAAC,QAAS,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,QAAS,CAAC,CAAC;SAC/C;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,aAAa,CAAC,OAAO,KAAK,IAAI,EAAE;YAClG,IAAA,0BAAM,EAAC,aAAa,CAAC,OAAO,YAAY,mCAAU,CAAC,CAAC;YACpD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAC;SAC7C;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,EAAE;YAChG,IAAA,0BAAM,EAAC,OAAO,aAAa,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,MAAO,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,mBAAmB,CAAC,MAAyB;QAChD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,IAAA,8BAAU,EAAC,MAAM,CAAC,WAAW,EAAE,EAAE,0BAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE;YAC7E,0FAA0F;YAC1F,wBAAwB;YACxB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,uBAAuB;QAC1B,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE;YAC3B,QAAQ,CAAC,iCAAiC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO,CAAC,CAAC;SACZ;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,uFAAuF;IACvF,kBAAkB;IAClB,uFAAuF;IACvF;;;;;;OAMG;IACI,gCAAgC,CAAC,UAAkB,EAAE,gBAAwB,EAAE,OAA0B;QAC5G,IAAA,0BAAM,EAAC,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,YAAY,MAAM,CAAC,CAAC;QACxE,IAAA,0BAAM,EAAC,OAAO,YAAY,qCAAa,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;QAE3D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,sCAAsC;QACtC,uGAAuG;QACvG,MAAM,CAAC,UAAU,CAAC,gCAAgC,EAAE;YAChD,iBAAiB;YACjB,oCAAoC;YACpC,eAAe,EAAE;gBACb,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,GAAG;aACb;YACD,MAAM,EAAE;gBACJ,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,IAAI;aACd;YAED,QAAQ,EAAE;gBACN,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,EAAE;aACZ;YAED,iFAAiF;YACjF,kBAAkB,EAAE;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,EAAE;aACZ;YAED,mGAAmG;YACnG,0EAA0E;YAC1E,YAAY,EAAE;gBACV,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,EAAE;aACZ;YACD,UAAU,EAAE;gBACR,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,UAAU;aACpB;YAED,6BAA6B;YAC7B,QAAQ,EAAE;gBACN,QAAQ,EAAE,MAAM;aACnB;YAED,cAAc,EAAE;gBACZ,QAAQ,EAAE,MAAM;aACnB;YAED,iCAAiC;YACjC,gBAAgB,EAAE;gBACd,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,gBAAgB;aAC1B;YAED,OAAO,EAAE;gBACL,QAAQ,EAAE,eAAe;gBACzB,KAAK,EAAE,OAAO;aACjB;SACJ,CAAC,CAAC;QACH,OAAO;IACX,CAAC;IAES,qBAAqB,CAAC,OAAe;QAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,OAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YAC5D,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;SAC/B;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,MAAyB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAChB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACf;QACD,IAAA,0BAAM,EAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,0CAA0C,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,CAAC,YAAY;IAC7B,CAAC;IAES,8BAA8B;QACpC,IAAA,0BAAM,EAAC,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACvD,CAAC;;AA1jBL,0CA2jBC;AA1jBiB,+BAAe,GAAG,GAAG,AAAN,CAAO;AACtB,8BAAc,GAAG,IAAA,iCAAa,EAAC,eAAe,CAAC,AAAjC,CAAkC;AA2jBlE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,uBAAuB,CAC5B,SAAqB,EACrB,eAA8C,EAC9C,OAAoC,EACpC,IAAqC;IAErC,2CAA2C;IAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,YAAmC,CAAC;IAEnE,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAElE,0BAA0B;IAC1B,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,eAAe,CAAC,CAAC;KACzE;IAED,mEAAmE;IACnE,IAAA,0BAAM,EAAC,CAAC,aAAa,CAAC,UAAU,EAAE,2CAA2C,CAAC,CAAC;IAE/E,MAAM,sBAAsB,GAAG,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAC3E,0BAA0B;IAC1B,IAAI,CAAC,sBAAsB,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KACjD;IAED,IAAA,0BAAM,EAAC,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE1D,oDAAoD;IACpD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,+CAA+C,CAAC;IAE3F,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAE5C,wBAAwB;IACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEnC,EAAE;IACF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAClD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAElD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACtD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC/D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAA2B,CAAC;IACnF,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAChE,aAAa,CAAC,UAAU,EAAE,CAAC;IAE3B,IAAA,0BAAM,EACF,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAChE,iEAAiE,CACpE,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QACtB,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;KACjD;IACD,IAAI,OAAO,CAAC,WAAW,EAAE;QACrB,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,6BAA6B;QACnG,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAE,CAAC;QAErE,yFAAyF;QACzF,IAAA,0BAAM,EAAC,OAAO,CAAC,WAAW,CAAC,SAAS,KAAK,iCAAS,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,CAAC,CAAC;QAEnH,aAAa,CAAC,YAAY,CAAC;YACvB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,aAAa,EAAE,cAAc;SAChC,CAAC,CAAC;QACH,IAAA,0BAAM,EAAC,aAAa,CAAC,eAAe,EAAG,CAAC,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAClF;IAED,0CAA0C;IAC1C,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACvC,QAAQ,EAAE,6BAAQ,CAAC,MAAM;QACzB,KAAK,EAAE,aAAa,CAAC,MAAM;KAC9B,CAAC,CAAC;IAEH,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,2CAA2C;IAC3C,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtC,QAAQ,EAAE,6BAAQ,CAAC,MAAM;QACzB,KAAK,EAAE,IAAI,0BAAM,EAAE;KACtB,CAAC,CAAC;IAEH,uCAAuC;IACvC,gCAAgC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAExD,uCAAuC;IACvC,gCAAgC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACxD,yGAAyG;IAEzG,4CAA4C;IAC5C,gCAAgC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC7D,uFAAuF;IACvF,2FAA2F;IAE3F,2CAA2C;IAC3C;;;OAGG;IACH,kEAAkE;IAClE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,oBAAoB,EAAE;QAClD,SAAS,CAAC,WAAW,CAAC;YAClB,UAAU,EAAE,IAAI,qCAAa,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;YAClF,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,aAAa,CAAC,YAAY;SACzC,CAAC,CAAC;KACN;IACD,IAAA,2DAAmC,EAAC,aAAa,CAAC,YAAY,EAAE;QAC5D,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,SAAS;KACvB,CAAC,CAAC;IAEH,uCAAuC;IACvC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE1C,sCAAsC;IACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACrD,IAAA,0BAAM,EAAC,OAAO,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAI,4BAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,yEAAyE;QACzE,4EAA4E;QAE5E,0BAA0B;QAC1B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjG;QACD,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B;;;OAGG;IACH,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAEhD;;;OAGG;IACH,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAElD,sCAAsC;IACtC;;;OAGG;IACH,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEzD,IAAA,0BAAM,EAAC,aAAa,YAAY,eAAe,CAAC,CAAC;IAEjD,mCAAmC;IACnC,0CAA0C;IAC1C,kGAAkG;IAClG,wDAAwD;IACxD,kGAAkG;IAClG,4FAA4F;IAC5F,8FAA8F;IAC9F,mGAAmG;IACnG,gGAAgG;IAChG,iGAAiG;IACjG,qBAAqB;IAErB,IAAI,OAAO,CAAC,eAAe,EAAE;QACzB,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAE,CAAC;QAC7E,IAAI,OAAO,CAAC,eAAe,CAAC,SAAS,KAAK,iCAAS,CAAC,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,EAAE;YACpH,4BAA4B;YAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;SACpF;QAED,MAAM,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAa,CAAC;QAC9F,IAAI,mBAAmB,EAAE;YACrB,aAAa,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACxC,QAAQ,EAAE,6BAAQ,CAAC,MAAM;gBACzB,KAAK,EAAE,mBAAmB,CAAC,MAAM;aACpC,CAAC,CAAC;YAEH,iFAAiF;YACjF,yCAAyC;YACzC,+FAA+F;YAC/F,0FAA0F;YAC1F,mGAAmG;YACnG,iGAAiG;YACjG,8FAA8F;YAC9F,kEAAkE;YAClE,IAAI,CAAC,IAAA,8BAAU,EAAC,mBAAmB,CAAC,MAAM,EAAE,IAAA,gCAAY,EAAC,aAAa,CAAC,CAAC,EAAE;gBACtE,gBAAgB;gBAChB,0BAA0B;gBAC1B,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtD,QAAQ,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC9E,QAAQ,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC1E,MAAM,IAAI,KAAK,CACX,8CAA8C;wBAC1C,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE;wBACzC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAC5C,CAAC;iBACL;aACJ;YAED,+CAA+C;YAC/C,aAAa,CAAC,UAAU,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,EAAE,oCAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YAEhH,+CAA+C;YAC/C,MAAM,WAAW,GAAkB,mBAAmB,CAAC,aAAa,CAAC,IAAI,EAAE,oCAAY,CAAC,WAAW,CAAC,CAAC,KAAK;iBACrG,KAAsB,CAAC;YAC5B,aAAa,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;SACvG;KACJ;IAED,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACvC,QAAQ,EAAE,6BAAQ,CAAC,MAAM;QACzB,KAAK,EAAE,aAAa,CAAC,MAAM;KAC9B,CAAC,CAAC;IACH,eAAe;IAEf;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,sBAAsB,GAAG,YAAY,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;IACxF,2FAA2F;IAC3F,IAAI,gBAAgB,GAAG,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,0BAAM,EAAE,CAAC;IAC7F,IAAI,kBAAkB,GAAG,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,IAAI,OAAO,CAAC,cAAc,EAAE;QACxB,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE;YAC5C,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;aAC5E;SACJ;QACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5E,IAAI,CAAC,kBAAkB,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvF;QACD,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAC7C,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAC1D;IAED,aAAa,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;QAC9C,QAAQ,EAAE,6BAAQ,CAAC,MAAM;QACzB,KAAK,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,eAAe;IACf,2EAA2E;IAC3E,aAAa,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;QAChD,QAAQ,EAAE,6BAAQ,CAAC,aAAa;QAChC,KAAK,EAAE,IAAA,2CAAmB,EAAC,kBAAkB,CAAC;KACjD,CAAC,CAAC;IAEH,eAAe;IACf;;;;;;;;;;;OAWG;IACH,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,sBAAsB,CAAC;IACtE,IAAA,0BAAM,EAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC;IAC1C,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC;QAC3C,QAAQ,EAAE,6BAAQ,CAAC,MAAM;QACzB,KAAK,EAAE,aAAa;KACvB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,WAAW,GAAG,aAAa,CAAC,sBAAsB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAChF,IAAI,WAAW,CAAC,MAAM,EAAE;QACpB,IAAA,0BAAM,EAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACjC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;KACrE;IAED,aAAa,CAAC,eAAe,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;IAC9C,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,OAAO,CAAC,UAAU,CAAC,oCAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,YAAY,CAChB,IAAI,mCAAgB,CAAC;QACjB,sBAAsB,EAAE,KAAK;QAC7B,MAAM,EAAE,CAAC;KACZ,CAAC,CACL,CAAC;IACF,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEvB,OAAO,CAAC,cAAc,CAAC,gCAAO,CAAC,CAAC;IAChC,OAAO,CAAC,OAAO,CAAC,gCAAO,CAAC,CAAC;IAEzB,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,eAAe,CAAC,cAA6B,EAAE,OAAwB,EAAE,QAA4C;IAC1H,IAAA,0BAAM,EAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAEpC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IACrC,IAAA,0BAAM,EAAC,aAAa,CAAC,CAAC;IAEtB,uBAAuB;IACvB,IAAI,CAAC,CAAC,aAAa,YAAY,eAAe,CAAC,EAAE;QAC7C,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,CAAC,CAAC;QAC9E,OAAO,QAAQ,CAAC,IAAI,EAAE;YAClB,UAAU,EAAE,oCAAW,CAAC,gBAAgB;SAC3C,CAAC,CAAC;KACN;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC,IAAI,EAAE;QAClB,UAAU;KACb,CAAC,CAAC;AACP,CAAC;AAED,SAAS,cAAc,CAAC,cAA6B,EAAE,OAAwB,EAAE,QAA4C;IACzH,IAAA,0BAAM,EAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IACrC,IAAA,0BAAM,EAAC,aAAa,CAAC,CAAC;IAEtB,IAAI,CAAC,CAAC,aAAa,YAAY,eAAe,CAAC,EAAE;QAC7C,OAAO,QAAQ,CAAC,IAAI,EAAE;YAClB,UAAU,EAAE,oCAAW,CAAC,gBAAgB;SAC3C,CAAC,CAAC;KACN;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,IAAI,EAAE;QAClB,UAAU;KACb,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB,CAC9B,cAA6B,EAC7B,OAAwB,EACxB,QAA4C;IAE5C,uCAAuC;IACvC,IAAA,0BAAM,EAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAO,CAAC,YAAmC,CAAC;IACzE,IAAI,OAAO,EAAE;QACT,QAAQ,CAAC,eAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3G;IACD,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/C,IAAI,UAAU,GAAG,+BAA+B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE;QACxB,OAAO,UAAU,CAAC;KACrB;IAED,UAAU,GAAG,0BAA0B,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC/E,OAAO,QAAQ,CAAC,IAAI,EAAE;QAClB,UAAU;KACb,CAAC,CAAC;AACP,CAAC;AAED,SAAS,0BAA0B,CAAC,YAAiC,EAAE,cAA6B,EAAE,OAAwB;IAC1H,4BAA4B;IAC5B,EAAE;IACF,gFAAgF;IAChF,kFAAkF;IAClF,qFAAqF;IACrF,wDAAwD;IACxD,EAAE;IAEF,uBAAuB;IACvB,IAAI,YAAY,CAAC,8BAA8B,EAAE;QAC7C,iDAAiD;QACjD,OAAO,oCAAW,CAAC,oBAAoB,CAAC;KAC3C;IAED,YAAY,CAAC,8BAA8B,GAAG,IAAI,CAAC;IAEnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAO,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;IACtE,MAAM,qBAAqB,GAAG,YAAY,CAAC,aAAa,CAAC,uBAAuB,CAAE,CAAC;IACnF,MAAM,mBAAmB,GAAG,YAAY,CAAC,aAAa,CAAC,qBAAqB,CAAE,CAAC;IAE/E,MAAM,CAAC,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC7C,oCAAoC;IAEpC,MAAM,OAAO,GAAG,MAAsD,CAAC;IACvE,iCAAiC;IACjC,uDAAuD;IACvD,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAE5B,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAE3C,YAAY,CAAC,8BAA8B,GAAG,KAAK,CAAC;IAEpD,OAAO,oCAAW,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED,SAAS,0BAA0B,CAC/B,cAA6B,EAC7B,OAAwB,EACxB,QAA4C;IAE5C,uCAAuC;IACvC,wCAAwC;IACxC,IAAA,0BAAM,EAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACxD;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAmC,CAAC;IAExE,uBAAuB;IACvB,IAAI,OAAO,EAAE;QACT,QAAQ,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC;KACtE;IAED,mDAAmD;IACnD,oDAAoD;IAEpD,MAAM,UAAU,GAAG,0BAA0B,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACrF,OAAO,QAAQ,CAAC,IAAI,EAAE;QAClB,UAAU;KACb,CAAC,CAAC;AACP,CAAC;AAED,SAAS,mBAAmB,CACxB,cAA6B,EAC7B,OAAwB,EACxB,QAA4C;IAE5C,EAAE;IACF,sFAAsF;IACtF,8FAA8F;IAC9F,wFAAwF;IACxF,8FAA8F;IAC9F,mFAAmF;IACnF,sBAAsB;IACtB,YAAY;IACZ,mGAAmG;IACnG,yBAAyB;IACzB,+DAA+D;IAC/D,EAAE;IACF,uDAAuD;IACvD,EAAE;IACF,eAAe,CAAC,qBAAqB,CACjC,cAAc,EACd,OAAO,EACP,QAAQ,EACR,CAAC,gBAA4B,EAAE,OAAsB,EAAE,MAAyB,EAAE,aAA8B,EAAE,EAAE;QAChH,IAAA,0BAAM,EAAC,cAAc,YAAY,KAAK,CAAC,CAAC;QACxC,IAAA,0BAAM,EAAC,gBAAgB,YAAY,MAAM,IAAI,gBAAgB,KAAK,IAAI,CAAC,CAAC;QACxE,IAAA,0BAAM,EAAC,MAAM,YAAY,+CAAqB,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE3B,MAAM,UAAU,GAAG,mBAAmB,CAAC;QAEvC,aAAa,CAAC,gCAAgC,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAEtF,kBAAkB;QAClB,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhD;;;;;;WAMG;QACH,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpE,OAAO,oCAAW,CAAC,IAAI,CAAC;IAC5B,CAAC,CACJ,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,EAAiB,EAAE,EAAiB;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;QACZ,OAAO,IAAI,CAAC;KACf;IACD,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACX,OAAO,KAAK,CAAC;KAChB;IACD,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE;QACX,OAAO,KAAK,CAAC;KAChB;IACD,IAAA,0BAAM,EAAC,EAAE,YAAY,MAAM,CAAC,CAAC;IAC7B,IAAA,0BAAM,EAAC,EAAE,YAAY,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAG,CAAC,MAAM,KAAK,EAAG,CAAC,MAAM,EAAE;QAC3B,OAAO,KAAK,CAAC;KAChB;IACD;;;;MAIE;IACF,MAAM,CAAC,GAAG,EAAG,CAAC,MAAM,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,EAAG,CAAC,CAAC,CAAC,KAAK,EAAG,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB;IAC1B,OAAO,IAAA,8BAAU,EAAC,IAAA,mCAAU,GAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,uBAAuB,CAA2D,SAAoB,CAAC,gBAAgB;IAC5H,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;QACpC,QAAQ,EAAE,6BAAQ,CAAC,QAAQ;QAC3B,KAAK,EAAE,SAAS,CAAC,eAAe;KACnC,CAAC,CAAC;AACP,CAAC;AAED,4BAA4B;AAC5B,SAAS,gCAAgC,CAAyB,IAAgC;IAC9F,2CAA2C;IAC3C,oFAAoF;IACpF,mFAAmF;IACnF,IAAI,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,IAAA,2CAAmB,EAAC,aAAa,CAAC,CAAC;KACzE;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;KAChF;IACD,IAAI,CAAC,WAAW,GAAG,IAAA,2CAAmB,EAAC,aAAa,CAAC,CAAC;IAEtD,2CAA2C;IAC3C,kEAAkE;IAClE,gGAAgG;IAChG,8FAA8F;IAC9F,uDAAuD;IAEvD,IAAA,0BAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,uBAAuB,CAAC,CAAC;IACjF,IAAA,0BAAM,EAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,iBAAiB,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,IAAc,EAAE,GAAW;IACjD,IAAI,GAAG,GAAG,IAAW,CAAC;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;QACtB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvF;QACD,GAAG,GAAI,GAAW,CAAC,CAAC,CAAC,CAAC;KACzB;IACD,OAAO,GAAqB,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,+BAA+B,CAAC,cAAsB,EAAE,OAAwB;IACrF,qGAAqG;IACrG,OAAO,oCAAW,CAAC,IAAI,CAAC;AAC5B,CAAC"}
@@ -67,7 +67,7 @@ export declare function UAObject_toString(this: UAObject, options: ToStringOptio
67
67
  export declare function UAObjectType_toString(this: UAObjectType, options: ToStringOption): void;
68
68
  export declare function valueRankToString(valueRank: number): string;
69
69
  export declare function VariableOrVariableType_toString(this: UAVariableType | UAVariable, options: ToStringOption): void;
70
- export declare function _clone_hierarchical_references(node: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType, newParent: UAObject | UAVariable | UAMethod, copyAlsoModellingRules: boolean, optionalFilter: CloneFilter, extraInfo: CloneExtraInfo, browseNameMap: Set<string>): void;
70
+ export declare function _clone_hierarchical_references(nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType, newParent: UAObject | UAVariable | UAMethod, copyAlsoModellingRules: boolean, optionalFilter: CloneFilter, extraInfo: CloneExtraInfo, browseNameMap: Set<string>): void;
71
71
  export declare function _clone_non_hierarchical_references(nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType, newParent: BaseNode, copyAlsoModellingRules: boolean, optionalFilter: CloneFilter, extraInfo: CloneExtraInfo, browseNameMap: Set<string>): void;
72
72
  /**
73
73
  * @method _clone
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BaseNode_add_backward_reference = exports.BaseNode_remove_backward_reference = exports._constructReferenceDescription = exports._handle_HierarchicalReference = exports._clone = exports._clone_non_hierarchical_references = exports._clone_hierarchical_references = exports.VariableOrVariableType_toString = exports.valueRankToString = exports.UAObjectType_toString = exports.UAObject_toString = exports.UAVariable_toString = exports.UAVariableType_toString = exports.BaseNode_References_toString = exports.BaseNode_toString = exports.ToStringBuilder = exports.BaseNode_clearCache = exports.BaseNode_getCache = exports.BaseNode_getPrivate = exports.BaseNode_removePrivate = exports.BaseNode_initPrivate = void 0;
7
+ /* eslint-disable complexity */
8
+ /* eslint-disable max-statements */
7
9
  /**
8
10
  * @module node-opcua-address-space.Private
9
11
  */
@@ -134,7 +136,7 @@ function BaseNode_References_toString(options) {
134
136
  }
135
137
  const o = reference_impl_1.ReferenceImpl.resolveReferenceNode(addressSpace, reference);
136
138
  if (!o) {
137
- warningLog("cannot find referece", reference.toString());
139
+ warningLog("cannot find reference", reference.toString());
138
140
  return;
139
141
  }
140
142
  const name = o.browseName.toString();
@@ -345,7 +347,7 @@ exports.VariableOrVariableType_toString = VariableOrVariableType_toString;
345
347
  *
346
348
  * MyDeriveType ------------------- -> MyBaseType --------------> TopologyElementType
347
349
  * | | |
348
- * +- ParamaterSet +-> ParameterSet +-> ParamaterSet
350
+ * +- ParameterSet +-> ParameterSet +-> ParameterSet
349
351
  * | |
350
352
  * +- Foo1 |
351
353
  * +- Bar
@@ -360,7 +362,7 @@ exports.VariableOrVariableType_toString = VariableOrVariableType_toString;
360
362
  * @param browseNameMap
361
363
  * @returns
362
364
  */
363
- function _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap) {
365
+ function _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModellingRules, optionalFilter, extraInfo) {
364
366
  /**
365
367
  * the type definition node of the node to clone
366
368
  */
@@ -369,8 +371,9 @@ function _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModel
369
371
  : null;
370
372
  if (!nodeToCloneTypeDefinition)
371
373
  return;
374
+ // istanbul ignore next
372
375
  doTrace &&
373
- traceLog(extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.pad(), chalk_1.default.green("-------------------- now cloning children on template ", node.browseName.toString(), node.nodeId.toString(), nodeToCloneTypeDefinition.browseName.toString()));
376
+ traceLog(extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.pad(), chalk_1.default.gray("-------------------- now cloning children on template ", node.browseName.toString(), node.nodeId.toString(), nodeToCloneTypeDefinition.browseName.toString()));
374
377
  const namespace = newParent.namespace;
375
378
  /**
376
379
  * the child node of the new parent that match the node to clone or enrich
@@ -384,6 +387,7 @@ function _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModel
384
387
  // exist also in the template
385
388
  let typeDefinitionNode = nodeToCloneTypeDefinition;
386
389
  while (typeDefinitionNode) {
390
+ // istanbul ignore next
387
391
  doTrace &&
388
392
  traceLog(extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.pad(), chalk_1.default.green("-------------------- now cloning children on ", newParentChild.browseName.toString(), newParentChild.nodeId.toString(), " (child of ", node.browseName.toString(), node.nodeId.toString(), ") from ", typeDefinitionNode.browseName.toString()));
389
393
  const typeDefinitionChild = typeDefinitionNode.getChildByName(node.browseName);
@@ -397,6 +401,7 @@ function _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModel
397
401
  const hasAlready = newParentChild.getChildByName(grandChild.browseName) !== null;
398
402
  if (!hasAlready) {
399
403
  if (optionalFilter && node && !optionalFilter.shouldKeep(node)) {
404
+ // istanbul ignore next
400
405
  doTrace &&
401
406
  traceLog(extraInfo.pad(), "skipping optional ", node.browseName.toString(), "that doesn't appear in the filter");
402
407
  continue; // skip this node
@@ -412,7 +417,11 @@ function _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModel
412
417
  ],
413
418
  copyAlsoModellingRules
414
419
  };
415
- const alreadyCloned = extraInfo.getCloned(grandChild);
420
+ const alreadyCloned = extraInfo.getCloned({
421
+ originalParent: nodeToClone,
422
+ clonedParent: newParent,
423
+ originalNode: grandChild
424
+ });
416
425
  if (alreadyCloned) {
417
426
  alreadyCloned.addReference({
418
427
  referenceType: ref.referenceType,
@@ -422,7 +431,10 @@ function _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModel
422
431
  }
423
432
  else {
424
433
  const clonedGrandChild = grandChild.clone(options, optionalFilter, extraInfo);
425
- extraInfo.registerClonedObject(clonedGrandChild, grandChild);
434
+ extraInfo.registerClonedObject({
435
+ originalNode: grandChild,
436
+ clonedNode: clonedGrandChild
437
+ });
426
438
  }
427
439
  }
428
440
  }
@@ -430,7 +442,7 @@ function _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModel
430
442
  typeDefinitionNode = typeDefinitionNode.subtypeOfObj;
431
443
  }
432
444
  }
433
- /**
445
+ /*
434
446
  * clone properties and methods
435
447
  * @private
436
448
  */
@@ -448,21 +460,29 @@ function _clone_collection_new(nodeToClone, newParent, collectionRef, copyAlsoMo
448
460
  if (typeof node.clone !== "function") {
449
461
  // tslint:disable-next-line:no-console
450
462
  warningLog(chalk_1.default.red("Warning : cannot clone node ") +
451
- node.browseName.toString() +
463
+ (0, node_opcua_address_space_base_1.fullPath2)(node) +
452
464
  " of class " +
453
465
  node_opcua_data_model_1.NodeClass[node.nodeClass].toString() +
454
466
  " while cloning " +
455
- newParent.browseName.toString());
467
+ (0, node_opcua_address_space_base_1.fullPath2)(newParent));
456
468
  continue;
457
469
  }
470
+ if (node && !node.modellingRule) {
471
+ // istanbul ignore next
472
+ doTrace && traceLog(extraInfo.pad(), "skipping with no modelling rule", (0, node_opcua_address_space_base_1.fullPath2)(node));
473
+ // those node stays in the Type
474
+ continue; // skip this node
475
+ }
458
476
  if (optionalFilter && node && !optionalFilter.shouldKeep(node)) {
459
- doTrace &&
460
- traceLog(extraInfo.pad(), "skipping optional ", node.browseName.toString(), "that doesn't appear in the filter");
477
+ // istanbul ignore next
478
+ doTrace && traceLog(extraInfo.pad(), "skipping optional that doesn't appear in the filter", (0, node_opcua_address_space_base_1.fullPath2)(node));
461
479
  continue; // skip this node
462
480
  }
463
- const key = node.browseName.toString();
481
+ const key = newParent.nodeId.toString() + "(" + newParent.browseName.toString() + ")" + "/" + node.browseName.toString();
464
482
  if (browseNameMap === null || browseNameMap === void 0 ? void 0 : browseNameMap.has(key)) {
465
- _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
483
+ _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModellingRules, optionalFilter, extraInfo);
484
+ doTrace &&
485
+ traceLog(extraInfo.pad(), "skipping required node with same browseName", (0, node_opcua_address_space_base_1.fullPath2)(node), "because it has already been cloned", "key=", key);
466
486
  continue; // skipping node with same browseName
467
487
  }
468
488
  browseNameMap === null || browseNameMap === void 0 ? void 0 : browseNameMap.add(key);
@@ -473,11 +493,11 @@ function _clone_collection_new(nodeToClone, newParent, collectionRef, copyAlsoMo
473
493
  references: [new reference_impl_1.ReferenceImpl({ referenceType: reference.referenceType, isForward: false, nodeId: newParent.nodeId })],
474
494
  copyAlsoModellingRules
475
495
  };
476
- const alreadyCloned = extraInfo.getCloned(node);
496
+ const alreadyCloned = extraInfo.getCloned({ originalParent: nodeToClone, clonedParent: newParent, originalNode: node });
477
497
  if (alreadyCloned) {
478
- // instabul ignore next
498
+ // istanbul ignore next
479
499
  doTrace &&
480
- traceLog(extraInfo.pad(), "node ", node.browseName.toString(), node.nodeId.toString(), "already cloned as", alreadyCloned.nodeId.toString());
500
+ traceLog(extraInfo.pad(), "node ", (0, node_opcua_address_space_base_1.fullPath2)(node), "already cloned as", (0, node_opcua_address_space_base_1.fullPath2)(alreadyCloned), "\nnode to clone =", (0, node_opcua_address_space_base_1.fullPath2)(nodeToClone), "\nnew parent =", (0, node_opcua_address_space_base_1.fullPath2)(newParent));
481
501
  const hasReference = alreadyCloned.findReferencesExAsObject(reference.referenceType, node_opcua_data_model_1.BrowseDirection.Inverse).length > 0;
482
502
  if (!hasReference) {
483
503
  alreadyCloned.addReference({
@@ -487,22 +507,22 @@ function _clone_collection_new(nodeToClone, newParent, collectionRef, copyAlsoMo
487
507
  });
488
508
  }
489
509
  else {
490
- doTrace &&
491
- traceLog(extraInfo.pad(), "reference to node ", alreadyCloned.browseName.toString(), alreadyCloned.nodeId.toString(), " already exists !");
510
+ // istanbul ignore next
511
+ doTrace && traceLog(extraInfo.pad(), "reference to node ", (0, node_opcua_address_space_base_1.fullPath2)(alreadyCloned), " already exists !");
492
512
  }
493
513
  }
494
514
  else {
515
+ // istanbul ignore next
495
516
  doTrace &&
496
- traceLog(extraInfo.pad(), "cloning => ", reference.referenceType.toString({ addressSpace }), "=>", node.browseName.toString(), node.nodeId.toString(), chalk_1.default.magentaBright((_a = node.typeDefinitionObj) === null || _a === void 0 ? void 0 : _a.browseName.toString()));
517
+ traceLog(extraInfo.pad(), "cloning => ", reference.referenceType.toString({ addressSpace }), "=>", (0, node_opcua_address_space_base_1.fullPath2)(node), chalk_1.default.magentaBright((_a = node.typeDefinitionObj) === null || _a === void 0 ? void 0 : _a.browseName.toString()));
497
518
  extraInfo.level += 1;
498
519
  const clonedNode = node.clone(options, optionalFilter, extraInfo);
499
- (0, node_opcua_assert_1.assert)(extraInfo.getCloned(node));
500
520
  extraInfo.level -= 1;
501
- // instabul ignore next
521
+ // istanbul ignore next
502
522
  doTrace &&
503
- traceLog(extraInfo.pad(), "cloned => ", node.browseName.toString(), "", extraInfo.pad(), " original nodeId", node.nodeId.toString(), "", extraInfo.pad(), " cloned nodeId", clonedNode.nodeId.toString(), "");
523
+ traceLog(extraInfo.pad(), "cloned => ", (0, node_opcua_address_space_base_1.fullPath2)(node), "", extraInfo.pad(), " original nodeId", node.nodeId.toString(), "", extraInfo.pad(), " cloned nodeId", clonedNode.nodeId.toString(), (0, node_opcua_address_space_base_1.fullPath2)(clonedNode) + "");
504
524
  extraInfo.level++;
505
- _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
525
+ _clone_children_on_template(nodeToClone, newParent, node, copyAlsoModellingRules, optionalFilter, extraInfo);
506
526
  extraInfo.level--;
507
527
  // also clone or instantiate interface members that may be required in the optionals
508
528
  extraInfo.level++;
@@ -541,6 +561,7 @@ function _extractInterfaces2(typeDefinitionNode, extraInfo) {
541
561
  const interfaces = interfacesRef.map((r) => addressSpace.findNode(r.nodeId));
542
562
  const baseInterfaces = [];
543
563
  for (const iface of interfaces) {
564
+ // istanbul ignore next
544
565
  doTrace &&
545
566
  traceLog(extraInfo.pad(), typeDefinitionNode.browseName.toString(), " - has interface -> ", iface.browseName.toString());
546
567
  baseInterfaces.push(iface);
@@ -552,61 +573,22 @@ function _extractInterfaces2(typeDefinitionNode, extraInfo) {
552
573
  }
553
574
  interfaces.push(...baseInterfaces);
554
575
  if (typeDefinitionNode.subtypeOfObj) {
576
+ // istanbul ignore next
555
577
  doTrace &&
556
- traceLog(extraInfo.pad(), typeDefinitionNode.browseName.toString(), " - subtypef -> ", typeDefinitionNode.subtypeOfObj.browseName.toString());
578
+ traceLog(extraInfo.pad(), typeDefinitionNode.browseName.toString(), " - subtypeOf -> ", typeDefinitionNode.subtypeOfObj.browseName.toString());
557
579
  extraInfo.level++;
558
580
  interfaces.push(..._extractInterfaces2(typeDefinitionNode.subtypeOfObj, extraInfo));
559
581
  extraInfo.level--;
560
582
  }
561
- const dedupedInterfaces = [...new Set(interfaces)];
583
+ const deduplicatedInterfaces = [...new Set(interfaces)];
584
+ // istanbul ignore next
562
585
  doTrace &&
563
- dedupedInterfaces.length &&
564
- traceLog(extraInfo.pad(), chalk_1.default.yellow("Interface for ", typeDefinitionNode.browseName.toString()), "=", dedupedInterfaces.map((x) => x.browseName.toString()).join(" "));
565
- return dedupedInterfaces;
566
- }
567
- /*
568
-
569
- // also find all related interfaces
570
- if (false && typeDefinitionNode) {
571
- dotrace && tracelog("typeDefinitionNode = ", typeDefinitionNode.browseName.toString());
572
- const interfaces = _extractInterfaces(typeDefinitionNode);
573
- for (const interfaceNode of interfaces) {
574
- dotrace && tracelog(" adding member of interface ", interfaceNode.browseName.toString());
575
- const fromInterface = interfaceNode.findReferencesEx("Aggregates", BrowseDirection.Forward);
576
- dotrace && tracelog(
577
- " B ",
578
- fromInterface.map((r) => r.toString({ addressSpace }) + " " + r.node!.browseName.toString()).join("\n")
579
- );
580
- add(fromInterface);
581
- }
582
- }
583
- */
584
- function _crap_extractInterfaces(typeDefinitionNode, extraInfo) {
585
- if (typeDefinitionNode.nodeId.namespace === 0 &&
586
- (typeDefinitionNode.nodeId.value === node_opcua_constants_1.ObjectTypeIds.BaseObjectType ||
587
- typeDefinitionNode.nodeId.value === node_opcua_constants_1.VariableTypeIds.BaseVariableType)) {
588
- return [];
589
- }
590
- const addressSpace = typeDefinitionNode.addressSpace;
591
- // example:
592
- // FolderType
593
- // (di):FunctionalGroupType
594
- // MachineryItemIdentificationType : IMachineryItemVendorNameplateType
595
- // MachineIdentificationType : IMachineTagNameplateType, IMachineVendorNamePlateType
596
- // MachineToolIdentificationType
597
- //
598
- //
599
- // IMachineTagNameplateType -subtypeOf-> ITagNameplateType
600
- // IMachineVendorNamePlateType -subtypeOf-> IMachineryItemVendorNamePlateType
601
- // IMachineryItemVendorNamePlateType -subtypeOf-> IVendorNameplateType
602
- const interfacesRef = typeDefinitionNode.findReferencesEx("HasInterface", node_opcua_data_model_1.BrowseDirection.Forward);
603
- const interfaces = interfacesRef.map((r) => r.node);
604
- for (const iface of interfaces) {
605
- doTrace && traceLog(extraInfo.pad(), " interface ", iface.browseName.toString());
606
- }
607
- return interfaces;
586
+ deduplicatedInterfaces.length &&
587
+ traceLog(extraInfo.pad(), chalk_1.default.yellow("Interface for ", typeDefinitionNode.browseName.toString()), "=", deduplicatedInterfaces.map((x) => x.browseName.toString()).join(" "));
588
+ return deduplicatedInterfaces;
608
589
  }
609
590
  function _cloneInterface(nodeToClone, newParent, node, optionalFilter, extraInfo, browseNameMap) {
591
+ // istanbul ignore next
610
592
  doTrace &&
611
593
  traceLog(extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.pad(), chalk_1.default.green("-------------------- now cloning interfaces of ", node.browseName.toString(), node.nodeId.toString()));
612
594
  extraInfo = extraInfo || new node_opcua_address_space_base_1.CloneHelper();
@@ -620,33 +602,42 @@ function _cloneInterface(nodeToClone, newParent, node, optionalFilter, extraInfo
620
602
  }
621
603
  const interfaces = _extractInterfaces2(typeDefinitionNode, extraInfo);
622
604
  if (interfaces.length === 0) {
605
+ // istanbul ignore next
623
606
  doTrace &&
624
607
  false &&
625
608
  traceLog(extraInfo.pad(), chalk_1.default.yellow("No interface for ", node.browseName.toString(), node.nodeId.toString()));
626
609
  return;
627
610
  }
611
+ // istanbul ignore next
628
612
  doTrace && traceLog(extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.pad(), chalk_1.default.green("-------------------- interfaces are ", interfaces.length));
629
613
  const localFilter = optionalFilter.filterFor(node);
630
614
  for (const iface of interfaces) {
631
615
  const aggregates = iface.findReferencesEx("Aggregates", node_opcua_data_model_1.BrowseDirection.Forward);
616
+ if (aggregates.length === 0)
617
+ continue;
618
+ // istanbul ignore next
632
619
  doTrace &&
633
620
  traceLog(extraInfo.pad(), chalk_1.default.magentaBright(" interface ", iface.browseName.toString()), "\n" + (extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.pad()), aggregates.map((r) => r.toString({ addressSpace })).join("\n" + (extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.pad())));
634
621
  _clone_collection_new(nodeToClone, node, aggregates, false, localFilter, extraInfo, browseNameMap);
635
622
  }
636
623
  }
637
- function __clone_organizes_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap) {
624
+ function __clone_organizes_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap) {
638
625
  // find all references that derives from the Organizes
639
- const organizedRef = node.findReferencesEx("Organizes", node_opcua_data_model_1.BrowseDirection.Forward);
640
- _clone_collection_new(node, newParent, organizedRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
626
+ const organizedRef = nodeToClone.findReferencesEx("Organizes", node_opcua_data_model_1.BrowseDirection.Forward);
627
+ if (organizedRef.length === 0)
628
+ return;
629
+ _clone_collection_new(nodeToClone, newParent, organizedRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
641
630
  }
642
- function __clone_children_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap) {
631
+ function __clone_children_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap) {
643
632
  // find all references that derives from the Aggregates
644
- const aggregatesRef = node.findReferencesEx("Aggregates", node_opcua_data_model_1.BrowseDirection.Forward);
645
- _clone_collection_new(node, newParent, aggregatesRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
633
+ const aggregatesRef = nodeToClone.findReferencesEx("Aggregates", node_opcua_data_model_1.BrowseDirection.Forward);
634
+ if (aggregatesRef.length === 0)
635
+ return;
636
+ _clone_collection_new(nodeToClone, newParent, aggregatesRef, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
646
637
  }
647
- function _clone_hierarchical_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap) {
648
- __clone_children_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
649
- __clone_organizes_references(node, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
638
+ function _clone_hierarchical_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap) {
639
+ __clone_children_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
640
+ __clone_organizes_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
650
641
  }
651
642
  exports._clone_hierarchical_references = _clone_hierarchical_references;
652
643
  function _clone_non_hierarchical_references(nodeToClone, newParent, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap) {
@@ -657,6 +648,8 @@ function _clone_non_hierarchical_references(nodeToClone, newParent, copyAlsoMode
657
648
  (0, node_opcua_assert_1.assert)(newParent instanceof base_node_impl_1.BaseNodeImpl);
658
649
  // find all reference that derives from the HasSubStateMachine
659
650
  const references = nodeToClone.findReferencesEx("HasSubStateMachine", node_opcua_data_model_1.BrowseDirection.Forward);
651
+ if (references.length === 0)
652
+ return;
660
653
  _clone_collection_new(nodeToClone, newParent, references, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
661
654
  }
662
655
  exports._clone_non_hierarchical_references = _clone_non_hierarchical_references;
@@ -669,7 +662,6 @@ function _clone(originalNode, Constructor, options, optionalFilter, extraInfo) {
669
662
  (0, node_opcua_assert_1.assert)(options !== null && typeof options === "object");
670
663
  (0, node_opcua_assert_1.assert)(!extraInfo || (extraInfo !== null && typeof extraInfo === "object" && typeof extraInfo.registerClonedObject === "function"));
671
664
  (0, node_opcua_assert_1.assert)(!originalNode.subtypeOf, "We do not do cloning of Type yet");
672
- (0, node_opcua_assert_1.assert)(!extraInfo.getCloned(originalNode), "object has already been cloned");
673
665
  const namespace = options.namespace;
674
666
  const constructorOptions = Object.assign(Object.assign({}, options), { addressSpace: namespace.addressSpace, browseName: originalNode.browseName, description: originalNode.description, displayName: originalNode.displayName, nodeClass: originalNode.nodeClass });
675
667
  constructorOptions.references = options.references || [];
@@ -701,7 +693,10 @@ function _clone(originalNode, Constructor, options, optionalFilter, extraInfo) {
701
693
  (0, node_opcua_assert_1.assert)(constructorOptions.nodeId instanceof node_opcua_nodeid_1.NodeId);
702
694
  const clonedNode = new Constructor(constructorOptions);
703
695
  originalNode.addressSpace._register(clonedNode);
704
- extraInfo.registerClonedObject(clonedNode, originalNode);
696
+ extraInfo.registerClonedObject({
697
+ originalNode,
698
+ clonedNode
699
+ });
705
700
  if (!options.ignoreChildren) {
706
701
  // clone children and the rest ....
707
702
  options.copyAlsoModellingRules = options.copyAlsoModellingRules || false;
@@ -710,12 +705,18 @@ function _clone(originalNode, Constructor, options, optionalFilter, extraInfo) {
710
705
  _clone_hierarchical_references(originalNode, clonedNode, options.copyAlsoModellingRules, newFilter, extraInfo, browseNameMap);
711
706
  if (originalNode.nodeClass === node_opcua_data_model_1.NodeClass.Object || originalNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
712
707
  let typeDefinitionNode = originalNode.typeDefinitionObj;
708
+ extraInfo.pushContext({
709
+ clonedParent: clonedNode,
710
+ originalParent: originalNode
711
+ });
713
712
  while (typeDefinitionNode) {
713
+ // istanbul ignore next
714
714
  doTrace &&
715
715
  traceLog(extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.pad(), chalk_1.default.blueBright(originalNode.browseName.toString(), "-----> Exploring ", typeDefinitionNode.browseName.toString()));
716
716
  _clone_hierarchical_references(typeDefinitionNode, clonedNode, options.copyAlsoModellingRules, newFilter, extraInfo, browseNameMap);
717
717
  typeDefinitionNode = typeDefinitionNode.subtypeOfObj;
718
718
  }
719
+ extraInfo.popContext();
719
720
  }
720
721
  _clone_non_hierarchical_references(originalNode, clonedNode, options.copyAlsoModellingRules, newFilter, extraInfo, browseNameMap);
721
722
  }
@@ -752,7 +753,6 @@ function _remove_HierarchicalReference(node, reference) {
752
753
  if (referenceType.isSubtypeOf(HierarchicalReferencesType)) {
753
754
  (0, node_opcua_assert_1.assert)(reference.isForward);
754
755
  const targetNode = reference_impl_1.ReferenceImpl.resolveReferenceNode(addressSpace, reference);
755
- // Xx dotrace && tracelog(" adding object to map");
756
756
  delete _cache._childByNameMap[targetNode.browseName.name.toString()];
757
757
  }
758
758
  }