@alauda-fe/common 1.3.1 → 1.4.1

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 (99) hide show
  1. package/api/auth-api.service.d.ts +14 -0
  2. package/api/platform-ui.service.d.ts +1 -0
  3. package/api/public-api.d.ts +1 -0
  4. package/array-form-table/form/component.d.ts +6 -2
  5. package/assets/icons/icon-refresh-drag.svg +1 -0
  6. package/authorization/interceptor.service.d.ts +2 -1
  7. package/authorization/public-api.d.ts +1 -0
  8. package/authorization/session-manage.service.d.ts +2 -4
  9. package/authorization/state.service.d.ts +19 -18
  10. package/authorization/storage-token.d.ts +4 -10
  11. package/core/constants/patterns.d.ts +4 -0
  12. package/core/directives/feature-gate.directive.d.ts +2 -1
  13. package/core/module.d.ts +21 -21
  14. package/core/pipes/minimum-format.pipe.d.ts +1 -1
  15. package/core/pipes/time.pipe.d.ts +1 -1
  16. package/core/services/context.service.d.ts +3 -4
  17. package/core/services/feature-gate.service.d.ts +1 -0
  18. package/core/services/workspace-helper.service.d.ts +3 -1
  19. package/core/types/commons.d.ts +2 -0
  20. package/core/types/k8s/crd.d.ts +64 -0
  21. package/core/types/resource-definitions.d.ts +3 -3
  22. package/core/utils/cache-store.d.ts +15 -13
  23. package/core/utils/common.d.ts +1 -2
  24. package/core/utils/public-api.d.ts +1 -0
  25. package/core/utils/router.d.ts +3 -0
  26. package/editable/editable.component.d.ts +23 -0
  27. package/editable/editable.directive.d.ts +9 -0
  28. package/editable/editable.type.d.ts +5 -0
  29. package/editable/public-api.d.ts +2 -0
  30. package/effect-directive/event.directive.d.ts +36 -0
  31. package/esm2022/api/auth-api.service.mjs +34 -0
  32. package/esm2022/api/platform-ui.service.mjs +2 -1
  33. package/esm2022/api/public-api.mjs +2 -1
  34. package/esm2022/array-form-table/form/component.mjs +30 -15
  35. package/esm2022/authorization/guard.service.mjs +2 -2
  36. package/esm2022/authorization/interceptor.service.mjs +31 -24
  37. package/esm2022/authorization/public-api.mjs +2 -1
  38. package/esm2022/authorization/session-manage.service.mjs +11 -24
  39. package/esm2022/authorization/state.service.mjs +94 -100
  40. package/esm2022/authorization/storage-token.mjs +12 -88
  41. package/esm2022/core/constants/patterns.mjs +6 -4
  42. package/esm2022/core/directives/feature-gate.directive.mjs +7 -4
  43. package/esm2022/core/guards/feature.guard.mjs +3 -2
  44. package/esm2022/core/module.mjs +7 -12
  45. package/esm2022/core/pipes/minimum-format.pipe.mjs +4 -3
  46. package/esm2022/core/pipes/time.pipe.mjs +3 -3
  47. package/esm2022/core/services/context.service.mjs +9 -12
  48. package/esm2022/core/services/feature-gate.service.mjs +4 -3
  49. package/esm2022/core/services/workspace-helper.service.mjs +7 -1
  50. package/esm2022/core/types/commons.mjs +1 -1
  51. package/esm2022/core/types/k8s/crd.mjs +8 -1
  52. package/esm2022/core/types/resource-definitions.mjs +2 -2
  53. package/esm2022/core/utils/cache-store.mjs +51 -29
  54. package/esm2022/core/utils/common.mjs +8 -10
  55. package/esm2022/core/utils/public-api.mjs +2 -1
  56. package/esm2022/core/utils/router.mjs +20 -0
  57. package/esm2022/editable/editable.component.mjs +136 -0
  58. package/esm2022/editable/editable.directive.mjs +25 -0
  59. package/esm2022/editable/editable.type.mjs +6 -0
  60. package/esm2022/editable/public-api.mjs +3 -0
  61. package/esm2022/effect-directive/event.directive.mjs +79 -4
  62. package/esm2022/exec/terminal/component.mjs +12 -19
  63. package/esm2022/k8s-resource-list/footer/component.mjs +63 -25
  64. package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +18 -6
  65. package/esm2022/k8s-resource-list/utils.mjs +7 -3
  66. package/esm2022/multi-search/multi-search-tags/component.mjs +2 -2
  67. package/esm2022/multi-search/types.mjs +1 -1
  68. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +55 -53
  69. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +4 -4
  70. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +3 -8
  71. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +6 -10
  72. package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +6 -6
  73. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +51 -40
  74. package/esm2022/pie-derivative-chart/units.mjs +14 -0
  75. package/esm2022/pod-status/component.mjs +34 -55
  76. package/esm2022/public-api.mjs +2 -1
  77. package/esm2022/searchable-selector/component.mjs +2 -2
  78. package/esm2022/table/component.mjs +47 -30
  79. package/esm2022/table/module.mjs +1 -1
  80. package/esm2022/view-chart/view-chart.component.mjs +5 -8
  81. package/esm2022/widget/public-api.mjs +2 -1
  82. package/esm2022/widget/resource-label/component.mjs +131 -0
  83. package/esm2022/widget/zero-state/zero-state.component.mjs +36 -21
  84. package/exec/terminal/component.d.ts +1 -3
  85. package/k8s-resource-list/footer/component.d.ts +8 -1
  86. package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
  87. package/multi-search/types.d.ts +1 -0
  88. package/package.json +1 -1
  89. package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
  90. package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
  91. package/pie-derivative-chart/units.d.ts +2 -0
  92. package/pod-status/component.d.ts +1 -3
  93. package/public-api.d.ts +1 -0
  94. package/styles/global.scss +1 -0
  95. package/styles/tailwind-preset.scss +1 -1
  96. package/table/component.d.ts +4 -3
  97. package/widget/public-api.d.ts +1 -0
  98. package/widget/resource-label/component.d.ts +25 -0
  99. package/widget/zero-state/zero-state.component.d.ts +4 -1
@@ -38,4 +38,11 @@ export var HelmRequestPhaseEnum;
38
38
  HelmRequestPhaseEnum["Pending"] = "Pending";
39
39
  HelmRequestPhaseEnum["Uninstalling"] = "Uninstalling";
