@genexus/genexus-ide-ui 1.0.6 → 1.0.8

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 (192) hide show
  1. package/dist/cjs/{config-7499aff7.js → config-cefda28a.js} +2 -2
  2. package/dist/cjs/{config-7499aff7.js.map → config-cefda28a.js.map} +1 -1
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +155 -133
  13. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  15. package/dist/cjs/{gx-ide-empty-state.cjs.entry.js → gx-ide-empty-state_2.cjs.entry.js} +56 -3
  16. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -0
  17. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +4 -1
  18. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -2
  21. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +2 -2
  27. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  32. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  34. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  38. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  39. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  40. package/dist/cjs/loader.cjs.js +1 -1
  41. package/dist/collection/common/config.js +1 -1
  42. package/dist/collection/common/config.js.map +1 -1
  43. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +23 -3
  44. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  45. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +1 -0
  46. package/dist/collection/components/data-selector/data-selector.css +10 -625
  47. package/dist/collection/components/data-selector/data-selector.js +251 -244
  48. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  49. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +4 -1
  50. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +5 -2
  51. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/shortcuts.json +2 -2
  52. package/dist/collection/components/kb-manager-export/kb-manager-export.js +1 -2
  53. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  54. package/dist/collection/components/object-selector/object-selector.js +1 -1
  55. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  56. package/dist/components/config.js +1 -1
  57. package/dist/components/config.js.map +1 -1
  58. package/dist/components/entity-selector.js +5 -1
  59. package/dist/components/entity-selector.js.map +1 -1
  60. package/dist/components/gx-ide-data-selector.js +167 -146
  61. package/dist/components/gx-ide-data-selector.js.map +1 -1
  62. package/dist/components/gx-ide-kb-manager-export.js +1 -2
  63. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  64. package/dist/components/gx-ide-object-selector.js +1 -1
  65. package/dist/components/gx-ide-object-selector.js.map +1 -1
  66. package/dist/esm/{config-6cfbb06f.js → config-084ee328.js} +2 -2
  67. package/dist/esm/{config-6cfbb06f.js.map → config-084ee328.js.map} +1 -1
  68. package/dist/esm/genexus-ide-ui.js +1 -1
  69. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  70. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  71. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  72. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  73. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  74. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  75. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  76. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  77. package/dist/esm/gx-ide-data-selector.entry.js +156 -134
  78. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  79. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  80. package/dist/esm/{gx-ide-empty-state.entry.js → gx-ide-empty-state_2.entry.js} +57 -5
  81. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -0
  82. package/dist/esm/gx-ide-entity-selector.entry.js +4 -1
  83. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  84. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  85. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -2
  86. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  87. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  88. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  89. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  90. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  91. package/dist/esm/gx-ide-object-selector.entry.js +2 -2
  92. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  93. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  94. package/dist/esm/gx-ide-references.entry.js +1 -1
  95. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  96. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  97. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  98. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  99. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  100. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  101. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  102. package/dist/esm/gx-ide-template.entry.js +1 -1
  103. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  104. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  105. package/dist/esm/loader.js +1 -1
  106. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  107. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  108. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +4 -1
  109. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +5 -2
  110. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/shortcuts.json +2 -2
  111. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +1 -0
  112. package/dist/genexus-ide-ui/{p-3824978b.entry.js → p-05eb7c04.entry.js} +3 -3
  113. package/dist/genexus-ide-ui/{p-3824978b.entry.js.map → p-05eb7c04.entry.js.map} +1 -1
  114. package/dist/genexus-ide-ui/{p-27fcaad7.entry.js → p-1a1042c2.entry.js} +2 -2
  115. package/dist/genexus-ide-ui/{p-a3daa189.entry.js → p-1f8445eb.entry.js} +2 -2
  116. package/dist/genexus-ide-ui/{p-885302c2.entry.js → p-241f3d69.entry.js} +87 -18
  117. package/dist/genexus-ide-ui/p-241f3d69.entry.js.map +1 -0
  118. package/dist/genexus-ide-ui/{p-04421676.entry.js → p-2b200d34.entry.js} +2 -2
  119. package/dist/genexus-ide-ui/{p-0ac125fc.entry.js → p-41e5e8e0.entry.js} +2 -2
  120. package/dist/genexus-ide-ui/{p-980f96c5.entry.js → p-4ade9a67.entry.js} +2 -2
  121. package/dist/genexus-ide-ui/{p-8cf892b5.js → p-55a30661.js} +2 -2
  122. package/dist/genexus-ide-ui/{p-8cf892b5.js.map → p-55a30661.js.map} +1 -1
  123. package/dist/genexus-ide-ui/{p-0be068bf.entry.js → p-5620c188.entry.js} +2 -2
  124. package/dist/genexus-ide-ui/{p-a587e7ca.entry.js → p-58e33dda.entry.js} +36 -31
  125. package/dist/genexus-ide-ui/p-58e33dda.entry.js.map +1 -0
  126. package/dist/genexus-ide-ui/{p-33c1ddd9.entry.js → p-593981a8.entry.js} +2 -2
  127. package/dist/genexus-ide-ui/{p-38f61bea.entry.js → p-5d8817cb.entry.js} +2 -2
  128. package/dist/genexus-ide-ui/{p-2fd83e6c.entry.js → p-62be51c2.entry.js} +2 -2
  129. package/dist/genexus-ide-ui/{p-6da8bf60.entry.js → p-794ac8e6.entry.js} +2 -2
  130. package/dist/genexus-ide-ui/{p-3e48e2f6.entry.js → p-88ab3f67.entry.js} +2 -2
  131. package/dist/genexus-ide-ui/{p-7b8e41dd.entry.js → p-8beec8d4.entry.js} +2 -2
  132. package/dist/genexus-ide-ui/{p-64101478.entry.js → p-8f294d2e.entry.js} +2 -2
  133. package/dist/genexus-ide-ui/{p-d541640a.entry.js → p-9d02318b.entry.js} +2 -2
  134. package/dist/genexus-ide-ui/{p-19789aa2.entry.js → p-9d640444.entry.js} +2 -2
  135. package/dist/genexus-ide-ui/{p-68810397.entry.js → p-a4370f5d.entry.js} +2 -2
  136. package/dist/genexus-ide-ui/{p-69e879be.entry.js → p-aa38604e.entry.js} +2 -2
  137. package/dist/genexus-ide-ui/p-aa38604e.entry.js.map +1 -0
  138. package/dist/genexus-ide-ui/{p-d178da38.entry.js → p-aea82479.entry.js} +2 -2
  139. package/dist/genexus-ide-ui/{p-a04d556d.entry.js → p-afb531b3.entry.js} +2 -2
  140. package/dist/genexus-ide-ui/{p-d9f7d2c3.entry.js → p-b5bb18d9.entry.js} +2 -2
  141. package/dist/genexus-ide-ui/{p-8ff5da93.entry.js → p-b7dfdf6d.entry.js} +2 -2
  142. package/dist/genexus-ide-ui/{p-cd7100fa.entry.js → p-c0ee7647.entry.js} +2 -2
  143. package/dist/genexus-ide-ui/p-cc87175f.entry.js +332 -0
  144. package/dist/genexus-ide-ui/p-cc87175f.entry.js.map +1 -0
  145. package/dist/genexus-ide-ui/{p-0bb18689.entry.js → p-d5c2b4cc.entry.js} +2 -2
  146. package/dist/genexus-ide-ui/{p-69edc29c.entry.js → p-e0072adb.entry.js} +2 -2
  147. package/dist/genexus-ide-ui/{p-638befbe.entry.js → p-e557aa5e.entry.js} +2 -2
  148. package/dist/genexus-ide-ui/{p-c64a4398.entry.js → p-eb6ef221.entry.js} +2 -2
  149. package/dist/genexus-ide-ui/{p-f5c02654.entry.js → p-f512bbca.entry.js} +2 -2
  150. package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +6 -2
  151. package/dist/types/components/data-selector/data-selector.d.ts +26 -51
  152. package/dist/types/components.d.ts +21 -29
  153. package/package.json +3 -3
  154. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +0 -1
  155. package/dist/cjs/gx-ide-loader.cjs.entry.js +0 -61
  156. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +0 -1
  157. package/dist/esm/gx-ide-empty-state.entry.js.map +0 -1
  158. package/dist/esm/gx-ide-loader.entry.js +0 -57
  159. package/dist/esm/gx-ide-loader.entry.js.map +0 -1
  160. package/dist/genexus-ide-ui/p-69e879be.entry.js.map +0 -1
  161. package/dist/genexus-ide-ui/p-885302c2.entry.js.map +0 -1
  162. package/dist/genexus-ide-ui/p-a587e7ca.entry.js.map +0 -1
  163. package/dist/genexus-ide-ui/p-a6b76120.entry.js +0 -73
  164. package/dist/genexus-ide-ui/p-a6b76120.entry.js.map +0 -1
  165. package/dist/genexus-ide-ui/p-e4db9c34.entry.js +0 -309
  166. package/dist/genexus-ide-ui/p-e4db9c34.entry.js.map +0 -1
  167. /package/dist/genexus-ide-ui/{p-27fcaad7.entry.js.map → p-1a1042c2.entry.js.map} +0 -0
  168. /package/dist/genexus-ide-ui/{p-a3daa189.entry.js.map → p-1f8445eb.entry.js.map} +0 -0
  169. /package/dist/genexus-ide-ui/{p-04421676.entry.js.map → p-2b200d34.entry.js.map} +0 -0
  170. /package/dist/genexus-ide-ui/{p-0ac125fc.entry.js.map → p-41e5e8e0.entry.js.map} +0 -0
  171. /package/dist/genexus-ide-ui/{p-980f96c5.entry.js.map → p-4ade9a67.entry.js.map} +0 -0
  172. /package/dist/genexus-ide-ui/{p-0be068bf.entry.js.map → p-5620c188.entry.js.map} +0 -0
  173. /package/dist/genexus-ide-ui/{p-33c1ddd9.entry.js.map → p-593981a8.entry.js.map} +0 -0
  174. /package/dist/genexus-ide-ui/{p-38f61bea.entry.js.map → p-5d8817cb.entry.js.map} +0 -0
  175. /package/dist/genexus-ide-ui/{p-2fd83e6c.entry.js.map → p-62be51c2.entry.js.map} +0 -0
  176. /package/dist/genexus-ide-ui/{p-6da8bf60.entry.js.map → p-794ac8e6.entry.js.map} +0 -0
  177. /package/dist/genexus-ide-ui/{p-3e48e2f6.entry.js.map → p-88ab3f67.entry.js.map} +0 -0
  178. /package/dist/genexus-ide-ui/{p-7b8e41dd.entry.js.map → p-8beec8d4.entry.js.map} +0 -0
  179. /package/dist/genexus-ide-ui/{p-64101478.entry.js.map → p-8f294d2e.entry.js.map} +0 -0
  180. /package/dist/genexus-ide-ui/{p-d541640a.entry.js.map → p-9d02318b.entry.js.map} +0 -0
  181. /package/dist/genexus-ide-ui/{p-19789aa2.entry.js.map → p-9d640444.entry.js.map} +0 -0
  182. /package/dist/genexus-ide-ui/{p-68810397.entry.js.map → p-a4370f5d.entry.js.map} +0 -0
  183. /package/dist/genexus-ide-ui/{p-d178da38.entry.js.map → p-aea82479.entry.js.map} +0 -0
  184. /package/dist/genexus-ide-ui/{p-a04d556d.entry.js.map → p-afb531b3.entry.js.map} +0 -0
  185. /package/dist/genexus-ide-ui/{p-d9f7d2c3.entry.js.map → p-b5bb18d9.entry.js.map} +0 -0
  186. /package/dist/genexus-ide-ui/{p-8ff5da93.entry.js.map → p-b7dfdf6d.entry.js.map} +0 -0
  187. /package/dist/genexus-ide-ui/{p-cd7100fa.entry.js.map → p-c0ee7647.entry.js.map} +0 -0
  188. /package/dist/genexus-ide-ui/{p-0bb18689.entry.js.map → p-d5c2b4cc.entry.js.map} +0 -0
  189. /package/dist/genexus-ide-ui/{p-69edc29c.entry.js.map → p-e0072adb.entry.js.map} +0 -0
  190. /package/dist/genexus-ide-ui/{p-638befbe.entry.js.map → p-e557aa5e.entry.js.map} +0 -0
  191. /package/dist/genexus-ide-ui/{p-c64a4398.entry.js.map → p-eb6ef221.entry.js.map} +0 -0
  192. /package/dist/genexus-ide-ui/{p-f5c02654.entry.js.map → p-f512bbca.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["dataSelectorCss","CSS_BUNDLES","GxIdeDataSelector","this","renderedFirstTime","shortcutsSrc","getAssetPath","loaderCancelCallbackHandler","async","cancelCallbackHandler","getObjects","filters","pattern","_a","filterPatternEl","value","object","_c","_b","filterObjectEl","id","loadItemsCallback","loader","loading","loaderEl","show","then","items","objects","selectedObjectsIds","deselectAll","editCallbackHandler","e","stopPropagation","editCallback","result","confirmCallbackHandler","confirmCallback","cancelCallback","chGridEl","selectAllRows","newVariableCallbackHandler","newVariableCallback","response","listenChanges","addEventListener","ev","detail","rowsId","chGridKeyDownHandler","key","hostKeyPressHandler","renderFilter","h","part","class","displayTitle","slot","labelPosition","noMargin","_componentLocale","filter","ref","el","debounce","selectEntityCallback","selectObjectCallback","renderObjects","rowSelectionMode","selectionType","onKeyDown","settingable","size","config","tabularGrid","colSize","minContent","tableHead","name","auto","dataType","description","sort","a","b","nameA","toLowerCase","nameB","map","obj","rowid","onDblClick","src","type","chGridRowsetEmptyEl","evaluateLoading","componentWillLoad","Locale","getComponentStrings","componentDidLoadEvent","emit","componentDidLoad","container","focus","componentDidRender","componentDidRenderFirstTime","componentName","suspendShortcuts","gxgShortcutsEl","suspend","validate","isValid","render","Host","onKeyPress","model","containerTitle","noContentPadding","noAboveFooterPadding","noHeadingPadding","headingPaddingTop","noHeadingBorder","slimmerFooter","gxIdeContainer","onClick","footer","btnNew","disabled","length","btnEdit","btnCancel","btnConfirm","cancelLabel","loaderTitle","title"],"sources":["src/components/data-selector/data-selector.scss?tag=gx-ide-data-selector&encapsulation=shadow","src/components/data-selector/data-selector.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--color-background);\n}\n\n/* Filters */\n.filter-grid {\n display: grid;\n padding: var(--spacing-comp-03);\n row-gap: var(--gx-ide-grid-row-gap);\n column-gap: var(--gx-ide-grid-column-gap);\n border-block-start: 1px solid var(--gx-ide-container-border-color);\n border-block-end: 1px solid var(--gx-ide-container-border-color);\n\n grid-template-areas:\n \"pattern-label pattern-input pattern-input pattern-input\"\n \"object-label object-input object-input object-input\";\n\n .pattern-label {\n grid-area: pattern-label;\n }\n .pattern-input {\n grid-area: pattern-input;\n }\n .object-label {\n grid-area: object-label;\n }\n .object-input {\n grid-area: object-input;\n }\n\n &--no-title {\n border-top: 0;\n }\n}\n\n/*gxg-grid*/\n.grid-container {\n height: 100%;\n}\nch-grid-cell {\n --spacing-comp-02: var(--spacing-comp-03);\n}\n/* Objects Table */\n.objects-count {\n display: flex;\n justify-content: space-around;\n > * {\n flex: 1;\n padding: var(--spacing-comp-01);\n }\n > :not(:last-child) {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n\ngx-ide-container.loading::part(content) {\n // only apply display grid when the loader is being displayed, to stretch the container.\n display: grid;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n getAssetPath,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { EntityData } from \"../../common/types\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n// Best performance bundle\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tabular-grid\"\n];\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /* References needed to collect data */\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n private chGridEl!: HTMLChTabularGridElement;\n private chGridRowsetEmptyEl!: HTMLChTabularGridRowsetEmptyElement;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * True if loadItemsCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = true;\n @Watch(\"loading\")\n evaluateLoading(loading: boolean) {\n this.loaderEl.show = loading;\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Callback invoked when user press edit button. Receives the first selected element id as parameter\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback!: NewVariableCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.loaderEl.container = this.chGridEl;\n this.getObjects();\n this.filterPatternEl.focus();\n this.evaluateLoading(this.loading);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n this.loaderEl.container = this.chGridRowsetEmptyEl;\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private loaderCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n private getObjects = (): void => {\n const filters: FiltersData = {\n pattern: this.filterPatternEl?.value,\n object: this.filterObjectEl?.value?.id\n };\n if (this.loadItemsCallback) {\n if (this.loader) {\n this.loading = true;\n this.loaderEl.show = true;\n }\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items) {\n this.objects = items;\n }\n this.selectedObjectsIds = [];\n this.deselectAll();\n if (this.loader) {\n this.loading = false;\n this.loaderEl.show = false;\n }\n });\n }\n };\n\n private editCallbackHandler = async (e: MouseEvent): Promise<void> => {\n e.stopPropagation();\n if (this.editCallback && this.selectedObjectsIds[0]) {\n const result = await this.editCallback(this.selectedObjectsIds[0]);\n if (result) {\n this.getObjects();\n }\n }\n };\n\n private confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n private cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as HTMLChTabularGridElement).selectAllRows(false);\n };\n\n private newVariableCallbackHandler = async () => {\n if (this.newVariableCallback) {\n const response = await this.newVariableCallback();\n if (response) {\n this.getObjects();\n }\n }\n };\n\n private listenChanges = async (): Promise<void> => {\n /* pattern*/\n this.filterPatternEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n\n /* object*/\n this.filterObjectEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n private chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.confirmCallbackHandler(e);\n }\n };\n\n private hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n // 9.LOCAL METHODS -> RENDER//\n\n private renderFilter = (): Element => {\n return (\n <div\n part=\"filters-container\"\n class={{\n \"filter-grid\": true,\n \"filter-grid--no-title\": !this.displayTitle\n }}\n slot=\"header\"\n >\n <gxg-label labelPosition=\"start\" class=\"pattern-label\" noMargin>\n {this._componentLocale.filter.pattern}\n </gxg-label>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n class=\"pattern-input\"\n part=\"filter-pattern\"\n debounce\n ></gxg-form-text>\n\n <gxg-label labelPosition=\"start\" class=\"object-label\" noMargin>\n {this._componentLocale.filter.object}\n </gxg-label>\n <gx-ide-entity-selector\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"object-input\"\n ></gx-ide-entity-selector>\n </div>\n );\n };\n\n private renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n rowSelectionMode={this.selectionType}\n ref={(el: HTMLChTabularGridElement) => (this.chGridEl = el)}\n onKeyDown={this.chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.minContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this._componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {!this.loading ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects\n .sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n })\n .map((obj: ItemData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n onDblClick={this.confirmCallbackHandler}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image\n src={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n class=\"icon-md\"\n ></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.dataType}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty\n ref={(el: HTMLChTabularGridRowsetEmptyElement) =>\n (this.chGridRowsetEmptyEl = el)\n }\n ></ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\" onKeyPress={this.hostKeyPressHandler}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noContentPadding\n noAboveFooterPadding\n noHeadingPadding\n headingPaddingTop\n noHeadingBorder\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n class={{ loading: this.loading }}\n >\n {this.renderFilter()}\n {this.renderObjects()}\n\n {/* footer */}\n {/* button new... */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.newVariableCallbackHandler}\n part=\"gxg-button gxg-button--new\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n {/* button edit */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.editCallbackHandler}\n part=\"gxg-button gxg-button--edit\"\n disabled={this.selectedObjectsIds.length === 0}\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnEdit}\n </gxg-button>\n {/* button cancel */}\n <gxg-button\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n part=\"gxg-button gxg-button--cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* button confirm */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n part=\"gxg-button gxg-button--ok\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n {/* loader*/}\n {this.loader ? (\n <gxg-ide-loader\n cancelLabel={this._componentLocale.loader.cancelLabel}\n loaderTitle={this._componentLocale.loader.title}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n cancelCallback={this.loaderCancelCallbackHandler}\n ></gxg-ide-loader>\n ) : null}\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean>;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: ItemType;\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n\nexport type ItemType = \"variable\" | \"attribute\";\n"],"mappings":";;;;;;AAAA,MAAMA,IAAkB;;0BCsBxB;MAAMC,IAA8B,EAClC,qBACA,cACA,gBACA,oBACA,qBACA,uBACA,mBACA;;MAQWC,IAAiB;;;;;IAOpBC,KAAAC,oBAAoB;IACpBD,KAAAE,eAAeC,EACrB;;QAkJMH,KAAAI,8BAA8BC;MACpCL,KAAKM;AAAuB;IAGtBN,KAAAO,aAAa;;MACnB,MAAMC,IAAuB;QAC3BC,UAASC,IAAAV,KAAKW,qBAAe,QAAAD,WAAA,aAAAA,EAAEE;QAC/BC,SAAQC,KAAAC,IAAAf,KAAKgB,oBAAc,QAAAD,WAAA,aAAAA,EAAEH,WAAK,QAAAE,WAAA,aAAAA,EAAEG;;MAEtC,IAAIjB,KAAKkB,mBAAmB;QAC1B,IAAIlB,KAAKmB,QAAQ;UACfnB,KAAKoB,UAAU;UACfpB,KAAKqB,SAASC,OAAO;;QAEvBtB,KAAKkB,kBAAkBV,GAASe,MAAMC;UACpC,IAAIA,GAAO;YACTxB,KAAKyB,UAAUD;;UAEjBxB,KAAK0B,qBAAqB;UAC1B1B,KAAK2B;UACL,IAAI3B,KAAKmB,QAAQ;YACfnB,KAAKoB,UAAU;YACfpB,KAAKqB,SAASC,OAAO;;;;;IAMrBtB,KAAA4B,sBAAsBvB,MAAOwB;MACnCA,EAAEC;MACF,IAAI9B,KAAK+B,gBAAgB/B,KAAK0B,mBAAmB,IAAI;QACnD,MAAMM,UAAehC,KAAK+B,aAAa/B,KAAK0B,mBAAmB;QAC/D,IAAIM,GAAQ;UACVhC,KAAKO;;;;IAKHP,KAAAiC,yBAA0BJ;MAChCA,EAAEC;MACF9B,KAAKkC,gBAAgBlC,KAAK0B;AAAmB;IAGvC1B,KAAAM,wBAAwB;MAC9BN,KAAKmC;AAAgB;IAGfnC,KAAA2B,cAAc;MACnB3B,KAAKoC,SAAsCC,cAAc;AAAM;IAG1DrC,KAAAsC,6BAA6BjC;MACnC,IAAIL,KAAKuC,qBAAqB;QAC5B,MAAMC,UAAiBxC,KAAKuC;QAC5B,IAAIC,GAAU;UACZxC,KAAKO;;;;IAKHP,KAAAyC,gBAAgBpC;;MAEtBL,KAAKW,gBAAgB+B,iBAAiB,iBAAgB;QACpD1C,KAAKO;AAAY;uBAInBP,KAAKgB,eAAe0B,iBAAiB,iBAAgB;QACnD1C,KAAKO;AAAY;;YAGnBP,KAAKoC,SAASM,iBAAiB,qBAAqBC;QAClD3C,KAAK0B,qBAAqBiB,EAAGC,OAAOC;AAAM;AAC1C;IAGI7C,KAAA8C,uBAAwBjB;MAC9B,IAAIA,EAAEkB,QAAQ,SAAS;QACrB/C,KAAKiC,uBAAuBJ;;;IAIxB7B,KAAAgD,sBAAuBnB;;MAE7B,IAAIA,EAAEkB,QAAQ,SAAS;QACrBlB,EAAEC;;;;QAME9B,KAAAiD,eAAe,MAEnBC,EAAA;MACEC,MAAK;MACLC,OAAO;QACL,eAAe;QACf,0BAA0BpD,KAAKqD;;MAEjCC,MAAK;OAELJ,EAAA;MAAWK,eAAc;MAAQH,OAAM;MAAgBI,UAAQ;OAC5DxD,KAAKyD,iBAAiBC,OAAOjD,UAEhCyC,EAAA;MACES,KAAMC,KACH5D,KAAKW,kBAAkBiD;MAE1BR,OAAM;MACND,MAAK;MACLU,UAAQ;QAGVX,EAAA;MAAWK,eAAc;MAAQH,OAAM;MAAeI,UAAQ;OAC3DxD,KAAKyD,iBAAiBC,OAAO7C,SAEhCqC,EAAA;MACEY,sBAAsB9D,KAAK+D;MAC3BJ,KAAMC,KACH5D,KAAKgB,iBAAiB4C;MAEzBR,OAAM;;IAMNpD,KAAAgE,gBAAgB,MAEpBd,EAAA;MACEE,OAAM;MACNa,kBAAkBjE,KAAKkE;MACvBP,KAAMC,KAAkC5D,KAAKoC,WAAWwB;MACxDO,WAAWnE,KAAK8C;MAChBK,MAAK;OAELD,EAAA;MAA2BE,OAAM;OAC/BF,EAAA;MAAA,wBACuB;MACrBkB,aAAa;MACbC,MAAMC,EAAOC,YAAYC,QAAQC;MACjCrB,OAAM;QAERF,EAAA;MAAA,eACelD,KAAKyD,iBAAiBiB,UAAUC;MAAI,wBAC5B;MACrBP,aAAa;MACbC,MAAMC,EAAOC,YAAYC,QAAQI;MACjCxB,OAAM;QAERF,EAAA;MAAA,eACelD,KAAKyD,iBAAiBiB,UAAUG;MAAQ,wBAChC;MACrBT,aAAa;MACbC,MAAMC,EAAOC,YAAYC,QAAQI;MACjCxB,OAAM;QAERF,EAAA;MAAA,eACelD,KAAKyD,iBAAiBiB,UAAUI;MAAW,wBACnC;MACrBV,aAAa;MACbC,MAAMC,EAAOC,YAAYC,QAAQI;MACjCxB,OAAM;UAGRpD,KAAKoB,UACL8B,EAAA;MAAwBE,OAAM;OAC3BpD,KAAKyB,QACHsD,MAAK,CAACC,GAAGC;MACR,MAAMC,IAAQF,EAAEL,KAAKQ,eACnBC,IAAQH,EAAEN,KAAKQ;MACjB,IAAID,IAAQE,GAAO;QACjB,QAAQ;;MAEV,IAAIF,IAAQE,GAAO;QACjB,OAAO;;MAET,OAAO;AAAC,QAETC,KAAKC,KACJpC,EAAA;MACEqC,OAAOD,EAAIrE;MACXuE,YAAYxF,KAAKiC;MACjBmB,OAAM;OAENF,EAAA;MAAsBE,OAAM;OAC1BF,EAAA;MACEuC,KACEH,EAAII,SAAS,cACT,sBACA;MAENtC,OAAM;SAGVF,EAAA;MAAsBE,OAAM;OACzBkC,EAAIX,OAEPzB,EAAA;MAAsBE,OAAM;OACzBkC,EAAIT,WAEP3B,EAAA;MAAsBE,OAAM;OACzBkC,EAAIR,mBAMf5B,EAAA;MAAwBE,OAAM;OAC5BF,EAAA;MACES,KAAMC,KACH5D,KAAK2F,sBAAsB/B;;mBAjVX;8BAKS;mBAKZ;wBAWI;kBAKN;yBAK8B;;;;;;;;EAnBxD,eAAAgC,CAAgBxE;IACdpB,KAAKqB,SAASC,OAAOF;;;EAgEvB,uBAAMyE;IACJ7F,KAAKyD,yBAAyBqC,EAAOC,oBAAoB/F,KAAK4D;IAC9D5D,KAAKgG,sBAAsBC,KAAK;;EAGlC,gBAAAC;IACElG,KAAKyC;IACLzC,KAAKqB,SAAS8E,YAAYnG,KAAKoC;IAC/BpC,KAAKO;IACLP,KAAKW,gBAAgByF;IACrBpG,KAAK4F,gBAAgB5F,KAAKoB;;EAG5B,kBAAAiF;IACE,KAAKrG,KAAKC,mBAAmB;MAC3BD,KAAKsG,4BAA4BL,KAC/BjG,KAAKyD,iBAAiB8C;MAExBvG,KAAKC,oBAAoB;;IAE3BD,KAAKqB,SAAS8E,YAAYnG,KAAK2F;;;;;;;EAUjC,sBAAMa,CAAiBA;IACrB,IAAIA,GAAkB;MACpBxG,KAAKyG,eAAeC,UAAU;WACzB;MACL1G,KAAKyG,eAAeC,UAAU;;;;;SAQlC,cAAMC;IACJ,MAAMC,IAAU;IAChB,OAAOA;;;EAmOT,MAAAC;IACE,OACE3D,EAAC4D,GAAI;MAAC1D,OAAM;MAAmB2D,YAAY/G,KAAKgD;OAC9CE,EAAA;MAAU8D,OAAOlH;QACjBoD,EAAA;MAAKE,OAAM;OACTF,EAAA;MACE+D,gBACEjH,KAAKqD,eAAerD,KAAKyD,iBAAiB8C,gBAAgB;MAE5DW,kBAAgB;MAChBC,sBAAoB;MACpBC,kBAAgB;MAChBC,mBAAiB;MACjBC,iBAAe;MACfC,eAAejD,EAAOkD,eAAeD;MACrCnE,OAAO;QAAEhC,SAASpB,KAAKoB;;OAEtBpB,KAAKiD,gBACLjD,KAAKgE,iBAINd,EAAA;MACEwC,MAAK;MACL+B,SAASzH,KAAKsC;MACda,MAAK;MACLG,MAAK;OAEJtD,KAAKyD,iBAAiBiE,OAAOC,SAGhCzE,EAAA;MACEwC,MAAK;MACL+B,SAASzH,KAAK4B;MACduB,MAAK;MACLyE,UAAU5H,KAAK0B,mBAAmBmG,WAAW;MAC7CvE,MAAK;OAEJtD,KAAKyD,iBAAiBiE,OAAOI,UAGhC5E,EAAA;MACEwC,MAAK;MACL+B,SAASzH,KAAKM;MACd6C,MAAK;MACLG,MAAK;OAEJtD,KAAKyD,iBAAiBiE,OAAOK,YAGhC7E,EAAA;MACEwC,MAAK;MACL+B,SAASzH,KAAKiC;MACdkB,MAAK;MACLG,MAAK;OAEJtD,KAAKyD,iBAAiBiE,OAAOM,eAIpC9E,EAAA;MACEuC,KAAKzF,KAAKE;MACVyD,KAAMC,KACH5D,KAAKyG,iBAAiB7C;QAI1B5D,KAAKmB,SACJ+B,EAAA;MACE+E,aAAajI,KAAKyD,iBAAiBtC,OAAO8G;MAC1CC,aAAalI,KAAKyD,iBAAiBtC,OAAOgH;MAC1CxE,KAAKC,KAAO5D,KAAKqB,WAAWuC;MAC5BzB,gBAAgBnC,KAAKI;SAErB"}