40
40
  })(HelmRequestPhaseEnum || (HelmRequestPhaseEnum = {}));
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdHlwZXMvazhzL2NyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5SEEsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixpREFBMEIsQ0FBQTtJQUMxQiwwQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQVVYO0FBVkQsV0FBWSxrQkFBa0I7SUFDNUIsa0RBQTRCLENBQUE7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIsb0RBQThCLENBQUE7SUFDOUIsNkNBQXVCLENBQUE7SUFDdkIsc0RBQWdDLENBQUE7SUFDaEMsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVZXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFVN0I7QUE4Q0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxNQUFNO0lBQ1osa0JBQWtCLEVBQUUsbUJBQW1CO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUFrY1gsTUFBTSxDQUFOLElBQVkseUJBTVg7QUFORCxXQUFZLHlCQUF5QjtJQUNuQyxnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQiw4Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBTXBDO0FBV0QsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5Qix5Q0FBaUIsQ0FBQTtJQUNqQix5Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBbUIsQ0FBQTtJQUNuQixxREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vY29tbW9ucyc7XG5cbmltcG9ydCB7IENvbmRpdGlvbiwgS3ViZXJuZXRlc1Jlc291cmNlLCBPYmplY3RNZXRhIH0gZnJvbSAnLi9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ01hcEtleVJlZixcbiAgTm9kZSxcbiAgTm9kZVN0YXR1cyxcbiAgTm9kZVRhaW50LFxuICBTZWNyZXRLZXlSZWYsXG59IGZyb20gJy4vcmF3JztcblxuLyoqXG4gKiDlj6rkv53nlZljb21tb27kuK3pnIDopoHnlKjliLDnmoRjcmQg5omp5bGV57G7XG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQ29uZGl0aW9uIHtcbiAgc3RhdHVzPzogJ1N1Y2Nlc3MnIHwgJ0ZhaWxlZCcgfCAnUHJvY2Vzc2luZycgfCAnUGVuZGluZyc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbGFzdFRyYW5zaXRpb25UaW1lPzogc3RyaW5nO1xuICBsYXN0SGVhcnRiZWF0VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQXZhaWxhYmxlVmVyc2lvbiB7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuICByaXNrTGV2ZWw/OiAnTG93JyB8ICdNaWRkbGUnIHwgJ0hpZ2gnO1xuICBkZXBlbmRlbmNpZXM/OiBBcnJheTx7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb25zTWF0Y2g6IHN0cmluZ1tdO1xuICB9PjtcbiAgdXBncmFkZUJlZm9yZT86IEFycmF5PHtcbiAgICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUluZm8gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzoge1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludD86IHN0cmluZztcbiAgICBzZWxlY3RlZENsdXN0ZXI/OiBBcnJheTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PjsgLy8ge3BsdWdpbi1uYW1lOiBjbHVzdGVyLW5hbWV9W11cbiAgICB2YWx1ZXNPdmVycmlkZTogU3RyaW5nTWFwO1xuICAgIGNvbmZpZz86IGFueTtcbiAgfTtcbiAgc3RhdHVzPzoge1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBwaGFzZTogJ1Byb2Nlc3NpbmcnIHwgJ1J1bm5pbmcnIHwgJ0ZhaWxlZCcgfCAnQmxvY2tlZCc7XG4gICAgcmVtb3ZlSXNQcmV2ZW50ZWQ/OiBib29sZWFuO1xuICAgIGJsb2NrUmVhc29ucz86IHN0cmluZ1tdO1xuICAgIGNvbmRpdGlvbnM/OiBNb2R1bGVJbmZvQ29uZGl0aW9uW107XG4gICAgYXZhaWxhYmxlVmVyc2lvbnM6IE1vZHVsZUluZm9BdmFpbGFibGVWZXJzaW9uW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclNwZWMge1xuICBhdXRoSW5mbz86IHtcbiAgICBjb250cm9sbGVyOiB7XG4gICAgICBraW5kOiBzdHJpbmc7XG4gICAgICBuYW1lc3BhY2U6IHN0cmluZztcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBrdWJlcm5ldGVzQXBpRW5kcG9pbnRzPzoge1xuICAgIGNhQnVuZGxlPzogc3RyaW5nO1xuICAgIHNlcnZlckVuZHBvaW50czogQXJyYXk8e1xuICAgICAgY2xpZW50Q0lEUjogc3RyaW5nO1xuICAgICAgc2VydmVyQWRkcmVzczogc3RyaW5nO1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBDbHVzdGVyU3RhdHVzUmVhc29uID1cbiAgfCAnVGltZW91dCdcbiAgfCAnRm9yYmlkZGVuJ1xuICB8ICdVbmF1dGhvcml6ZWQnXG4gIHwgJ1NvbWVDb21wb25lbnRzVW5oZWFsdGh5J1xuICB8ICdTb21lTm9kZXNOb3RSZWFkeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1c0NvbmRpdGlvbiBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGxhc3RUcmFuc2l0aW9uVGltZTogc3RyaW5nO1xuICB0eXBlOlxuICAgIHwgJ05vdFJlYWNoYWJsZSdcbiAgICB8ICdOb3RBY2Nlc3NpYmxlJ1xuICAgIHwgJ0NvbXBvbmVudE5vdEhlYWx0aHknXG4gICAgfCAnTm9kZU5vdFJlYWR5JztcbiAgc3RhdHVzOiAnVHJ1ZScgfCAnRmFsc2UnO1xuICByZWFzb246IENsdXN0ZXJTdGF0dXNSZWFzb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1cyB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgY29uZGl0aW9uczogQ2x1c3RlclN0YXR1c0NvbmRpdGlvbltdO1xufVxuXG4vLyBjbHVzdGVycy5jbHVzdGVycmVnaXN0cnkuazhzLmlvIOeahOexu+Wei+WumuS5iVxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbWV0YWRhdGE/OiBPYmplY3RNZXRhICYge1xuICAgIGZpbmFsaXplcnM/OiBzdHJpbmdbXTtcbiAgfTtcbiAgc3BlYz86IENsdXN0ZXJTcGVjO1xuICBzdGF0dXM/OiBDbHVzdGVyU3RhdHVzO1xuICBkZXRhaWxzPzoge1xuICAgIGdyb3VwOiBzdHJpbmc7XG4gICAga2luZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgfTtcbn1cblxuLy8gQWxhdWRhIFByb2R1Y3RcbmV4cG9ydCBpbnRlcmZhY2UgQWxhdWRhUHJvZHVjdFN0YXR1cyBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGRlcGxveVN0YXR1cz86IEFsYXVkYURlcGxveVN0YXR1cztcbiAgcnVubmluZ1N0YXR1cz86IEFsYXVkYVJ1bm5pbmdTdGF0dXM7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGVwbG95VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQWxhdWRhUnVubmluZ1N0YXR1cyB7XG4gIE5PVF9SVU5OSU5HID0gJ05vdFJ1bm5pbmcnLFxuICBIRUFMVEhZID0gJ0hlYWx0aHknLFxuICBBQk5PUk1BTCA9ICdBYm5vcm1hbCcsXG59XG5cbmV4cG9ydCBlbnVtIEFsYXVkYURlcGxveVN0YXR1cyB7XG4gIE5PVF9ERVBMT1lFRCA9ICdOb3REZXBsb3llZCcsXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG4gIEFCTk9STUFMID0gJ0Fibm9ybWFsJyxcbiAgREVQTE9ZSU5HID0gJ0RlcGxveWluZycsXG4gIERFUExPWV9GQUlMRUQgPSAnRGVwbG95RmFpbGVkJyxcbiAgVVBHUkFESU5HID0gJ1VwZ3JhZGluZycsXG4gIFVQR1JBREVfRkFJTEVEID0gJ1VwZ3JhZGVGYWlsZWQnLFxuICBDT01QTEVURUQgPSAnQ29tcGxldGVkJyxcbiAgUEVORElORyA9ICdQZW5kaW5nJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2UgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQcm9kdWN0QmFzZVNwZWM7XG4gIHN0YXR1cz86IFByb2R1Y3RCYXNlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTdGF0dXNDb25kaXRpb24ge1xuICBzdGF0dXM/OiAnVHJ1ZScgfCAnRmFsc2UnIHwgJ1Vua25vd24nO1xuICByZWFzb24/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHR5cGU6ICdSZWFkeScgfCAnSW5pdGlhbGl6ZWQnIHwgJ1JlY2xhaW1lZCcgfCAnU3VjY2VlZCc7XG4gIGxhc3RUcmFuc2l0aW9uVGltZT86IHN0cmluZztcbiAgbGFzdEhlYXJ0YmVhdFRpbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTdGF0dXMge1xuICBnbG9iYWxJRDogc3RyaW5nO1xuICBjbG91ZDoge1xuICAgIHBoYXNlOiAnT05MaW5lJyB8ICdDb25uZWN0RmFpbGVkJyB8ICdDb25uZWN0aW5nJyB8ICdPRkZMaW5lJztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgY29ubmVjdFVSTDogc3RyaW5nO1xuICB9O1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlPzogLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyL21heC11bmlvbi1zaXplXG4gIHwgJ1BlbmRpbmcnXG4gICAgfCAnUHJvdmlzaW9uaW5nJ1xuICAgIHwgJ1Byb3Zpc2lvbmVkJ1xuICAgIHwgJ0RlbGV0aW5nJ1xuICAgIHwgJ0ZhaWxlZCdcbiAgICB8ICdSdW5uaW5nJ1xuICAgIHwgJ0luc3RhbGxpbmcnIC8vIHRkc3FsXG4gICAgfCAnVXBncmFkaW5nJztcbiAgcHJvZHVjdEVudHJ5cG9pbnQ/OiBzdHJpbmc7XG4gIGRlbGV0YWJsZT86IGJvb2xlYW47XG4gIGNvbmRpdGlvbnM/OiBQcm9kdWN0U3RhdHVzQ29uZGl0aW9uW107XG4gIHByb21ldGhldXNBZGRyZXNzPzogc3RyaW5nO1xuICBlbGFzdGljU2VhcmNoQWRkcmVzcz86IHN0cmluZztcbiAga2Fma2FBZGRyZXNzPzogc3RyaW5nO1xuICBjb250YWluZXJQbGF0Zm9ybT86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIGRldm9wcz86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIHNlcnZpY2VNZXNoPzogQWxhdWRhUHJvZHVjdFN0YXR1cztcbiAgZGF0YVNlcnZpY2VzPzogQWxhdWRhUHJvZHVjdFN0YXR1cztcbiAgYmFzZT86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIHByb2dyZXNzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgUHJvZHVjdEtleSA9IHtcbiAgQkFTRTogJ2Jhc2UnLFxuICBDT05UQUlORVJfUExBVEZPUk06ICdjb250YWluZXJQbGF0Zm9ybScsXG4gIERFVk9QUzogJ2Rldm9wcycsXG4gIFNFUlZJQ0VfTUVTSDogJ3NlcnZpY2VNZXNoJyxcbiAgREFUQV9TRVJWSUNFUzogJ2RhdGFTZXJ2aWNlcycsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0S2V5ID0gVmFsdWVPZjx0eXBlb2YgUHJvZHVjdEtleT47XG5cbnR5cGUgR2VuUHJvZHVjdDxUIGV4dGVuZHMgUHJvZHVjdEtleT4gPSBSZWNvcmQ8VCwgeyBpbnN0YWxsOiBib29sZWFuIH0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRscyB7XG4gIGNlcnQ6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTcGVjIGV4dGVuZHMgR2VuUHJvZHVjdDxQcm9kdWN0S2V5PiB7XG4gIGFsdGVybmF0aXZlVVJMczogc3RyaW5nW107XG4gIGNoYXJ0TXVzZXVtOiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH07XG4gIHBhY2thZ2VFZGl0aW9uOiBzdHJpbmc7XG4gIHZhbHVlc092ZXJyaWRlPzoge1xuICAgIGRleDogU3RyaW5nTWFwO1xuICB9O1xuICBjaGFydFZlcnNpb25zOiBbeyBuYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZyB9XTtcbiAgZGVmYXVsdEFkbWluOiB7XG4gICAgYWNjb3VudDogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgZGVmYXVsdFJlZGlyZWN0UGF0aDogc3RyaW5nO1xuICBkZXBsb3lUeXBlOiBzdHJpbmc7XG4gIGVsYXN0aWNzZWFyY2g6IHtcbiAgICBpbnN0YWxsOiBib29sZWFuO1xuICAgIG5vZGVzOiBzdHJpbmdbXTtcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICBodHRwOiB7XG4gICAgZm9yY2VSZWRpcmVjdEh0dHBzPzogYm9vbGVhbjtcbiAgICBodHRwUG9ydD86IG51bWJlcjtcbiAgICBodHRwc1BvcnQ/OiBudW1iZXI7XG4gICAgdGxzPzogVGxzO1xuICB9O1xuICBpbmdyZXNzOiB7XG4gICAgY29udHJvbGxlcjogeyBpbnN0YWxsOiBib29sZWFuOyBub2Rlczogc3RyaW5nW10gfTtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgaW5ncmVzc0NsYXNzTmFtZTogc3RyaW5nO1xuICB9O1xuICBrYWZrYToge1xuICAgIGF1dGg6IGJvb2xlYW47XG4gICAgaW5zdGFsbDogYm9vbGVhbjtcbiAgICBub2Rlczogc3RyaW5nW107XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgbG9nQWdlbnQ6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gIH07XG4gIGxvZ0NlbnRlcjoge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgfTtcbiAgcGxhdGZvcm1VUkw6IHN0cmluZztcbiAgcHJvbWV0aGV1czoge1xuICAgIGluc3RhbGw6IGJvb2xlYW47XG4gICAgcmVwbGljYXM6IG51bWJlcjtcbiAgICBzdG9yYWdlOiB7IGNhcGFjaXR5OiBudW1iZXI7IG5vZGVzOiBzdHJpbmdbXTsgcGF0aDogc3RyaW5nOyB0eXBlOiBzdHJpbmcgfTtcbiAgfTtcblxuICByZWdpc3RyeToge1xuICAgIGV4dGVybmFsPzogc3RyaW5nO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIHNlY3JldFJlZj86IHN0cmluZztcbiAgfTtcbiAgcmVwbGljYXM6IG51bWJlcjtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBjbG91ZDoge1xuICAgIGNvbm5lY3Q6IGJvb2xlYW47XG4gICAgY29ubmVjdFR5cGU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0U3BlYyB7XG4gIGNsdXN0ZXJzOiBQcm9qZWN0Q2x1c3RlcltdO1xuICBzdGF0dXM/OiB7XG4gICAgcGhhc2U6IHN0cmluZztcbiAgfTtcbiAgY2x1c3RlckRlbGV0ZVBvbGljeT86ICdEZWxldGUnIHwgJ1JldGFpbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdENsdXN0ZXIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHF1b3RhOiBzdHJpbmc7IC8vIFwie1xcXCJjcHVcXFwiOi0xLFxcXCJtZW1vcnlcXFwiOi0xLFxcXCJwb2RzXFxcIjotMSxcXFwicHZjX251bVxcXCI6LTEsXFxcInN0b3JhZ2VcXFwiOi0xfVwiXG4gIHR5cGU/OiAnJyB8ICdGZWRNZW1iZXInO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3QgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQcm9qZWN0U3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZU1lc2hHcm91cCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IHtcbiAgICBrOHNWZXJzaW9uOiBzdHJpbmc7XG4gICAgd2l0aG91dElzdGlvPzogYm9vbGVhbjtcbiAgICBpc3Rpb1ZlcnNpb246IHN0cmluZztcbiAgICBwcmltYXJ5OiBzdHJpbmc7XG4gICAgc2VsZWN0b3I6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9O1xuICAgIGNsdXN0ZXJzOiBzdHJpbmdbXTtcbiAgICBtZXNoQ29tbW9uQ29uZmlnPzogTWVzaENvbW1vbkNvbmZpZztcbiAgICBjbHVzdGVyQ29uZmlncz86IHtcbiAgICAgIFtjbHVzdGVyTmFtZTogc3RyaW5nXTogQ2x1c3RlckNvbmZpZztcbiAgICB9O1xuICB9O1xuICBzdGF0dXM6IHtcbiAgICBzdGF0dXM6IHN0cmluZztcbiAgICBNZXNzYWdlOiBzdHJpbmc7XG4gICAgY2x1c3RlckNvdW50OiBudW1iZXI7XG4gICAgbGF0ZXN0VXBkYXRlVGltZTogc3RyaW5nO1xuICAgIE5vblJlYWR5Q2x1c3RlckNvdW50OiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzaENvbW1vbkNvbmZpZyB7XG4gIGVsYXN0aWNzZWFyY2g6IHtcbiAgICBpc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIH07XG4gIG1vbml0b3JUeXBlOiBzdHJpbmc7XG4gIHByb21ldGhldXNCYXNpY0F1dGg6IHtcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGlzRGVmYXVsdE1vbml0b3I6IGJvb2xlYW47XG4gIHByb21ldGhldXNVUkw6IHN0cmluZztcbiAgdHJhY2VTYW1wbGluZzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJDb25maWcge1xuICBpc3Rpb1NpZGVjYXI6IHtcbiAgICBjcHVWYWx1ZTogc3RyaW5nO1xuICAgIG1lbW9yeVZhbHVlOiBzdHJpbmc7XG4gIH07XG4gIGthZmthPzoge1xuICAgIGF1dGhlbnRpY2F0aW9uOiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG4gIHJlZGlzPzogUmVkaXNDb25maWc7XG4gIHRyYWNlU2FtcGxpbmc6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWRpc0NvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGtpbmQ6ICdzaW5nbGUnIHwgJ2NsdXN0ZXInIHwgJ3NlbnRpbmVsJztcbiAgYWRkcmVzczogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBtYXN0ZXJOYW1lPzogc3RyaW5nO1xufVxuXG4vLyBUS0VcbmV4cG9ydCBpbnRlcmZhY2UgVEtFQ2x1c3RlclNwZWMge1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBzZXJ2aWNlQ0lEUj86IHN0cmluZztcbiAgZG9ja2VyRXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBrdWJlbGV0RXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBjb250cm9sbGVyTWFuYWdlckV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAgc2NoZWR1bGVyRXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBwdWJsaWNBbHRlcm5hdGl2ZU5hbWVzPzogc3RyaW5nW107XG4gIGNsdXN0ZXJDSURSPzogc3RyaW5nO1xuICBuZXR3b3JrRGV2aWNlPzogc3RyaW5nO1xuICBwcm9wZXJ0aWVzPzoge1xuICAgIG1heENsdXN0ZXJTZXJ2aWNlTnVtPzogbnVtYmVyO1xuICAgIG1heE5vZGVQb2ROdW0/OiBudW1iZXI7XG4gICAgb3ZlcnNvbGRSYXRpbz86IHtcbiAgICAgIGNwdTogc3RyaW5nO1xuICAgICAgbWVtb3J5OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgZmVhdHVyZXM/OiB7XG4gICAgZW5hYmxlTWFzdGVyU2NoZWR1bGU/OiBib29sZWFuO1xuICAgIGlwdjZEdWFsU3RhY2s/OiBib29sZWFuO1xuICAgIGZpbGVzPzogQXJyYXk8e1xuICAgICAgc3JjPzogc3RyaW5nO1xuICAgICAgZHN0Pzogc3RyaW5nO1xuICAgIH0+O1xuICAgIGhhPzoge1xuICAgICAgdGhpcmRQYXJ0eT86IHtcbiAgICAgICAgdmlwPzogc3RyaW5nO1xuICAgICAgICB2cG9ydD86IG51bWJlcjtcbiAgICAgIH07XG4gICAgICB0a2U/OiB7XG4gICAgICAgIHZyaWQ/OiB1bmtub3duO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICB0eXBlOiAnQmFyZW1ldGFsJyB8ICdJbXBvcnRlZCc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIG1hY2hpbmVzPzogVEtFTWFjaGluZVNwZWNbXTtcbiAgZG5zRG9tYWluPzogc3RyaW5nO1xuICBhcGlTZXJ2ZXJFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIGNsdXN0ZXJDcmVkZW50aWFsUmVmPzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUS0VDbHVzdGVyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFRLRUNsdXN0ZXJTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBwaGFzZT86IHN0cmluZztcbiAgICBjb25kaXRpb25zPzogQ29uZGl0aW9uW107XG4gICAgYWRkcmVzc2VzPzogQXJyYXk8e1xuICAgICAgaG9zdDogc3RyaW5nO1xuICAgICAgcGF0aD86ICcnO1xuICAgICAgdHlwZTogJ0FkdmVydGlzZScgfCAnUHVibGljJztcbiAgICAgIHBvcnQ6IG51bWJlcjtcbiAgICB9PjtcbiAgICBzZXJ2aWNlQ0lEUj86IHN0cmluZztcbiAgICBub2RlQ0lEUk1hc2tTaXplPzogbnVtYmVyO1xuICAgIGRuc0lQPzogc3RyaW5nO1xuICB9O1xuICBnYXRld2F5Tm9kZT86IE5vZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVEtFTWFjaGluZVNwZWMge1xuICBjbHVzdGVyTmFtZT86IHN0cmluZztcbiAgcm9sZT86ICdub2RlJyB8ICdtYXN0ZXInO1xuICBpcD86IHN0cmluZztcbiAgaXB2Nj86IHN0cmluZztcbiAgcHVibGljSVA/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICBuZXR3b3JrRGV2aWNlPzogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBwcml2YXRlS2V5Pzogc3RyaW5nO1xuICBwYXNzUGhyYXNlPzogc3RyaW5nO1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBsYWJlbHM/OiB7XG4gICAgWydudmlkaWEtZGV2aWNlLWVuYWJsZSddPzogc3RyaW5nO1xuICAgIFsnbm9kZS1yb2xlLmt1YmVybmV0ZXMuaW8vY3BhYXMtc3lzdGVtJ10/OiBzdHJpbmc7XG4gIH07XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHByb3h5Pzoge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICB9O1xuICBhbm5vdGF0aW9ucz86IFN0cmluZ01hcDtcbiAgdGFpbnRzPzogTm9kZVRhaW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlckNyZWRlbnRpYWwgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBjbHVzdGVyTmFtZTogc3RyaW5nO1xuICBjYUNlcnQ6IHN0cmluZztcbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUS0VNYWNoaW5lIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFRLRU1hY2hpbmVTcGVjO1xuICBzdGF0dXM/OiBOb2RlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hY2hpbmUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogTWFjaGluZVNwZWM7XG4gIHN0YXR1cz86IE1hY2hpbmVTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFjaGluZVNwZWMge1xuICBjbHVzdGVyOiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBzdHJpbmc7XG4gIHByb3ZpZGVyU3BlYzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYWNoaW5lU3RhdHVzIHtcbiAgdXNlckRhdGFTZWNyZXQ/OiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgfTtcbiAgbm9kZVJlZj86IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9O1xuICBsYXN0VXBkYXRlOiBzdHJpbmc7XG4gIGVyclJlYXNvbjogc3RyaW5nO1xuICBlcnJNZXNzYWdlOiBzdHJpbmc7XG4gIHBoYXNlOiBzdHJpbmc7XG4gIGNvbmRpdGlvbnM6IENvbmRpdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJWaWV3IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IHZvaWQ7XG4gIHN0YXR1cz86IENsdXN0ZXJWaWV3U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJWaWV3U3RhdHVzIHtcbiAgcHJvdmlzaW9uVHlwZTogJ1NlbGZIb3N0ZWQnIHwgJ1Byb3ZpZGVySG9zdGVkJyB8ICdJbXBvcnRlZCcgfCAnUmVnaXN0ZXJlZCc7XG4gIGNsdXN0ZXJUeXBlOiBzdHJpbmc7XG4gIHN1cHBvcnRXaW5kb3dzOiBib29sZWFuO1xuICByZWdpc3RyeUFkZHJlc3M6IHN0cmluZztcbiAgY29uZGl0aW9uczogQ29uZGl0aW9uW107XG4gIHByb2plY3RzOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgZGlzcGxheU5hbWU6IHN0cmluZyB9PjtcbiAgY29udHJvbFBsYW5lRW5kcG9pbnRzOiB7XG4gICAgZGVmYXVsdDogc3RyaW5nO1xuICAgIGFkdmVydGlzZTogc3RyaW5nO1xuICAgIHB1YmxpYz86IHN0cmluZztcbiAgfTtcbiAgbm9kZXNJbmZvOiB7XG4gICAgcmVhZHlOb2RlczogbnVtYmVyO1xuICAgIG5vdFJlYWR5Tm9kZXM6IG51bWJlcjtcbiAgICBhcmNoaXRlY3R1cmVzOiBzdHJpbmdbXTtcbiAgICB0b3RhbENQVUNvcmVzOiBudW1iZXI7XG4gICAgdG90YWxNZW1vcmllczogbnVtYmVyO1xuICAgIGNyaVZlcnNpb25zOiBzdHJpbmdbXTtcbiAgICBleHRyYVJlc291cmNlcz86IHsgW2tleTogc3RyaW5nXTogQ2x1c3RlckRldmljZVJlc291cmNlIH07XG4gIH07XG4gIGNsdXN0ZXJOZXR3b3JrOiB7XG4gICAgaGFMb2FkQmFsYW5jZXJUeXBlPzogJ0FsaXZlJyB8ICdUaGlyZFBhcnR5JztcbiAgICBjbmlUeXBlOiBzdHJpbmc7XG4gICAgcHJvdG9jb2xTdGFjazogJ0lQdjQnIHwgJ0lQdjYnIHwgJ0R1YWwtU3RhY2snO1xuICAgIHNlcnZpY2VDSURSczogc3RyaW5nW107XG4gICAgcG9kQ0lEUnM6IHN0cmluZ1tdO1xuICAgIGV4dHJhSW5mbzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICB2cmlkPzogbnVtYmVyO1xuICAgIG1heE5vZGVzPzogbnVtYmVyO1xuICB9O1xuICBtYW5hZ2VkQnk/OiB7XG4gICAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnQ6IHN0cmluZztcbiAgfTtcbiAgZ3B1UGx1Z2luVHlwZT86ICdWaXJ0dWFsJyB8ICdQaHlzaWNhbCc7XG4gIGhpZ2hBdmFpbGFibGU6IGJvb2xlYW47XG4gIG5lZWRVcGdyYWRlOiBib29sZWFuO1xuICB1cGdyYWRhYmxlOiBib29sZWFuO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlOiBzdHJpbmc7XG4gIGV4dHJhQXJnczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG4gIHB1YmxpY0FsdGVybmF0aXZlTmFtZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJEZXZpY2VSZXNvdXJjZSB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIHVuaXQ/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uWmg/OiBzdHJpbmc7XG4gIGxhYmVsRW4/OiBzdHJpbmc7XG4gIGxhYmVsWmg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJOZXR3b3JrU3BlYyB7XG4gIGRlZmF1bHRJbnRlcmZhY2U6IHN0cmluZztcbiAgY3VzdG9tSW50ZXJmYWNlczogQXJyYXk8e1xuICAgIGludGVyZmFjZTogc3RyaW5nO1xuICAgIG5vZGVzOiBzdHJpbmdbXTtcbiAgfT47XG4gIGV4Y2x1ZGVOb2Rlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJOZXR3b3JrIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzogUHJvdmlkZXJOZXR3b3JrU3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHJlYWR5OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBMb2NhbGVEaXNwbGF5ID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnlTcGVjIHtcbiAgbG9nbz86IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBMb2NhbGVEaXNwbGF5O1xuICBkZXNjcmlwdGlvbj86IExvY2FsZURpc3BsYXk7XG4gIGNhdGFsb2c/OiBMb2NhbGVEaXNwbGF5O1xuICBlbnRyeXBvaW50Pzogc3RyaW5nO1xuICBzc29FbmFibGVkPzogYm9vbGVhbjtcbiAgcGFja1R5cGU/OiAnSW50ZWdyYXRlZCcgfCAnQnVpbGRJbicgfCAnQWRtaW5QYWdlJztcbiAgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnlTdGF0dXMge1xuICBoaWRkZW5PblBvcnRhbD86IGJvb2xlYW47XG4gIGhpZGRlbk9uTWVudT86IGJvb2xlYW47XG4gIG9yZGVyT25Qb3J0YWw/OiBudW1iZXI7XG4gIG9yZGVyT25NZW51PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RFbnRyeSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBQcm9kdWN0RW50cnlTcGVjO1xuICBzdGF0dXM/OiBQcm9kdWN0RW50cnlTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFN0YXR1cyB7XG4gIHR5cGU6IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hci9tYXgtdW5pb24tc2l6ZVxuICB8ICdOb3REZXBsb3llZCdcbiAgICB8ICdJbkRlcGxveW1lbnQnXG4gICAgfCAnUnVubmluZydcbiAgICB8ICdEZXBsb3ltZW50RmFpbHVyZSdcbiAgICB8ICdSdW5uaW5nQWJub3JtYWwnXG4gICAgfCAnRGVsZXRpbmcnXG4gICAgfCAnRGVsZXRlRmFpbHVyZSdcbiAgICB8ICdEZXBsb3ltZW50U3VjY2VlZCdcbiAgICB8ICdTeXN0ZW1FcnJvcidcbiAgICB8ICdVcGdyYWRpbmcnO1xuICBpY29uOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RG9jc0VudHJ5IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGdyb3VwczogQXJyYXk8e1xuICAgICAgZ3JvdXBOYW1lOiBMb2NhbGVEaXNwbGF5O1xuICAgICAgZG9jczogQXJyYXk8e1xuICAgICAgICBsb2dvOiBzdHJpbmc7XG4gICAgICAgIGRvY0VudHJ5cG9pbnQ6IHN0cmluZztcbiAgICAgICAgZGlzcGxheU5hbWU6IExvY2FsZURpc3BsYXk7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBMb2NhbGVEaXNwbGF5O1xuICAgICAgfT47XG4gICAgfT47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RDb25kaXRpb24ge1xuICBsYXN0UHJvYmVUaW1lPzogc3RyaW5nO1xuICBsYXN0VHJhbnNpdGlvblRpbWU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgcmVhc29uOiBzdHJpbmc7IC8vIFBlcm1pc3Npb25DaGVja0ZhaWxlZFxuICBzdGF0dXM6ICdUcnVlJyB8ICdGYWxzZSc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAbGluayBodHRwczovL2dpdGxhYi1jZS5hbGF1ZGEuY24vY29udGFpbmVyLXBsYXRmb3JtL2NhcHRhaW4vLS9ibG9iL21hc3Rlci9kb2NzL2NyZC5tZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IEhlbG1SZXF1ZXN0U3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBIZWxtUmVxdWVzdFBoYXNlRW51bTtcbiAgICBub3Rlcz86IHN0cmluZztcbiAgICBsYXN0U3BlY0hhc2g/OiBzdHJpbmc7XG4gICAgcmVhc29uPzogc3RyaW5nO1xuICAgIGNvbmRpdGlvbnM/OiBIZWxtUmVxdWVzdENvbmRpdGlvbltdO1xuICAgIHRhcmdldENsdXN0ZXJTeW5jUmVzdWx0cz86IEhlbG1SZXF1ZXN0Q2x1c3RlclN5bmNSZXN1bHRzO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0Q2x1c3RlclN5bmNSZXN1bHRzIHtcbiAgW2NsdXN0ZXI6IHN0cmluZ106IEhlbG1SZXF1ZXN0Q2x1c3RlclN5bmNSZXN1bHQ7XG59XG5cbmV4cG9ydCBlbnVtIENsb3VkSGVsbVJlcXVlc3RTdGF0ZUVudW0ge1xuICBQZW5kaW5nID0gJ1BlbmRpbmcnLFxuICBSdW5uaW5nID0gJ1J1bm5pbmcnLFxuICBTdG9wcGVkID0gJ1N0b3BwZWQnLFxuICBGYWlsZWQgPSAnRmFpbGVkJyxcbiAgRW1wdHkgPSAnRW1wdHknLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0Q2x1c3RlclN5bmNSZXN1bHQge1xuICBhcHBTdGF0dXM6IENsb3VkSGVsbVJlcXVlc3RTdGF0ZUVudW07XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIGxhc3RVcGRhdGVBdDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBoYXNlOiBIZWxtUmVxdWVzdFBoYXNlRW51bTtcbiAgcmVhc29uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEhlbG1SZXF1ZXN0UGhhc2VFbnVtIHtcbiAgU3luY2VkID0gJ1N5bmNlZCcsXG4gIEZhaWxlZCA9ICdGYWlsZWQnLFxuICBQZW5kaW5nID0gJ1BlbmRpbmcnLFxuICBVbmluc3RhbGxpbmcgPSAnVW5pbnN0YWxsaW5nJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdFNwZWMge1xuICBjaGFydD86IHN0cmluZztcbiAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdmFsdWVzRnJvbT86IEFycmF5PHtcbiAgICBjb25maWdNYXBLZXlSZWY/OiBDb25maWdNYXBLZXlSZWY7XG4gICAgc2VjcmV0S2V5UmVmPzogU2VjcmV0S2V5UmVmO1xuICB9PjtcbiAgY2x1c3Rlck5hbWU/OiBzdHJpbmc7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgcmVsZWFzZU5hbWU/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIHByb2plY3ROYW1lPzogc3RyaW5nO1xuICBzb3VyY2U/OiB7XG4gICAgb2NpPzogSGVsbVJlcXVlc3RPY2k7XG4gICAgaHR0cD86IEhlbG1SZXF1ZXN0SHR0cDtcbiAgfTtcbiAgdGFyZ2V0Q2x1c3RlcnM/OiB7XG4gICAgY2x1c3Rlck5hbWVzOiB7XG4gICAgICBuYW1lczogc3RyaW5nW107XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdE9jaSB7XG4gIHJlcG86IHN0cmluZztcbiAgc2VjcmV0UmVmOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0SHR0cCB7XG4gIHVybDogc3RyaW5nO1xuICBzZWNyZXRSZWY6IHN0cmluZztcbn1cblxuLyoqXG4gKiBodHRwczovL2NvbmZsdWVuY2UuYWxhdWRhLmNuL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MTc2ODgzNDcwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckJpbmRpbmcgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogVXNlckJpbmRpbmdTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJCaW5kaW5nU3BlYyB7XG4gIHN1YmplY3RzOiBBcnJheTx7XG4gICAga2luZDogJ1VzZXInIHwgJ0dyb3VwJyB8ICdTZXJ2aWNlQWNjb3VudCc7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9PjtcbiAgcm9sZVJlZjogc3RyaW5nO1xuICBzY29wZTogc3RyaW5nOyAvLyDmlK/mjIHnsbvlnotwbGF0Zm9ybSwgY2x1c3RlciwgcHJvamVjdCwgbmFtZXNwYWNlXG4gIGNvbnN0cmFpbnQ6IEFycmF5PHtcbiAgICBwcm9qZWN0Pzogc3RyaW5nO1xuICAgIGNsdXN0ZXI/OiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICB9Pjtcbn1cbiJdfQ==
41
+ export var UserState;
42
+ (function (UserState) {
43
+ UserState["ACTIVE"] = "active";
44
+ UserState["LOCKED"] = "locked";
45
+ UserState["INVALID"] = "invalid";
46
+ UserState["DELETED"] = "deleted";
47
+ })(UserState || (UserState = {}));
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdHlwZXMvazhzL2NyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5SEEsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixpREFBMEIsQ0FBQTtJQUMxQiwwQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQVVYO0FBVkQsV0FBWSxrQkFBa0I7SUFDNUIsa0RBQTRCLENBQUE7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIsb0RBQThCLENBQUE7SUFDOUIsNkNBQXVCLENBQUE7SUFDdkIsc0RBQWdDLENBQUE7SUFDaEMsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVZXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFVN0I7QUE4Q0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxNQUFNO0lBQ1osa0JBQWtCLEVBQUUsbUJBQW1CO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUFrY1gsTUFBTSxDQUFOLElBQVkseUJBTVg7QUFORCxXQUFZLHlCQUF5QjtJQUNuQyxnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQiw4Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBTXBDO0FBV0QsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5Qix5Q0FBaUIsQ0FBQTtJQUNqQix5Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBbUIsQ0FBQTtJQUNuQixxREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQjtBQXNIRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vY29tbW9ucyc7XG5cbmltcG9ydCB7IENvbmRpdGlvbiwgS3ViZXJuZXRlc1Jlc291cmNlLCBPYmplY3RNZXRhIH0gZnJvbSAnLi9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ01hcEtleVJlZixcbiAgTm9kZSxcbiAgTm9kZVN0YXR1cyxcbiAgTm9kZVRhaW50LFxuICBTZWNyZXRLZXlSZWYsXG59IGZyb20gJy4vcmF3JztcblxuLyoqXG4gKiDlj6rkv53nlZljb21tb27kuK3pnIDopoHnlKjliLDnmoRjcmQg5omp5bGV57G7XG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQ29uZGl0aW9uIHtcbiAgc3RhdHVzPzogJ1N1Y2Nlc3MnIHwgJ0ZhaWxlZCcgfCAnUHJvY2Vzc2luZycgfCAnUGVuZGluZyc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbGFzdFRyYW5zaXRpb25UaW1lPzogc3RyaW5nO1xuICBsYXN0SGVhcnRiZWF0VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQXZhaWxhYmxlVmVyc2lvbiB7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuICByaXNrTGV2ZWw/OiAnTG93JyB8ICdNaWRkbGUnIHwgJ0hpZ2gnO1xuICBkZXBlbmRlbmNpZXM/OiBBcnJheTx7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb25zTWF0Y2g6IHN0cmluZ1tdO1xuICB9PjtcbiAgdXBncmFkZUJlZm9yZT86IEFycmF5PHtcbiAgICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUluZm8gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzoge1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludD86IHN0cmluZztcbiAgICBzZWxlY3RlZENsdXN0ZXI/OiBBcnJheTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PjsgLy8ge3BsdWdpbi1uYW1lOiBjbHVzdGVyLW5hbWV9W11cbiAgICB2YWx1ZXNPdmVycmlkZTogU3RyaW5nTWFwO1xuICAgIGNvbmZpZz86IGFueTtcbiAgfTtcbiAgc3RhdHVzPzoge1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBwaGFzZTogJ1Byb2Nlc3NpbmcnIHwgJ1J1bm5pbmcnIHwgJ0ZhaWxlZCcgfCAnQmxvY2tlZCc7XG4gICAgcmVtb3ZlSXNQcmV2ZW50ZWQ/OiBib29sZWFuO1xuICAgIGJsb2NrUmVhc29ucz86IHN0cmluZ1tdO1xuICAgIGNvbmRpdGlvbnM/OiBNb2R1bGVJbmZvQ29uZGl0aW9uW107XG4gICAgYXZhaWxhYmxlVmVyc2lvbnM6IE1vZHVsZUluZm9BdmFpbGFibGVWZXJzaW9uW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclNwZWMge1xuICBhdXRoSW5mbz86IHtcbiAgICBjb250cm9sbGVyOiB7XG4gICAgICBraW5kOiBzdHJpbmc7XG4gICAgICBuYW1lc3BhY2U6IHN0cmluZztcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBrdWJlcm5ldGVzQXBpRW5kcG9pbnRzPzoge1xuICAgIGNhQnVuZGxlPzogc3RyaW5nO1xuICAgIHNlcnZlckVuZHBvaW50czogQXJyYXk8e1xuICAgICAgY2xpZW50Q0lEUjogc3RyaW5nO1xuICAgICAgc2VydmVyQWRkcmVzczogc3RyaW5nO1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBDbHVzdGVyU3RhdHVzUmVhc29uID1cbiAgfCAnVGltZW91dCdcbiAgfCAnRm9yYmlkZGVuJ1xuICB8ICdVbmF1dGhvcml6ZWQnXG4gIHwgJ1NvbWVDb21wb25lbnRzVW5oZWFsdGh5J1xuICB8ICdTb21lTm9kZXNOb3RSZWFkeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1c0NvbmRpdGlvbiBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGxhc3RUcmFuc2l0aW9uVGltZTogc3RyaW5nO1xuICB0eXBlOlxuICAgIHwgJ05vdFJlYWNoYWJsZSdcbiAgICB8ICdOb3RBY2Nlc3NpYmxlJ1xuICAgIHwgJ0NvbXBvbmVudE5vdEhlYWx0aHknXG4gICAgfCAnTm9kZU5vdFJlYWR5JztcbiAgc3RhdHVzOiAnVHJ1ZScgfCAnRmFsc2UnO1xuICByZWFzb246IENsdXN0ZXJTdGF0dXNSZWFzb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1cyB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgY29uZGl0aW9uczogQ2x1c3RlclN0YXR1c0NvbmRpdGlvbltdO1xufVxuXG4vLyBjbHVzdGVycy5jbHVzdGVycmVnaXN0cnkuazhzLmlvIOeahOexu+Wei+WumuS5iVxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbWV0YWRhdGE/OiBPYmplY3RNZXRhICYge1xuICAgIGZpbmFsaXplcnM/OiBzdHJpbmdbXTtcbiAgfTtcbiAgc3BlYz86IENsdXN0ZXJTcGVjO1xuICBzdGF0dXM/OiBDbHVzdGVyU3RhdHVzO1xuICBkZXRhaWxzPzoge1xuICAgIGdyb3VwOiBzdHJpbmc7XG4gICAga2luZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgfTtcbn1cblxuLy8gQWxhdWRhIFByb2R1Y3RcbmV4cG9ydCBpbnRlcmZhY2UgQWxhdWRhUHJvZHVjdFN0YXR1cyBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGRlcGxveVN0YXR1cz86IEFsYXVkYURlcGxveVN0YXR1cztcbiAgcnVubmluZ1N0YXR1cz86IEFsYXVkYVJ1bm5pbmdTdGF0dXM7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGVwbG95VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQWxhdWRhUnVubmluZ1N0YXR1cyB7XG4gIE5PVF9SVU5OSU5HID0gJ05vdFJ1bm5pbmcnLFxuICBIRUFMVEhZID0gJ0hlYWx0aHknLFxuICBBQk5PUk1BTCA9ICdBYm5vcm1hbCcsXG59XG5cbmV4cG9ydCBlbnVtIEFsYXVkYURlcGxveVN0YXR1cyB7XG4gIE5PVF9ERVBMT1lFRCA9ICdOb3REZXBsb3llZCcsXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG4gIEFCTk9STUFMID0gJ0Fibm9ybWFsJyxcbiAgREVQTE9ZSU5HID0gJ0RlcGxveWluZycsXG4gIERFUExPWV9GQUlMRUQgPSAnRGVwbG95RmFpbGVkJyxcbiAgVVBHUkFESU5HID0gJ1VwZ3JhZGluZycsXG4gIFVQR1JBREVfRkFJTEVEID0gJ1VwZ3JhZGVGYWlsZWQnLFxuICBDT01QTEVURUQgPSAnQ29tcGxldGVkJyxcbiAgUEVORElORyA9ICdQZW5kaW5nJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2UgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQcm9kdWN0QmFzZVNwZWM7XG4gIHN0YXR1cz86IFByb2R1Y3RCYXNlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTdGF0dXNDb25kaXRpb24ge1xuICBzdGF0dXM/OiAnVHJ1ZScgfCAnRmFsc2UnIHwgJ1Vua25vd24nO1xuICByZWFzb24/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHR5cGU6ICdSZWFkeScgfCAnSW5pdGlhbGl6ZWQnIHwgJ1JlY2xhaW1lZCcgfCAnU3VjY2VlZCc7XG4gIGxhc3RUcmFuc2l0aW9uVGltZT86IHN0cmluZztcbiAgbGFzdEhlYXJ0YmVhdFRpbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTdGF0dXMge1xuICBnbG9iYWxJRDogc3RyaW5nO1xuICBjbG91ZDoge1xuICAgIHBoYXNlOiAnT05MaW5lJyB8ICdDb25uZWN0RmFpbGVkJyB8ICdDb25uZWN0aW5nJyB8ICdPRkZMaW5lJztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgY29ubmVjdFVSTDogc3RyaW5nO1xuICB9O1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlPzpcbiAgICB8ICdQZW5kaW5nJ1xuICAgIHwgJ1Byb3Zpc2lvbmluZydcbiAgICB8ICdQcm92aXNpb25lZCdcbiAgICB8ICdEZWxldGluZydcbiAgICB8ICdGYWlsZWQnXG4gICAgfCAnUnVubmluZydcbiAgICB8ICdJbnN0YWxsaW5nJyAvLyB0ZHNxbFxuICAgIHwgJ1VwZ3JhZGluZyc7XG4gIHByb2R1Y3RFbnRyeXBvaW50Pzogc3RyaW5nO1xuICBkZWxldGFibGU/OiBib29sZWFuO1xuICBjb25kaXRpb25zPzogUHJvZHVjdFN0YXR1c0NvbmRpdGlvbltdO1xuICBwcm9tZXRoZXVzQWRkcmVzcz86IHN0cmluZztcbiAgZWxhc3RpY1NlYXJjaEFkZHJlc3M/OiBzdHJpbmc7XG4gIGthZmthQWRkcmVzcz86IHN0cmluZztcbiAgY29udGFpbmVyUGxhdGZvcm0/OiBBbGF1ZGFQcm9kdWN0U3RhdHVzO1xuICBkZXZvcHM/OiBBbGF1ZGFQcm9kdWN0U3RhdHVzO1xuICBzZXJ2aWNlTWVzaD86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIGRhdGFTZXJ2aWNlcz86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIGJhc2U/OiBBbGF1ZGFQcm9kdWN0U3RhdHVzO1xuICBwcm9ncmVzcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFByb2R1Y3RLZXkgPSB7XG4gIEJBU0U6ICdiYXNlJyxcbiAgQ09OVEFJTkVSX1BMQVRGT1JNOiAnY29udGFpbmVyUGxhdGZvcm0nLFxuICBERVZPUFM6ICdkZXZvcHMnLFxuICBTRVJWSUNFX01FU0g6ICdzZXJ2aWNlTWVzaCcsXG4gIERBVEFfU0VSVklDRVM6ICdkYXRhU2VydmljZXMnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdEtleSA9IFZhbHVlT2Y8dHlwZW9mIFByb2R1Y3RLZXk+O1xuXG50eXBlIEdlblByb2R1Y3Q8VCBleHRlbmRzIFByb2R1Y3RLZXk+ID0gUmVjb3JkPFQsIHsgaW5zdGFsbDogYm9vbGVhbiB9PjtcblxuZXhwb3J0IGludGVyZmFjZSBUbHMge1xuICBjZXJ0OiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RCYXNlU3BlYyBleHRlbmRzIEdlblByb2R1Y3Q8UHJvZHVjdEtleT4ge1xuICBhbHRlcm5hdGl2ZVVSTHM6IHN0cmluZ1tdO1xuICBjaGFydE11c2V1bToge1xuICAgIHVybDogc3RyaW5nO1xuICB9O1xuICBwYWNrYWdlRWRpdGlvbjogc3RyaW5nO1xuICB2YWx1ZXNPdmVycmlkZT86IHtcbiAgICBkZXg6IFN0cmluZ01hcDtcbiAgfTtcbiAgY2hhcnRWZXJzaW9uczogW3sgbmFtZTogc3RyaW5nOyB2ZXJzaW9uOiBzdHJpbmcgfV07XG4gIGRlZmF1bHRBZG1pbjoge1xuICAgIGFjY291bnQ6IHN0cmluZztcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG4gIGRlZmF1bHRSZWRpcmVjdFBhdGg6IHN0cmluZztcbiAgZGVwbG95VHlwZTogc3RyaW5nO1xuICBlbGFzdGljc2VhcmNoOiB7XG4gICAgaW5zdGFsbDogYm9vbGVhbjtcbiAgICBub2Rlczogc3RyaW5nW107XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgaHR0cDoge1xuICAgIGZvcmNlUmVkaXJlY3RIdHRwcz86IGJvb2xlYW47XG4gICAgaHR0cFBvcnQ/OiBudW1iZXI7XG4gICAgaHR0cHNQb3J0PzogbnVtYmVyO1xuICAgIHRscz86IFRscztcbiAgfTtcbiAgaW5ncmVzczoge1xuICAgIGNvbnRyb2xsZXI6IHsgaW5zdGFsbDogYm9vbGVhbjsgbm9kZXM6IHN0cmluZ1tdIH07XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIGluZ3Jlc3NDbGFzc05hbWU6IHN0cmluZztcbiAgfTtcbiAga2Fma2E6IHtcbiAgICBhdXRoOiBib29sZWFuO1xuICAgIGluc3RhbGw6IGJvb2xlYW47XG4gICAgbm9kZXM6IHN0cmluZ1tdO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGxvZ0FnZW50OiB7XG4gICAgZW5hYmxlOiBib29sZWFuO1xuICB9O1xuICBsb2dDZW50ZXI6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gIH07XG4gIHBsYXRmb3JtVVJMOiBzdHJpbmc7XG4gIHByb21ldGhldXM6IHtcbiAgICBpbnN0YWxsOiBib29sZWFuO1xuICAgIHJlcGxpY2FzOiBudW1iZXI7XG4gICAgc3RvcmFnZTogeyBjYXBhY2l0eTogbnVtYmVyOyBub2Rlczogc3RyaW5nW107IHBhdGg6IHN0cmluZzsgdHlwZTogc3RyaW5nIH07XG4gIH07XG5cbiAgcmVnaXN0cnk6IHtcbiAgICBleHRlcm5hbD86IHN0cmluZztcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICBzZWNyZXRSZWY/OiBzdHJpbmc7XG4gIH07XG4gIHJlcGxpY2FzOiBudW1iZXI7XG4gIHZlcnNpb246IHN0cmluZztcbiAgY2xvdWQ6IHtcbiAgICBjb25uZWN0OiBib29sZWFuO1xuICAgIGNvbm5lY3RUeXBlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdFNwZWMge1xuICBjbHVzdGVyczogUHJvamVjdENsdXN0ZXJbXTtcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBzdHJpbmc7XG4gIH07XG4gIGNsdXN0ZXJEZWxldGVQb2xpY3k/OiAnRGVsZXRlJyB8ICdSZXRhaW4nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RDbHVzdGVyIHtcbiAgbmFtZTogc3RyaW5nO1xuICBxdW90YTogc3RyaW5nOyAvLyBcIntcXFwiY3B1XFxcIjotMSxcXFwibWVtb3J5XFxcIjotMSxcXFwicG9kc1xcXCI6LTEsXFxcInB2Y19udW1cXFwiOi0xLFxcXCJzdG9yYWdlXFxcIjotMX1cIlxuICB0eXBlPzogJycgfCAnRmVkTWVtYmVyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzogUHJvamVjdFNwZWM7XG4gIHN0YXR1cz86IHtcbiAgICBwaGFzZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VNZXNoR3JvdXAgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiB7XG4gICAgazhzVmVyc2lvbjogc3RyaW5nO1xuICAgIHdpdGhvdXRJc3Rpbz86IGJvb2xlYW47XG4gICAgaXN0aW9WZXJzaW9uOiBzdHJpbmc7XG4gICAgcHJpbWFyeTogc3RyaW5nO1xuICAgIHNlbGVjdG9yOiB7XG4gICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgfTtcbiAgICBjbHVzdGVyczogc3RyaW5nW107XG4gICAgbWVzaENvbW1vbkNvbmZpZz86IE1lc2hDb21tb25Db25maWc7XG4gICAgY2x1c3RlckNvbmZpZ3M/OiB7XG4gICAgICBbY2x1c3Rlck5hbWU6IHN0cmluZ106IENsdXN0ZXJDb25maWc7XG4gICAgfTtcbiAgfTtcbiAgc3RhdHVzOiB7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgTWVzc2FnZTogc3RyaW5nO1xuICAgIGNsdXN0ZXJDb3VudDogbnVtYmVyO1xuICAgIGxhdGVzdFVwZGF0ZVRpbWU6IHN0cmluZztcbiAgICBOb25SZWFkeUNsdXN0ZXJDb3VudDogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc2hDb21tb25Db25maWcge1xuICBlbGFzdGljc2VhcmNoOiB7XG4gICAgaXNEZWZhdWx0OiBib29sZWFuO1xuICAgIHBhc3N3b3JkPzogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICB9O1xuICBtb25pdG9yVHlwZTogc3RyaW5nO1xuICBwcm9tZXRoZXVzQmFzaWNBdXRoOiB7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICBpc0RlZmF1bHRNb25pdG9yOiBib29sZWFuO1xuICBwcm9tZXRoZXVzVVJMOiBzdHJpbmc7XG4gIHRyYWNlU2FtcGxpbmc6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyQ29uZmlnIHtcbiAgaXN0aW9TaWRlY2FyOiB7XG4gICAgY3B1VmFsdWU6IHN0cmluZztcbiAgICBtZW1vcnlWYWx1ZTogc3RyaW5nO1xuICB9O1xuICBrYWZrYT86IHtcbiAgICBhdXRoZW50aWNhdGlvbjogc3RyaW5nO1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICByZWRpcz86IFJlZGlzQ29uZmlnO1xuICB0cmFjZVNhbXBsaW5nOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVkaXNDb25maWcge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBraW5kOiAnc2luZ2xlJyB8ICdjbHVzdGVyJyB8ICdzZW50aW5lbCc7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgbWFzdGVyTmFtZT86IHN0cmluZztcbn1cblxuLy8gVEtFXG5leHBvcnQgaW50ZXJmYWNlIFRLRUNsdXN0ZXJTcGVjIHtcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgc2VydmljZUNJRFI/OiBzdHJpbmc7XG4gIGRvY2tlckV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAga3ViZWxldEV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAgY29udHJvbGxlck1hbmFnZXJFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIHNjaGVkdWxlckV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAgcHVibGljQWx0ZXJuYXRpdmVOYW1lcz86IHN0cmluZ1tdO1xuICBjbHVzdGVyQ0lEUj86IHN0cmluZztcbiAgbmV0d29ya0RldmljZT86IHN0cmluZztcbiAgcHJvcGVydGllcz86IHtcbiAgICBtYXhDbHVzdGVyU2VydmljZU51bT86IG51bWJlcjtcbiAgICBtYXhOb2RlUG9kTnVtPzogbnVtYmVyO1xuICAgIG92ZXJzb2xkUmF0aW8/OiB7XG4gICAgICBjcHU6IHN0cmluZztcbiAgICAgIG1lbW9yeTogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGZlYXR1cmVzPzoge1xuICAgIGVuYWJsZU1hc3RlclNjaGVkdWxlPzogYm9vbGVhbjtcbiAgICBpcHY2RHVhbFN0YWNrPzogYm9vbGVhbjtcbiAgICBmaWxlcz86IEFycmF5PHtcbiAgICAgIHNyYz86IHN0cmluZztcbiAgICAgIGRzdD86IHN0cmluZztcbiAgICB9PjtcbiAgICBoYT86IHtcbiAgICAgIHRoaXJkUGFydHk/OiB7XG4gICAgICAgIHZpcD86IHN0cmluZztcbiAgICAgICAgdnBvcnQ/OiBudW1iZXI7XG4gICAgICB9O1xuICAgICAgdGtlPzoge1xuICAgICAgICB2cmlkPzogdW5rbm93bjtcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgdHlwZTogJ0JhcmVtZXRhbCcgfCAnSW1wb3J0ZWQnO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBtYWNoaW5lcz86IFRLRU1hY2hpbmVTcGVjW107XG4gIGRuc0RvbWFpbj86IHN0cmluZztcbiAgYXBpU2VydmVyRXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBjbHVzdGVyQ3JlZGVudGlhbFJlZj86IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVEtFQ2x1c3RlciBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBUS0VDbHVzdGVyU3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgcGhhc2U/OiBzdHJpbmc7XG4gICAgY29uZGl0aW9ucz86IENvbmRpdGlvbltdO1xuICAgIGFkZHJlc3Nlcz86IEFycmF5PHtcbiAgICAgIGhvc3Q6IHN0cmluZztcbiAgICAgIHBhdGg/OiAnJztcbiAgICAgIHR5cGU6ICdBZHZlcnRpc2UnIHwgJ1B1YmxpYyc7XG4gICAgICBwb3J0OiBudW1iZXI7XG4gICAgfT47XG4gICAgc2VydmljZUNJRFI/OiBzdHJpbmc7XG4gICAgbm9kZUNJRFJNYXNrU2l6ZT86IG51bWJlcjtcbiAgICBkbnNJUD86IHN0cmluZztcbiAgfTtcbiAgZ2F0ZXdheU5vZGU/OiBOb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRLRU1hY2hpbmVTcGVjIHtcbiAgY2x1c3Rlck5hbWU/OiBzdHJpbmc7XG4gIHJvbGU/OiAnbm9kZScgfCAnbWFzdGVyJztcbiAgaXA/OiBzdHJpbmc7XG4gIGlwdjY/OiBzdHJpbmc7XG4gIHB1YmxpY0lQPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgbmV0d29ya0RldmljZT86IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgcHJpdmF0ZUtleT86IHN0cmluZztcbiAgcGFzc1BocmFzZT86IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgbGFiZWxzPzoge1xuICAgIFsnbnZpZGlhLWRldmljZS1lbmFibGUnXT86IHN0cmluZztcbiAgICBbJ25vZGUtcm9sZS5rdWJlcm5ldGVzLmlvL2NwYWFzLXN5c3RlbSddPzogc3RyaW5nO1xuICB9O1xuICB0eXBlPzogc3RyaW5nO1xuICBwcm94eT86IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgYW5ub3RhdGlvbnM/OiBTdHJpbmdNYXA7XG4gIHRhaW50cz86IE5vZGVUYWludFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJDcmVkZW50aWFsIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgY2x1c3Rlck5hbWU6IHN0cmluZztcbiAgY2FDZXJ0OiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVEtFTWFjaGluZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBUS0VNYWNoaW5lU3BlYztcbiAgc3RhdHVzPzogTm9kZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYWNoaW5lIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IE1hY2hpbmVTcGVjO1xuICBzdGF0dXM/OiBNYWNoaW5lU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hY2hpbmVTcGVjIHtcbiAgY2x1c3Rlcjogc3RyaW5nO1xuICBwcm92aWRlcjogc3RyaW5nO1xuICBwcm92aWRlclNwZWM6IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFjaGluZVN0YXR1cyB7XG4gIHVzZXJEYXRhU2VjcmV0Pzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gIH07XG4gIG5vZGVSZWY/OiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgfTtcbiAgbGFzdFVwZGF0ZTogc3RyaW5nO1xuICBlcnJSZWFzb246IHN0cmluZztcbiAgZXJyTWVzc2FnZTogc3RyaW5nO1xuICBwaGFzZTogc3RyaW5nO1xuICBjb25kaXRpb25zOiBDb25kaXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyVmlldyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiB2b2lkO1xuICBzdGF0dXM/OiBDbHVzdGVyVmlld1N0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyVmlld1N0YXR1cyB7XG4gIHByb3Zpc2lvblR5cGU6ICdTZWxmSG9zdGVkJyB8ICdQcm92aWRlckhvc3RlZCcgfCAnSW1wb3J0ZWQnIHwgJ1JlZ2lzdGVyZWQnO1xuICBjbHVzdGVyVHlwZTogc3RyaW5nO1xuICBzdXBwb3J0V2luZG93czogYm9vbGVhbjtcbiAgcmVnaXN0cnlBZGRyZXNzOiBzdHJpbmc7XG4gIGNvbmRpdGlvbnM6IENvbmRpdGlvbltdO1xuICBwcm9qZWN0czogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IGRpc3BsYXlOYW1lOiBzdHJpbmcgfT47XG4gIGNvbnRyb2xQbGFuZUVuZHBvaW50czoge1xuICAgIGRlZmF1bHQ6IHN0cmluZztcbiAgICBhZHZlcnRpc2U6IHN0cmluZztcbiAgICBwdWJsaWM/OiBzdHJpbmc7XG4gIH07XG4gIG5vZGVzSW5mbzoge1xuICAgIHJlYWR5Tm9kZXM6IG51bWJlcjtcbiAgICBub3RSZWFkeU5vZGVzOiBudW1iZXI7XG4gICAgYXJjaGl0ZWN0dXJlczogc3RyaW5nW107XG4gICAgdG90YWxDUFVDb3JlczogbnVtYmVyO1xuICAgIHRvdGFsTWVtb3JpZXM6IG51bWJlcjtcbiAgICBjcmlWZXJzaW9uczogc3RyaW5nW107XG4gICAgZXh0cmFSZXNvdXJjZXM/OiB7IFtrZXk6IHN0cmluZ106IENsdXN0ZXJEZXZpY2VSZXNvdXJjZSB9O1xuICB9O1xuICBjbHVzdGVyTmV0d29yazoge1xuICAgIGhhTG9hZEJhbGFuY2VyVHlwZT86ICdBbGl2ZScgfCAnVGhpcmRQYXJ0eSc7XG4gICAgY25pVHlwZTogc3RyaW5nO1xuICAgIHByb3RvY29sU3RhY2s6ICdJUHY0JyB8ICdJUHY2JyB8ICdEdWFsLVN0YWNrJztcbiAgICBzZXJ2aWNlQ0lEUnM6IHN0cmluZ1tdO1xuICAgIHBvZENJRFJzOiBzdHJpbmdbXTtcbiAgICBleHRyYUluZm86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgdnJpZD86IG51bWJlcjtcbiAgICBtYXhOb2Rlcz86IG51bWJlcjtcbiAgfTtcbiAgbWFuYWdlZEJ5Pzoge1xuICAgIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgICBlbnRyeXBvaW50OiBzdHJpbmc7XG4gIH07XG4gIGdwdVBsdWdpblR5cGU/OiAnVmlydHVhbCcgfCAnUGh5c2ljYWwnO1xuICBoaWdoQXZhaWxhYmxlOiBib29sZWFuO1xuICBuZWVkVXBncmFkZTogYm9vbGVhbjtcbiAgdXBncmFkYWJsZTogYm9vbGVhbjtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBwaGFzZTogc3RyaW5nO1xuICBleHRyYUFyZ3M6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICBwdWJsaWNBbHRlcm5hdGl2ZU5hbWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyRGV2aWNlUmVzb3VyY2Uge1xuICB2YWx1ZTogbnVtYmVyO1xuICB1bml0Pzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvblpoPzogc3RyaW5nO1xuICBsYWJlbEVuPzogc3RyaW5nO1xuICBsYWJlbFpoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTmV0d29ya1NwZWMge1xuICBkZWZhdWx0SW50ZXJmYWNlOiBzdHJpbmc7XG4gIGN1c3RvbUludGVyZmFjZXM6IEFycmF5PHtcbiAgICBpbnRlcmZhY2U6IHN0cmluZztcbiAgICBub2Rlczogc3RyaW5nW107XG4gIH0+O1xuICBleGNsdWRlTm9kZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTmV0d29yayBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IFByb3ZpZGVyTmV0d29ya1NwZWM7XG4gIHN0YXR1cz86IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgTG9jYWxlRGlzcGxheSA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEVudHJ5U3BlYyB7XG4gIGxvZ28/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogTG9jYWxlRGlzcGxheTtcbiAgZGVzY3JpcHRpb24/OiBMb2NhbGVEaXNwbGF5O1xuICBjYXRhbG9nPzogTG9jYWxlRGlzcGxheTtcbiAgZW50cnlwb2ludD86IHN0cmluZztcbiAgc3NvRW5hYmxlZD86IGJvb2xlYW47XG4gIHBhY2tUeXBlPzogJ0ludGVncmF0ZWQnIHwgJ0J1aWxkSW4nIHwgJ0FkbWluUGFnZSc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEVudHJ5U3RhdHVzIHtcbiAgaGlkZGVuT25Qb3J0YWw/OiBib29sZWFuO1xuICBoaWRkZW5Pbk1lbnU/OiBib29sZWFuO1xuICBvcmRlck9uUG9ydGFsPzogbnVtYmVyO1xuICBvcmRlck9uTWVudT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnkgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogUHJvZHVjdEVudHJ5U3BlYztcbiAgc3RhdHVzPzogUHJvZHVjdEVudHJ5U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTdGF0dXMge1xuICB0eXBlOlxuICAgIHwgJ05vdERlcGxveWVkJ1xuICAgIHwgJ0luRGVwbG95bWVudCdcbiAgICB8ICdSdW5uaW5nJ1xuICAgIHwgJ0RlcGxveW1lbnRGYWlsdXJlJ1xuICAgIHwgJ1J1bm5pbmdBYm5vcm1hbCdcbiAgICB8ICdEZWxldGluZydcbiAgICB8ICdEZWxldGVGYWlsdXJlJ1xuICAgIHwgJ0RlcGxveW1lbnRTdWNjZWVkJ1xuICAgIHwgJ1N5c3RlbUVycm9yJ1xuICAgIHwgJ1VwZ3JhZGluZyc7XG4gIGljb246IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3REb2NzRW50cnkgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiB7XG4gICAgZ3JvdXBzOiBBcnJheTx7XG4gICAgICBncm91cE5hbWU6IExvY2FsZURpc3BsYXk7XG4gICAgICBkb2NzOiBBcnJheTx7XG4gICAgICAgIGxvZ286IHN0cmluZztcbiAgICAgICAgZG9jRW50cnlwb2ludDogc3RyaW5nO1xuICAgICAgICBkaXNwbGF5TmFtZTogTG9jYWxlRGlzcGxheTtcbiAgICAgICAgZGVzY3JpcHRpb246IExvY2FsZURpc3BsYXk7XG4gICAgICB9PjtcbiAgICB9PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdENvbmRpdGlvbiB7XG4gIGxhc3RQcm9iZVRpbWU/OiBzdHJpbmc7XG4gIGxhc3RUcmFuc2l0aW9uVGltZT86IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICByZWFzb246IHN0cmluZzsgLy8gUGVybWlzc2lvbkNoZWNrRmFpbGVkXG4gIHN0YXR1czogJ1RydWUnIHwgJ0ZhbHNlJztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0bGFiLWNlLmFsYXVkYS5jbi9jb250YWluZXItcGxhdGZvcm0vY2FwdGFpbi8tL2Jsb2IvbWFzdGVyL2RvY3MvY3JkLm1kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3QgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogSGVsbVJlcXVlc3RTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgcGhhc2U6IEhlbG1SZXF1ZXN0UGhhc2VFbnVtO1xuICAgIG5vdGVzPzogc3RyaW5nO1xuICAgIGxhc3RTcGVjSGFzaD86IHN0cmluZztcbiAgICByZWFzb24/OiBzdHJpbmc7XG4gICAgY29uZGl0aW9ucz86IEhlbG1SZXF1ZXN0Q29uZGl0aW9uW107XG4gICAgdGFyZ2V0Q2x1c3RlclN5bmNSZXN1bHRzPzogSGVsbVJlcXVlc3RDbHVzdGVyU3luY1Jlc3VsdHM7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RDbHVzdGVyU3luY1Jlc3VsdHMge1xuICBbY2x1c3Rlcjogc3RyaW5nXTogSGVsbVJlcXVlc3RDbHVzdGVyU3luY1Jlc3VsdDtcbn1cblxuZXhwb3J0IGVudW0gQ2xvdWRIZWxtUmVxdWVzdFN0YXRlRW51bSB7XG4gIFBlbmRpbmcgPSAnUGVuZGluZycsXG4gIFJ1bm5pbmcgPSAnUnVubmluZycsXG4gIFN0b3BwZWQgPSAnU3RvcHBlZCcsXG4gIEZhaWxlZCA9ICdGYWlsZWQnLFxuICBFbXB0eSA9ICdFbXB0eScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RDbHVzdGVyU3luY1Jlc3VsdCB7XG4gIGFwcFN0YXR1czogQ2xvdWRIZWxtUmVxdWVzdFN0YXRlRW51bTtcbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgbGFzdFVwZGF0ZUF0OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcGhhc2U6IEhlbG1SZXF1ZXN0UGhhc2VFbnVtO1xuICByZWFzb246IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gSGVsbVJlcXVlc3RQaGFzZUVudW0ge1xuICBTeW5jZWQgPSAnU3luY2VkJyxcbiAgRmFpbGVkID0gJ0ZhaWxlZCcsXG4gIFBlbmRpbmcgPSAnUGVuZGluZycsXG4gIFVuaW5zdGFsbGluZyA9ICdVbmluc3RhbGxpbmcnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0U3BlYyB7XG4gIGNoYXJ0Pzogc3RyaW5nO1xuICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICB2YWx1ZXNGcm9tPzogQXJyYXk8e1xuICAgIGNvbmZpZ01hcEtleVJlZj86IENvbmZpZ01hcEtleVJlZjtcbiAgICBzZWNyZXRLZXlSZWY/OiBTZWNyZXRLZXlSZWY7XG4gIH0+O1xuICBjbHVzdGVyTmFtZT86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICByZWxlYXNlTmFtZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBvY2k/OiBIZWxtUmVxdWVzdE9jaTtcbiAgICBodHRwPzogSGVsbVJlcXVlc3RIdHRwO1xuICB9O1xuICB0YXJnZXRDbHVzdGVycz86IHtcbiAgICBjbHVzdGVyTmFtZXM6IHtcbiAgICAgIG5hbWVzOiBzdHJpbmdbXTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0T2NpIHtcbiAgcmVwbzogc3RyaW5nO1xuICBzZWNyZXRSZWY6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RIdHRwIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHNlY3JldFJlZjogc3RyaW5nO1xufVxuXG4vKipcbiAqIGh0dHBzOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0xNzY4ODM0NzBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyQmluZGluZyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBVc2VyQmluZGluZ1NwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckJpbmRpbmdTcGVjIHtcbiAgc3ViamVjdHM6IEFycmF5PHtcbiAgICBraW5kOiAnVXNlcicgfCAnR3JvdXAnIHwgJ1NlcnZpY2VBY2NvdW50JztcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH0+O1xuICByb2xlUmVmOiBzdHJpbmc7XG4gIHNjb3BlOiBzdHJpbmc7IC8vIOaUr+aMgeexu+Wei3BsYXRmb3JtLCBjbHVzdGVyLCBwcm9qZWN0LCBuYW1lc3BhY2VcbiAgY29uc3RyYWludDogQXJyYXk8e1xuICAgIHByb2plY3Q/OiBzdHJpbmc7XG4gICAgY2x1c3Rlcj86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGVSdWxlIHtcbiAgbW9kdWxlOiBzdHJpbmc7XG4gIGZ1bmN0aW9uUmVzb3VyY2VSZWY6IHN0cmluZztcbiAgZnVuY3Rpb25NZXRhZGF0YU5hbWU/OiBzdHJpbmc7XG4gIHZlcmJzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb2xlQ3VzdG9tUnVsZSB7XG4gIGFwaUdyb3VwOiBzdHJpbmc7XG4gIHJlc291cmNlczogc3RyaW5nW107XG4gIHZlcmJzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb2xlVGVtcGxhdGVTcGVjIHtcbiAgcnVsZXM/OiBSb2xlUnVsZVtdO1xuICBjdXN0b21SdWxlcz86IFJvbGVDdXN0b21SdWxlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVRlbXBsYXRlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFJvbGVUZW1wbGF0ZVNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVOYW1lc3BhY2Uge1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgY2x1c3Rlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJSb2xlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgbmFtZXNwYWNlcz86IFJlY29yZDxzdHJpbmcsIFVzZXJSb2xlTmFtZXNwYWNlW10+O1xufVxuXG4vLyBodHRwOi8vY29uZmx1ZW5jZS5hbGF1ZGF0ZWNoLmNvbS9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTM5MzM4MzY2IzEtJUU4JThFJUI3JUU1JThGJTk2JUU3JTk0JUE4JUU2JTg4JUI3JUU0JUJGJUExJUU2JTgxJUFGXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogVXNlclNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclNwZWMge1xuICBjb25uZWN0b3JfbmFtZT86IHN0cmluZztcbiAgY29ubmVjdG9yX3R5cGU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBtYWlsPzogc3RyaW5nO1xuICBncm91cHM/OiBzdHJpbmdbXTtcbiAgaXNfYWRtaW4/OiBib29sZWFuO1xuICB2YWxpZD86IGJvb2xlYW47XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICBvbGRfcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBsYXN0X2xvZ2luX3RpbWU/OiBzdHJpbmc7XG4gIGxvZ2luX2ZhaWx1cmVfdGltZXM/OiBudW1iZXI7XG4gIHN0YXRlPzogVXNlclN0YXRlO1xuICBpc19kaXNhYmxlZD86IGJvb2xlYW47XG4gIGV4cGlyZWQ/OiB7XG4gICAgYmVnaW46IHN0cmluZztcbiAgICBlbmQ6IHN0cmluZztcbiAgfTtcbiAgbW9iaWxlPzogc3RyaW5nO1xuICB3ZWJob29rVHlwZT86IFdlYmhvb2tUeXBlO1xuICB3ZWJob29rVXJsPzogc3RyaW5nO1xuICBpZHM/OiBBcnJheTx7IHR5cGU6IHN0cmluZzsgaWQ6IHN0cmluZyB9Pjtcbn1cblxuZXhwb3J0IGVudW0gVXNlclN0YXRlIHtcbiAgQUNUSVZFID0gJ2FjdGl2ZScsXG4gIExPQ0tFRCA9ICdsb2NrZWQnLFxuICBJTlZBTElEID0gJ2ludmFsaWQnLFxuICBERUxFVEVEID0gJ2RlbGV0ZWQnLFxufVxuXG5leHBvcnQgdHlwZSBXZWJob29rVHlwZSA9ICdXZWJob29rJyB8ICdEaW5nVGFsaycgfCAnV2VDaGF0JztcbiJdfQ==
@@ -347,7 +347,7 @@ const _ = createResourceDefinitions({
347
347
  apiVersion: 'v1alpha1',
348
348
  apiGroup: CLUSTER_API_GROUP,
349
349
  },
350
- USER_BINDINGS: {
350
+ USER_BINDING: {
351
351
  type: 'userbindings',
352
352
  apiGroup: AUTH_GROUP,
353
353
  apiVersion: 'v1',
@@ -397,4 +397,4 @@ export const ServiceTypeMeta = {
397
397
  apiVersion: getYamlApiVersion(RESOURCE_TYPES.SERVICE),
398
398
  kind: 'Service',
399
399
  };
400
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS90eXBlcy9yZXNvdXJjZS1kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk5RCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDbEMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFDdEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7QUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNyRCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDbEMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxzQkFBc0IsQ0FBQztBQUNsRCxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFFOUMsb0ZBQW9GO0FBQ3BGLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsR0FBRyx5QkFBeUIsQ0FBQztJQUNsQyxvQkFBb0IsRUFBRTtR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R0FBYTtJQUN0QyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUN6RCxJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3JELElBQUksRUFBRSxTQUFTO0NBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlc291cmNlRGVmaW5pdGlvbnMgfSBmcm9tICcuLi8uLi9hcGkvaGVscGVycyc7XG5cbmltcG9ydCB7IFR5cGVNZXRhIH0gZnJvbSAnLi9rOHMvcHVibGljLWFwaSc7XG5cbmNvbnN0IENSRF9HUk9VUCA9ICdjcmQuYWxhdWRhLmlvJztcbmNvbnN0IEFJT1BTX0dST1VQID0gJ2Fpb3BzLmFsYXVkYS5pbyc7XG5jb25zdCBBVVRIX0dST1VQID0gJ2F1dGguYWxhdWRhLmlvJztcbmNvbnN0IENPUkVPU19PUEVSQVRPUl9HUk9VUCA9ICdvcGVyYXRvcnMuY29yZW9zLmNvbSc7XG5jb25zdCBBUFBfR1JPVVAgPSAnYXBwLmFsYXVkYS5pbyc7XG5jb25zdCBTVE9SQUdFX0dST1VQID0gJ3N0b3JhZ2UuazhzLmlvJztcbmNvbnN0IFRLRV9QTEFURk9STV9HUk9VUCA9ICdwbGF0Zm9ybS50a2VzdGFjay5pbyc7XG5jb25zdCBDTFVTVEVSX0FQSV9HUk9VUCA9ICdjbHVzdGVyLmFsYXVkYS5pbyc7XG5leHBvcnQgY29uc3QgQUlUX0FQSV9HUk9VUCA9ICdhaXQuYWxhdWRhLmlvJztcblxuZXhwb3J0IGNvbnN0IE9BTV9HUk9VUCA9ICdjb3JlLm9hbS5kZXYnO1xuXG5leHBvcnQgY29uc3QgQVJHT0NEX0dST1VQID0gJ2FyZ29wcm9qLmlvJztcbmV4cG9ydCBjb25zdCBNQUNISU5FX0FQSV9HUk9VUCA9ICdtYWNoaW5lLmFsYXVkYS5pbyc7XG5leHBvcnQgY29uc3QgVk9MVU1FX1NOQVBTSE9UX0dST1VQID0gJ3NuYXBzaG90LnN0b3JhZ2UuazhzLmlvJztcbmV4cG9ydCBjb25zdCBLVUJFVklSVF9CQVNFX0RPTUFJTiA9ICdrdWJldmlydC5pbyc7XG5leHBvcnQgY29uc3QgSzhTX0NPUkVfQVBJX0dST1VQID0gJ2NvcmUua3ViZXJuZXRlcy5pbyc7XG5leHBvcnQgY29uc3QgSzhTX0FQUF9BUElfR1JPVVAgPSAnYXBwLms4cy5pbyc7XG5cbi8vIHJlZmVyZW5jZTogaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhdGVjaC5jb20vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0zOTMzODIyNVxuLy8gRklYTUU6IG9iamVjdCBkZXN0cnVjdHVyaW5nIHdpbGwgcmVzdWx0IGBhbnlgIHR5cGUgaGVyZSwgd2h5Pz8/XG5jb25zdCBfID0gY3JlYXRlUmVzb3VyY2VEZWZpbml0aW9ucyh7XG4gIEFMQVVEQV9MT0FEQkFMQU5DRVIyOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAnYWxhdWRhbG9hZGJhbGFuY2VyMicsXG4gIH0sXG4gIEFMQjI6IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MmJldGExJyxcbiAgICB0eXBlOiAnYWxhdWRhbG9hZGJhbGFuY2VyMicsXG4gIH0sXG4gIEhFTE1fUkVRVUVTVDoge1xuICAgIHR5cGU6ICdoZWxtcmVxdWVzdHMnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgLy8gVE9ETzog5Y+q5o+Q5L6b5LqR6L655L2/55So77yM5ZCO57ut5a655Zmo5bmz5Y+w6ZyA6KaB5Y2H57qn5YiwIHYxXG4gIEhFTE1fUkVRVUVTVF9WMToge1xuICAgIHR5cGU6ICdoZWxtcmVxdWVzdHMnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgREVQTE9ZTUVOVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ2RlcGxveW1lbnRzJyxcbiAgfSxcbiAgRlJPTlRFTkQ6IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIHR5cGU6ICdmcm9udGVuZHMnLFxuICB9LFxuICBSVUxFOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAncnVsZXMnLFxuICB9LFxuICBQT0Q6IHtcbiAgICB0eXBlOiAncG9kcycsXG4gIH0sXG4gIFBPRFNfRVhFQzoge1xuICAgIHR5cGU6ICdwb2RzL2V4ZWMnLFxuICB9LFxuICBQT0RTX1JPT1RfRVhFQzoge1xuICAgIHR5cGU6ICdwb2RzL3Jvb3QtZXhlYycsXG4gIH0sXG4gIENPTkZJR19NQVA6IHtcbiAgICB0eXBlOiAnY29uZmlnbWFwcycsXG4gIH0sXG4gIEFMRVJUX1RFTVBMQVRFOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnYWxlcnR0ZW1wbGF0ZXMnLFxuICB9LFxuICBBUFBMSUNBVElPTjoge1xuICAgIGFwaUdyb3VwOiBLOFNfQVBQX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ2FwcGxpY2F0aW9ucycsXG4gIH0sXG4gIEFQUExJQ0FUSU9OX0hJU1RPUlk6IHtcbiAgICBhcGlHcm91cDogSzhTX0FQUF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbmhpc3RvcmllcycsXG4gIH0sXG4gIENMVVNURVI6IHtcbiAgICBhcGlHcm91cDogJ2NsdXN0ZXJyZWdpc3RyeS5rOHMuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2NsdXN0ZXJzJyxcbiAgfSxcbiAgQ0xVU1RFUl9WSUVXOiB7XG4gICAgYXBpR3JvdXA6ICdjbHVzdGVyLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnY2x1c3RlcnZpZXdzJyxcbiAgfSxcbiAgREFFTU9OX1NFVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ2RhZW1vbnNldHMnLFxuICB9LFxuICBTVEFURUZVTF9TRVQ6IHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHR5cGU6ICdzdGF0ZWZ1bHNldHMnLFxuICB9LFxuICBET01BSU46IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MicsXG4gICAgdHlwZTogJ2RvbWFpbnMnLFxuICB9LFxuICBGRUFUVVJFOiB7XG4gICAgYXBpR3JvdXA6ICdpbmZyYXN0cnVjdHVyZS5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2ZlYXR1cmVzJyxcbiAgfSxcbiAgQUxBVURBX0ZFQVRVUkVfR0FURToge1xuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdhbGF1ZGFmZWF0dXJlZ2F0ZXMnLFxuICB9LFxuICBDTFVTVEVSX0FMQVVEQV9GRUFUVVJFX0dBVEU6IHtcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnY2x1c3RlcmFsYXVkYWZlYXR1cmVnYXRlcycsXG4gIH0sXG4gIEhPUklaT05UQUxfUE9EX0FVVE9TQ0FMRVI6IHtcbiAgICBhcGlHcm91cDogJ2F1dG9zY2FsaW5nJyxcbiAgICBhcGlWZXJzaW9uOiAndjInLFxuICAgIHR5cGU6ICdob3Jpem9udGFscG9kYXV0b3NjYWxlcnMnLFxuICB9LFxuICBMT0c6IHtcbiAgICBhcGlHcm91cDogQUlPUFNfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdsb2dzJyxcbiAgfSxcbiAgUFJPSkVDVDoge1xuICAgIGFwaUdyb3VwOiBBVVRIX0dST1VQLFxuICAgIHR5cGU6ICdwcm9qZWN0cycsXG4gIH0sXG4gIFBST01FVEhFVVNfUlVMRToge1xuICAgIGFwaUdyb3VwOiAnbW9uaXRvcmluZy5jb3Jlb3MuY29tJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdwcm9tZXRoZXVzcnVsZXMnLFxuICB9LFxuICBBTEVSVF9ISVNUT1JZOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0dST1VQLFxuICAgIHR5cGU6ICdhbGVydGhpc3RvcmllcycsXG4gIH0sXG4gIFNFTEZfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXOiB7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgdHlwZTogJ3NlbGZzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0sXG4gIFZJRVc6IHtcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgICB0eXBlOiAndmlld3MnLFxuICB9LFxuICBTRVJWSUNFOiB7XG4gICAgdHlwZTogJ3NlcnZpY2VzJyxcbiAgfSxcbiAgTElNSVRfUkFOR0U6IHtcbiAgICB0eXBlOiAnbGltaXRyYW5nZXMnLFxuICB9LFxuICBTRUNSRVQ6IHtcbiAgICB0eXBlOiAnc2VjcmV0cycsXG4gIH0sXG4gIFBST0RVQ1Q6IHtcbiAgICB0eXBlOiAnYWxhdWRhcHJvZHVjdHMnLFxuICAgIGFwaUdyb3VwOiAncG9ydGFsLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgQ1JPTl9KT0I6IHtcbiAgICBhcGlHcm91cDogJ2JhdGNoJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdjcm9uam9icycsXG4gIH0sXG4gIEFEVkFOQ0VEX0NST05fSk9COiB7XG4gICAgdHlwZTogJ2FkdmFuY2VkY3JvbmpvYnMnLFxuICAgIGFwaUdyb3VwOiAnb3BlcmF0b3IuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBKT0I6IHtcbiAgICBhcGlHcm91cDogJ2JhdGNoJyxcbiAgICB0eXBlOiAnam9icycsXG4gIH0sXG4gIElOR1JFU1M6IHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICB0eXBlOiAnaW5ncmVzc2VzJyxcbiAgfSxcbiAgUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU06IHtcbiAgICB0eXBlOiAncGVyc2lzdGVudHZvbHVtZWNsYWltcycsXG4gIH0sXG4gIE5BTUVTUEFDRToge1xuICAgIHR5cGU6ICduYW1lc3BhY2VzJyxcbiAgfSxcbiAgTk9ERToge1xuICAgIHR5cGU6ICdub2RlcycsXG4gIH0sXG4gIE5PREVfTUVUUklDUzoge1xuICAgIGFwaUdyb3VwOiAnbWV0cmljcy5rOHMuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbm9kZXMnLFxuICB9LFxuICBQVjoge1xuICAgIHR5cGU6ICdwZXJzaXN0ZW50dm9sdW1lcycsXG4gIH0sXG4gIENSRDoge1xuICAgIGFwaUdyb3VwOiAnYXBpZXh0ZW5zaW9ucy5rOHMuaW8nLFxuICAgIHR5cGU6ICdjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zJyxcbiAgfSxcbiAgQ0hBUlRfUkVQTzoge1xuICAgIHR5cGU6ICdjaGFydHJlcG9zJyxcbiAgICBhcGlHcm91cDogQVBQX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgfSxcbiAgQ0hBUlQ6IHtcbiAgICB0eXBlOiAnY2hhcnRzJyxcbiAgICBhcGlHcm91cDogQVBQX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIE5FVFdPUktfUE9MSUNZOiB7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgdHlwZTogJ25ldHdvcmtwb2xpY2llcycsXG4gIH0sXG4gIFNFUlZJQ0VfQUNDT1VOVDoge1xuICAgIHR5cGU6ICdzZXJ2aWNlYWNjb3VudHMnLFxuICB9LFxuICBSRVBMSUNBX1NFVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ3JlcGxpY2FzZXRzJyxcbiAgfSxcbiAgUE9EX1NFQ1VSSVRZX1BPTElDWToge1xuICAgIGFwaUdyb3VwOiAncG9saWN5JyxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ3BvZHNlY3VyaXR5cG9saWNpZXMnLFxuICB9LFxuICBOQU1FU1BBQ0VfT1ZFUlZJRVc6IHtcbiAgICBhcGlHcm91cDogJ2s4cy5pbycsXG4gICAgdHlwZTogJ25hbWVzcGFjZW92ZXJ2aWV3cycsXG4gIH0sXG4gIENTUDoge1xuICAgIGFwaUdyb3VwOiAncHJvZHVjdC5hbGF1ZGEuaW8nLFxuICAgIHR5cGU6ICdjc3BzJyxcbiAgfSxcbiAgUkVTT1VSQ0VfUVVPVEE6IHtcbiAgICB0eXBlOiAncmVzb3VyY2VxdW90YXMnLFxuICB9LFxuICBDTFVTVEVSX05FVFdPUktfUE9MSUNZOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAnY2x1c3Rlcm5ldHdvcmtwb2xpY2llcycsXG4gIH0sXG4gIFZJUlRVQUxfTUFDSElORToge1xuICAgIGFwaUdyb3VwOiBLVUJFVklSVF9CQVNFX0RPTUFJTixcbiAgICB0eXBlOiAndmlydHVhbG1hY2hpbmVzJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBWSVJUVUFMX01BQ0hJTkVfSU5TVEFOQ0U6IHtcbiAgICBhcGlHcm91cDogS1VCRVZJUlRfQkFTRV9ET01BSU4sXG4gICAgdHlwZTogJ3ZpcnR1YWxtYWNoaW5laW5zdGFuY2VzJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBWSVJUVUFMX01BQ0hJTkVfUE9PTDoge1xuICAgIGFwaUdyb3VwOiBgcG9vbC4ke0tVQkVWSVJUX0JBU0VfRE9NQUlOfWAsXG4gICAgdHlwZTogJ3ZpcnR1YWxtYWNoaW5lcG9vbHMnLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIFBST0pFQ1RfUVVPVEE6IHtcbiAgICBhcGlHcm91cDogJ2F1dGguYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdwcm9qZWN0cXVvdGFzJyxcbiAgfSxcbiAgVEtFX0NMVVNURVI6IHtcbiAgICBhcGlHcm91cDogVEtFX1BMQVRGT1JNX0dST1VQLFxuICAgIHR5cGU6ICdjbHVzdGVycycsXG4gIH0sXG4gIFRLRV9NQUNISU5FOiB7XG4gICAgYXBpR3JvdXA6IFRLRV9QTEFURk9STV9HUk9VUCxcbiAgICB0eXBlOiAnbWFjaGluZXMnLFxuICB9LFxuICBNQUNISU5FOiB7XG4gICAgYXBpR3JvdXA6IE1BQ0hJTkVfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbWFjaGluZXMnLFxuICB9LFxuICBOT0RFX0dST1VQOiB7XG4gICAgYXBpR3JvdXA6ICdzZWN1cml0eS5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbm9kZWdyb3VwcycsXG4gIH0sXG4gIENMVVNURVJTRVJWSUNFVkVSU0lPTjoge1xuICAgIGFwaUdyb3VwOiBDT1JFT1NfT1BFUkFUT1JfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnY2x1c3RlcnNlcnZpY2V2ZXJzaW9ucycsXG4gIH0sXG4gIFRFTkFOVDoge1xuICAgIGFwaUdyb3VwOiAnbWluaW8ubWluLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjInLFxuICAgIHR5cGU6ICd0ZW5hbnRzJyxcbiAgfSxcbiAgU1VCU0NSSVBUSU9OOiB7XG4gICAgYXBpR3JvdXA6IENPUkVPU19PUEVSQVRPUl9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdzdWJzY3JpcHRpb25zJyxcbiAgfSxcbiAgUEFDS0FHRV9NQU5JRkVTVDoge1xuICAgIGFwaUdyb3VwOiAncGFja2FnZXMub3BlcmF0b3JzLmNvcmVvcy5jb20nLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ3BhY2thZ2VtYW5pZmVzdHMnLFxuICB9LFxuICBCVUNLRVRfQ0xBU1M6IHtcbiAgICBhcGlHcm91cDogJ29iamVjdHN0b3JhZ2UuazhzLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdidWNrZXRjbGFzc2VzJyxcbiAgfSxcbiAgUFJPRFVDVF9DT05GSUc6IHtcbiAgICB0eXBlOiAncHJvZHVjdGNvbmZpZ3MnLFxuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBTVE9SQUdFX0NMQVNTOiB7XG4gICAgdHlwZTogJ3N0b3JhZ2VjbGFzc2VzJyxcbiAgICBhcGlHcm91cDogU1RPUkFHRV9HUk9VUCxcbiAgfSxcbiAgVk9MVU1FX1NOQVBTSE9UX0NMQVNTOiB7XG4gICAgdHlwZTogJ3ZvbHVtZXNuYXBzaG90Y2xhc3NlcycsXG4gICAgYXBpR3JvdXA6IFZPTFVNRV9TTkFQU0hPVF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBQUk9EVUNUX0JBU0U6IHtcbiAgICB0eXBlOiAncHJvZHVjdGJhc2VzJyxcbiAgICBhcGlHcm91cDogJ3Byb2R1Y3QuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBNT0RVTEVfSU5GTzoge1xuICAgIHR5cGU6ICdtb2R1bGVpbmZvZXMnLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgYXBpR3JvdXA6IENMVVNURVJfQVBJX0dST1VQLFxuICB9LFxuICBQUk9EVUNUX0VOVFJZOiB7XG4gICAgdHlwZTogJ3Byb2R1Y3RlbnRyaWVzJyxcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgUFJPRFVDVF9ET0NTX0VOVFJZOiB7XG4gICAgdHlwZTogJ3Byb2R1Y3Rkb2NzZW50cmllcycsXG4gICAgYXBpR3JvdXA6ICdhbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIFNFUlZJQ0VNRVNIX0dST1VQOiB7XG4gICAgYXBpR3JvdXA6ICdhc20uYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdzZXJ2aWNlbWVzaGdyb3VwcycsXG4gIH0sXG4gIENMVVNURVJfTU9EVUxFOiB7XG4gICAgdHlwZTogJ2NsdXN0ZXJtb2R1bGVzJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIGFwaUdyb3VwOiBDTFVTVEVSX0FQSV9HUk9VUCxcbiAgfSxcbiAgVVNFUl9CSU5ESU5HUzoge1xuICAgIHR5cGU6ICd1c2VyYmluZGluZ3MnLFxuICAgIGFwaUdyb3VwOiBBVVRIX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIEJBVENIX0FDVElPTjoge1xuICAgIGFwaUdyb3VwOiAnYmF0Y2guYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdiYXRjaGFjdGlvbnMnLFxuICB9LFxuICBFVkVOVDoge1xuICAgIHR5cGU6ICdldmVudHMnLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIFNFUlZJQ0VfTU9OSVRPUjoge1xuICAgIGFwaUdyb3VwOiAnbW9uaXRvcmluZy5jb3Jlb3MuY29tJyxcbiAgICB0eXBlOiAnc2VydmljZW1vbml0b3JzJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBPQU1fQVBQTElDQVRJT046IHtcbiAgICBhcGlHcm91cDogT0FNX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnYXBwbGljYXRpb25zJyxcbiAgfSxcbiAgQVJHT0NEX0FQUExJQ0FUSU9OX1NFVDoge1xuICAgIGFwaUdyb3VwOiBBUkdPQ0RfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnYXBwbGljYXRpb25zZXRzJyxcbiAgfSxcbiAgQVJHT0NEX0FQUExJQ0FUSU9OOiB7XG4gICAgYXBpR3JvdXA6IEFSR09DRF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbnMnLFxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBDT01NT05fUkVTT1VSQ0VfREVGSU5JVElPTlMgPSBfLlJFU09VUkNFX0RFRklOSVRJT05TO1xuZXhwb3J0IGNvbnN0IFJFU09VUkNFX1RZUEVTID0gXy5SRVNPVVJDRV9UWVBFUztcbmV4cG9ydCBjb25zdCBnZXRZYW1sQXBpVmVyc2lvbiA9IF8uZ2V0WWFtbEFwaVZlcnNpb247XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlVHlwZSA9IGtleW9mIHR5cGVvZiBSRVNPVVJDRV9UWVBFUztcblxuZXhwb3J0IGNvbnN0IE1hY2hpbmVNZXRhOiBUeXBlTWV0YSA9IHtcbiAgYXBpVmVyc2lvbjogZ2V0WWFtbEFwaVZlcnNpb24oUkVTT1VSQ0VfVFlQRVMuVEtFX01BQ0hJTkUpLFxuICBraW5kOiAnTWFjaGluZScsXG59O1xuXG5leHBvcnQgY29uc3QgVEtFQ2x1c3Rlck1ldGE6IFR5cGVNZXRhID0ge1xuICBhcGlWZXJzaW9uOiBnZXRZYW1sQXBpVmVyc2lvbihSRVNPVVJDRV9UWVBFUy5US0VfQ0xVU1RFUiksXG4gIGtpbmQ6ICdDbHVzdGVyJyxcbn07XG5cbmV4cG9ydCBjb25zdCBTZXJ2aWNlVHlwZU1ldGEgPSB7XG4gIGFwaVZlcnNpb246IGdldFlhbWxBcGlWZXJzaW9uKFJFU09VUkNFX1RZUEVTLlNFUlZJQ0UpLFxuICBraW5kOiAnU2VydmljZScsXG59IGFzIGNvbnN0O1xuIl19
400
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS90eXBlcy9yZXNvdXJjZS1kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk5RCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDbEMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFDdEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7QUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNyRCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDbEMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxzQkFBc0IsQ0FBQztBQUNsRCxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFFOUMsb0ZBQW9GO0FBQ3BGLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsR0FBRyx5QkFBeUIsQ0FBQztJQUNsQyxvQkFBb0IsRUFBRTtR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R0FBYTtJQUN0QyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUN6RCxJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3JELElBQUksRUFBRSxTQUFTO0NBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlc291cmNlRGVmaW5pdGlvbnMgfSBmcm9tICcuLi8uLi9hcGkvaGVscGVycyc7XG5cbmltcG9ydCB7IFR5cGVNZXRhIH0gZnJvbSAnLi9rOHMvcHVibGljLWFwaSc7XG5cbmNvbnN0IENSRF9HUk9VUCA9ICdjcmQuYWxhdWRhLmlvJztcbmNvbnN0IEFJT1BTX0dST1VQID0gJ2Fpb3BzLmFsYXVkYS5pbyc7XG5jb25zdCBBVVRIX0dST1VQID0gJ2F1dGguYWxhdWRhLmlvJztcbmNvbnN0IENPUkVPU19PUEVSQVRPUl9HUk9VUCA9ICdvcGVyYXRvcnMuY29yZW9zLmNvbSc7XG5jb25zdCBBUFBfR1JPVVAgPSAnYXBwLmFsYXVkYS5pbyc7XG5jb25zdCBTVE9SQUdFX0dST1VQID0gJ3N0b3JhZ2UuazhzLmlvJztcbmNvbnN0IFRLRV9QTEFURk9STV9HUk9VUCA9ICdwbGF0Zm9ybS50a2VzdGFjay5pbyc7XG5jb25zdCBDTFVTVEVSX0FQSV9HUk9VUCA9ICdjbHVzdGVyLmFsYXVkYS5pbyc7XG5leHBvcnQgY29uc3QgQUlUX0FQSV9HUk9VUCA9ICdhaXQuYWxhdWRhLmlvJztcblxuZXhwb3J0IGNvbnN0IE9BTV9HUk9VUCA9ICdjb3JlLm9hbS5kZXYnO1xuXG5leHBvcnQgY29uc3QgQVJHT0NEX0dST1VQID0gJ2FyZ29wcm9qLmlvJztcbmV4cG9ydCBjb25zdCBNQUNISU5FX0FQSV9HUk9VUCA9ICdtYWNoaW5lLmFsYXVkYS5pbyc7XG5leHBvcnQgY29uc3QgVk9MVU1FX1NOQVBTSE9UX0dST1VQID0gJ3NuYXBzaG90LnN0b3JhZ2UuazhzLmlvJztcbmV4cG9ydCBjb25zdCBLVUJFVklSVF9CQVNFX0RPTUFJTiA9ICdrdWJldmlydC5pbyc7XG5leHBvcnQgY29uc3QgSzhTX0NPUkVfQVBJX0dST1VQID0gJ2NvcmUua3ViZXJuZXRlcy5pbyc7XG5leHBvcnQgY29uc3QgSzhTX0FQUF9BUElfR1JPVVAgPSAnYXBwLms4cy5pbyc7XG5cbi8vIHJlZmVyZW5jZTogaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhdGVjaC5jb20vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0zOTMzODIyNVxuLy8gRklYTUU6IG9iamVjdCBkZXN0cnVjdHVyaW5nIHdpbGwgcmVzdWx0IGBhbnlgIHR5cGUgaGVyZSwgd2h5Pz8/XG5jb25zdCBfID0gY3JlYXRlUmVzb3VyY2VEZWZpbml0aW9ucyh7XG4gIEFMQVVEQV9MT0FEQkFMQU5DRVIyOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAnYWxhdWRhbG9hZGJhbGFuY2VyMicsXG4gIH0sXG4gIEFMQjI6IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MmJldGExJyxcbiAgICB0eXBlOiAnYWxhdWRhbG9hZGJhbGFuY2VyMicsXG4gIH0sXG4gIEhFTE1fUkVRVUVTVDoge1xuICAgIHR5cGU6ICdoZWxtcmVxdWVzdHMnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgLy8gVE9ETzog5Y+q5o+Q5L6b5LqR6L655L2/55So77yM5ZCO57ut5a655Zmo5bmz5Y+w6ZyA6KaB5Y2H57qn5YiwIHYxXG4gIEhFTE1fUkVRVUVTVF9WMToge1xuICAgIHR5cGU6ICdoZWxtcmVxdWVzdHMnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgREVQTE9ZTUVOVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ2RlcGxveW1lbnRzJyxcbiAgfSxcbiAgRlJPTlRFTkQ6IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIHR5cGU6ICdmcm9udGVuZHMnLFxuICB9LFxuICBSVUxFOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAncnVsZXMnLFxuICB9LFxuICBQT0Q6IHtcbiAgICB0eXBlOiAncG9kcycsXG4gIH0sXG4gIFBPRFNfRVhFQzoge1xuICAgIHR5cGU6ICdwb2RzL2V4ZWMnLFxuICB9LFxuICBQT0RTX1JPT1RfRVhFQzoge1xuICAgIHR5cGU6ICdwb2RzL3Jvb3QtZXhlYycsXG4gIH0sXG4gIENPTkZJR19NQVA6IHtcbiAgICB0eXBlOiAnY29uZmlnbWFwcycsXG4gIH0sXG4gIEFMRVJUX1RFTVBMQVRFOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnYWxlcnR0ZW1wbGF0ZXMnLFxuICB9LFxuICBBUFBMSUNBVElPTjoge1xuICAgIGFwaUdyb3VwOiBLOFNfQVBQX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ2FwcGxpY2F0aW9ucycsXG4gIH0sXG4gIEFQUExJQ0FUSU9OX0hJU1RPUlk6IHtcbiAgICBhcGlHcm91cDogSzhTX0FQUF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbmhpc3RvcmllcycsXG4gIH0sXG4gIENMVVNURVI6IHtcbiAgICBhcGlHcm91cDogJ2NsdXN0ZXJyZWdpc3RyeS5rOHMuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2NsdXN0ZXJzJyxcbiAgfSxcbiAgQ0xVU1RFUl9WSUVXOiB7XG4gICAgYXBpR3JvdXA6ICdjbHVzdGVyLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnY2x1c3RlcnZpZXdzJyxcbiAgfSxcbiAgREFFTU9OX1NFVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ2RhZW1vbnNldHMnLFxuICB9LFxuICBTVEFURUZVTF9TRVQ6IHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHR5cGU6ICdzdGF0ZWZ1bHNldHMnLFxuICB9LFxuICBET01BSU46IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MicsXG4gICAgdHlwZTogJ2RvbWFpbnMnLFxuICB9LFxuICBGRUFUVVJFOiB7XG4gICAgYXBpR3JvdXA6ICdpbmZyYXN0cnVjdHVyZS5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2ZlYXR1cmVzJyxcbiAgfSxcbiAgQUxBVURBX0ZFQVRVUkVfR0FURToge1xuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdhbGF1ZGFmZWF0dXJlZ2F0ZXMnLFxuICB9LFxuICBDTFVTVEVSX0FMQVVEQV9GRUFUVVJFX0dBVEU6IHtcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnY2x1c3RlcmFsYXVkYWZlYXR1cmVnYXRlcycsXG4gIH0sXG4gIEhPUklaT05UQUxfUE9EX0FVVE9TQ0FMRVI6IHtcbiAgICBhcGlHcm91cDogJ2F1dG9zY2FsaW5nJyxcbiAgICBhcGlWZXJzaW9uOiAndjInLFxuICAgIHR5cGU6ICdob3Jpem9udGFscG9kYXV0b3NjYWxlcnMnLFxuICB9LFxuICBMT0c6IHtcbiAgICBhcGlHcm91cDogQUlPUFNfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdsb2dzJyxcbiAgfSxcbiAgUFJPSkVDVDoge1xuICAgIGFwaUdyb3VwOiBBVVRIX0dST1VQLFxuICAgIHR5cGU6ICdwcm9qZWN0cycsXG4gIH0sXG4gIFBST01FVEhFVVNfUlVMRToge1xuICAgIGFwaUdyb3VwOiAnbW9uaXRvcmluZy5jb3Jlb3MuY29tJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdwcm9tZXRoZXVzcnVsZXMnLFxuICB9LFxuICBBTEVSVF9ISVNUT1JZOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0dST1VQLFxuICAgIHR5cGU6ICdhbGVydGhpc3RvcmllcycsXG4gIH0sXG4gIFNFTEZfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXOiB7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgdHlwZTogJ3NlbGZzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0sXG4gIFZJRVc6IHtcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgICB0eXBlOiAndmlld3MnLFxuICB9LFxuICBTRVJWSUNFOiB7XG4gICAgdHlwZTogJ3NlcnZpY2VzJyxcbiAgfSxcbiAgTElNSVRfUkFOR0U6IHtcbiAgICB0eXBlOiAnbGltaXRyYW5nZXMnLFxuICB9LFxuICBTRUNSRVQ6IHtcbiAgICB0eXBlOiAnc2VjcmV0cycsXG4gIH0sXG4gIFBST0RVQ1Q6IHtcbiAgICB0eXBlOiAnYWxhdWRhcHJvZHVjdHMnLFxuICAgIGFwaUdyb3VwOiAncG9ydGFsLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgQ1JPTl9KT0I6IHtcbiAgICBhcGlHcm91cDogJ2JhdGNoJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdjcm9uam9icycsXG4gIH0sXG4gIEFEVkFOQ0VEX0NST05fSk9COiB7XG4gICAgdHlwZTogJ2FkdmFuY2VkY3JvbmpvYnMnLFxuICAgIGFwaUdyb3VwOiAnb3BlcmF0b3IuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBKT0I6IHtcbiAgICBhcGlHcm91cDogJ2JhdGNoJyxcbiAgICB0eXBlOiAnam9icycsXG4gIH0sXG4gIElOR1JFU1M6IHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICB0eXBlOiAnaW5ncmVzc2VzJyxcbiAgfSxcbiAgUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU06IHtcbiAgICB0eXBlOiAncGVyc2lzdGVudHZvbHVtZWNsYWltcycsXG4gIH0sXG4gIE5BTUVTUEFDRToge1xuICAgIHR5cGU6ICduYW1lc3BhY2VzJyxcbiAgfSxcbiAgTk9ERToge1xuICAgIHR5cGU6ICdub2RlcycsXG4gIH0sXG4gIE5PREVfTUVUUklDUzoge1xuICAgIGFwaUdyb3VwOiAnbWV0cmljcy5rOHMuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbm9kZXMnLFxuICB9LFxuICBQVjoge1xuICAgIHR5cGU6ICdwZXJzaXN0ZW50dm9sdW1lcycsXG4gIH0sXG4gIENSRDoge1xuICAgIGFwaUdyb3VwOiAnYXBpZXh0ZW5zaW9ucy5rOHMuaW8nLFxuICAgIHR5cGU6ICdjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zJyxcbiAgfSxcbiAgQ0hBUlRfUkVQTzoge1xuICAgIHR5cGU6ICdjaGFydHJlcG9zJyxcbiAgICBhcGlHcm91cDogQVBQX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgfSxcbiAgQ0hBUlQ6IHtcbiAgICB0eXBlOiAnY2hhcnRzJyxcbiAgICBhcGlHcm91cDogQVBQX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIE5FVFdPUktfUE9MSUNZOiB7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgdHlwZTogJ25ldHdvcmtwb2xpY2llcycsXG4gIH0sXG4gIFNFUlZJQ0VfQUNDT1VOVDoge1xuICAgIHR5cGU6ICdzZXJ2aWNlYWNjb3VudHMnLFxuICB9LFxuICBSRVBMSUNBX1NFVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ3JlcGxpY2FzZXRzJyxcbiAgfSxcbiAgUE9EX1NFQ1VSSVRZX1BPTElDWToge1xuICAgIGFwaUdyb3VwOiAncG9saWN5JyxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ3BvZHNlY3VyaXR5cG9saWNpZXMnLFxuICB9LFxuICBOQU1FU1BBQ0VfT1ZFUlZJRVc6IHtcbiAgICBhcGlHcm91cDogJ2s4cy5pbycsXG4gICAgdHlwZTogJ25hbWVzcGFjZW92ZXJ2aWV3cycsXG4gIH0sXG4gIENTUDoge1xuICAgIGFwaUdyb3VwOiAncHJvZHVjdC5hbGF1ZGEuaW8nLFxuICAgIHR5cGU6ICdjc3BzJyxcbiAgfSxcbiAgUkVTT1VSQ0VfUVVPVEE6IHtcbiAgICB0eXBlOiAncmVzb3VyY2VxdW90YXMnLFxuICB9LFxuICBDTFVTVEVSX05FVFdPUktfUE9MSUNZOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAnY2x1c3Rlcm5ldHdvcmtwb2xpY2llcycsXG4gIH0sXG4gIFZJUlRVQUxfTUFDSElORToge1xuICAgIGFwaUdyb3VwOiBLVUJFVklSVF9CQVNFX0RPTUFJTixcbiAgICB0eXBlOiAndmlydHVhbG1hY2hpbmVzJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBWSVJUVUFMX01BQ0hJTkVfSU5TVEFOQ0U6IHtcbiAgICBhcGlHcm91cDogS1VCRVZJUlRfQkFTRV9ET01BSU4sXG4gICAgdHlwZTogJ3ZpcnR1YWxtYWNoaW5laW5zdGFuY2VzJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBWSVJUVUFMX01BQ0hJTkVfUE9PTDoge1xuICAgIGFwaUdyb3VwOiBgcG9vbC4ke0tVQkVWSVJUX0JBU0VfRE9NQUlOfWAsXG4gICAgdHlwZTogJ3ZpcnR1YWxtYWNoaW5lcG9vbHMnLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIFBST0pFQ1RfUVVPVEE6IHtcbiAgICBhcGlHcm91cDogJ2F1dGguYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdwcm9qZWN0cXVvdGFzJyxcbiAgfSxcbiAgVEtFX0NMVVNURVI6IHtcbiAgICBhcGlHcm91cDogVEtFX1BMQVRGT1JNX0dST1VQLFxuICAgIHR5cGU6ICdjbHVzdGVycycsXG4gIH0sXG4gIFRLRV9NQUNISU5FOiB7XG4gICAgYXBpR3JvdXA6IFRLRV9QTEFURk9STV9HUk9VUCxcbiAgICB0eXBlOiAnbWFjaGluZXMnLFxuICB9LFxuICBNQUNISU5FOiB7XG4gICAgYXBpR3JvdXA6IE1BQ0hJTkVfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbWFjaGluZXMnLFxuICB9LFxuICBOT0RFX0dST1VQOiB7XG4gICAgYXBpR3JvdXA6ICdzZWN1cml0eS5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbm9kZWdyb3VwcycsXG4gIH0sXG4gIENMVVNURVJTRVJWSUNFVkVSU0lPTjoge1xuICAgIGFwaUdyb3VwOiBDT1JFT1NfT1BFUkFUT1JfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnY2x1c3RlcnNlcnZpY2V2ZXJzaW9ucycsXG4gIH0sXG4gIFRFTkFOVDoge1xuICAgIGFwaUdyb3VwOiAnbWluaW8ubWluLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjInLFxuICAgIHR5cGU6ICd0ZW5hbnRzJyxcbiAgfSxcbiAgU1VCU0NSSVBUSU9OOiB7XG4gICAgYXBpR3JvdXA6IENPUkVPU19PUEVSQVRPUl9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdzdWJzY3JpcHRpb25zJyxcbiAgfSxcbiAgUEFDS0FHRV9NQU5JRkVTVDoge1xuICAgIGFwaUdyb3VwOiAncGFja2FnZXMub3BlcmF0b3JzLmNvcmVvcy5jb20nLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ3BhY2thZ2VtYW5pZmVzdHMnLFxuICB9LFxuICBCVUNLRVRfQ0xBU1M6IHtcbiAgICBhcGlHcm91cDogJ29iamVjdHN0b3JhZ2UuazhzLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdidWNrZXRjbGFzc2VzJyxcbiAgfSxcbiAgUFJPRFVDVF9DT05GSUc6IHtcbiAgICB0eXBlOiAncHJvZHVjdGNvbmZpZ3MnLFxuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBTVE9SQUdFX0NMQVNTOiB7XG4gICAgdHlwZTogJ3N0b3JhZ2VjbGFzc2VzJyxcbiAgICBhcGlHcm91cDogU1RPUkFHRV9HUk9VUCxcbiAgfSxcbiAgVk9MVU1FX1NOQVBTSE9UX0NMQVNTOiB7XG4gICAgdHlwZTogJ3ZvbHVtZXNuYXBzaG90Y2xhc3NlcycsXG4gICAgYXBpR3JvdXA6IFZPTFVNRV9TTkFQU0hPVF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBQUk9EVUNUX0JBU0U6IHtcbiAgICB0eXBlOiAncHJvZHVjdGJhc2VzJyxcbiAgICBhcGlHcm91cDogJ3Byb2R1Y3QuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBNT0RVTEVfSU5GTzoge1xuICAgIHR5cGU6ICdtb2R1bGVpbmZvZXMnLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgYXBpR3JvdXA6IENMVVNURVJfQVBJX0dST1VQLFxuICB9LFxuICBQUk9EVUNUX0VOVFJZOiB7XG4gICAgdHlwZTogJ3Byb2R1Y3RlbnRyaWVzJyxcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgUFJPRFVDVF9ET0NTX0VOVFJZOiB7XG4gICAgdHlwZTogJ3Byb2R1Y3Rkb2NzZW50cmllcycsXG4gICAgYXBpR3JvdXA6ICdhbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIFNFUlZJQ0VNRVNIX0dST1VQOiB7XG4gICAgYXBpR3JvdXA6ICdhc20uYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdzZXJ2aWNlbWVzaGdyb3VwcycsXG4gIH0sXG4gIENMVVNURVJfTU9EVUxFOiB7XG4gICAgdHlwZTogJ2NsdXN0ZXJtb2R1bGVzJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIGFwaUdyb3VwOiBDTFVTVEVSX0FQSV9HUk9VUCxcbiAgfSxcbiAgVVNFUl9CSU5ESU5HOiB7XG4gICAgdHlwZTogJ3VzZXJiaW5kaW5ncycsXG4gICAgYXBpR3JvdXA6IEFVVEhfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgQkFUQ0hfQUNUSU9OOiB7XG4gICAgYXBpR3JvdXA6ICdiYXRjaC5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2JhdGNoYWN0aW9ucycsXG4gIH0sXG4gIEVWRU5UOiB7XG4gICAgdHlwZTogJ2V2ZW50cycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgU0VSVklDRV9NT05JVE9SOiB7XG4gICAgYXBpR3JvdXA6ICdtb25pdG9yaW5nLmNvcmVvcy5jb20nLFxuICAgIHR5cGU6ICdzZXJ2aWNlbW9uaXRvcnMnLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIE9BTV9BUFBMSUNBVElPTjoge1xuICAgIGFwaUdyb3VwOiBPQU1fR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbnMnLFxuICB9LFxuICBBUkdPQ0RfQVBQTElDQVRJT05fU0VUOiB7XG4gICAgYXBpR3JvdXA6IEFSR09DRF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbnNldHMnLFxuICB9LFxuICBBUkdPQ0RfQVBQTElDQVRJT046IHtcbiAgICBhcGlHcm91cDogQVJHT0NEX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2FwcGxpY2F0aW9ucycsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9SRVNPVVJDRV9ERUZJTklUSU9OUyA9IF8uUkVTT1VSQ0VfREVGSU5JVElPTlM7XG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfVFlQRVMgPSBfLlJFU09VUkNFX1RZUEVTO1xuZXhwb3J0IGNvbnN0IGdldFlhbWxBcGlWZXJzaW9uID0gXy5nZXRZYW1sQXBpVmVyc2lvbjtcblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VUeXBlID0ga2V5b2YgdHlwZW9mIFJFU09VUkNFX1RZUEVTO1xuXG5leHBvcnQgY29uc3QgTWFjaGluZU1ldGE6IFR5cGVNZXRhID0ge1xuICBhcGlWZXJzaW9uOiBnZXRZYW1sQXBpVmVyc2lvbihSRVNPVVJDRV9UWVBFUy5US0VfTUFDSElORSksXG4gIGtpbmQ6ICdNYWNoaW5lJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUS0VDbHVzdGVyTWV0YTogVHlwZU1ldGEgPSB7XG4gIGFwaVZlcnNpb246IGdldFlhbWxBcGlWZXJzaW9uKFJFU09VUkNFX1RZUEVTLlRLRV9DTFVTVEVSKSxcbiAga2luZDogJ0NsdXN0ZXInLFxufTtcblxuZXhwb3J0IGNvbnN0IFNlcnZpY2VUeXBlTWV0YSA9IHtcbiAgYXBpVmVyc2lvbjogZ2V0WWFtbEFwaVZlcnNpb24oUkVTT1VSQ0VfVFlQRVMuU0VSVklDRSksXG4gIGtpbmQ6ICdTZXJ2aWNlJyxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -1,55 +1,77 @@
1
- import { isEqual } from 'lodash-es';
2
- import { BehaviorSubject, catchError, filter, map, of, startWith, switchMap, } from 'rxjs';
3
- import { publishRef } from '../utils/public-api';
1
+ import { BehaviorSubject, catchError, filter, map, of, startWith, Subject, switchMap, takeUntil, } from 'rxjs';
2
+ import { isEqual, publishRef } from '../utils/public-api';
4
3
  export class CacheStore {
5
- constructor({ idGenerator, fetcher, share }) {
4
+ constructor({ fetcher, share, validator }) {
6
5
  this.store = new Map();
7
- this.clear = this.store.clear.bind(this.store);
8
6
  this.forEach = this.store.forEach.bind(this.store);
9
7
  this.entries = this.store.entries.bind(this.store);
10
8
  this.values = this.store.values.bind(this.store);
9
+ this.keys = this.store.keys.bind(this.store);
11
10
  this.fetcher = fetcher;
12
- this.idGenerator = idGenerator ?? ((v) => JSON.stringify(v));
13
11
  this.share = share ?? publishRef;
12
+ this.validator = validator ?? (() => true);
14
13
  }
15
14
  fetchState(params) {
16
- const id = this.idGenerator(params);
17
- if (!this.store.has(id)) {
18
- if (typeof id === 'object') {
19
- for (const item of this.store.values()) {
20
- if (isEqual(item.params, id)) {
21
- return item.loadState;
22
- }
23
- }
24
- }
15
+ let cache = this.get(params);
16
+ if (!cache) {
25
17
  const refetch$$ = new BehaviorSubject(null);
26
- this.store.set(id, {
27
- params,
28
- refetch: () => refetch$$.next(),
29
- loadState: refetch$$.pipe(switchMap(() => this.fetcher(params).pipe(map(result => ({ state: 'loaded', result })), catchError(error => of({ state: 'loadFailed', error })), startWith({ state: 'loading' }))), this.share()),
30
- });
18
+ const finish$$ = new Subject();
19
+ cache = {
20
+ refetch: () => {
21
+ refetch$$.next();
22
+ },
23
+ finish: () => {
24
+ finish$$.next();
25
+ finish$$.complete();
26
+ },
27
+ loadState: refetch$$.pipe(switchMap(() => this.fetcher(params).pipe(map(result => {
28
+ if (!this.validator(result)) {
29
+ this.delete(params);
30
+ }
31
+ return { state: 'loaded', result };
32
+ }), catchError(error => {
33
+ this.delete(params);
34
+ return of({ state: 'loadFailed', error });
35
+ }), startWith({ state: 'loading' }))), takeUntil(finish$$), this.share()),
36
+ };
37
+ this.store.set(params, cache);
31
38
  }
32
- return this.store.get(id).loadState;
39
+ return cache.loadState;
33
40
  }
34
41
  fetch(params) {
35
42
  return this.fetchState(params).pipe(filter(loadState => loadState.state === 'loaded'), map(loadState => loadState.result));
36
43
  }
37
44
  refetch(params) {
38
- const id = this.idGenerator(params);
39
- this.store.get(id)?.refetch?.();
45
+ this.get(params)?.refetch();
40
46
  }
41
47
  refetchAll() {
42
48
  this.forEach(cache => {
43
49
  cache.refetch();
44
50
  });
45
51
  }
46
- delete(params) {
47
- const id = this.idGenerator(params);
48
- this.store.delete(id);
52
+ get(params) {
53
+ for (const [key, value] of this.store.entries()) {
54
+ if (isEqual(key, params)) {
55
+ return value;
56
+ }
57
+ }
49
58
  }
50
59
  has(params) {
51
- const id = this.idGenerator(params);
52
- return this.store.has(id);
60
+ return !!this.get(params);
61
+ }
62
+ delete(params) {
63
+ for (const [key, value] of this.store.entries()) {
64
+ if (isEqual(key, params)) {
65
+ value.finish();
66
+ this.store.delete(key);
67
+ }
68
+ }
69
+ }
70
+ clear() {
71
+ this.store.forEach(value => {
72
+ value.finish();
73
+ });
74
+ this.store.clear();
53
75
  }
54
76
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9jYWNoZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixHQUFHLEVBR0gsRUFBRSxFQUNGLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsTUFBTSxPQUFPLFVBQVU7SUFNckIsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUE4QjtRQUZ0RCxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFrRW5ELFVBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBckUxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBTSxDQUFD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Q0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBU0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbixcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgcHVibGlzaFJlZiB9IGZyb20gJy4uL3V0aWxzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY2xhc3MgQ2FjaGVTdG9yZTxWLCBQLCBLIGV4dGVuZHMga2V5b2YgYW55ID0gc3RyaW5nPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmV0Y2hlcjogKHBhcmFtczogUCkgPT4gT2JzZXJ2YWJsZTxWPjtcbiAgcHJpdmF0ZSByZWFkb25seSBpZEdlbmVyYXRvcjogKHBhcmFtczogUCkgPT4gSztcbiAgcHJpdmF0ZSByZWFkb25seSBzaGFyZTogPFQ+KCkgPT4gTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlID0gbmV3IE1hcDxLLCBDYWNoZTxQLCBWPj4oKTtcblxuICBjb25zdHJ1Y3Rvcih7IGlkR2VuZXJhdG9yLCBmZXRjaGVyLCBzaGFyZSB9OiBDYWNoZVN0b3JlT3B0aW9uczxWLCBQLCBLPikge1xuICAgIHRoaXMuZmV0Y2hlciA9IGZldGNoZXI7XG4gICAgdGhpcy5pZEdlbmVyYXRvciA9IGlkR2VuZXJhdG9yID8/ICgodjogUCkgPT4gSlNPTi5zdHJpbmdpZnkodikgYXMgSyk7XG4gICAgdGhpcy5zaGFyZSA9IHNoYXJlID8/IHB1Ymxpc2hSZWY7XG4gIH1cblxuICBmZXRjaFN0YXRlKHBhcmFtczogUCkge1xuICAgIGNvbnN0IGlkID0gdGhpcy5pZEdlbmVyYXRvcihwYXJhbXMpO1xuICAgIGlmICghdGhpcy5zdG9yZS5oYXMoaWQpKSB7XG4gICAgICBpZiAodHlwZW9mIGlkID09PSAnb2JqZWN0Jykge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5zdG9yZS52YWx1ZXMoKSkge1xuICAgICAgICAgIGlmIChpc0VxdWFsKGl0ZW0ucGFyYW1zLCBpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmxvYWRTdGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlZmV0Y2gkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4obnVsbCk7XG4gICAgICB0aGlzLnN0b3JlLnNldChpZCwge1xuICAgICAgICBwYXJhbXMsXG4gICAgICAgIHJlZmV0Y2g6ICgpID0+IHJlZmV0Y2gkJC5uZXh0KCksXG4gICAgICAgIGxvYWRTdGF0ZTogcmVmZXRjaCQkLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICB0aGlzLmZldGNoZXIocGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+ICh7IHN0YXRlOiAnbG9hZGVkJyBhcyBjb25zdCwgcmVzdWx0IH0pKSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZih7IHN0YXRlOiAnbG9hZEZhaWxlZCcgYXMgY29uc3QsIGVycm9yIH0pKSxcbiAgICAgICAgICAgICAgc3RhcnRXaXRoKHsgc3RhdGU6ICdsb2FkaW5nJyBhcyBjb25zdCB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0aGlzLnNoYXJlKCksXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXQoaWQpLmxvYWRTdGF0ZTtcbiAgfVxuXG4gIGZldGNoKHBhcmFtczogUCkge1xuICAgIHJldHVybiB0aGlzLmZldGNoU3RhdGUocGFyYW1zKS5waXBlKFxuICAgICAgZmlsdGVyKGxvYWRTdGF0ZSA9PiBsb2FkU3RhdGUuc3RhdGUgPT09ICdsb2FkZWQnKSxcbiAgICAgIG1hcChsb2FkU3RhdGUgPT4gbG9hZFN0YXRlLnJlc3VsdCksXG4gICAgKTtcbiAgfVxuXG4gIHJlZmV0Y2gocGFyYW1zOiBQKSB7XG4gICAgY29uc3QgaWQgPSB0aGlzLmlkR2VuZXJhdG9yKHBhcmFtcyk7XG4gICAgdGhpcy5zdG9yZS5nZXQoaWQpPy5yZWZldGNoPy4oKTtcbiAgfVxuXG4gIHJlZmV0Y2hBbGwoKSB7XG4gICAgdGhpcy5mb3JFYWNoKGNhY2hlID0+IHtcbiAgICAgIGNhY2hlLnJlZmV0Y2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShwYXJhbXM6IFApIHtcbiAgICBjb25zdCBpZCA9IHRoaXMuaWRHZW5lcmF0b3IocGFyYW1zKTtcbiAgICB0aGlzLnN0b3JlLmRlbGV0ZShpZCk7XG4gIH1cblxuICBoYXMocGFyYW1zOiBQKSB7XG4gICAgY29uc3QgaWQgPSB0aGlzLmlkR2VuZXJhdG9yKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuaGFzKGlkKTtcbiAgfVxuXG4gIGNsZWFyID0gdGhpcy5zdG9yZS5jbGVhci5iaW5kKHRoaXMuc3RvcmUpO1xuXG4gIGZvckVhY2ggPSB0aGlzLnN0b3JlLmZvckVhY2guYmluZCh0aGlzLnN0b3JlKTtcblxuICBlbnRyaWVzID0gdGhpcy5zdG9yZS5lbnRyaWVzLmJpbmQodGhpcy5zdG9yZSk7XG5cbiAgdmFsdWVzID0gdGhpcy5zdG9yZS52YWx1ZXMuYmluZCh0aGlzLnN0b3JlKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZVN0b3JlT3B0aW9uczxWLCBQLCBLPiB7XG4gIGZldGNoZXI6IChwYXJhbXM6IFApID0+IE9ic2VydmFibGU8Vj47XG4gIGlkR2VuZXJhdG9yPzogKHBhcmFtczogUCkgPT4gSztcbiAgc2hhcmU/OiA8VD4oKSA9PiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVMb2FkU3RhdGU8Vj4ge1xuICBzdGF0ZTogJ2xvYWRpbmcnIHwgJ2xvYWRlZCcgfCAnbG9hZEZhaWxlZCc7XG4gIHJlc3VsdD86IFY7XG4gIGVycm9yPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZTxQLCBWPiB7XG4gIHBhcmFtczogUDtcbiAgcmVmZXRjaDogKCkgPT4gdm9pZDtcbiAgbG9hZFN0YXRlOiBPYnNlcnZhYmxlPENhY2hlTG9hZFN0YXRlPFY+Pjtcbn1cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9jYWNoZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUdILEVBQUUsRUFDRixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE1BQU0sT0FBTyxVQUFVO0lBT3JCLFlBQVksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBMkI7UUFGakQsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUErRmhELFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBbEd0QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxVQUFVLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMs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QzVCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBUztRQUNkLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0NBU0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgaXNFcXVhbCwgcHVibGlzaFJlZiB9IGZyb20gJy4uL3V0aWxzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY2xhc3MgQ2FjaGVTdG9yZTxQLCBWPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmV0Y2hlcjogKHBhcmFtczogUCkgPT4gT2JzZXJ2YWJsZTxWPjtcbiAgcHJpdmF0ZSByZWFkb25seSBzaGFyZTogPFQ+KCkgPT4gTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRvcjogKHZhbHVlOiBWKSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBuZXcgTWFwPFAsIENhY2hlPFY+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHsgZmV0Y2hlciwgc2hhcmUsIHZhbGlkYXRvciB9OiBDYWNoZVN0b3JlT3B0aW9uczxWLCBQPikge1xuICAgIHRoaXMuZmV0Y2hlciA9IGZldGNoZXI7XG4gICAgdGhpcy5zaGFyZSA9IHNoYXJlID8/IHB1Ymxpc2hSZWY7XG4gICAgdGhpcy52YWxpZGF0b3IgPSB2YWxpZGF0b3IgPz8gKCgpID0+IHRydWUpO1xuICB9XG5cbiAgZmV0Y2hTdGF0ZShwYXJhbXM6IFApIHtcbiAgICBsZXQgY2FjaGUgPSB0aGlzLmdldChwYXJhbXMpO1xuXG4gICAgaWYgKCFjYWNoZSkge1xuICAgICAgY29uc3QgcmVmZXRjaCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPihudWxsKTtcbiAgICAgIGNvbnN0IGZpbmlzaCQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgY2FjaGUgPSB7XG4gICAgICAgIHJlZmV0Y2g6ICgpID0+IHtcbiAgICAgICAgICByZWZldGNoJCQubmV4dCgpO1xuICAgICAgICB9LFxuICAgICAgICBmaW5pc2g6ICgpID0+IHtcbiAgICAgICAgICBmaW5pc2gkJC5uZXh0KCk7XG4gICAgICAgICAgZmluaXNoJCQuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgbG9hZFN0YXRlOiByZWZldGNoJCQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2hlcihwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy52YWxpZGF0b3IocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGUocGFyYW1zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdGU6ICdsb2FkZWQnIGFzIGNvbnN0LCByZXN1bHQgfTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlKHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3RhdGU6ICdsb2FkRmFpbGVkJyBhcyBjb25zdCwgZXJyb3IgfSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBzdGFydFdpdGgoeyBzdGF0ZTogJ2xvYWRpbmcnIGFzIGNvbnN0IH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHRha2VVbnRpbChmaW5pc2gkJCksXG4gICAgICAgICAgdGhpcy5zaGFyZSgpLFxuICAgICAgICApLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5zdG9yZS5zZXQocGFyYW1zLCBjYWNoZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhY2hlLmxvYWRTdGF0ZTtcbiAgfVxuXG4gIGZldGNoKHBhcmFtczogUCkge1xuICAgIHJldHVybiB0aGlzLmZldGNoU3RhdGUocGFyYW1zKS5waXBlKFxuICAgICAgZmlsdGVyKGxvYWRTdGF0ZSA9PiBsb2FkU3RhdGUuc3RhdGUgPT09ICdsb2FkZWQnKSxcbiAgICAgIG1hcChsb2FkU3RhdGUgPT4gbG9hZFN0YXRlLnJlc3VsdCksXG4gICAgKTtcbiAgfVxuXG4gIHJlZmV0Y2gocGFyYW1zOiBQKSB7XG4gICAgdGhpcy5nZXQocGFyYW1zKT8ucmVmZXRjaCgpO1xuICB9XG5cbiAgcmVmZXRjaEFsbCgpIHtcbiAgICB0aGlzLmZvckVhY2goY2FjaGUgPT4ge1xuICAgICAgY2FjaGUucmVmZXRjaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0KHBhcmFtczogUCkge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHRoaXMuc3RvcmUuZW50cmllcygpKSB7XG4gICAgICBpZiAoaXNFcXVhbChrZXksIHBhcmFtcykpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhcyhwYXJhbXM6IFApIHtcbiAgICByZXR1cm4gISF0aGlzLmdldChwYXJhbXMpO1xuICB9XG5cbiAgZGVsZXRlKHBhcmFtczogUCkge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHRoaXMuc3RvcmUuZW50cmllcygpKSB7XG4gICAgICBpZiAoaXNFcXVhbChrZXksIHBhcmFtcykpIHtcbiAgICAgICAgdmFsdWUuZmluaXNoKCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGVsZXRlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5zdG9yZS5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIHZhbHVlLmZpbmlzaCgpO1xuICAgIH0pO1xuICAgIHRoaXMuc3RvcmUuY2xlYXIoKTtcbiAgfVxuXG4gIGZvckVhY2ggPSB0aGlzLnN0b3JlLmZvckVhY2guYmluZCh0aGlzLnN0b3JlKTtcblxuICBlbnRyaWVzID0gdGhpcy5zdG9yZS5lbnRyaWVzLmJpbmQodGhpcy5zdG9yZSk7XG5cbiAgdmFsdWVzID0gdGhpcy5zdG9yZS52YWx1ZXMuYmluZCh0aGlzLnN0b3JlKTtcblxuICBrZXlzID0gdGhpcy5zdG9yZS5rZXlzLmJpbmQodGhpcy5zdG9yZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVTdG9yZU9wdGlvbnM8ViwgUD4ge1xuICBmZXRjaGVyOiAocGFyYW1zOiBQKSA9PiBPYnNlcnZhYmxlPFY+O1xuICBzaGFyZT86IDxUPigpID0+IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcbiAgdmFsaWRhdG9yPzogKHZhbHVlOiBWKSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlTG9hZFN0YXRlPFY+IHtcbiAgc3RhdGU6ICdsb2FkaW5nJyB8ICdsb2FkZWQnIHwgJ2xvYWRGYWlsZWQnO1xuICByZXN1bHQ/OiBWO1xuICBlcnJvcj86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGU8Vj4ge1xuICBsb2FkU3RhdGU6IE9ic2VydmFibGU8Q2FjaGVMb2FkU3RhdGU8Vj4+O1xuICByZWZldGNoOiAoKSA9PiB2b2lkO1xuICBmaW5pc2g6ICgpID0+IHZvaWQ7XG59XG4iXX0=
@@ -309,14 +309,12 @@ export const setWindowsXtermTools = (xterm) => {
309
309
  export const clearWindowsXtermTools = () => {
310
310
  delete window.__XTERM_TOOLS__;
311
311
  };
312
- export function getParamFromParent(key, snapshot) {
313
- const value = snapshot.paramMap.get(key);
314
- if (value) {
315
- return value;
316
- }
317
- if (snapshot.parent) {
318
- return getParamFromParent(key, snapshot.parent);
312
+ export const buildUrl = (baseUri, params) => {
313
+ const searchParams = new URLSearchParams();
314
+ for (const [key, value] of Object.entries(params)) {
315
+ searchParams.append(key, value.toString());
319
316
  }
320
- return '';
321
- }
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUlILE9BQU8sRUFDTCxJQUFJO0FBQ0osaURBQWlEO0FBQ2pELE9BQU8sSUFBSSxRQUFRLEVBQ25CLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVWpELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVksRUFBRSxFQUFFO0lBQ3ZDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxHQUFHO1NBQ1AsY0FBYyxDQUFDLFVBQVUsRUFBRTtRQUMxQixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQXFCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM3QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFD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ekMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sa0JBQWtCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGxhc3QsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWltcG9ydHNcbiAgaXNFcXVhbCBhcyBfaXNFcXVhbCxcbiAgcGljayxcbiAgbWFwVmFsdWVzLFxufSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgVW5pb25Ub0ludGVyc2VjdGlvbiwgVmFsdWVPZiB9IGZyb20gJ3RzLWVzc2VudGlhbHMnO1xuaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICd4dGVybSc7XG5cbmltcG9ydCB7IEJyYWNrZXQgfSBmcm9tICcuLi9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIENhbGxiYWNrLFxuICBLZXlzLFxuICBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gIE51bGxhYmxlLFxuICBSZWFkb25seWFibGUsXG4gIFN0cmluZ01hcCxcbn0gZnJvbSAnLi4vdHlwZXMvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBjb25zdCBudW1Ub1N0ciA9IChudW0/OiBudW1iZXIpID0+IHtcbiAgaWYgKG51bSA9PT0gMCkge1xuICAgIHJldHVybiAnMCc7XG4gIH1cblxuICBpZiAoIW51bSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJldHVybiBudW1cbiAgICAudG9Mb2NhbGVTdHJpbmcoJ2Z1bGx3aWRlJywge1xuICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAzLFxuICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLnJlcGxhY2UoLyhbXi5dKVxcLj8wKyQvLCAnJDEnKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG9ydE51bSA9IChudW0/OiBudW1iZXIgfCBzdHJpbmcsIGRpZ2l0cyA9IDIpID0+IHtcbiAgaWYgKHR5cGVvZiBudW0gPT09ICdzdHJpbmcnKSB7XG4gICAgbnVtID0gbnVtLnRyaW0oKTtcbiAgfVxuICBpZiAobnVtID09PSAwIHx8IG51bSA9PT0gJzAnKSB7XG4gICAgcmV0dXJuICcwJztcbiAgfVxuICBpZiAoIW51bSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICByZXR1cm4gbnVtVG9TdHIoKygrbnVtKS50b0ZpeGVkKGRpZ2l0cykgfHwgTWF0aC5wb3coMTAsIC1kaWdpdHMpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0JsYW5rID0gKHN0cj86IHVua25vd24pID0+XG4gIHN0ciA9PSBudWxsIHx8IE51bWJlci5pc05hTihzdHIgYXMgbnVtYmVyKSB8fCAhc3RyLnRvU3RyaW5nKCkudHJpbSgpO1xuXG5leHBvcnQgY29uc3QgZ2V0QmFzZUhyZWYgPSAoKSA9PiB7XG4gIC8vIFRoZSBsYXN0IGJhc2UgZWxlbWVudCBoYXMgaGlnaGVzdCBwcml2aWxlZ2VcbiAgY29uc3QgYmFzZSA9IGxhc3QoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYmFzZScpKTtcbiAgLy8gdXNlIGBnZXRBdHRyaWJ1dGVgIGluc3RlYWQgb2YgYGJhc2UuaHJlZmAgYmVjYXVzZSB0aGUgYXR0cmlidXRlIGNvdWxkIGJlIHZvaWQgYnV0IHJlc3VsdHMgY3VycmVudCB3aG9sZSBsb2NhdGlvbiB1cmxcbiAgcmV0dXJuIGJhc2U/LmdldEF0dHJpYnV0ZSgnaHJlZicpIHx8ICcvJztcbn07XG5cbmV4cG9ydCBjb25zdCBpZkV4aXN0ID0gPFQ+KFxuICB0b0NoZWNrOiBib29sZWFuIHwgTnVsbGFibGU8VD4sXG4gIHRydXRoeVZhbHVlOiBULFxuICBmYWxsYmFjaz86IFQsXG4pID0+ICh0b0NoZWNrID8gdHJ1dGh5VmFsdWUgOiAoKGZhbGxiYWNrIHx8ICcnKSBhcyBUKSk7XG5cbmV4cG9ydCBjb25zdCBpc0Fic29sdXRlVXJsID0gKHVybDogc3RyaW5nKSA9PiAvXihodHRwcz86XFwvKT9cXC8vLnRlc3QodXJsKTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuZXhwb3J0IGNvbnN0IG5vb3A6IENhbGxiYWNrID0gKCkgPT4ge307XG5cbmV4cG9ydCBjb25zdCB0b0tleXMgPSA8VCBleHRlbmRzIG9iamVjdD4oc291cmNlOiBUKTogS2V5czxUPiA9PlxuICBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZSgoYWNjLCBrKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gayBhcyBrZXlvZiBUO1xuICAgIGFjY1trZXldID0ga2V5O1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIEtleXM8VD4pO1xuXG5leHBvcnQgY29uc3Qgd3JhcFRleHQgPSAoXG4gIHRleHQ/OiBzdHJpbmcsXG4gIHdyYXBwZXI6IFJlYWRvbmx5YWJsZTxbc3RyaW5nLCBzdHJpbmddPiA9IEJyYWNrZXQuUEFSRU5USEVTRVMsXG4gIGZhbGxiYWNrPzogc3RyaW5nLFxuKSA9PiAodGV4dCA/IHdyYXBwZXIuam9pbih0ZXh0KSA6IGZhbGxiYWNrIHx8ICcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSlNPTlN0cmVhbTxUPih0ZXh0OiBzdHJpbmcpOiBUW10ge1xuICByZXR1cm4gdGV4dFxuICAgIC5zcGxpdCgnXFxuJylcbiAgICAubWFwKHYgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2Uodik7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSlcbiAgICAuZmlsdGVyKHYgPT4gISF2KTtcbn1cblxuZXhwb3J0IGNvbnN0IHRyYWNrQnlVaWQgPSA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIF86IG51bWJlcixcbiAgcmVzb3VyY2U6IFQsXG4pID0+IHJlc291cmNlLm1ldGFkYXRhLnVpZDtcblxuZXhwb3J0IGNvbnN0IGlzSzhzUmVzb3VyY2UgPSA8XG4gIFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UgPSBLdWJlcm5ldGVzUmVzb3VyY2UsXG4+KFxuICB2YWx1ZTogb2JqZWN0LFxuKTogdmFsdWUgaXMgVCA9PlxuICB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICdhcGlWZXJzaW9uJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUuYXBpVmVyc2lvbiA9PT0gJ3N0cmluZycgJiZcbiAgJ2tpbmQnIGluIHZhbHVlICYmXG4gIHR5cGVvZiB2YWx1ZS5raW5kID09PSAnc3RyaW5nJyAmJlxuICAnbWV0YWRhdGEnIGluIHZhbHVlICYmXG4gIHZhbHVlLm1ldGFkYXRhICYmXG4gIHR5cGVvZiB2YWx1ZS5tZXRhZGF0YSA9PT0gJ29iamVjdCc7XG5cbmV4cG9ydCBjb25zdCBhcnJheWlmeSA9IDxcbiAgVCxcbiAgUiA9IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBTPiA/IE5vbk51bGxhYmxlPFM+IDogTm9uTnVsbGFibGU8VD4sXG4+KFxuICAuLi5hcmdzOiBBcnJheTxSIHwgUltdPlxuKSA9PlxuICBhcmdzLnJlZHVjZTxSW10+KChhcnIsIGN1cnIpID0+IHtcbiAgICBhcnIucHVzaCguLi4oQXJyYXkuaXNBcnJheShjdXJyKSA/IGN1cnIgOiBjdXJyID09IG51bGwgPyBbXSA6IFtjdXJyXSkpO1xuICAgIHJldHVybiBhcnI7XG4gIH0sIFtdKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNsZWVwKG1zID0gMCkge1xuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgc2V0VGltZW91dChyZXNvbHZlLCBtcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgZGVsYXkgPSBzbGVlcDtcblxuZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbEludG9WaWV3KGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHNlbGVjdGVkOiBIVE1MRWxlbWVudCkge1xuICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgY29udGFpbmVyLnNjcm9sbFRvcCA9IDA7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdG9wID0gc2VsZWN0ZWQub2Zmc2V0VG9wO1xuICBjb25zdCBib3R0b20gPSBzZWxlY3RlZC5vZmZzZXRUb3AgKyBzZWxlY3RlZC5vZmZzZXRIZWlnaHQ7XG4gIGNvbnN0IHZpZXdSZWN0VG9wID0gY29udGFpbmVyLnNjcm9sbFRvcDtcbiAgY29uc3Qgdmlld1JlY3RCb3R0b20gPSB2aWV3UmVjdFRvcCArIGNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG5cbiAgaWYgKHZpZXdSZWN0VG9wID4gdG9wKSB7XG4gICAgY29udGFpbmVyLnNjcm9sbFRvcCA9IHRvcDtcbiAgfSBlbHNlIGlmICh2aWV3UmVjdEJvdHRvbSA8IGJvdHRvbSkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSBib3R0b20gLSBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBpc0VxdWFsOiA8VCwgViA9IFQ+KGE6IFQsIGI6IFYpID0+IGJvb2xlYW4gPSBfaXNFcXVhbDtcblxuZXhwb3J0IGNvbnN0IHBhcnNlSnNvbiA9IDxUPihzdHI6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBUID0gbnVsbCkgPT4ge1xuICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICB9XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2Uoc3RyKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvbk9iamVjdFN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICByZXR1cm4gdHlwZW9mIHBhcnNlZCA9PT0gJ29iamVjdCcgJiYgcGFyc2VkICE9PSBudWxsO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHBhcnNlVmFsaWRJbWFnZU5hbWUgPSAoaW1hZ2U6IHN0cmluZykgPT5cbiAgaW1hZ2U/LnJlcGxhY2UoLyhbXjpdKVxcL1xcLy9nLCAnJDEvJykgfHwgaW1hZ2U7XG5cbmV4cG9ydCBjb25zdCBhdG9iV2l0aEZhbGxiYWNrID0gKHN0cjogc3RyaW5nLCBmYWxsYmFja1ZhbHVlOiBzdHJpbmcgPSBudWxsKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHdpbmRvdy5hdG9iKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxsYmFja1ZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNhZmVBc3NpZ25PcHRpb25zIHtcbiAgbm90aWNlOiAoZHVwbGljYXRlczogc3RyaW5nW10pID0+IGFueTtcbn1cbi8qKlxuICog5bim6YeN5aSN5qOA5p+l55qEYXNzaWdu77yM5Y+q5YGa5LiA57qna2V555qE6YeN5aSN5qOA5p+lXG4gKiDlpoLmnpzmnInph43lpI3pobnpu5jorqTkvJp0aHJvdyBlcnJvcu+8jOWmguaenOS9oOaYjuehrui/meS4jeaYr+S4gOS4quWFs+mUruaAp+mUmeivr++8jOWImeWPr+S7pemAmui/h+aMh+Wumm5vdGljZeWHveaVsOS/ruaUueivpem7mOiupOihjOS4ulxuICogQHBhcmFtIHNvdXJjZXNcbiAqIEBwYXJhbSBvcHRpb25zT3JOb3RpY2VcbiAqIEByZXR1cm4gb2JqZWN0IOS4gOS4quWFqOaWsOeahOWvueixoVxuICovXG5leHBvcnQgY29uc3Qgc2FmZUFzc2lnbiA9IDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oXG4gIHNvdXJjZXM6IFRbXSxcbiAgb3B0aW9uc09yTm90aWNlPzogU2FmZUFzc2lnbk9wdGlvbnNbJ25vdGljZSddIHwgU2FmZUFzc2lnbk9wdGlvbnMsXG4pOiBVbmlvblRvSW50ZXJzZWN0aW9uPFQ+ID0+IHtcbiAgaWYgKHNvdXJjZXMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHNvdXJjZXNbMF0gYXMgVW5pb25Ub0ludGVyc2VjdGlvbjxUPjtcbiAgfVxuXG4gIGNvbnN0IG9wdGlvbjogU2FmZUFzc2lnbk9wdGlvbnMgPSB7XG4gICAgbm90aWNlOiAoZHVwbGljYXRlczogc3RyaW5nW10pID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZXJlIGFyZSBkdXBsaWNhdGUgZGVmaW5pdGlvbnM6ICR7ZHVwbGljYXRlcy5qb2luKCcsJyl9YCxcbiAgICAgICk7XG4gICAgfSxcbiAgfTtcbiAgaWYgKHR5cGVvZiBvcHRpb25zT3JOb3RpY2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICBvcHRpb24ubm90aWNlID0gb3B0aW9uc09yTm90aWNlO1xuICB9XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnb2JqZWN0Jykge1xuICAgIE9iamVjdC5hc3NpZ24ob3B0aW9uLCBvcHRpb25zT3JOb3RpY2UpO1xuICB9XG5cbiAgY29uc3QgZHVwbGljYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCBhbGxLZXkgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHNvdXJjZXNbMF0pKTtcbiAgc291cmNlcy5zbGljZSgxKS5mb3JFYWNoKG9iaiA9PiB7XG4gICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoYWxsS2V5LmhhcyhrZXkpKSB7XG4gICAgICAgIGR1cGxpY2F0ZXMuYWRkKGtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbGxLZXkuYWRkKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpZiAoZHVwbGljYXRlcy5zaXplKSB7XG4gICAgb3B0aW9uLm5vdGljZShbLi4uZHVwbGljYXRlc10pO1xuICB9XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCAuLi5zb3VyY2VzKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0b0xvd2VyRmlyc3RMZXR0ZXIgPSAodGV4dDogc3RyaW5nKSA9PlxuICB0eXBlb2YgdGV4dCA9PT0gJ3N0cmluZycgJiYgdGV4dC5sZW5ndGggPiAwXG4gICAgPyB0ZXh0LnJlcGxhY2UodGV4dFswXSwgdGV4dFswXS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgIDogdGV4dDtcblxuZXhwb3J0IGNvbnN0IGxvYWRFbnYgPSAoZW52VGV4dDogc3RyaW5nKTogQXJyYXk8W3N0cmluZywgc3RyaW5nXT4gPT4ge1xuICBpZiAoIWVudlRleHQpIHJldHVybiBbXTtcbiAgcmV0dXJuIGVudlRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLmZpbHRlcihzID0+ICEhcy50cmltKCkpXG4gICAgLm1hcChzID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gcy50cmltKCkuaW5jbHVkZXMoJz0nKVxuICAgICAgICA/IHMudHJpbSgpLmluZGV4T2YoJz0nKVxuICAgICAgICA6IHMudHJpbSgpLmxlbmd0aDtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHMudHJpbSgpLnNsaWNlKDAsIGluZGV4KS50cmltKCksXG4gICAgICAgIHNcbiAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgLnNsaWNlKGluZGV4ICsgMSlcbiAgICAgICAgICAudHJpbSgpLFxuICAgICAgXTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJFbXB0eVZhbHVlPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gIG9iajogVCxcbik6IFBhcnRpYWw8VD4ge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGFjY1trZXkgYXMga2V5b2YgVF0gPSB2YWx1ZSBhcyBUW2tleW9mIFRdO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBQYXJ0aWFsPFQ+KTtcbn1cblxuY29uc3QgSU1BR0VfVFlQRV9NQVBQRVI6IFN0cmluZ01hcCA9IHtcbiAgJy8nOiAnanBnJyxcbiAgaTogJ3BuZycsXG4gIFA6ICdzdmcreG1sJyxcbiAgUjogJ2dpZicsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCYXNlNjRUeXBlKGJhc2U2NFN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGZpcnN0Q2hhciA9IGJhc2U2NFN0ci5jaGFyQXQoMCk7XG4gIHJldHVybiBJTUFHRV9UWVBFX01BUFBFUltmaXJzdENoYXJdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kSW1hZ2VIZWFkZXIodmFsdWU6IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5zdGFydHNXaXRoKCdkYXRhOmltYWdlLycpKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGNvbnN0IGhlYWRlciA9XG4gICAgcHJlZml4IHx8IGBkYXRhOmltYWdlLyR7cGFyc2VCYXNlNjRUeXBlKHZhbHVlKSB8fCAnanBnJ307YmFzZTY0LGA7XG4gIHJldHVybiBgJHtoZWFkZXJ9JHt2YWx1ZX1gO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRpdmVQYXRoID0gKGZyb206IHN0cmluZywgdG86IHN0cmluZykgPT4ge1xuICBpZiAodG8gPT09IG51bGwgfHwgdG8gPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiB0bztcbiAgfVxuICBjb25zdCBmcm9tUGFydHMgPSAoZnJvbSA/PyAnJykuc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHRvUGFydHMgPSAodG8gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuXG4gIGxldCByZWxhdGl2ZVBhdGggPSAnJztcbiAgd2hpbGUgKFxuICAgIGZyb21QYXJ0cy5sZW5ndGggPiAwICYmXG4gICAgdG9QYXJ0cy5sZW5ndGggPiAwICYmXG4gICAgZnJvbVBhcnRzWzBdID09PSB0b1BhcnRzWzBdXG4gICkge1xuICAgIGZyb21QYXJ0cy5zaGlmdCgpO1xuICAgIHRvUGFydHMuc2hpZnQoKTtcbiAgfVxuXG4gIHJlbGF0aXZlUGF0aCA9ICcuLi8nLnJlcGVhdChmcm9tUGFydHMubGVuZ3RoKTtcblxuICByZWxhdGl2ZVBhdGggKz0gdG9QYXJ0cy5qb2luKCcvJyk7XG5cbiAgcmV0dXJuIHJlbGF0aXZlUGF0aDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUb1BhdGggPSAoZnJvbTogc3RyaW5nLCByZWxhdGl2ZTogc3RyaW5nKSA9PiB7XG4gIGlmIChyZWxhdGl2ZSA9PT0gbnVsbCB8fCByZWxhdGl2ZSA9PT0gdW5kZWZpbmVkIHx8ICFmcm9tKSB7XG4gICAgcmV0dXJuIHJlbGF0aXZlO1xuICB9XG5cbiAgY29uc3QgZnJvbVBhcnRzID0gZnJvbS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcbiAgY29uc3QgcmVsYXRpdmVQYXJ0cyA9IHJlbGF0aXZlLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuXG4gIGNvbnN0IGRvdERvdENvdW50ID0gK3JlbGF0aXZlUGFydHMuZmlsdGVyKHAgPT4gcCA9PT0gJy4uJyk/Lmxlbmd0aDtcblxuICBjb25zdCBzID0gZnJvbVBhcnRzLnNwbGljZSgwLCBmcm9tUGFydHMubGVuZ3RoIC0gZG90RG90Q291bnQpO1xuXG4gIHJldHVybiBzLmNvbmNhdChyZWxhdGl2ZVBhcnRzLnNwbGljZShkb3REb3RDb3VudCkpLmpvaW4oJy8nKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5TmFtZSA9IDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgXzogbnVtYmVyLFxuICByZXNvdXJjZTogVCxcbikgPT4gcmVzb3VyY2UubWV0YWRhdGEubmFtZTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlU29ydDxUPihcbiAgbGlzdDogVFtdLFxuICBzb3J0OiBTb3J0LFxuICBzb3J0QWN0aXZlVmFsdWVGbjogKGl0ZW06IFQsIG5hbWU6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVtYmVyLFxuKTogVFtdIHtcbiAgcmV0dXJuIGxpc3Quc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gc29ydC5hY3RpdmU7XG4gICAgY29uc3Qga2V5QSA9IHNvcnRBY3RpdmVWYWx1ZUZuKGEsIGtleSk7XG4gICAgY29uc3Qga2V5QiA9IHNvcnRBY3RpdmVWYWx1ZUZuKGIsIGtleSk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QSA+IGtleUJcbiAgICAgICAgPyAxXG4gICAgICAgIDogLTFcbiAgICAgIDoga2V5QiA+IGtleUFcbiAgICAgID8gMVxuICAgICAgOiAtMTtcbiAgfSk7XG59XG5cbi8vIOaUr+aMgeS4reaWh+aOkuW6j++8jOaOqOiNkOS9v+eUqFxuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlU29ydEFkdmFuY2U8VD4oXG4gIGxpc3Q6IFRbXSxcbiAgc29ydDogU29ydCxcbiAgc29ydEFjdGl2ZVZhbHVlRm46IChpdGVtOiBULCBuYW1lOiBzdHJpbmcpID0+IHN0cmluZyB8IG51bWJlcixcbik6IFRbXSB7XG4gIHJldHVybiBsaXN0LnNsaWNlKCkuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IGtleSA9IHNvcnQuYWN0aXZlO1xuICAgIGNvbnN0IGtleUEgPSBzb3J0QWN0aXZlVmFsdWVGbihhLCBrZXkpLnRvU3RyaW5nKCk7XG4gICAgY29uc3Qga2V5QiA9IHNvcnRBY3RpdmVWYWx1ZUZuKGIsIGtleSkudG9TdHJpbmcoKTtcbiAgICBpZiAoa2V5QSA9PT0ga2V5QikgcmV0dXJuIDA7XG4gICAgcmV0dXJuIHNvcnQuZGlyZWN0aW9uID09PSAnYXNjJ1xuICAgICAgPyBrZXlBLmxvY2FsZUNvbXBhcmUoa2V5QilcbiAgICAgIDoga2V5Qi5sb2NhbGVDb21wYXJlKGtleUEpO1xuICB9KTtcbn1cblxuLy8g5qC55o2uIHRhZ09yRGlnZXN0IOeUn+aIkOmVnOWDj+WcsOWdgFxuZXhwb3J0IGNvbnN0IGJ1aWxkSW1hZ2VBZGRyZXNzID0gKHVybDogc3RyaW5nLCB0YWdPckRpZ2VzdDogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBgJHt1cmx9JHt0YWdPckRpZ2VzdC5zdGFydHNXaXRoKCdzaGEyNTY6JykgPyAnQCcgOiAnOid9JHt0YWdPckRpZ2VzdH1gO1xufTtcblxuLy8g6Kej5p6Q6ZWc5YOP5Zyw5Z2AXG5leHBvcnQgY29uc3QgcGFyc2VJbWFnZUFkZHJlc3MgPSAoYWRkcjogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHJlc3VsdDoge1xuICAgIGRpZ2VzdD86IHN0cmluZztcbiAgICB0YWc/OiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH0gPSB7XG4gICAgdXJsOiAnJyxcbiAgfTtcblxuICBjb25zdCBbdXJsUGFydCwgZGlnZXN0UGFydF0gPSBhZGRyLnNwbGl0KCdAc2hhMjU2Jyk7XG4gIGlmIChkaWdlc3RQYXJ0KSB7XG4gICAgcmVzdWx0LmRpZ2VzdCA9IGBzaGEyNTYke2RpZ2VzdFBhcnR9YDtcbiAgfVxuXG4gIGNvbnN0IHRhZ0luZGV4ID0gdXJsUGFydC5sYXN0SW5kZXhPZignOicpO1xuICBpZiAodGFnSW5kZXggPiAwICYmIHRhZ0luZGV4ID4gdXJsUGFydC5sYXN0SW5kZXhPZignLycpKSB7XG4gICAgcmVzdWx0LnRhZyA9IHVybFBhcnQuc2xpY2UodGFnSW5kZXggKyAxKTtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydC5zbGljZSgwLCB0YWdJbmRleCk7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0LnVybCA9IHVybFBhcnQ7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgYWxsb3dlZEFwaXMgPSBbXG4gICdoYXNTZWxlY3Rpb24nLFxuICAnZ2V0U2VsZWN0aW9uJyxcbiAgJ2dldFNlbGVjdGlvblBvc2l0aW9uJyxcbiAgJ2NsZWFyU2VsZWN0aW9uJyxcbiAgJ3NlbGVjdCcsXG4gICdzZWxlY3RBbGwnLFxuICAnc2VsZWN0TGluZXMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IHNldFdpbmRvd3NYdGVybVRvb2xzID0gKHh0ZXJtOiBUZXJtaW5hbCkgPT4ge1xuICAod2luZG93IGFzIGFueSkuX19YVEVSTV9UT09MU19fID0gbWFwVmFsdWVzKFxuICAgIHBpY2soeHRlcm0sIGFsbG93ZWRBcGlzKSxcbiAgICAoZnVuOiBWYWx1ZU9mPFBpY2s8VGVybWluYWwsIFZhbHVlT2Y8dHlwZW9mIGFsbG93ZWRBcGlzPj4+KSA9PlxuICAgICAgZnVuLmJpbmQoeHRlcm0pLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyV2luZG93c1h0ZXJtVG9vbHMgPSAoKSA9PiB7XG4gIGRlbGV0ZSAod2luZG93IGFzIGFueSkuX19YVEVSTV9UT09MU19fO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcmFtRnJvbVBhcmVudChcbiAga2V5OiBzdHJpbmcsXG4gIHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgdmFsdWUgPSBzbmFwc2hvdC5wYXJhbU1hcC5nZXQoa2V5KTtcbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGlmIChzbmFwc2hvdC5wYXJlbnQpIHtcbiAgICByZXR1cm4gZ2V0UGFyYW1Gcm9tUGFyZW50KGtleSwgc25hcHNob3QucGFyZW50KTtcbiAgfVxuICByZXR1cm4gJyc7XG59XG4iXX0=
317
+ const queryString = searchParams.toString();
318
+ return queryString ? `${baseUri}?${queryString}` : baseUri;
319
+ };
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUdILE9BQU8sRUFDTCxJQUFJO0FBQ0osaURBQWlEO0FBQ2pELE9BQU8sSUFBSSxRQUFRLEVBQ25CLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVWpELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVksRUFBRSxFQUFFO0lBQ3ZDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxHQUFHO1NBQ1AsY0FBYyxDQUFDLFVBQVUsRUFBRTtRQUMxQixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQXFCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM3QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFD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LE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2xELFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDN0QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBsYXN0LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG4gIGlzRXF1YWwgYXMgX2lzRXF1YWwsXG4gIHBpY2ssXG4gIG1hcFZhbHVlcyxcbn0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24sIFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAneHRlcm0nO1xuXG5pbXBvcnQgeyBCcmFja2V0IH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBDYWxsYmFjayxcbiAgS2V5cyxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBOdWxsYWJsZSxcbiAgUmVhZG9ubHlhYmxlLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgbnVtVG9TdHIgPSAobnVtPzogbnVtYmVyKSA9PiB7XG4gIGlmIChudW0gPT09IDApIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbnVtXG4gICAgLnRvTG9jYWxlU3RyaW5nKCdmdWxsd2lkZScsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcbiAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oW14uXSlcXC4/MCskLywgJyQxJyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvcnROdW0gPSAobnVtPzogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHMgPSAyKSA9PiB7XG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IG51bS50cmltKCk7XG4gIH1cbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCsoK251bSkudG9GaXhlZChkaWdpdHMpIHx8IE1hdGgucG93KDEwLCAtZGlnaXRzKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNCbGFuayA9IChzdHI/OiB1bmtub3duKSA9PlxuICBzdHIgPT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4oc3RyIGFzIG51bWJlcikgfHwgIXN0ci50b1N0cmluZygpLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VIcmVmID0gKCkgPT4ge1xuICAvLyBUaGUgbGFzdCBiYXNlIGVsZW1lbnQgaGFzIGhpZ2hlc3QgcHJpdmlsZWdlXG4gIGNvbnN0IGJhc2UgPSBsYXN0KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Jhc2UnKSk7XG4gIC8vIHVzZSBgZ2V0QXR0cmlidXRlYCBpbnN0ZWFkIG9mIGBiYXNlLmhyZWZgIGJlY2F1c2UgdGhlIGF0dHJpYnV0ZSBjb3VsZCBiZSB2b2lkIGJ1dCByZXN1bHRzIGN1cnJlbnQgd2hvbGUgbG9jYXRpb24gdXJsXG4gIHJldHVybiBiYXNlPy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnLyc7XG59O1xuXG5leHBvcnQgY29uc3QgaWZFeGlzdCA9IDxUPihcbiAgdG9DaGVjazogYm9vbGVhbiB8IE51bGxhYmxlPFQ+LFxuICB0cnV0aHlWYWx1ZTogVCxcbiAgZmFsbGJhY2s/OiBULFxuKSA9PiAodG9DaGVjayA/IHRydXRoeVZhbHVlIDogKChmYWxsYmFjayB8fCAnJykgYXMgVCkpO1xuXG5leHBvcnQgY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmw6IHN0cmluZykgPT4gL14oaHR0cHM/OlxcLyk/XFwvLy50ZXN0KHVybCk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBub29wOiBDYWxsYmFjayA9ICgpID0+IHt9O1xuXG5leHBvcnQgY29uc3QgdG9LZXlzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNvdXJjZTogVCk6IEtleXM8VD4gPT5cbiAgT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IGtleSA9IGsgYXMga2V5b2YgVDtcbiAgICBhY2Nba2V5XSA9IGtleTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBLZXlzPFQ+KTtcblxuZXhwb3J0IGNvbnN0IHdyYXBUZXh0ID0gKFxuICB0ZXh0Pzogc3RyaW5nLFxuICB3cmFwcGVyOiBSZWFkb25seWFibGU8W3N0cmluZywgc3RyaW5nXT4gPSBCcmFja2V0LlBBUkVOVEhFU0VTLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikgPT4gKHRleHQgPyB3cmFwcGVyLmpvaW4odGV4dCkgOiBmYWxsYmFjayB8fCAnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUpTT05TdHJlYW08VD4odGV4dDogc3RyaW5nKTogVFtdIHtcbiAgcmV0dXJuIHRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLm1hcCh2ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHYpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcih2ID0+ICEhdik7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5VWlkID0gPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICBfOiBudW1iZXIsXG4gIHJlc291cmNlOiBULFxuKSA9PiByZXNvdXJjZS5tZXRhZGF0YS51aWQ7XG5cbmV4cG9ydCBjb25zdCBpc0s4c1Jlc291cmNlID0gPFxuICBUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlID0gS3ViZXJuZXRlc1Jlc291cmNlLFxuPihcbiAgdmFsdWU6IG9iamVjdCxcbik6IHZhbHVlIGlzIFQgPT5cbiAgdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAnYXBpVmVyc2lvbicgaW4gdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlLmFwaVZlcnNpb24gPT09ICdzdHJpbmcnICYmXG4gICdraW5kJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUua2luZCA9PT0gJ3N0cmluZycgJiZcbiAgJ21ldGFkYXRhJyBpbiB2YWx1ZSAmJlxuICB2YWx1ZS5tZXRhZGF0YSAmJlxuICB0eXBlb2YgdmFsdWUubWV0YWRhdGEgPT09ICdvYmplY3QnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlpZnkgPSA8XG4gIFQsXG4gIFIgPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUz4gPyBOb25OdWxsYWJsZTxTPiA6IE5vbk51bGxhYmxlPFQ+LFxuPihcbiAgLi4uYXJnczogQXJyYXk8UiB8IFJbXT5cbikgPT5cbiAgYXJncy5yZWR1Y2U8UltdPigoYXJyLCBjdXJyKSA9PiB7XG4gICAgYXJyLnB1c2goLi4uKEFycmF5LmlzQXJyYXkoY3VycikgPyBjdXJyIDogY3VyciA9PSBudWxsID8gW10gOiBbY3Vycl0pKTtcbiAgICByZXR1cm4gYXJyO1xuICB9LCBbXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtcyA9IDApIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlbGF5ID0gc2xlZXA7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjb250YWluZXI6IEhUTUxFbGVtZW50LCBzZWxlY3RlZDogSFRNTEVsZW1lbnQpIHtcbiAgaWYgKCFzZWxlY3RlZCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRvcCA9IHNlbGVjdGVkLm9mZnNldFRvcDtcbiAgY29uc3QgYm90dG9tID0gc2VsZWN0ZWQub2Zmc2V0VG9wICsgc2VsZWN0ZWQub2Zmc2V0SGVpZ2h0O1xuICBjb25zdCB2aWV3UmVjdFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnN0IHZpZXdSZWN0Qm90dG9tID0gdmlld1JlY3RUb3AgKyBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gIGlmICh2aWV3UmVjdFRvcCA+IHRvcCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gIH0gZWxzZSBpZiAodmlld1JlY3RCb3R0b20gPCBib3R0b20pIHtcbiAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gYm90dG9tIC0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaXNFcXVhbDogPFQsIFYgPSBUPihhOiBULCBiOiBWKSA9PiBib29sZWFuID0gX2lzRXF1YWw7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb24gPSA8VD4oc3RyOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpID0+IHtcbiAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25PYmplY3RTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXJzZWQgPT09ICdvYmplY3QnICYmIHBhcnNlZCAhPT0gbnVsbDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVZhbGlkSW1hZ2VOYW1lID0gKGltYWdlOiBzdHJpbmcpID0+XG4gIGltYWdlPy5yZXBsYWNlKC8oW146XSlcXC9cXC8vZywgJyQxLycpIHx8IGltYWdlO1xuXG5leHBvcnQgY29uc3QgYXRvYldpdGhGYWxsYmFjayA9IChzdHI6IHN0cmluZywgZmFsbGJhY2tWYWx1ZTogc3RyaW5nID0gbnVsbCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cuYXRvYihzdHIpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWZlQXNzaWduT3B0aW9ucyB7XG4gIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiBhbnk7XG59XG4vKipcbiAqIOW4pumHjeWkjeajgOafpeeahGFzc2lnbu+8jOWPquWBmuS4gOe6p2tleeeahOmHjeWkjeajgOafpVxuICog5aaC5p6c5pyJ6YeN5aSN6aG56buY6K6k5LyadGhyb3cgZXJyb3LvvIzlpoLmnpzkvaDmmI7noa7ov5nkuI3mmK/kuIDkuKrlhbPplK7mgKfplJnor6/vvIzliJnlj6/ku6XpgJrov4fmjIflrppub3RpY2Xlh73mlbDkv67mlLnor6Xpu5jorqTooYzkuLpcbiAqIEBwYXJhbSBzb3VyY2VzXG4gKiBAcGFyYW0gb3B0aW9uc09yTm90aWNlXG4gKiBAcmV0dXJuIG9iamVjdCDkuIDkuKrlhajmlrDnmoTlr7nosaFcbiAqL1xuZXhwb3J0IGNvbnN0IHNhZmVBc3NpZ24gPSA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICBzb3VyY2VzOiBUW10sXG4gIG9wdGlvbnNPck5vdGljZT86IFNhZmVBc3NpZ25PcHRpb25zWydub3RpY2UnXSB8IFNhZmVBc3NpZ25PcHRpb25zLFxuKTogVW5pb25Ub0ludGVyc2VjdGlvbjxUPiA9PiB7XG4gIGlmIChzb3VyY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBzb3VyY2VzWzBdIGFzIFVuaW9uVG9JbnRlcnNlY3Rpb248VD47XG4gIH1cblxuICBjb25zdCBvcHRpb246IFNhZmVBc3NpZ25PcHRpb25zID0ge1xuICAgIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGVyZSBhcmUgZHVwbGljYXRlIGRlZmluaXRpb25zOiAke2R1cGxpY2F0ZXMuam9pbignLCcpfWAsXG4gICAgICApO1xuICAgIH0sXG4gIH07XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgb3B0aW9uLm5vdGljZSA9IG9wdGlvbnNPck5vdGljZTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdGlvbnNPck5vdGljZSA9PT0gJ29iamVjdCcpIHtcbiAgICBPYmplY3QuYXNzaWduKG9wdGlvbiwgb3B0aW9uc09yTm90aWNlKTtcbiAgfVxuXG4gIGNvbnN0IGR1cGxpY2F0ZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgYWxsS2V5ID0gbmV3IFNldChPYmplY3Qua2V5cyhzb3VyY2VzWzBdKSk7XG4gIHNvdXJjZXMuc2xpY2UoMSkuZm9yRWFjaChvYmogPT4ge1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGFsbEtleS5oYXMoa2V5KSkge1xuICAgICAgICBkdXBsaWNhdGVzLmFkZChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxsS2V5LmFkZChrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGR1cGxpY2F0ZXMuc2l6ZSkge1xuICAgIG9wdGlvbi5ub3RpY2UoWy4uLmR1cGxpY2F0ZXNdKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgLi4uc291cmNlcyk7XG59O1xuXG5leHBvcnQgY29uc3QgdG9Mb3dlckZpcnN0TGV0dGVyID0gKHRleHQ6IHN0cmluZykgPT5cbiAgdHlwZW9mIHRleHQgPT09ICdzdHJpbmcnICYmIHRleHQubGVuZ3RoID4gMFxuICAgID8gdGV4dC5yZXBsYWNlKHRleHRbMF0sIHRleHRbMF0udG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICA6IHRleHQ7XG5cbmV4cG9ydCBjb25zdCBsb2FkRW52ID0gKGVudlRleHQ6IHN0cmluZyk6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0+IHtcbiAgaWYgKCFlbnZUZXh0KSByZXR1cm4gW107XG4gIHJldHVybiBlbnZUZXh0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5maWx0ZXIocyA9PiAhIXMudHJpbSgpKVxuICAgIC5tYXAocyA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHMudHJpbSgpLmluY2x1ZGVzKCc9JylcbiAgICAgICAgPyBzLnRyaW0oKS5pbmRleE9mKCc9JylcbiAgICAgICAgOiBzLnRyaW0oKS5sZW5ndGg7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBzLnRyaW0oKS5zbGljZSgwLCBpbmRleCkudHJpbSgpLFxuICAgICAgICBzXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC5zbGljZShpbmRleCArIDEpXG4gICAgICAgICAgLnRyaW0oKSxcbiAgICAgIF07XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRW1wdHlWYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFQsXG4pOiBQYXJ0aWFsPFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBhY2Nba2V5IGFzIGtleW9mIFRdID0gdmFsdWUgYXMgVFtrZXlvZiBUXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUGFydGlhbDxUPik7XG59XG5cbmNvbnN0IElNQUdFX1RZUEVfTUFQUEVSOiBTdHJpbmdNYXAgPSB7XG4gICcvJzogJ2pwZycsXG4gIGk6ICdwbmcnLFxuICBQOiAnc3ZnK3htbCcsXG4gIFI6ICdnaWYnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmFzZTY0VHlwZShiYXNlNjRTdHI6IHN0cmluZykge1xuICBjb25zdCBmaXJzdENoYXIgPSBiYXNlNjRTdHIuY2hhckF0KDApO1xuICByZXR1cm4gSU1BR0VfVFlQRV9NQVBQRVJbZmlyc3RDaGFyXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZEltYWdlSGVhZGVyKHZhbHVlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghdmFsdWUgfHwgdmFsdWUuc3RhcnRzV2l0aCgnZGF0YTppbWFnZS8nKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBjb25zdCBoZWFkZXIgPVxuICAgIHByZWZpeCB8fCBgZGF0YTppbWFnZS8ke3BhcnNlQmFzZTY0VHlwZSh2YWx1ZSkgfHwgJ2pwZyd9O2Jhc2U2NCxgO1xuICByZXR1cm4gYCR7aGVhZGVyfSR7dmFsdWV9YDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUGF0aCA9IChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpID0+IHtcbiAgaWYgKHRvID09PSBudWxsIHx8IHRvID09PSB1bmRlZmluZWQgfHwgIWZyb20pIHtcbiAgICByZXR1cm4gdG87XG4gIH1cbiAgY29uc3QgZnJvbVBhcnRzID0gKGZyb20gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuICBjb25zdCB0b1BhcnRzID0gKHRvID8/ICcnKS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBsZXQgcmVsYXRpdmVQYXRoID0gJyc7XG4gIHdoaWxlIChcbiAgICBmcm9tUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIHRvUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIGZyb21QYXJ0c1swXSA9PT0gdG9QYXJ0c1swXVxuICApIHtcbiAgICBmcm9tUGFydHMuc2hpZnQoKTtcbiAgICB0b1BhcnRzLnNoaWZ0KCk7XG4gIH1cblxuICByZWxhdGl2ZVBhdGggPSAnLi4vJy5yZXBlYXQoZnJvbVBhcnRzLmxlbmd0aCk7XG5cbiAgcmVsYXRpdmVQYXRoICs9IHRvUGFydHMuam9pbignLycpO1xuXG4gIHJldHVybiByZWxhdGl2ZVBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VG9QYXRoID0gKGZyb206IHN0cmluZywgcmVsYXRpdmU6IHN0cmluZykgPT4ge1xuICBpZiAocmVsYXRpdmUgPT09IG51bGwgfHwgcmVsYXRpdmUgPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiByZWxhdGl2ZTtcbiAgfVxuXG4gIGNvbnN0IGZyb21QYXJ0cyA9IGZyb20uc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHJlbGF0aXZlUGFydHMgPSByZWxhdGl2ZS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBjb25zdCBkb3REb3RDb3VudCA9ICtyZWxhdGl2ZVBhcnRzLmZpbHRlcihwID0+IHAgPT09ICcuLicpPy5sZW5ndGg7XG5cbiAgY29uc3QgcyA9IGZyb21QYXJ0cy5zcGxpY2UoMCwgZnJvbVBhcnRzLmxlbmd0aCAtIGRvdERvdENvdW50KTtcblxuICByZXR1cm4gcy5jb25jYXQocmVsYXRpdmVQYXJ0cy5zcGxpY2UoZG90RG90Q291bnQpKS5qb2luKCcvJyk7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhY2tCeU5hbWUgPSA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIF86IG51bWJlcixcbiAgcmVzb3VyY2U6IFQsXG4pID0+IHJlc291cmNlLm1ldGFkYXRhLm5hbWU7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnQ8VD4oXG4gIGxpc3Q6IFRbXSxcbiAgc29ydDogU29ydCxcbiAgc29ydEFjdGl2ZVZhbHVlRm46IChpdGVtOiBULCBuYW1lOiBzdHJpbmcpID0+IHN0cmluZyB8IG51bWJlcixcbik6IFRbXSB7XG4gIHJldHVybiBsaXN0LnNsaWNlKCkuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IGtleSA9IHNvcnQuYWN0aXZlO1xuICAgIGNvbnN0IGtleUEgPSBzb3J0QWN0aXZlVmFsdWVGbihhLCBrZXkpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEgPiBrZXlCXG4gICAgICAgID8gMVxuICAgICAgICA6IC0xXG4gICAgICA6IGtleUIgPiBrZXlBXG4gICAgICAgID8gMVxuICAgICAgICA6IC0xO1xuICB9KTtcbn1cblxuLy8g5pSv5oyB5Lit5paH5o6S5bqP77yM5o6o6I2Q5L2/55SoXG5leHBvcnQgZnVuY3Rpb24gdGFibGVTb3J0QWR2YW5jZTxUPihcbiAgbGlzdDogVFtdLFxuICBzb3J0OiBTb3J0LFxuICBzb3J0QWN0aXZlVmFsdWVGbjogKGl0ZW06IFQsIG5hbWU6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVtYmVyLFxuKTogVFtdIHtcbiAgcmV0dXJuIGxpc3Quc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gc29ydC5hY3RpdmU7XG4gICAgY29uc3Qga2V5QSA9IHNvcnRBY3RpdmVWYWx1ZUZuKGEsIGtleSkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBrZXlCID0gc29ydEFjdGl2ZVZhbHVlRm4oYiwga2V5KS50b1N0cmluZygpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEubG9jYWxlQ29tcGFyZShrZXlCKVxuICAgICAgOiBrZXlCLmxvY2FsZUNvbXBhcmUoa2V5QSk7XG4gIH0pO1xufVxuXG4vLyDmoLnmja4gdGFnT3JEaWdlc3Qg55Sf5oiQ6ZWc5YOP5Zyw5Z2AXG5leHBvcnQgY29uc3QgYnVpbGRJbWFnZUFkZHJlc3MgPSAodXJsOiBzdHJpbmcsIHRhZ09yRGlnZXN0OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGAke3VybH0ke3RhZ09yRGlnZXN0LnN0YXJ0c1dpdGgoJ3NoYTI1NjonKSA/ICdAJyA6ICc6J30ke3RhZ09yRGlnZXN0fWA7XG59O1xuXG4vLyDop6PmnpDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlQWRkcmVzcyA9IChhZGRyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmVzdWx0OiB7XG4gICAgZGlnZXN0Pzogc3RyaW5nO1xuICAgIHRhZz86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfSA9IHtcbiAgICB1cmw6ICcnLFxuICB9O1xuXG4gIGNvbnN0IFt1cmxQYXJ0LCBkaWdlc3RQYXJ0XSA9IGFkZHIuc3BsaXQoJ0BzaGEyNTYnKTtcbiAgaWYgKGRpZ2VzdFBhcnQpIHtcbiAgICByZXN1bHQuZGlnZXN0ID0gYHNoYTI1NiR7ZGlnZXN0UGFydH1gO1xuICB9XG5cbiAgY29uc3QgdGFnSW5kZXggPSB1cmxQYXJ0Lmxhc3RJbmRleE9mKCc6Jyk7XG4gIGlmICh0YWdJbmRleCA+IDAgJiYgdGFnSW5kZXggPiB1cmxQYXJ0Lmxhc3RJbmRleE9mKCcvJykpIHtcbiAgICByZXN1bHQudGFnID0gdXJsUGFydC5zbGljZSh0YWdJbmRleCArIDEpO1xuICAgIHJlc3VsdC51cmwgPSB1cmxQYXJ0LnNsaWNlKDAsIHRhZ0luZGV4KTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5jb25zdCBhbGxvd2VkQXBpcyA9IFtcbiAgJ2hhc1NlbGVjdGlvbicsXG4gICdnZXRTZWxlY3Rpb24nLFxuICAnZ2V0U2VsZWN0aW9uUG9zaXRpb24nLFxuICAnY2xlYXJTZWxlY3Rpb24nLFxuICAnc2VsZWN0JyxcbiAgJ3NlbGVjdEFsbCcsXG4gICdzZWxlY3RMaW5lcycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgc2V0V2luZG93c1h0ZXJtVG9vbHMgPSAoeHRlcm06IFRlcm1pbmFsKSA9PiB7XG4gICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX18gPSBtYXBWYWx1ZXMoXG4gICAgcGljayh4dGVybSwgYWxsb3dlZEFwaXMpLFxuICAgIChmdW46IFZhbHVlT2Y8UGljazxUZXJtaW5hbCwgVmFsdWVPZjx0eXBlb2YgYWxsb3dlZEFwaXM+Pj4pID0+XG4gICAgICBmdW4uYmluZCh4dGVybSksXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJXaW5kb3dzWHRlcm1Ub29scyA9ICgpID0+IHtcbiAgZGVsZXRlICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX187XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRVcmwgPSAoXG4gIGJhc2VVcmk6IHN0cmluZyxcbiAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgYm9vbGVhbj4sXG4pID0+IHtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gIH1cblxuICBjb25zdCBxdWVyeVN0cmluZyA9IHNlYXJjaFBhcmFtcy50b1N0cmluZygpO1xuICByZXR1cm4gcXVlcnlTdHJpbmcgPyBgJHtiYXNlVXJpfT8ke3F1ZXJ5U3RyaW5nfWAgOiBiYXNlVXJpO1xufTtcbiJdfQ==
@@ -21,5 +21,6 @@ export * from './format-number';
21
21
  export * from './node';
22
22
  export * from './sort-fn';
23
23
  export * from './workload';
24
+ export * from './router';
24
25
  export * from './disabled-state';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJvd3Nlcic7XG5leHBvcnQgKiBmcm9tICcuL2NhY2hlLXN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1yZWN1cnNpdmUtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY3Jvbi11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vb2JzZXJ2YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL29wZXJhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtcG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWxvYWQtc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91bml0JztcbmV4cG9ydCAqIGZyb20gJy4veWFtbCc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcnNpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhbC1zdG9yYWdlLWNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1mbic7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtsb2FkJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzYWJsZWQtc3RhdGUnO1xuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJvd3Nlcic7XG5leHBvcnQgKiBmcm9tICcuL2NhY2hlLXN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1yZWN1cnNpdmUtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY3Jvbi11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vb2JzZXJ2YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL29wZXJhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtcG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWxvYWQtc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91bml0JztcbmV4cG9ydCAqIGZyb20gJy4veWFtbCc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcnNpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhbC1zdG9yYWdlLWNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1mbic7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtsb2FkJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzYWJsZWQtc3RhdGUnO1xuIl19
@@ -0,0 +1,20 @@
1
+ import { inject } from '@angular/core';
2
+ import { ActivatedRoute, NavigationEnd, Router, } from '@angular/router';
3
+ import { distinctUntilChanged, filter, map, startWith } from 'rxjs';
4
+ import { publishRef } from './operators';
5
+ export function getParamFromParent(key, snapshot) {
6
+ const value = snapshot.paramMap.get(key);
7
+ if (value) {
8
+ return value;
9
+ }
10
+ if (snapshot.parent) {
11
+ return getParamFromParent(key, snapshot.parent);
12
+ }
13
+ return '';
14
+ }
15
+ export function initParamFromParent$(key) {
16
+ const router = inject(Router);
17
+ const route = inject(ActivatedRoute);
18
+ return router.events.pipe(filter(e => e instanceof NavigationEnd), map(({ url }) => url), startWith(route.url), distinctUntilChanged(), map(() => getParamFromParent(key, route.snapshot)), publishRef());
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLGNBQWMsRUFFZCxhQUFhLEVBQ2IsTUFBTSxHQUNQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFekMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxHQUFXLEVBQ1gsUUFBZ0M7SUFFaEMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sa0JBQWtCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQVc7SUFDOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksYUFBYSxDQUFDLEVBQ3ZDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFpQixFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFDcEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDcEIsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDbEQsVUFBVSxFQUFFLENBQ2IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlLFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBOYXZpZ2F0aW9uRW5kLFxuICBSb3V0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnLi9vcGVyYXRvcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyYW1Gcm9tUGFyZW50KFxuICBrZXk6IHN0cmluZyxcbiAgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4pOiBzdHJpbmcge1xuICBjb25zdCB2YWx1ZSA9IHNuYXBzaG90LnBhcmFtTWFwLmdldChrZXkpO1xuICBpZiAodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgaWYgKHNuYXBzaG90LnBhcmVudCkge1xuICAgIHJldHVybiBnZXRQYXJhbUZyb21QYXJlbnQoa2V5LCBzbmFwc2hvdC5wYXJlbnQpO1xuICB9XG4gIHJldHVybiAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRQYXJhbUZyb21QYXJlbnQkKGtleTogc3RyaW5nKSB7XG4gIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHJldHVybiByb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgIG1hcCgoeyB1cmwgfTogTmF2aWdhdGlvbkVuZCkgPT4gdXJsKSxcbiAgICBzdGFydFdpdGgocm91dGUudXJsKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIG1hcCgoKSA9PiBnZXRQYXJhbUZyb21QYXJlbnQoa2V5LCByb3V0ZS5zbmFwc2hvdCkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcbn1cbiJdfQ==