bways-report 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +293 -464
  2. package/esm2022/lib/core/config/bways-report-config.mjs +83 -0
  3. package/esm2022/lib/core/index.mjs +2 -1
  4. package/esm2022/lib/core/models/report-definition.model.mjs +1 -1
  5. package/esm2022/lib/core/services/report-data-discovery.service.mjs +6 -3
  6. package/esm2022/lib/core/services/report-session-context.service.mjs +11 -7
  7. package/esm2022/lib/core/tokens/reporting-config.token.mjs +1 -1
  8. package/esm2022/lib/core/utils/data-normalization.util.mjs +87 -1
  9. package/esm2022/lib/core/utils/report-parameter.util.mjs +119 -3
  10. package/esm2022/lib/data-access/adapters/endpoint-datasource.adapter.mjs +69 -0
  11. package/esm2022/lib/data-access/adapters/endpoint-lookup.adapter.mjs +98 -0
  12. package/esm2022/lib/data-access/adapters/endpoint-masterdata.adapter.mjs +57 -0
  13. package/esm2022/lib/data-access/adapters/endpoint-persistence.adapter.mjs +85 -0
  14. package/esm2022/lib/data-access/adapters/endpoint-schema-discovery.adapter.mjs +163 -0
  15. package/esm2022/lib/data-access/adapters/endpoint-tokens.mjs +12 -0
  16. package/esm2022/lib/data-access/adapters/http-lookup.adapter.mjs +4 -23
  17. package/esm2022/lib/data-access/adapters/index.mjs +8 -1
  18. package/esm2022/lib/data-access/contracts/lookup.contract.mjs +1 -1
  19. package/esm2022/lib/features/designer/components/component-palette/component-palette.component.mjs +12 -2
  20. package/esm2022/lib/features/designer/components/design-canvas/design-canvas.component.mjs +5 -5
  21. package/esm2022/lib/features/designer/components/dialogs/report-saved-dialog.component.mjs +407 -0
  22. package/esm2022/lib/features/designer/components/property-editor/parameter-binding-editor.component.mjs +109 -60
  23. package/esm2022/lib/features/designer/components/property-editor/property-editor-action.component.mjs +3 -3
  24. package/esm2022/lib/features/designer/components/property-editor/property-editor-datasource.component.mjs +110 -20
  25. package/esm2022/lib/features/designer/components/property-editor/property-editor-general.component.mjs +3 -3
  26. package/esm2022/lib/features/designer/components/property-editor/property-editor-grid.component.mjs +60 -3
  27. package/esm2022/lib/features/designer/components/property-editor/property-editor-layout.component.mjs +11 -5
  28. package/esm2022/lib/features/designer/components/property-editor/property-editor-report.component.mjs +3 -3
  29. package/esm2022/lib/features/designer/components/property-editor/property-editor-validation.component.mjs +15 -3
  30. package/esm2022/lib/features/designer/components/toolbar/designer-toolbar.component.mjs +204 -10
  31. package/esm2022/lib/features/designer/designer.component.mjs +276 -21
  32. package/esm2022/lib/features/designer/services/designer-state.service.mjs +9 -2
  33. package/esm2022/lib/features/embed/bways-report-builder.component.mjs +207 -0
  34. package/esm2022/lib/features/embed/bways-report-menu.component.mjs +433 -0
  35. package/esm2022/lib/features/embed/bways-report-page.component.mjs +204 -0
  36. package/esm2022/lib/features/embed/index.mjs +5 -0
  37. package/esm2022/lib/features/embed/inject-report-menu.mjs +99 -0
  38. package/esm2022/lib/features/index.mjs +2 -1
  39. package/esm2022/lib/features/persistence/services/report-store.service.mjs +43 -5
  40. package/esm2022/lib/features/routing/components/routed-report-runtime.component.mjs +4 -4
  41. package/esm2022/lib/features/routing/index.mjs +2 -2
  42. package/esm2022/lib/features/routing/models/report-route.models.mjs +1 -1
  43. package/esm2022/lib/features/routing/report-routes.mjs +42 -1
  44. package/esm2022/lib/features/routing/resolvers/report.resolver.mjs +6 -8
  45. package/esm2022/lib/features/routing/services/report-menu.service.mjs +14 -4
  46. package/esm2022/lib/features/runtime/dynamic-renderer.component.mjs +22 -3
  47. package/esm2022/lib/features/runtime/report-grid-bridge.component.mjs +16 -2
  48. package/esm2022/lib/primitives/components/button/rpt-button.component.mjs +28 -5
  49. package/esm2022/lib/primitives/components/dropdown/rpt-dropdown.component.mjs +86 -19
  50. package/esm2022/lib/primitives/components/icon/rpt-icon.component.mjs +8 -1
  51. package/esm2022/lib/primitives/components/index.mjs +2 -1
  52. package/esm2022/lib/primitives/components/number/rpt-number.component.mjs +9 -3
  53. package/esm2022/lib/primitives/components/searchable-select/rpt-searchable-select.component.mjs +386 -0
  54. package/esm2022/lib/provide-reporting.mjs +137 -7
  55. package/fesm2022/bways-report.mjs +4286 -859
  56. package/fesm2022/bways-report.mjs.map +1 -1
  57. package/lib/core/config/bways-report-config.d.ts +161 -0
  58. package/lib/core/index.d.ts +1 -0
  59. package/lib/core/models/report-definition.model.d.ts +16 -0
  60. package/lib/core/services/report-session-context.service.d.ts +1 -0
  61. package/lib/core/tokens/reporting-config.token.d.ts +16 -0
  62. package/lib/core/utils/data-normalization.util.d.ts +10 -0
  63. package/lib/core/utils/report-parameter.util.d.ts +18 -1
  64. package/lib/data-access/adapters/endpoint-datasource.adapter.d.ts +13 -0
  65. package/lib/data-access/adapters/endpoint-lookup.adapter.d.ts +14 -0
  66. package/lib/data-access/adapters/endpoint-masterdata.adapter.d.ts +11 -0
  67. package/lib/data-access/adapters/endpoint-persistence.adapter.d.ts +15 -0
  68. package/lib/data-access/adapters/endpoint-schema-discovery.adapter.d.ts +21 -0
  69. package/lib/data-access/adapters/endpoint-tokens.d.ts +21 -0
  70. package/lib/data-access/adapters/index.d.ts +7 -0
  71. package/lib/data-access/contracts/lookup.contract.d.ts +2 -2
  72. package/lib/features/designer/components/component-palette/component-palette.component.d.ts +1 -0
  73. package/lib/features/designer/components/design-canvas/design-canvas.component.d.ts +1 -1
  74. package/lib/features/designer/components/dialogs/report-saved-dialog.component.d.ts +34 -0
  75. package/lib/features/designer/components/property-editor/parameter-binding-editor.component.d.ts +1 -0
  76. package/lib/features/designer/components/property-editor/property-editor-datasource.component.d.ts +12 -2
  77. package/lib/features/designer/components/property-editor/property-editor-grid.component.d.ts +10 -0
  78. package/lib/features/designer/components/toolbar/designer-toolbar.component.d.ts +13 -1
  79. package/lib/features/designer/designer.component.d.ts +15 -0
  80. package/lib/features/embed/bways-report-builder.component.d.ts +48 -0
  81. package/lib/features/embed/bways-report-menu.component.d.ts +40 -0
  82. package/lib/features/embed/bways-report-page.component.d.ts +61 -0
  83. package/lib/features/embed/index.d.ts +4 -0
  84. package/lib/features/embed/inject-report-menu.d.ts +44 -0
  85. package/lib/features/index.d.ts +1 -0
  86. package/lib/features/persistence/services/report-store.service.d.ts +5 -0
  87. package/lib/features/routing/index.d.ts +1 -1
  88. package/lib/features/routing/models/report-route.models.d.ts +3 -0
  89. package/lib/features/routing/report-routes.d.ts +40 -0
  90. package/lib/features/routing/resolvers/report.resolver.d.ts +1 -1
  91. package/lib/features/runtime/dynamic-renderer.component.d.ts +1 -0
  92. package/lib/features/runtime/report-grid-bridge.component.d.ts +1 -1
  93. package/lib/primitives/components/button/rpt-button.component.d.ts +3 -0
  94. package/lib/primitives/components/dropdown/rpt-dropdown.component.d.ts +16 -3
  95. package/lib/primitives/components/index.d.ts +2 -0
  96. package/lib/primitives/components/searchable-select/rpt-searchable-select.component.d.ts +89 -0
  97. package/lib/provide-reporting.d.ts +22 -6
  98. package/package.json +1 -1
@@ -200,6 +200,13 @@ const ICON_REGISTRY = {
200
200
  { x1: 3, y1: 10, x2: 21, y2: 10 }
201
201
  ]
202
202
  },
203
+ // Add
204
+ 'add': {
205
+ lines: [
206
+ { x1: 12, y1: 5, x2: 12, y2: 19 },
207
+ { x1: 5, y1: 12, x2: 19, y2: 12 }
208
+ ]
209
+ },
203
210
  // Number / Hash
204
211
  'number': {
205
212
  lines: [
@@ -502,4 +509,4 @@ const ICON_REGISTRY = {
502
509
  ]
503
510
  }
504
511
  };
505
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYndheXMtcmVwb3J0L3NyYy9saWIvcHJpbWl0aXZlcy9jb21wb25lbnRzL2ljb24vcnB0LWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUUvQzs7O0dBR0c7QUFnRUgsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixnRkFBZ0Y7SUFDdkUsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUV6QyxnREFBZ0Q7SUFDdkMsSUFBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUVsQyxxREFBcUQ7SUFDNUMsS0FBSyxHQUFHLEtBQUssQ0FBUyxjQUFjLENBQUMsQ0FBQztJQUUvQyx3REFBd0Q7SUFDL0MsV0FBVyxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUUvQixPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0QixRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUN4QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksS0FBSyxDQUFDO1FBQ3JELE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FB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LGFBQWEsRUFBRTtRQUNiLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7S0FDM0M7SUFDRCxlQUFlLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3JELEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0tBQzNDO0lBRUQsa0JBQWtCO0lBQ2xCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7U0FDbEM7S0FDRjtJQUNELFVBQVUsRUFBRTtRQUNWLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7U0FDbEM7S0FDRjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFB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QUMvQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7U0FDaEM7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUMvQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDakMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ2pDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDaEMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1NBQ2pDO0tBQ0Y7SUFFRCxxQkFBcUI7SUFDckIsUUFBUSxFQUFFO1FBQ1IsS0FBSyxFQUFFLENBQUMsMENBQTBDLENBQUM7UUFDbkQsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7S0FDNUM7SUFDRCxlQUFlLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQyww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QUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLDZEQUE2RDtZQUM3RCw4REFBOEQ7U0FDL0Q7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxDQUFDLDJDQUEyQyxDQUFDO1FBQ3BELE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztLQUNuQztJQUNELFNBQVMsRUFBRTtRQUNULEtBQUssRUFBRTtZQUNMLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNoQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDL0IsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ2xDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNoQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDbEMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2pDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNoQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDL0IsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1NBQ25DO0tBQ0Y7SUFDRCxVQUFVLEVBQUU7UUFDVixLQUFLLEVBQUU7WUFDTCwrRkFBK0Y7U0FDaEc7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBFbnRlcnByaXNlIFNWRyBJY29uIGNvbXBvbmVudCBmb3IgQldheXMtUmVwb3J0LlxuICogUHJvdmlkZXMgY3Jpc3AsIHNjYWxhYmxlIHZlY3RvciBpY29ucyB3aXRob3V0IGV4dGVybmFsIGZvbnQgZGVwZW5kZW5jaWVzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdycHQtaWNvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInJwdC1zdmctaWNvblwiXG4gICAgICBbYXR0ci53aWR0aF09XCJzaXplKClcIlxuICAgICAgW2F0dHIuaGVpZ2h0XT1cInNpemUoKVwiXG4gICAgICBbYXR0ci52aWV3Qm94XT1cInZpZXdCb3goKVwiXG4gICAgICBbYXR0ci5zdHJva2VdPVwic3Ryb2tlKClcIlxuICAgICAgW2F0dHIuZmlsbF09XCJmaWxsKClcIlxuICAgICAgW2F0dHIuc3Ryb2tlLXdpZHRoXT1cInN0cm9rZVdpZHRoKClcIlxuICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICBbc3R5bGUuY29sb3JdPVwiY29sb3IoKVwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgID5cbiAgICAgIEBmb3IgKGQgb2YgcGF0aHMoKTsgdHJhY2sgZCkge1xuICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImRcIiAvPlxuICAgICAgfVxuICAgICAgQGZvciAoYyBvZiBjaXJjbGVzKCk7IHRyYWNrIGMuY3ggKyAnLScgKyBjLmN5KSB7XG4gICAgICAgIDxjaXJjbGUgW2F0dHIuY3hdPVwiYy5jeFwiIFthdHRyLmN5XT1cImMuY3lcIiBbYXR0ci5yXT1cImMuclwiIC8+XG4gICAgICB9XG4gICAgICBAZm9yIChyIG9mIHJlY3RzKCk7IHRyYWNrIHIueCArICctJyArIHIueSkge1xuICAgICAgICA8cmVjdFxuICAgICAgICAgIFthdHRyLnhdPVwici54XCJcbiAgICAgICAgICBbYXR0ci55XT1cInIueVwiXG4gICAgICAgICAgW2F0dHIud2lkdGhdPVwici53aWR0aFwiXG4gICAgICAgICAgW2F0dHIuaGVpZ2h0XT1cInIuaGVpZ2h0XCJcbiAgICAgICAgICBbYXR0ci5yeF09XCJyLnJ4IHx8IDBcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgICAgQGZvciAobCBvZiBsaW5lcygpOyB0cmFjayBsLngxICsgJy0nICsgbC55MSkge1xuICAgICAgICA8bGluZVxuICAgICAgICAgIFthdHRyLngxXT1cImwueDFcIlxuICAgICAgICAgIFthdHRyLnkxXT1cImwueTFcIlxuICAgICAgICAgIFthdHRyLngyXT1cImwueDJcIlxuICAgICAgICAgIFthdHRyLnkyXT1cImwueTJcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgICAgQGZvciAocCBvZiBwb2x5bGluZXMoKTsgdHJhY2sgcCkge1xuICAgICAgICA8cG9seWxpbmUgW2F0dHIucG9pbnRzXT1cInBcIiAvPlxuICAgICAgfVxuICAgIDwvc3ZnPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLnJwdC1zdmctaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgUnB0SWNvbkNvbXBvbmVudCB7XG4gIC8qKiBJY29uIG5hbWUgKGUuZy4gJ3NlYXJjaCcsICdlZGl0JywgJ3NhdmUnLCAna3BpJywgJ2NoYXJ0LWJhcicsICd0cmVuZC11cCcpICovXG4gIHJlYWRvbmx5IG5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgLyoqIEljb24gZGltZW5zaW9uIGluIHBpeGVscy4gRGVmYXVsdHMgdG8gMTYuICovXG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxudW1iZXI+KDE2KTtcblxuICAvKiogU3Ryb2tlL2ZpbGwgY29sb3IuIERlZmF1bHRzIHRvICdjdXJyZW50Q29sb3InLiAqL1xuICByZWFkb25seSBjb2xvciA9IGlucHV0PHN0cmluZz4oJ2N1cnJlbnRDb2xvcicpO1xuXG4gIC8qKiBTdHJva2Ugd2lkdGggZm9yIGxpbmUtYmFzZWQgaWNvbnMuIERlZmF1bHRzIHRvIDIuICovXG4gIHJlYWRvbmx5IHN0cm9rZVdpZHRoID0gaW5wdXQ8bnVtYmVyPigyKTtcblxuICByZWFkb25seSB2aWV3Qm94ID0gY29tcHV0ZWQoKCkgPT4gJzAgMCAyNCAyNCcpO1xuICByZWFkb25seSBzdHJva2UgPSBjb21wdXRlZCgoKSA9PiAnY3VycmVudENvbG9yJyk7XG4gIHJlYWRvbmx5IGZpbGwgPSBjb21wdXRlZCgoKSA9PiAnbm9uZScpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaWNvbkRhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbiA9IHRoaXMubmFtZSgpPy50b0xvd2VyQ2FzZSgpLnRyaW0oKSB8fCAnYm94JztcbiAgICByZXR1cm4gSUNPTl9SRUdJU1RSWVtuXSB8fCBJQ09OX1JFR0lTVFJZWydib3gnXSB8fCB7IHBhdGhzOiBbXSB9O1xuICB9KTtcblxuICByZWFkb25seSBwYXRocyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaWNvbkRhdGEoKS5wYXRocyB8fCBbXSk7XG4gIHJlYWRvbmx5IGNpcmNsZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmljb25EYXRhKCkuY2lyY2xlcyB8fCBbXSk7XG4gIHJlYWRvbmx5IHJlY3RzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pY29uRGF0YSgpLnJlY3RzIHx8IFtdKTtcbiAgcmVhZG9ubHkgbGluZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmljb25EYXRhKCkubGluZXMgfHwgW10pO1xuICByZWFkb25seSBwb2x5bGluZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmljb25EYXRhKCkucG9seWxpbmVzIHx8IFtdKTtcbn1cblxuaW50ZXJmYWNlIEljb25EZWZpbml0aW9uIHtcbiAgcGF0aHM/OiBzdHJpbmdbXTtcbiAgY2lyY2xlcz86IHsgY3g6IG51bWJlcjsgY3k6IG51bWJlcjsgcjogbnVtYmVyIH1bXTtcbiAgcmVjdHM/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgcng/OiBudW1iZXIgfVtdO1xuICBsaW5lcz86IHsgeDE6IG51bWJlcjsgeTE6IG51bWJlcjsgeDI6IG51bWJlcjsgeTI6IG51bWJlciB9W107XG4gIHBvbHlsaW5lcz86IHN0cmluZ1tdO1xufVxuXG5jb25zdCBJQ09OX1JFR0lTVFJZOiBSZWNvcmQ8c3RyaW5nLCBJY29uRGVmaW5pdGlvbj4gPSB7XG4gIC8vIElucHV0IC8gVGV4dFxuICAnaW5wdXQnOiB7XG4gICAgcGF0aHM6IFsnTTE3IDNhMi44MjggMi44MjggMCAxIDEgNCA0TDcuNSAyMC41IDIgMjJsMS41LTUuNUwxNyAzeiddXG4gIH0sXG4gICd0ZXh0LWZpZWxkcyc6IHtcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogNCwgeTE6IDcsIHgyOiA0LCB5MjogNCB9LFxuICAgICAgeyB4MTogNCwgeTE6IDQsIHgyOiAyMCwgeTI6IDQgfSxcbiAgICAgIHsgeDE6IDIwLCB5MTogNCwgeDI6IDIwLCB5MjogNyB9LFxuICAgICAgeyB4MTogMTIsIHkxOiA0LCB4MjogMTIsIHkyOiAyMCB9LFxuICAgICAgeyB4MTogOSwgeTE6IDIwLCB4MjogMTUsIHkyOiAyMCB9XG4gICAgXVxuICB9LFxuICAnZWRpdCc6IHtcbiAgICBwYXRoczogW1xuICAgICAgJ00xMSA0SDRhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTcnLFxuICAgICAgJ00xOC41IDIuNWEyLjEyMSAyLjEyMSAwIDAgMSAzIDNMMTIgMTVsLTQgMSAxLTQgOS41LTkuNXonXG4gICAgXVxuICB9LFxuICAnZGVzaWduJzoge1xuICAgIHJlY3RzOiBbeyB4OiAzLCB5OiAzLCB3aWR0aDogMTgsIGhlaWdodDogMTgsIHJ4OiAyIH1dLFxuICAgIGxpbmVzOiBbXG4gICAgICB7IHgxOiAzLCB5MTogOSwgeDI6IDIxLCB5MjogOSB9LFxuICAgICAgeyB4MTogOSwgeTE6IDIxLCB4MjogOSwgeTI6IDkgfVxuICAgIF1cbiAgfSxcblxuICAvLyBEcm9wZG93biAvIFNlbGVjdFxuICAnZHJvcGRvd24nOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDMsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDQgfV0sXG4gICAgcG9seWxpbmVzOiBbJzggMTAgMTIgMTQgMTYgMTAnXVxuICB9LFxuICAnY2hldnJvbi1kb3duJzoge1xuICAgIHBvbHlsaW5lczogWyc2IDkgMTIgMTUgMTggOSddXG4gIH0sXG4gICdjaGV2cm9uLXVwJzoge1xuICAgIHBvbHlsaW5lczogWycxOCAxNSAxMiA5IDYgMTUnXVxuICB9LFxuICAnY2hldnJvbi1sZWZ0Jzoge1xuICAgIHBvbHlsaW5lczogWycxNSAxOCA5IDEyIDE1IDYnXVxuICB9LFxuICAnY2hldnJvbi1yaWdodCc6IHtcbiAgICBwb2x5bGluZXM6IFsnOSAxOCAxNSAxMiA5IDYnXVxuICB9LFxuICAncGFuZWwtbGVmdCc6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogMywgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW3sgeDE6IDksIHkxOiAzLCB4MjogOSwgeTI6IDIxIH1dXG4gIH0sXG4gICdzaWRlYmFyLWxlZnQnOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDMsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDMgfV0sXG4gICAgbGluZXM6IFt7IHgxOiA5LCB5MTogMywgeDI6IDksIHkyOiAyMSB9XVxuICB9LFxuICAncGFuZWwtcmlnaHQnOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDMsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDMgfV0sXG4gICAgbGluZXM6IFt7IHgxOiAxNSwgeTE6IDMsIHgyOiAxNSwgeTI6IDIxIH1dXG4gIH0sXG4gICdzaWRlYmFyLXJpZ2h0Jzoge1xuICAgIHJlY3RzOiBbeyB4OiAzLCB5OiAzLCB3aWR0aDogMTgsIGhlaWdodDogMTgsIHJ4OiAzIH1dLFxuICAgIGxpbmVzOiBbeyB4MTogMTUsIHkxOiAzLCB4MjogMTUsIHkyOiAyMSB9XVxuICB9LFxuXG4gIC8vIERhdGUgLyBDYWxlbmRhclxuICAnZGF0ZSc6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogNCwgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMTYsIHkxOiAyLCB4MjogMTYsIHkyOiA2IH0sXG4gICAgICB7IHgxOiA4LCB5MTogMiwgeDI6IDgsIHkyOiA2IH0sXG4gICAgICB7IHgxOiAzLCB5MTogMTAsIHgyOiAyMSwgeTI6IDEwIH1cbiAgICBdXG4gIH0sXG4gICdjYWxlbmRhcic6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogNCwgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMTYsIHkxOiAyLCB4MjogMTYsIHkyOiA2IH0sXG4gICAgICB7IHgxOiA4LCB5MTogMiwgeDI6IDgsIHkyOiA2IH0sXG4gICAgICB7IHgxOiAzLCB5MTogMTAsIHgyOiAyMSwgeTI6IDEwIH1cbiAgICBdXG4gIH0sXG4gICdjYWxlbmRhci10b2RheSc6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogNCwgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMTYsIHkxOiAyLCB4MjogMTYsIHkyOiA2IH0sXG4gICAgICB7IHgxOiA4LCB5MTogMiwgeDI6IDgsIHkyOiA2IH0sXG4gICAgICB7IHgxOiAzLCB5MTogMTAsIHgyOiAyMSwgeTI6IDEwIH1cbiAgICBdXG4gIH0sXG5cbiAgLy8gTnVtYmVyIC8gSGFzaFxuICAnbnVtYmVyJzoge1xuICAgIGxpbmVzOiBbXG4gICAgICB7IHgxOiA0LCB5MTogOSwgeDI6IDIwLCB5MjogOSB9LFxuICAgICAgeyB4MTogNCwgeTE6IDE1LCB4MjogMjAsIHkyOiAxNSB9LFxuICAgICAgeyB4MTogMTAsIHkxOiAzLCB4MjogOCwgeTI6IDIxIH0sXG4gICAgICB7IHgxOiAxNiwgeTE6IDMsIHgyOiAxNCwgeTI6IDIxIH1cbiAgICBdXG4gIH0sXG5cbiAgLy8gQ2hlY2tib3hcbiAgJ2NoZWNrYm94Jzoge1xuICAgIHJlY3RzOiBbeyB4OiAzLCB5OiAzLCB3aWR0aDogMTgsIGhlaWdodDogMTgsIHJ4OiA0IH1dLFxuICAgIHBvbHlsaW5lczogWyc5IDEyIDExIDE0IDE1IDEwJ11cbiAgfSxcblxuICAvLyBCdXR0b25cbiAgJ2J1dHRvbic6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogNywgd2lkdGg6IDE4LCBoZWlnaHQ6IDEwLCByeDogNCB9XSxcbiAgICBsaW5lczogW3sgeDE6IDgsIHkxOiAxMiwgeDI6IDE2LCB5MjogMTIgfV1cbiAgfSxcblxuICAvLyBLUEkgJiBUcmVuZHNcbiAgJ2twaSc6IHtcbiAgICBwYXRoczogWydNMjIgMTJoLTRsLTMgOUw5IDNsLTMgOUgyJ11cbiAgfSxcbiAgJ21vbml0b3JpbmcnOiB7XG4gICAgcGF0aHM6IFsnTTIyIDEyaC00bC0zIDlMOSAzbC0zIDlIMiddXG4gIH0sXG4gICd0cmVuZC11cCc6IHtcbiAgICBwb2x5bGluZXM6IFsnMjMgNiAxMy41IDE1LjUgOC41IDEwLjUgMSAxOCcsICcxNyA2IDIzIDYgMjMgMTInXVxuICB9LFxuICAndHJlbmQtZG93bic6IHtcbiAgICBwb2x5bGluZXM6IFsnMjMgMTggMTMuNSA4LjUgOC41IDEzLjUgMSA2JywgJzE3IDE4IDIzIDE4IDIzIDEyJ11cbiAgfSxcblxuICAvLyBDaGFydHNcbiAgJ2NoYXJ0Jzoge1xuICAgIGxpbmVzOiBbXG4gICAgICB7IHgxOiAxOCwgeTE6IDIwLCB4MjogMTgsIHkyOiAxMCB9LFxuICAgICAgeyB4MTogMTIsIHkxOiAyMCwgeDI6IDEyLCB5MjogNCB9LFxuICAgICAgeyB4MTogNiwgeTE6IDIwLCB4MjogNiwgeTI6IDE0IH1cbiAgICBdXG4gIH0sXG4gICdjaGFydC1iYXInOiB7XG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDE4LCB5MTogMjAsIHgyOiAxOCwgeTI6IDEwIH0sXG4gICAgICB7IHgxOiAxMiwgeTE6IDIwLCB4MjogMTIsIHkyOiA0IH0sXG4gICAgICB7IHgxOiA2LCB5MTogMjAsIHgyOiA2LCB5MjogMTQgfVxuICAgIF1cbiAgfSxcbiAgJ2Jhci1jaGFydCc6IHtcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMTgsIHkxOiAyMCwgeDI6IDE4LCB5MjogMTAgfSxcbiAgICAgIHsgeDE6IDEyLCB5MTogMjAsIHgyOiAxMiwgeTI6IDQgfSxcbiAgICAgIHsgeDE6IDYsIHkxOiAyMCwgeDI6IDYsIHkyOiAxNCB9XG4gICAgXVxuICB9LFxuICAnY2hhcnQtbGluZSc6IHtcbiAgICBwb2x5bGluZXM6IFsnMjIgMTIgMTggMTIgMTUgMjEgOSAzIDYgMTIgMiAxMiddXG4gIH0sXG4gICdjaGFydC1kb251dCc6IHtcbiAgICBjaXJjbGVzOiBbXG4gICAgICB7IGN4OiAxMiwgY3k6IDEyLCByOiAxMCB9LFxuICAgICAgeyBjeDogMTIsIGN5OiAxMiwgcjogNCB9XG4gICAgXVxuICB9LFxuXG4gIC8vIEdyaWQgLyBUYWJsZSAvIExheW91dFxuICAnZ3JpZCc6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogMywgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMywgeTE6IDksIHgyOiAyMSwgeTI6IDkgfSxcbiAgICAgIHsgeDE6IDMsIHkxOiAxNSwgeDI6IDIxLCB5MjogMTUgfSxcbiAgICAgIHsgeDE6IDksIHkxOiAzLCB4MjogOSwgeTI6IDIxIH0sXG4gICAgICB7IHgxOiAxNSwgeTE6IDMsIHgyOiAxNSwgeTI6IDIxIH1cbiAgICBdXG4gIH0sXG4gICdkYXRhYmFzZSc6IHtcbiAgICBwYXRoczogW1xuICAgICAgJ00zIDVjMC0xLjY1NyA0LjAzLTMgOS0zczkgMS4zNDMgOSAzdjE0YzAgMS42NTctNC4wMyAzLTkgM3MtOS0xLjM0My05LTNWNXonLFxuICAgICAgJ00zIDEyYzAgMS42NTcgNC4wMyAzIDkgM3M5LTEuMzQzIDktMydcbiAgICBdXG4gIH0sXG4gICd0YWJsZSc6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogMywgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMywgeTE6IDksIHgyOiAyMSwgeTI6IDkgfSxcbiAgICAgIHsgeDE6IDksIHkxOiA5LCB4MjogOSwgeTI6IDIxIH1cbiAgICBdXG4gIH0sXG4gICdsYXlvdXQnOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDMsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDMgfV0sXG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDMsIHkxOiA5LCB4MjogMjEsIHkyOiA5IH0sXG4gICAgICB7IHgxOiA5LCB5MTogMjEsIHgyOiA5LCB5MjogOSB9XG4gICAgXVxuICB9LFxuICAnbGlzdCc6IHtcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogOCwgeTE6IDYsIHgyOiAyMSwgeTI6IDYgfSxcbiAgICAgIHsgeDE6IDgsIHkxOiAxMiwgeDI6IDIxLCB5MjogMTIgfSxcbiAgICAgIHsgeDE6IDgsIHkxOiAxOCwgeDI6IDIxLCB5MjogMTggfSxcbiAgICAgIHsgeDE6IDMsIHkxOiA2LCB4MjogNCwgeTI6IDYgfSxcbiAgICAgIHsgeDE6IDMsIHkxOiAxMiwgeDI6IDQsIHkyOiAxMiB9LFxuICAgICAgeyB4MTogMywgeTE6IDE4LCB4MjogNCwgeTI6IDE4IH1cbiAgICBdXG4gIH0sXG5cbiAgLy8gU2VsZWN0aW9uIC8gQ3Vyc29yXG4gICdjdXJzb3InOiB7XG4gICAgcGF0aHM6IFsnTTMgM2w3LjA3IDE2Ljk3IDIuNTEtNy4zOSA3LjM5LTIuNTFMMyAzeiddLFxuICAgIGxpbmVzOiBbeyB4MTogMTMsIHkxOiAxMywgeDI6IDE5LCB5MjogMTkgfV1cbiAgfSxcbiAgJ21vdXNlLXBvaW50ZXInOiB7XG4gICAgcGF0aHM6IFsnTTMgM2w3LjA3IDE2Ljk3IDIuNTEtNy4zOSA3LjM5LTIuNTFMMyAzeiddLFxuICAgIGxpbmVzOiBbeyB4MTogMTMsIHkxOiAxMywgeDI6IDE5LCB5MjogMTkgfV1cbiAgfSxcblxuICAvLyBBbGVydCAvIFdhcm5pbmdcbiAgJ3dhcm5pbmcnOiB7XG4gICAgcGF0aHM6IFsnTTEwLjI5IDMuODZMMS44MiAxOGEyIDIgMCAwIDAgMS43MSAzaDE2Ljk0YTIgMiAwIDAgMCAxLjcxLTNMMTMuNzEgMy44NmEyIDIgMCAwIDAtMy40MiAweiddLFxuICAgIGxpbmVzOiBbeyB4MTogMTIsIHkxOiA5LCB4MjogMTIsIHkyOiAxMyB9LCB7IHgxOiAxMiwgeTE6IDE3LCB4MjogMTIuMDEsIHkyOiAxNyB9XVxuICB9LFxuICAnYWxlcnQtdHJpYW5nbGUnOiB7XG4gICAgcGF0aHM6IFsnTTEwLjI5IDMuODZMMS44MiAxOGEyIDIgMCAwIDAgMS43MSAzaDE2Ljk0YTIgMiAwIDAgMCAxLjcxLTNMMTMuNzEgMy44NmEyIDIgMCAwIDAtMy40MiAweiddLFxuICAgIGxpbmVzOiBbeyB4MTogMTIsIHkxOiA5LCB4MjogMTIsIHkyOiAxMyB9LCB7IHgxOiAxMiwgeTE6IDE3LCB4MjogMTIuMDEsIHkyOiAxNyB9XVxuICB9LFxuXG4gIC8vIEFjdGlvbnNcbiAgJ3VuZG8nOiB7XG4gICAgcGF0aHM6IFsnTTMgN3Y2aDYnLCAnTTIxIDE3YTkgOSAwIDAgMC05LTkgOSA5IDAgMCAwLTYgMi4zTDMgMTMnXVxuICB9LFxuICAncmVkbyc6IHtcbiAgICBwYXRoczogWydNMjEgN3Y2aC02JywgJ00zIDE3YTkgOSAwIDAgMSA5LTkgOSA5IDAgMCAxIDYgMi4zTDIxIDEzJ11cbiAgfSxcbiAgJ3JlZnJlc2gnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMjMgNHY2aC02JyxcbiAgICAgICdNMSAyMHYtNmg2JyxcbiAgICAgICdNMy41MSA5YTkgOSAwIDAgMSAxNC44NS0zLjM2TDIzIDEwTTEgMTRsNC42NCA0LjM2QTkgOSAwIDAgMCAyMC40OSAxNSdcbiAgICBdXG4gIH0sXG4gICdzYXZlJzoge1xuICAgIHBhdGhzOiBbXG4gICAgICAnTTE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTFsNSA1djExYTIgMiAwIDAgMS0yIDJ6JyxcbiAgICAgICdNMTcgMjF2LThIN3Y4JyxcbiAgICAgICdNNyAzdjVoOCdcbiAgICBdXG4gIH0sXG4gICdkb3dubG9hZCc6IHtcbiAgICBwYXRoczogW1xuICAgICAgJ00yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00JyxcbiAgICAgICdNNyAxMGw1IDUgNS01JyxcbiAgICAgICdNMTIgMTVWMydcbiAgICBdXG4gIH0sXG4gICdleHBvcnQnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCcsXG4gICAgICAnTTcgMTBsNSA1IDUtNScsXG4gICAgICAnTTEyIDE1VjMnXG4gICAgXVxuICB9LFxuICAnc2VhcmNoJzoge1xuICAgIGNpcmNsZXM6IFt7IGN4OiAxMSwgY3k6IDExLCByOiA4IH1dLFxuICAgIGxpbmVzOiBbeyB4MTogMjEsIHkxOiAyMSwgeDI6IDE2LjY1LCB5MjogMTYuNjUgfV1cbiAgfSxcbiAgJ2ZpbHRlcic6IHtcbiAgICBwb2x5bGluZXM6IFsnMjIgMyAyIDMgMTAgMTIuNDYgMTAgMTkgMTQgMjEgMTQgMTIuNDYgMjIgMyddXG4gIH0sXG4gICdjb3B5Jzoge1xuICAgIHJlY3RzOiBbeyB4OiA5LCB5OiA5LCB3aWR0aDogMTMsIGhlaWdodDogMTMsIHJ4OiAyIH1dLFxuICAgIHBhdGhzOiBbJ001IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEnXVxuICB9LFxuICAnZHVwbGljYXRlJzoge1xuICAgIHJlY3RzOiBbeyB4OiA5LCB5OiA5LCB3aWR0aDogMTMsIGhlaWdodDogMTMsIHJ4OiAyIH1dLFxuICAgIHBhdGhzOiBbJ001IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEnXVxuICB9LFxuICAndHJhc2gnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMyA2aDE4JyxcbiAgICAgICdNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2bTMgMFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjInLFxuICAgICAgJ00xMCAxMXY2JyxcbiAgICAgICdNMTQgMTF2NidcbiAgICBdXG4gIH0sXG4gICdkZWxldGUnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMyA2aDE4JyxcbiAgICAgICdNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2bTMgMFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjInXG4gICAgXVxuICB9LFxuICAnc2V0dGluZ3MnOiB7XG4gICAgY2lyY2xlczogW3sgY3g6IDEyLCBjeTogMTIsIHI6IDMgfV0sXG4gICAgcGF0aHM6IFtcbiAgICAgICdNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeidcbiAgICBdXG4gIH0sXG4gICdnZWFyJzoge1xuICAgIGNpcmNsZXM6IFt7IGN4OiAxMiwgY3k6IDEyLCByOiAzIH1dLFxuICAgIHBhdGhzOiBbXG4gICAgICAnTTE5LjQgMTVhMS42NSAxLjY1IDAgMCAwIC4zMyAxLjgybC4wNi4wNmEyIDIgMCAwIDEgMCAyLjgzIDIgMiAwIDAgMS0yLjgzIDBsLS4wNi0uMDZhMS42NSAxLjY1IDAgMCAwLTEuODItLjMzIDEuNjUgMS42NSAwIDAgMC0xIDEuNTFWMjFhMiAyIDAgMCAxLTIgMiAyIDIgMCAwIDEtMi0ydi0uMDlBMS42NSAxLjY1IDAgMCAwIDkgMTkuNGExLjY1IDEuNjUgMCAwIDAtMS44Mi4zM2wtLjA2LjA2YTIgMiAwIDAgMS0yLjgzIDAgMiAyIDAgMCAxIDAtMi44M2wuMDYtLjA2YTEuNjUgMS42NSAwIDAgMCAuMzMtMS44MiAxLjY1IDEuNjUgMCAwIDAtMS41MS0xSDNhMiAyIDAgMCAxLTItMiAyIDIgMCAwIDEgMi0yaC4wOUExLjY1IDEuNjUgMCAwIDAgNC42IDlhMS42NSAxLjY1IDAgMCAwLS4zMy0xLjgybC0uMDYtLjA2YTIgMiAwIDAgMSAwLTIuODMgMiAyIDAgMCAxIDIuODMgMGwuMDYuMDZhMS42NSAxLjY1IDAgMCAwIDEuODIuMzNIOWExLjY1IDEuNjUgMCAwIDAgMS0xLjUxVjNhMiAyIDAgMCAxIDItMiAyIDIgMCAwIDEgMiAydi4wOWExLjY1IDEuNjUgMCAwIDAgMSAxLjUxIDEuNjUgMS42NSAwIDAgMCAxLjgyLS4zM2wuMDYtLjA2YTIgMiAwIDAgMSAyLjgzIDAgMiAyIDAgMCAxIDAgMi44M2wtLjA2LjA2YTEuNjUgMS42NSAwIDAgMC0uMzMgMS44MlY5YTEuNjUgMS42NSAwIDAgMCAxLjUxIDFIMjFhMiAyIDAgMCAxIDIgMiAyIDIgMCAwIDEtMiAyaC0uMDlhMS42NSAxLjY1IDAgMCAwLTEuNTEgMXonXG4gICAgXVxuICB9LFxuICAnZXllJzoge1xuICAgIHBhdGhzOiBbJ00xIDEyczQtOCAxMS04IDExIDggMTEgOC00IDgtMTEgOC0xMS04LTExLTh6J10sXG4gICAgY2lyY2xlczogW3sgY3g6IDEyLCBjeTogMTIsIHI6IDMgfV1cbiAgfSxcbiAgJ3ByZXZpZXcnOiB7XG4gICAgcGF0aHM6IFsnTTEgMTJzNC04IDExLTggMTEgOCAxMSA4LTQgOC0xMSA4LTExLTgtMTEtOHonXSxcbiAgICBjaXJjbGVzOiBbeyBjeDogMTIsIGN5OiAxMiwgcjogMyB9XVxuICB9LFxuICAnY29kZSc6IHtcbiAgICBwb2x5bGluZXM6IFsnMTYgMTggMjIgMTIgMTYgNicsICc4IDYgMiAxMiA4IDE4J11cbiAgfSxcbiAgJ2pzb24nOiB7XG4gICAgcG9seWxpbmVzOiBbJzE2IDE4IDIyIDEyIDE2IDYnLCAnOCA2IDIgMTIgOCAxOCddXG4gIH0sXG5cbiAgLy8gTmF2aWdhdGlvbiAmIERpcmVjdGlvblxuICAnYXJyb3ctbGVmdCc6IHtcbiAgICBsaW5lczogW3sgeDE6IDE5LCB5MTogMTIsIHgyOiA1LCB5MjogMTIgfV0sXG4gICAgcG9seWxpbmVzOiBbJzEyIDE5IDUgMTIgMTIgNSddXG4gIH0sXG4gICdhcnJvdy1yaWdodCc6IHtcbiAgICBsaW5lczogW3sgeDE6IDUsIHkxOiAxMiwgeDI6IDE5LCB5MjogMTIgfV0sXG4gICAgcG9seWxpbmVzOiBbJzEyIDUgMTkgMTIgMTIgMTknXVxuICB9LFxuICAnYXJyb3ctdXAnOiB7XG4gICAgbGluZXM6IFt7IHgxOiAxMiwgeTE6IDE5LCB4MjogMTIsIHkyOiA1IH1dLFxuICAgIHBvbHlsaW5lczogWyc1IDEyIDEyIDUgMTkgMTInXVxuICB9LFxuICAnYXJyb3ctZG93bic6IHtcbiAgICBsaW5lczogW3sgeDE6IDEyLCB5MTogNSwgeDI6IDEyLCB5MjogMTkgfV0sXG4gICAgcG9seWxpbmVzOiBbJzE5IDEyIDEyIDE5IDUgMTInXVxuICB9LFxuICAnY29ybmVyLWRvd24tcmlnaHQnOiB7XG4gICAgcG9seWxpbmVzOiBbJzE1IDEwIDIwIDE1IDE1IDIwJ10sXG4gICAgcGF0aHM6IFsnTTQgNHY3YTQgNCAwIDAgMCA0IDRoMTInXVxuICB9LFxuICAnbmV3LXJvdyc6IHtcbiAgICBwb2x5bGluZXM6IFsnMTUgMTAgMjAgMTUgMTUgMjAnXSxcbiAgICBwYXRoczogWydNNCA0djdhNCA0IDAgMCAwIDQgNGgxMiddXG4gIH0sXG5cbiAgLy8gR2VuZXJhbCBTdGF0dXMgJiBDb21tb25cbiAgJ2NoZWNrJzoge1xuICAgIHBvbHlsaW5lczogWycyMCA2IDkgMTcgNCAxMiddXG4gIH0sXG4gICdjbG9zZSc6IHtcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMTgsIHkxOiA2LCB4MjogNiwgeTI6IDE4IH0sXG4gICAgICB7IHgxOiA2LCB5MTogNiwgeDI6IDE4LCB5MjogMTggfVxuICAgIF1cbiAgfSxcbiAgJ3BsdXMnOiB7XG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDEyLCB5MTogNSwgeDI6IDEyLCB5MjogMTkgfSxcbiAgICAgIHsgeDE6IDUsIHkxOiAxMiwgeDI6IDE5LCB5MjogMTIgfVxuICAgIF1cbiAgfSxcbiAgJ21pbnVzJzoge1xuICAgIGxpbmVzOiBbeyB4MTogNSwgeTE6IDEyLCB4MjogMTksIHkyOiAxMiB9XVxuICB9LFxuICAnZG9sbGFyJzoge1xuICAgIGxpbmVzOiBbeyB4MTogMTIsIHkxOiAxLCB4MjogMTIsIHkyOiAyMyB9XSxcbiAgICBwYXRoczogWydNMTcgNUg5LjVhMy41IDMuNSAwIDAgMCAwIDdoNWEzLjUgMy41IDAgMCAxIDAgN0g2J11cbiAgfSxcbiAgJ2Nsb2NrJzoge1xuICAgIGNpcmNsZXM6IFt7IGN4OiAxMiwgY3k6IDEyLCByOiAxMCB9XSxcbiAgICBwb2x5bGluZXM6IFsnMTIgNiAxMiAxMiAxNiAxNCddXG4gIH0sXG4gICdib3gnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6JyxcbiAgICAgICdNMy4yNyA2Ljk2TDEyIDEyLjAxbDguNzMtNS4wNScsXG4gICAgICAnTTEyIDIyLjA4VjEyJ1xuICAgIF1cbiAgfSxcbiAgJ2xpZ2h0bmluZyc6IHtcbiAgICBwb2x5bGluZXM6IFsnMTMgMiAzIDE0IDEyIDE0IDExIDIyIDIxIDEwIDEyIDEwIDEzIDInXVxuICB9LFxuICAnbGluayc6IHtcbiAgICBwYXRoczogW1xuICAgICAgJ00xMCAxM2E1IDUgMCAwIDAgNy41NC41NGwzLTNhNSA1IDAgMCAwLTcuMDctNy4wN2wtMS43MiAxLjcxJyxcbiAgICAgICdNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEnXG4gICAgXVxuICB9LFxuICAndXNlcic6IHtcbiAgICBwYXRoczogWydNMjAgMjF2LTJhNCA0IDAgMCAwLTQtNEg4YTQgNCAwIDAgMC00IDR2MiddLFxuICAgIGNpcmNsZXM6IFt7IGN4OiAxMiwgY3k6IDcsIHI6IDQgfV1cbiAgfSxcbiAgJ3NsaWRlcnMnOiB7XG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDQsIHkxOiAyMSwgeDI6IDQsIHkyOiAxNCB9LFxuICAgICAgeyB4MTogNCwgeTE6IDEwLCB4MjogNCwgeTI6IDMgfSxcbiAgICAgIHsgeDE6IDEyLCB5MTogMjEsIHgyOiAxMiwgeTI6IDEyIH0sXG4gICAgICB7IHgxOiAxMiwgeTE6IDgsIHgyOiAxMiwgeTI6IDMgfSxcbiAgICAgIHsgeDE6IDIwLCB5MTogMjEsIHgyOiAyMCwgeTI6IDE2IH0sXG4gICAgICB7IHgxOiAyMCwgeTE6IDEyLCB4MjogMjAsIHkyOiAzIH0sXG4gICAgICB7IHgxOiAxLCB5MTogMTQsIHgyOiA3LCB5MjogMTQgfSxcbiAgICAgIHsgeDE6IDksIHkxOiA4LCB4MjogMTUsIHkyOiA4IH0sXG4gICAgICB7IHgxOiAxNywgeTE6IDE2LCB4MjogMjMsIHkyOiAxNiB9XG4gICAgXVxuICB9LFxuICAnc3BhcmtsZXMnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMTIgM3YzbTAgMTJ2M00zIDEyaDNtMTIgMGgzTTUuNiA1LjZsMi4xIDIuMW04LjYgOC42bDIuMSAyLjFNNS42IDE4LjRsMi4xLTIuMW04LjYtOC42bDIuMS0yLjEnXG4gICAgXVxuICB9XG59O1xuIl19
512
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYndheXMtcmVwb3J0L3NyYy9saWIvcHJpbWl0aXZlcy9jb21wb25lbnRzL2ljb24vcnB0LWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUUvQzs7O0dBR0c7QUFnRUgsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixnRkFBZ0Y7SUFDdkUsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUV6QyxnREFBZ0Q7SUFDdkMsSUFBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUVsQyxxREFBcUQ7SUFDNUMsS0FBSyxHQUFHLEtBQUssQ0FBUyxjQUFjLENBQUMsQ0FBQztJQUUvQyx3REFBd0Q7SUFDL0MsV0FBVyxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUUvQixPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0QixRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUN4QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksS0FBSyxDQUFDO1FBQ3JELE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FB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LGFBQWEsRUFBRTtRQUNiLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7S0FDM0M7SUFDRCxlQUFlLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3JELEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0tBQzNDO0lBRUQsa0JBQWtCO0lBQ2xCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7U0FDbEM7S0FDRjtJQUNELFVBQVUsRUFBRTtRQUNWLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7U0FDbEM7S0FDRjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFB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S0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNyRCxLQUFLLEVBQUU7WUFDTCxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDL0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1NBQ2hDO0tBQ0Y7SUFDRCxNQUFNLEVBQUU7UUFDTixLQUFLLEVBQUU7WUFDTCxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDL0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ2pDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNqQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDOUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVB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RUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ2xDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNqQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDaEMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQy9CLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtTQUNuQztLQUNGO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsS0FBSyxFQUFFO1lBQ0wsK0ZBQStGO1NBQ2hHO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogRW50ZXJwcmlzZSBTVkcgSWNvbiBjb21wb25lbnQgZm9yIEJXYXlzLVJlcG9ydC5cbiAqIFByb3ZpZGVzIGNyaXNwLCBzY2FsYWJsZSB2ZWN0b3IgaWNvbnMgd2l0aG91dCBleHRlcm5hbCBmb250IGRlcGVuZGVuY2llcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnB0LWljb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJycHQtc3ZnLWljb25cIlxuICAgICAgW2F0dHIud2lkdGhdPVwic2l6ZSgpXCJcbiAgICAgIFthdHRyLmhlaWdodF09XCJzaXplKClcIlxuICAgICAgW2F0dHIudmlld0JveF09XCJ2aWV3Qm94KClcIlxuICAgICAgW2F0dHIuc3Ryb2tlXT1cInN0cm9rZSgpXCJcbiAgICAgIFthdHRyLmZpbGxdPVwiZmlsbCgpXCJcbiAgICAgIFthdHRyLnN0cm9rZS13aWR0aF09XCJzdHJva2VXaWR0aCgpXCJcbiAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgW3N0eWxlLmNvbG9yXT1cImNvbG9yKClcIlxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICA+XG4gICAgICBAZm9yIChkIG9mIHBhdGhzKCk7IHRyYWNrIGQpIHtcbiAgICAgICAgPHBhdGggW2F0dHIuZF09XCJkXCIgLz5cbiAgICAgIH1cbiAgICAgIEBmb3IgKGMgb2YgY2lyY2xlcygpOyB0cmFjayBjLmN4ICsgJy0nICsgYy5jeSkge1xuICAgICAgICA8Y2lyY2xlIFthdHRyLmN4XT1cImMuY3hcIiBbYXR0ci5jeV09XCJjLmN5XCIgW2F0dHIucl09XCJjLnJcIiAvPlxuICAgICAgfVxuICAgICAgQGZvciAociBvZiByZWN0cygpOyB0cmFjayByLnggKyAnLScgKyByLnkpIHtcbiAgICAgICAgPHJlY3RcbiAgICAgICAgICBbYXR0ci54XT1cInIueFwiXG4gICAgICAgICAgW2F0dHIueV09XCJyLnlcIlxuICAgICAgICAgIFthdHRyLndpZHRoXT1cInIud2lkdGhcIlxuICAgICAgICAgIFthdHRyLmhlaWdodF09XCJyLmhlaWdodFwiXG4gICAgICAgICAgW2F0dHIucnhdPVwici5yeCB8fCAwXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICAgIEBmb3IgKGwgb2YgbGluZXMoKTsgdHJhY2sgbC54MSArICctJyArIGwueTEpIHtcbiAgICAgICAgPGxpbmVcbiAgICAgICAgICBbYXR0ci54MV09XCJsLngxXCJcbiAgICAgICAgICBbYXR0ci55MV09XCJsLnkxXCJcbiAgICAgICAgICBbYXR0ci54Ml09XCJsLngyXCJcbiAgICAgICAgICBbYXR0ci55Ml09XCJsLnkyXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICAgIEBmb3IgKHAgb2YgcG9seWxpbmVzKCk7IHRyYWNrIHApIHtcbiAgICAgICAgPHBvbHlsaW5lIFthdHRyLnBvaW50c109XCJwXCIgLz5cbiAgICAgIH1cbiAgICA8L3N2Zz5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5ycHQtc3ZnLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIFJwdEljb25Db21wb25lbnQge1xuICAvKiogSWNvbiBuYW1lIChlLmcuICdzZWFyY2gnLCAnZWRpdCcsICdzYXZlJywgJ2twaScsICdjaGFydC1iYXInLCAndHJlbmQtdXAnKSAqL1xuICByZWFkb25seSBuYW1lID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKiBJY29uIGRpbWVuc2lvbiBpbiBwaXhlbHMuIERlZmF1bHRzIHRvIDE2LiAqL1xuICByZWFkb25seSBzaXplID0gaW5wdXQ8bnVtYmVyPigxNik7XG5cbiAgLyoqIFN0cm9rZS9maWxsIGNvbG9yLiBEZWZhdWx0cyB0byAnY3VycmVudENvbG9yJy4gKi9cbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxzdHJpbmc+KCdjdXJyZW50Q29sb3InKTtcblxuICAvKiogU3Ryb2tlIHdpZHRoIGZvciBsaW5lLWJhc2VkIGljb25zLiBEZWZhdWx0cyB0byAyLiAqL1xuICByZWFkb25seSBzdHJva2VXaWR0aCA9IGlucHV0PG51bWJlcj4oMik7XG5cbiAgcmVhZG9ubHkgdmlld0JveCA9IGNvbXB1dGVkKCgpID0+ICcwIDAgMjQgMjQnKTtcbiAgcmVhZG9ubHkgc3Ryb2tlID0gY29tcHV0ZWQoKCkgPT4gJ2N1cnJlbnRDb2xvcicpO1xuICByZWFkb25seSBmaWxsID0gY29tcHV0ZWQoKCkgPT4gJ25vbmUnKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGljb25EYXRhID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG4gPSB0aGlzLm5hbWUoKT8udG9Mb3dlckNhc2UoKS50cmltKCkgfHwgJ2JveCc7XG4gICAgcmV0dXJuIElDT05fUkVHSVNUUllbbl0gfHwgSUNPTl9SRUdJU1RSWVsnYm94J10gfHwgeyBwYXRoczogW10gfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcGF0aHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmljb25EYXRhKCkucGF0aHMgfHwgW10pO1xuICByZWFkb25seSBjaXJjbGVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pY29uRGF0YSgpLmNpcmNsZXMgfHwgW10pO1xuICByZWFkb25seSByZWN0cyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaWNvbkRhdGEoKS5yZWN0cyB8fCBbXSk7XG4gIHJlYWRvbmx5IGxpbmVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pY29uRGF0YSgpLmxpbmVzIHx8IFtdKTtcbiAgcmVhZG9ubHkgcG9seWxpbmVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pY29uRGF0YSgpLnBvbHlsaW5lcyB8fCBbXSk7XG59XG5cbmludGVyZmFjZSBJY29uRGVmaW5pdGlvbiB7XG4gIHBhdGhzPzogc3RyaW5nW107XG4gIGNpcmNsZXM/OiB7IGN4OiBudW1iZXI7IGN5OiBudW1iZXI7IHI6IG51bWJlciB9W107XG4gIHJlY3RzPzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IHJ4PzogbnVtYmVyIH1bXTtcbiAgbGluZXM/OiB7IHgxOiBudW1iZXI7IHkxOiBudW1iZXI7IHgyOiBudW1iZXI7IHkyOiBudW1iZXIgfVtdO1xuICBwb2x5bGluZXM/OiBzdHJpbmdbXTtcbn1cblxuY29uc3QgSUNPTl9SRUdJU1RSWTogUmVjb3JkPHN0cmluZywgSWNvbkRlZmluaXRpb24+ID0ge1xuICAvLyBJbnB1dCAvIFRleHRcbiAgJ2lucHV0Jzoge1xuICAgIHBhdGhzOiBbJ00xNyAzYTIuODI4IDIuODI4IDAgMSAxIDQgNEw3LjUgMjAuNSAyIDIybDEuNS01LjVMMTcgM3onXVxuICB9LFxuICAndGV4dC1maWVsZHMnOiB7XG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDQsIHkxOiA3LCB4MjogNCwgeTI6IDQgfSxcbiAgICAgIHsgeDE6IDQsIHkxOiA0LCB4MjogMjAsIHkyOiA0IH0sXG4gICAgICB7IHgxOiAyMCwgeTE6IDQsIHgyOiAyMCwgeTI6IDcgfSxcbiAgICAgIHsgeDE6IDEyLCB5MTogNCwgeDI6IDEyLCB5MjogMjAgfSxcbiAgICAgIHsgeDE6IDksIHkxOiAyMCwgeDI6IDE1LCB5MjogMjAgfVxuICAgIF1cbiAgfSxcbiAgJ2VkaXQnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMTEgNEg0YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03JyxcbiAgICAgICdNMTguNSAyLjVhMi4xMjEgMi4xMjEgMCAwIDEgMyAzTDEyIDE1bC00IDEgMS00IDkuNS05LjV6J1xuICAgIF1cbiAgfSxcbiAgJ2Rlc2lnbic6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogMywgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMiB9XSxcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMywgeTE6IDksIHgyOiAyMSwgeTI6IDkgfSxcbiAgICAgIHsgeDE6IDksIHkxOiAyMSwgeDI6IDksIHkyOiA5IH1cbiAgICBdXG4gIH0sXG5cbiAgLy8gRHJvcGRvd24gLyBTZWxlY3RcbiAgJ2Ryb3Bkb3duJzoge1xuICAgIHJlY3RzOiBbeyB4OiAzLCB5OiAzLCB3aWR0aDogMTgsIGhlaWdodDogMTgsIHJ4OiA0IH1dLFxuICAgIHBvbHlsaW5lczogWyc4IDEwIDEyIDE0IDE2IDEwJ11cbiAgfSxcbiAgJ2NoZXZyb24tZG93bic6IHtcbiAgICBwb2x5bGluZXM6IFsnNiA5IDEyIDE1IDE4IDknXVxuICB9LFxuICAnY2hldnJvbi11cCc6IHtcbiAgICBwb2x5bGluZXM6IFsnMTggMTUgMTIgOSA2IDE1J11cbiAgfSxcbiAgJ2NoZXZyb24tbGVmdCc6IHtcbiAgICBwb2x5bGluZXM6IFsnMTUgMTggOSAxMiAxNSA2J11cbiAgfSxcbiAgJ2NoZXZyb24tcmlnaHQnOiB7XG4gICAgcG9seWxpbmVzOiBbJzkgMTggMTUgMTIgOSA2J11cbiAgfSxcbiAgJ3BhbmVsLWxlZnQnOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDMsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDMgfV0sXG4gICAgbGluZXM6IFt7IHgxOiA5LCB5MTogMywgeDI6IDksIHkyOiAyMSB9XVxuICB9LFxuICAnc2lkZWJhci1sZWZ0Jzoge1xuICAgIHJlY3RzOiBbeyB4OiAzLCB5OiAzLCB3aWR0aDogMTgsIGhlaWdodDogMTgsIHJ4OiAzIH1dLFxuICAgIGxpbmVzOiBbeyB4MTogOSwgeTE6IDMsIHgyOiA5LCB5MjogMjEgfV1cbiAgfSxcbiAgJ3BhbmVsLXJpZ2h0Jzoge1xuICAgIHJlY3RzOiBbeyB4OiAzLCB5OiAzLCB3aWR0aDogMTgsIGhlaWdodDogMTgsIHJ4OiAzIH1dLFxuICAgIGxpbmVzOiBbeyB4MTogMTUsIHkxOiAzLCB4MjogMTUsIHkyOiAyMSB9XVxuICB9LFxuICAnc2lkZWJhci1yaWdodCc6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogMywgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW3sgeDE6IDE1LCB5MTogMywgeDI6IDE1LCB5MjogMjEgfV1cbiAgfSxcblxuICAvLyBEYXRlIC8gQ2FsZW5kYXJcbiAgJ2RhdGUnOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDQsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDMgfV0sXG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDE2LCB5MTogMiwgeDI6IDE2LCB5MjogNiB9LFxuICAgICAgeyB4MTogOCwgeTE6IDIsIHgyOiA4LCB5MjogNiB9LFxuICAgICAgeyB4MTogMywgeTE6IDEwLCB4MjogMjEsIHkyOiAxMCB9XG4gICAgXVxuICB9LFxuICAnY2FsZW5kYXInOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDQsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDMgfV0sXG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDE2LCB5MTogMiwgeDI6IDE2LCB5MjogNiB9LFxuICAgICAgeyB4MTogOCwgeTE6IDIsIHgyOiA4LCB5MjogNiB9LFxuICAgICAgeyB4MTogMywgeTE6IDEwLCB4MjogMjEsIHkyOiAxMCB9XG4gICAgXVxuICB9LFxuICAnY2FsZW5kYXItdG9kYXknOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDQsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDMgfV0sXG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDE2LCB5MTogMiwgeDI6IDE2LCB5MjogNiB9LFxuICAgICAgeyB4MTogOCwgeTE6IDIsIHgyOiA4LCB5MjogNiB9LFxuICAgICAgeyB4MTogMywgeTE6IDEwLCB4MjogMjEsIHkyOiAxMCB9XG4gICAgXVxuICB9LFxuXG4gIC8vIEFkZFxuICAnYWRkJzoge1xuICAgIGxpbmVzOiBbXG4gICAgICB7IHgxOiAxMiwgeTE6IDUsIHgyOiAxMiwgeTI6IDE5IH0sXG4gICAgICB7IHgxOiA1LCB5MTogMTIsIHgyOiAxOSwgeTI6IDEyIH1cbiAgICBdXG4gIH0sXG5cbiAgLy8gTnVtYmVyIC8gSGFzaFxuICAnbnVtYmVyJzoge1xuICAgIGxpbmVzOiBbXG4gICAgICB7IHgxOiA0LCB5MTogOSwgeDI6IDIwLCB5MjogOSB9LFxuICAgICAgeyB4MTogNCwgeTE6IDE1LCB4MjogMjAsIHkyOiAxNSB9LFxuICAgICAgeyB4MTogMTAsIHkxOiAzLCB4MjogOCwgeTI6IDIxIH0sXG4gICAgICB7IHgxOiAxNiwgeTE6IDMsIHgyOiAxNCwgeTI6IDIxIH1cbiAgICBdXG4gIH0sXG5cbiAgLy8gQ2hlY2tib3hcbiAgJ2NoZWNrYm94Jzoge1xuICAgIHJlY3RzOiBbeyB4OiAzLCB5OiAzLCB3aWR0aDogMTgsIGhlaWdodDogMTgsIHJ4OiA0IH1dLFxuICAgIHBvbHlsaW5lczogWyc5IDEyIDExIDE0IDE1IDEwJ11cbiAgfSxcblxuICAvLyBCdXR0b25cbiAgJ2J1dHRvbic6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogNywgd2lkdGg6IDE4LCBoZWlnaHQ6IDEwLCByeDogNCB9XSxcbiAgICBsaW5lczogW3sgeDE6IDgsIHkxOiAxMiwgeDI6IDE2LCB5MjogMTIgfV1cbiAgfSxcblxuICAvLyBLUEkgJiBUcmVuZHNcbiAgJ2twaSc6IHtcbiAgICBwYXRoczogWydNMjIgMTJoLTRsLTMgOUw5IDNsLTMgOUgyJ11cbiAgfSxcbiAgJ21vbml0b3JpbmcnOiB7XG4gICAgcGF0aHM6IFsnTTIyIDEyaC00bC0zIDlMOSAzbC0zIDlIMiddXG4gIH0sXG4gICd0cmVuZC11cCc6IHtcbiAgICBwb2x5bGluZXM6IFsnMjMgNiAxMy41IDE1LjUgOC41IDEwLjUgMSAxOCcsICcxNyA2IDIzIDYgMjMgMTInXVxuICB9LFxuICAndHJlbmQtZG93bic6IHtcbiAgICBwb2x5bGluZXM6IFsnMjMgMTggMTMuNSA4LjUgOC41IDEzLjUgMSA2JywgJzE3IDE4IDIzIDE4IDIzIDEyJ11cbiAgfSxcblxuICAvLyBDaGFydHNcbiAgJ2NoYXJ0Jzoge1xuICAgIGxpbmVzOiBbXG4gICAgICB7IHgxOiAxOCwgeTE6IDIwLCB4MjogMTgsIHkyOiAxMCB9LFxuICAgICAgeyB4MTogMTIsIHkxOiAyMCwgeDI6IDEyLCB5MjogNCB9LFxuICAgICAgeyB4MTogNiwgeTE6IDIwLCB4MjogNiwgeTI6IDE0IH1cbiAgICBdXG4gIH0sXG4gICdjaGFydC1iYXInOiB7XG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDE4LCB5MTogMjAsIHgyOiAxOCwgeTI6IDEwIH0sXG4gICAgICB7IHgxOiAxMiwgeTE6IDIwLCB4MjogMTIsIHkyOiA0IH0sXG4gICAgICB7IHgxOiA2LCB5MTogMjAsIHgyOiA2LCB5MjogMTQgfVxuICAgIF1cbiAgfSxcbiAgJ2Jhci1jaGFydCc6IHtcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMTgsIHkxOiAyMCwgeDI6IDE4LCB5MjogMTAgfSxcbiAgICAgIHsgeDE6IDEyLCB5MTogMjAsIHgyOiAxMiwgeTI6IDQgfSxcbiAgICAgIHsgeDE6IDYsIHkxOiAyMCwgeDI6IDYsIHkyOiAxNCB9XG4gICAgXVxuICB9LFxuICAnY2hhcnQtbGluZSc6IHtcbiAgICBwb2x5bGluZXM6IFsnMjIgMTIgMTggMTIgMTUgMjEgOSAzIDYgMTIgMiAxMiddXG4gIH0sXG4gICdjaGFydC1kb251dCc6IHtcbiAgICBjaXJjbGVzOiBbXG4gICAgICB7IGN4OiAxMiwgY3k6IDEyLCByOiAxMCB9LFxuICAgICAgeyBjeDogMTIsIGN5OiAxMiwgcjogNCB9XG4gICAgXVxuICB9LFxuXG4gIC8vIEdyaWQgLyBUYWJsZSAvIExheW91dFxuICAnZ3JpZCc6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogMywgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMywgeTE6IDksIHgyOiAyMSwgeTI6IDkgfSxcbiAgICAgIHsgeDE6IDMsIHkxOiAxNSwgeDI6IDIxLCB5MjogMTUgfSxcbiAgICAgIHsgeDE6IDksIHkxOiAzLCB4MjogOSwgeTI6IDIxIH0sXG4gICAgICB7IHgxOiAxNSwgeTE6IDMsIHgyOiAxNSwgeTI6IDIxIH1cbiAgICBdXG4gIH0sXG4gICdkYXRhYmFzZSc6IHtcbiAgICBwYXRoczogW1xuICAgICAgJ00zIDVjMC0xLjY1NyA0LjAzLTMgOS0zczkgMS4zNDMgOSAzdjE0YzAgMS42NTctNC4wMyAzLTkgM3MtOS0xLjM0My05LTNWNXonLFxuICAgICAgJ00zIDEyYzAgMS42NTcgNC4wMyAzIDkgM3M5LTEuMzQzIDktMydcbiAgICBdXG4gIH0sXG4gICd0YWJsZSc6IHtcbiAgICByZWN0czogW3sgeDogMywgeTogMywgd2lkdGg6IDE4LCBoZWlnaHQ6IDE4LCByeDogMyB9XSxcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMywgeTE6IDksIHgyOiAyMSwgeTI6IDkgfSxcbiAgICAgIHsgeDE6IDksIHkxOiA5LCB4MjogOSwgeTI6IDIxIH1cbiAgICBdXG4gIH0sXG4gICdsYXlvdXQnOiB7XG4gICAgcmVjdHM6IFt7IHg6IDMsIHk6IDMsIHdpZHRoOiAxOCwgaGVpZ2h0OiAxOCwgcng6IDMgfV0sXG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDMsIHkxOiA5LCB4MjogMjEsIHkyOiA5IH0sXG4gICAgICB7IHgxOiA5LCB5MTogMjEsIHgyOiA5LCB5MjogOSB9XG4gICAgXVxuICB9LFxuICAnbGlzdCc6IHtcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogOCwgeTE6IDYsIHgyOiAyMSwgeTI6IDYgfSxcbiAgICAgIHsgeDE6IDgsIHkxOiAxMiwgeDI6IDIxLCB5MjogMTIgfSxcbiAgICAgIHsgeDE6IDgsIHkxOiAxOCwgeDI6IDIxLCB5MjogMTggfSxcbiAgICAgIHsgeDE6IDMsIHkxOiA2LCB4MjogNCwgeTI6IDYgfSxcbiAgICAgIHsgeDE6IDMsIHkxOiAxMiwgeDI6IDQsIHkyOiAxMiB9LFxuICAgICAgeyB4MTogMywgeTE6IDE4LCB4MjogNCwgeTI6IDE4IH1cbiAgICBdXG4gIH0sXG5cbiAgLy8gU2VsZWN0aW9uIC8gQ3Vyc29yXG4gICdjdXJzb3InOiB7XG4gICAgcGF0aHM6IFsnTTMgM2w3LjA3IDE2Ljk3IDIuNTEtNy4zOSA3LjM5LTIuNTFMMyAzeiddLFxuICAgIGxpbmVzOiBbeyB4MTogMTMsIHkxOiAxMywgeDI6IDE5LCB5MjogMTkgfV1cbiAgfSxcbiAgJ21vdXNlLXBvaW50ZXInOiB7XG4gICAgcGF0aHM6IFsnTTMgM2w3LjA3IDE2Ljk3IDIuNTEtNy4zOSA3LjM5LTIuNTFMMyAzeiddLFxuICAgIGxpbmVzOiBbeyB4MTogMTMsIHkxOiAxMywgeDI6IDE5LCB5MjogMTkgfV1cbiAgfSxcblxuICAvLyBBbGVydCAvIFdhcm5pbmdcbiAgJ3dhcm5pbmcnOiB7XG4gICAgcGF0aHM6IFsnTTEwLjI5IDMuODZMMS44MiAxOGEyIDIgMCAwIDAgMS43MSAzaDE2Ljk0YTIgMiAwIDAgMCAxLjcxLTNMMTMuNzEgMy44NmEyIDIgMCAwIDAtMy40MiAweiddLFxuICAgIGxpbmVzOiBbeyB4MTogMTIsIHkxOiA5LCB4MjogMTIsIHkyOiAxMyB9LCB7IHgxOiAxMiwgeTE6IDE3LCB4MjogMTIuMDEsIHkyOiAxNyB9XVxuICB9LFxuICAnYWxlcnQtdHJpYW5nbGUnOiB7XG4gICAgcGF0aHM6IFsnTTEwLjI5IDMuODZMMS44MiAxOGEyIDIgMCAwIDAgMS43MSAzaDE2Ljk0YTIgMiAwIDAgMCAxLjcxLTNMMTMuNzEgMy44NmEyIDIgMCAwIDAtMy40MiAweiddLFxuICAgIGxpbmVzOiBbeyB4MTogMTIsIHkxOiA5LCB4MjogMTIsIHkyOiAxMyB9LCB7IHgxOiAxMiwgeTE6IDE3LCB4MjogMTIuMDEsIHkyOiAxNyB9XVxuICB9LFxuXG4gIC8vIEFjdGlvbnNcbiAgJ3VuZG8nOiB7XG4gICAgcGF0aHM6IFsnTTMgN3Y2aDYnLCAnTTIxIDE3YTkgOSAwIDAgMC05LTkgOSA5IDAgMCAwLTYgMi4zTDMgMTMnXVxuICB9LFxuICAncmVkbyc6IHtcbiAgICBwYXRoczogWydNMjEgN3Y2aC02JywgJ00zIDE3YTkgOSAwIDAgMSA5LTkgOSA5IDAgMCAxIDYgMi4zTDIxIDEzJ11cbiAgfSxcbiAgJ3JlZnJlc2gnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMjMgNHY2aC02JyxcbiAgICAgICdNMSAyMHYtNmg2JyxcbiAgICAgICdNMy41MSA5YTkgOSAwIDAgMSAxNC44NS0zLjM2TDIzIDEwTTEgMTRsNC42NCA0LjM2QTkgOSAwIDAgMCAyMC40OSAxNSdcbiAgICBdXG4gIH0sXG4gICdzYXZlJzoge1xuICAgIHBhdGhzOiBbXG4gICAgICAnTTE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTFsNSA1djExYTIgMiAwIDAgMS0yIDJ6JyxcbiAgICAgICdNMTcgMjF2LThIN3Y4JyxcbiAgICAgICdNNyAzdjVoOCdcbiAgICBdXG4gIH0sXG4gICdkb3dubG9hZCc6IHtcbiAgICBwYXRoczogW1xuICAgICAgJ00yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00JyxcbiAgICAgICdNNyAxMGw1IDUgNS01JyxcbiAgICAgICdNMTIgMTVWMydcbiAgICBdXG4gIH0sXG4gICdleHBvcnQnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCcsXG4gICAgICAnTTcgMTBsNSA1IDUtNScsXG4gICAgICAnTTEyIDE1VjMnXG4gICAgXVxuICB9LFxuICAnc2VhcmNoJzoge1xuICAgIGNpcmNsZXM6IFt7IGN4OiAxMSwgY3k6IDExLCByOiA4IH1dLFxuICAgIGxpbmVzOiBbeyB4MTogMjEsIHkxOiAyMSwgeDI6IDE2LjY1LCB5MjogMTYuNjUgfV1cbiAgfSxcbiAgJ2ZpbHRlcic6IHtcbiAgICBwb2x5bGluZXM6IFsnMjIgMyAyIDMgMTAgMTIuNDYgMTAgMTkgMTQgMjEgMTQgMTIuNDYgMjIgMyddXG4gIH0sXG4gICdjb3B5Jzoge1xuICAgIHJlY3RzOiBbeyB4OiA5LCB5OiA5LCB3aWR0aDogMTMsIGhlaWdodDogMTMsIHJ4OiAyIH1dLFxuICAgIHBhdGhzOiBbJ001IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEnXVxuICB9LFxuICAnZHVwbGljYXRlJzoge1xuICAgIHJlY3RzOiBbeyB4OiA5LCB5OiA5LCB3aWR0aDogMTMsIGhlaWdodDogMTMsIHJ4OiAyIH1dLFxuICAgIHBhdGhzOiBbJ001IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEnXVxuICB9LFxuICAndHJhc2gnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMyA2aDE4JyxcbiAgICAgICdNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2bTMgMFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjInLFxuICAgICAgJ00xMCAxMXY2JyxcbiAgICAgICdNMTQgMTF2NidcbiAgICBdXG4gIH0sXG4gICdkZWxldGUnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMyA2aDE4JyxcbiAgICAgICdNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2bTMgMFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjInXG4gICAgXVxuICB9LFxuICAnc2V0dGluZ3MnOiB7XG4gICAgY2lyY2xlczogW3sgY3g6IDEyLCBjeTogMTIsIHI6IDMgfV0sXG4gICAgcGF0aHM6IFtcbiAgICAgICdNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeidcbiAgICBdXG4gIH0sXG4gICdnZWFyJzoge1xuICAgIGNpcmNsZXM6IFt7IGN4OiAxMiwgY3k6IDEyLCByOiAzIH1dLFxuICAgIHBhdGhzOiBbXG4gICAgICAnTTE5LjQgMTVhMS42NSAxLjY1IDAgMCAwIC4zMyAxLjgybC4wNi4wNmEyIDIgMCAwIDEgMCAyLjgzIDIgMiAwIDAgMS0yLjgzIDBsLS4wNi0uMDZhMS42NSAxLjY1IDAgMCAwLTEuODItLjMzIDEuNjUgMS42NSAwIDAgMC0xIDEuNTFWMjFhMiAyIDAgMCAxLTIgMiAyIDIgMCAwIDEtMi0ydi0uMDlBMS42NSAxLjY1IDAgMCAwIDkgMTkuNGExLjY1IDEuNjUgMCAwIDAtMS44Mi4zM2wtLjA2LjA2YTIgMiAwIDAgMS0yLjgzIDAgMiAyIDAgMCAxIDAtMi44M2wuMDYtLjA2YTEuNjUgMS42NSAwIDAgMCAuMzMtMS44MiAxLjY1IDEuNjUgMCAwIDAtMS41MS0xSDNhMiAyIDAgMCAxLTItMiAyIDIgMCAwIDEgMi0yaC4wOUExLjY1IDEuNjUgMCAwIDAgNC42IDlhMS42NSAxLjY1IDAgMCAwLS4zMy0xLjgybC0uMDYtLjA2YTIgMiAwIDAgMSAwLTIuODMgMiAyIDAgMCAxIDIuODMgMGwuMDYuMDZhMS42NSAxLjY1IDAgMCAwIDEuODIuMzNIOWExLjY1IDEuNjUgMCAwIDAgMS0xLjUxVjNhMiAyIDAgMCAxIDItMiAyIDIgMCAwIDEgMiAydi4wOWExLjY1IDEuNjUgMCAwIDAgMSAxLjUxIDEuNjUgMS42NSAwIDAgMCAxLjgyLS4zM2wuMDYtLjA2YTIgMiAwIDAgMSAyLjgzIDAgMiAyIDAgMCAxIDAgMi44M2wtLjA2LjA2YTEuNjUgMS42NSAwIDAgMC0uMzMgMS44MlY5YTEuNjUgMS42NSAwIDAgMCAxLjUxIDFIMjFhMiAyIDAgMCAxIDIgMiAyIDIgMCAwIDEtMiAyaC0uMDlhMS42NSAxLjY1IDAgMCAwLTEuNTEgMXonXG4gICAgXVxuICB9LFxuICAnZXllJzoge1xuICAgIHBhdGhzOiBbJ00xIDEyczQtOCAxMS04IDExIDggMTEgOC00IDgtMTEgOC0xMS04LTExLTh6J10sXG4gICAgY2lyY2xlczogW3sgY3g6IDEyLCBjeTogMTIsIHI6IDMgfV1cbiAgfSxcbiAgJ3ByZXZpZXcnOiB7XG4gICAgcGF0aHM6IFsnTTEgMTJzNC04IDExLTggMTEgOCAxMSA4LTQgOC0xMSA4LTExLTgtMTEtOHonXSxcbiAgICBjaXJjbGVzOiBbeyBjeDogMTIsIGN5OiAxMiwgcjogMyB9XVxuICB9LFxuICAnY29kZSc6IHtcbiAgICBwb2x5bGluZXM6IFsnMTYgMTggMjIgMTIgMTYgNicsICc4IDYgMiAxMiA4IDE4J11cbiAgfSxcbiAgJ2pzb24nOiB7XG4gICAgcG9seWxpbmVzOiBbJzE2IDE4IDIyIDEyIDE2IDYnLCAnOCA2IDIgMTIgOCAxOCddXG4gIH0sXG5cbiAgLy8gTmF2aWdhdGlvbiAmIERpcmVjdGlvblxuICAnYXJyb3ctbGVmdCc6IHtcbiAgICBsaW5lczogW3sgeDE6IDE5LCB5MTogMTIsIHgyOiA1LCB5MjogMTIgfV0sXG4gICAgcG9seWxpbmVzOiBbJzEyIDE5IDUgMTIgMTIgNSddXG4gIH0sXG4gICdhcnJvdy1yaWdodCc6IHtcbiAgICBsaW5lczogW3sgeDE6IDUsIHkxOiAxMiwgeDI6IDE5LCB5MjogMTIgfV0sXG4gICAgcG9seWxpbmVzOiBbJzEyIDUgMTkgMTIgMTIgMTknXVxuICB9LFxuICAnYXJyb3ctdXAnOiB7XG4gICAgbGluZXM6IFt7IHgxOiAxMiwgeTE6IDE5LCB4MjogMTIsIHkyOiA1IH1dLFxuICAgIHBvbHlsaW5lczogWyc1IDEyIDEyIDUgMTkgMTInXVxuICB9LFxuICAnYXJyb3ctZG93bic6IHtcbiAgICBsaW5lczogW3sgeDE6IDEyLCB5MTogNSwgeDI6IDEyLCB5MjogMTkgfV0sXG4gICAgcG9seWxpbmVzOiBbJzE5IDEyIDEyIDE5IDUgMTInXVxuICB9LFxuICAnY29ybmVyLWRvd24tcmlnaHQnOiB7XG4gICAgcG9seWxpbmVzOiBbJzE1IDEwIDIwIDE1IDE1IDIwJ10sXG4gICAgcGF0aHM6IFsnTTQgNHY3YTQgNCAwIDAgMCA0IDRoMTInXVxuICB9LFxuICAnbmV3LXJvdyc6IHtcbiAgICBwb2x5bGluZXM6IFsnMTUgMTAgMjAgMTUgMTUgMjAnXSxcbiAgICBwYXRoczogWydNNCA0djdhNCA0IDAgMCAwIDQgNGgxMiddXG4gIH0sXG5cbiAgLy8gR2VuZXJhbCBTdGF0dXMgJiBDb21tb25cbiAgJ2NoZWNrJzoge1xuICAgIHBvbHlsaW5lczogWycyMCA2IDkgMTcgNCAxMiddXG4gIH0sXG4gICdjbG9zZSc6IHtcbiAgICBsaW5lczogW1xuICAgICAgeyB4MTogMTgsIHkxOiA2LCB4MjogNiwgeTI6IDE4IH0sXG4gICAgICB7IHgxOiA2LCB5MTogNiwgeDI6IDE4LCB5MjogMTggfVxuICAgIF1cbiAgfSxcbiAgJ3BsdXMnOiB7XG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDEyLCB5MTogNSwgeDI6IDEyLCB5MjogMTkgfSxcbiAgICAgIHsgeDE6IDUsIHkxOiAxMiwgeDI6IDE5LCB5MjogMTIgfVxuICAgIF1cbiAgfSxcbiAgJ21pbnVzJzoge1xuICAgIGxpbmVzOiBbeyB4MTogNSwgeTE6IDEyLCB4MjogMTksIHkyOiAxMiB9XVxuICB9LFxuICAnZG9sbGFyJzoge1xuICAgIGxpbmVzOiBbeyB4MTogMTIsIHkxOiAxLCB4MjogMTIsIHkyOiAyMyB9XSxcbiAgICBwYXRoczogWydNMTcgNUg5LjVhMy41IDMuNSAwIDAgMCAwIDdoNWEzLjUgMy41IDAgMCAxIDAgN0g2J11cbiAgfSxcbiAgJ2Nsb2NrJzoge1xuICAgIGNpcmNsZXM6IFt7IGN4OiAxMiwgY3k6IDEyLCByOiAxMCB9XSxcbiAgICBwb2x5bGluZXM6IFsnMTIgNiAxMiAxMiAxNiAxNCddXG4gIH0sXG4gICdib3gnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6JyxcbiAgICAgICdNMy4yNyA2Ljk2TDEyIDEyLjAxbDguNzMtNS4wNScsXG4gICAgICAnTTEyIDIyLjA4VjEyJ1xuICAgIF1cbiAgfSxcbiAgJ2xpZ2h0bmluZyc6IHtcbiAgICBwb2x5bGluZXM6IFsnMTMgMiAzIDE0IDEyIDE0IDExIDIyIDIxIDEwIDEyIDEwIDEzIDInXVxuICB9LFxuICAnbGluayc6IHtcbiAgICBwYXRoczogW1xuICAgICAgJ00xMCAxM2E1IDUgMCAwIDAgNy41NC41NGwzLTNhNSA1IDAgMCAwLTcuMDctNy4wN2wtMS43MiAxLjcxJyxcbiAgICAgICdNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEnXG4gICAgXVxuICB9LFxuICAndXNlcic6IHtcbiAgICBwYXRoczogWydNMjAgMjF2LTJhNCA0IDAgMCAwLTQtNEg4YTQgNCAwIDAgMC00IDR2MiddLFxuICAgIGNpcmNsZXM6IFt7IGN4OiAxMiwgY3k6IDcsIHI6IDQgfV1cbiAgfSxcbiAgJ3NsaWRlcnMnOiB7XG4gICAgbGluZXM6IFtcbiAgICAgIHsgeDE6IDQsIHkxOiAyMSwgeDI6IDQsIHkyOiAxNCB9LFxuICAgICAgeyB4MTogNCwgeTE6IDEwLCB4MjogNCwgeTI6IDMgfSxcbiAgICAgIHsgeDE6IDEyLCB5MTogMjEsIHgyOiAxMiwgeTI6IDEyIH0sXG4gICAgICB7IHgxOiAxMiwgeTE6IDgsIHgyOiAxMiwgeTI6IDMgfSxcbiAgICAgIHsgeDE6IDIwLCB5MTogMjEsIHgyOiAyMCwgeTI6IDE2IH0sXG4gICAgICB7IHgxOiAyMCwgeTE6IDEyLCB4MjogMjAsIHkyOiAzIH0sXG4gICAgICB7IHgxOiAxLCB5MTogMTQsIHgyOiA3LCB5MjogMTQgfSxcbiAgICAgIHsgeDE6IDksIHkxOiA4LCB4MjogMTUsIHkyOiA4IH0sXG4gICAgICB7IHgxOiAxNywgeTE6IDE2LCB4MjogMjMsIHkyOiAxNiB9XG4gICAgXVxuICB9LFxuICAnc3BhcmtsZXMnOiB7XG4gICAgcGF0aHM6IFtcbiAgICAgICdNMTIgM3YzbTAgMTJ2M00zIDEyaDNtMTIgMGgzTTUuNiA1LjZsMi4xIDIuMW04LjYgOC42bDIuMSAyLjFNNS42IDE4LjRsMi4xLTIuMW04LjYtOC42bDIuMS0yLjEnXG4gICAgXVxuICB9XG59O1xuIl19
@@ -8,4 +8,5 @@ export { RptButtonComponent } from './button/rpt-button.component';
8
8
  export { RptKpiCardComponent } from './kpi-card/rpt-kpi-card.component';
9
9
  export { ReportChartBridgeComponent } from './chart-bridge/report-chart-bridge.component';
10
10
  export { RptIconComponent } from './icon/rpt-icon.component';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9wcmltaXRpdmVzL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBScHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvcnB0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24vcnB0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7IERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi9kcm9wZG93bi9ycHQtZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCB7IFJwdERhdGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGUvcnB0LWRhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7IFJwdERhdGVSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1yYW5nZS9ycHQtZGF0ZS1yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUgeyBEYXRlUmFuZ2VWYWx1ZSwgRGF0ZVJhbmdlUHJlc2V0IH0gZnJvbSAnLi9kYXRlLXJhbmdlL3JwdC1kYXRlLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHROdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL251bWJlci9ycHQtbnVtYmVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvcnB0LWNoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi9ycHQtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRLcGlDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9rcGktY2FyZC9ycHQta3BpLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHsgS3BpVGhlbWUsIFRyZW5kRGlyZWN0aW9uIH0gZnJvbSAnLi9rcGktY2FyZC9ycHQta3BpLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7IFJlcG9ydENoYXJ0QnJpZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9jaGFydC1icmlkZ2UvcmVwb3J0LWNoYXJ0LWJyaWRnZS5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUgeyBDaGFydERhdGFJdGVtLCBDaGFydFR5cGUgfSBmcm9tICcuL2NoYXJ0LWJyaWRnZS9yZXBvcnQtY2hhcnQtYnJpZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uL3JwdC1pY29uLmNvbXBvbmVudCc7XG5cblxuIl19
11
+ export { RptSearchableSelectComponent } from './searchable-select/rpt-searchable-select.component';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9wcmltaXRpdmVzL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBScHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvcnB0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24vcnB0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7IERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi9kcm9wZG93bi9ycHQtZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCB7IFJwdERhdGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGUvcnB0LWRhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7IFJwdERhdGVSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1yYW5nZS9ycHQtZGF0ZS1yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUgeyBEYXRlUmFuZ2VWYWx1ZSwgRGF0ZVJhbmdlUHJlc2V0IH0gZnJvbSAnLi9kYXRlLXJhbmdlL3JwdC1kYXRlLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHROdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL251bWJlci9ycHQtbnVtYmVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvcnB0LWNoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi9ycHQtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRLcGlDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9rcGktY2FyZC9ycHQta3BpLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHsgS3BpVGhlbWUsIFRyZW5kRGlyZWN0aW9uIH0gZnJvbSAnLi9rcGktY2FyZC9ycHQta3BpLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7IFJlcG9ydENoYXJ0QnJpZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9jaGFydC1icmlkZ2UvcmVwb3J0LWNoYXJ0LWJyaWRnZS5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUgeyBDaGFydERhdGFJdGVtLCBDaGFydFR5cGUgfSBmcm9tICcuL2NoYXJ0LWJyaWRnZS9yZXBvcnQtY2hhcnQtYnJpZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uL3JwdC1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBScHRTZWFyY2hhYmxlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2hhYmxlLXNlbGVjdC9ycHQtc2VhcmNoYWJsZS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHsgU2VhcmNoYWJsZVNlbGVjdE9wdGlvbiB9IGZyb20gJy4vc2VhcmNoYWJsZS1zZWxlY3QvcnB0LXNlYXJjaGFibGUtc2VsZWN0LmNvbXBvbmVudCc7XG5cblxuIl19
@@ -49,6 +49,9 @@ export class RptNumberComponent {
49
49
  <input
50
50
  [id]="elementId()"
51
51
  type="number"
52
+ (wheel)="$any($event.target).blur()"
53
+ (keydown.arrowup)="$event.preventDefault()"
54
+ (keydown.arrowdown)="$event.preventDefault()"
52
55
  [formControl]="formControl()"
53
56
  [min]="minVal()"
54
57
  [max]="maxVal()"
@@ -66,7 +69,7 @@ export class RptNumberComponent {
66
69
  <span class="rpt-error-text">{{ errorMessage() }}</span>
67
70
  }
68
71
  </div>
69
- `, isInline: true, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-field-group{display:flex;flex-direction:column;height:100%;gap:4px;box-sizing:border-box}.rpt-label{font-size:var(--rpt-font-size-sm, .75rem);font-weight:500;color:var(--rpt-color-text, #0f172a);flex-shrink:0}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-input-wrapper{position:relative;display:flex;align-items:stretch;width:100%;flex:1;min-height:0}.rpt-affix{font-size:var(--rpt-font-size-sm, .75rem);color:var(--rpt-color-text-muted, #64748b);background-color:var(--rpt-color-surface, #f8fafc);padding:0 10px;height:100%;min-height:38px;display:flex;align-items:center;border:1px solid var(--rpt-color-border, #cbd5e1);-webkit-user-select:none;user-select:none;box-sizing:border-box}.rpt-prefix{border-right:none;border-top-left-radius:var(--rpt-border-radius, 6px);border-bottom-left-radius:var(--rpt-border-radius, 6px)}.rpt-suffix{border-left:none;border-top-right-radius:var(--rpt-border-radius, 6px);border-bottom-right-radius:var(--rpt-border-radius, 6px)}.rpt-number-input{width:100%;box-sizing:border-box;height:100%;min-height:38px;padding:6px 12px;font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a);background-color:var(--rpt-color-bg, #ffffff);border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius, 6px);transition:border-color var(--rpt-transition-speed, .15s) ease,box-shadow var(--rpt-transition-speed, .15s) ease;outline:none}.has-prefix .rpt-number-input{border-top-left-radius:0;border-bottom-left-radius:0}.has-suffix .rpt-number-input{border-top-right-radius:0;border-bottom-right-radius:0}.rpt-number-input:hover:not(:disabled){border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-number-input:focus{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-number-input:disabled{background-color:var(--rpt-color-surface, #f8fafc);color:var(--rpt-color-text-muted, #64748b);cursor:not-allowed}.rpt-number-input.rpt-invalid{border-color:var(--rpt-color-danger, #ef4444)}.rpt-number-input.rpt-invalid:focus{box-shadow:0 0 0 3px #ef444440}.rpt-error-text{font-size:.7rem;color:var(--rpt-color-danger, #ef4444);margin-top:3px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:block}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
+ `, isInline: true, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-field-group{display:flex;flex-direction:column;height:100%;gap:4px;box-sizing:border-box}.rpt-label{font-size:var(--rpt-font-size-sm, .75rem);font-weight:500;color:var(--rpt-color-text, #0f172a);flex-shrink:0}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-input-wrapper{position:relative;display:flex;align-items:stretch;width:100%;flex:1;min-height:0}.rpt-affix{font-size:var(--rpt-font-size-sm, .75rem);color:var(--rpt-color-text-muted, #64748b);background-color:var(--rpt-color-surface, #f8fafc);padding:0 10px;height:100%;min-height:38px;display:flex;align-items:center;border:1px solid var(--rpt-color-border, #cbd5e1);-webkit-user-select:none;user-select:none;box-sizing:border-box}.rpt-prefix{border-right:none;border-top-left-radius:var(--rpt-border-radius, 6px);border-bottom-left-radius:var(--rpt-border-radius, 6px)}.rpt-suffix{border-left:none;border-top-right-radius:var(--rpt-border-radius, 6px);border-bottom-right-radius:var(--rpt-border-radius, 6px)}.rpt-number-input::-webkit-inner-spin-button,.rpt-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rpt-number-input{-moz-appearance:textfield;appearance:textfield;width:100%;box-sizing:border-box;height:100%;min-height:38px;padding:6px 12px;font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a);background-color:var(--rpt-color-bg, #ffffff);border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius, 6px);transition:border-color var(--rpt-transition-speed, .15s) ease,box-shadow var(--rpt-transition-speed, .15s) ease;outline:none}.has-prefix .rpt-number-input{border-top-left-radius:0;border-bottom-left-radius:0}.has-suffix .rpt-number-input{border-top-right-radius:0;border-bottom-right-radius:0}.rpt-number-input:hover:not(:disabled){border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-number-input:focus{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-number-input:disabled{background-color:var(--rpt-color-surface, #f8fafc);color:var(--rpt-color-text-muted, #64748b);cursor:not-allowed}.rpt-number-input.rpt-invalid{border-color:var(--rpt-color-danger, #ef4444)}.rpt-number-input.rpt-invalid:focus{box-shadow:0 0 0 3px #ef444440}.rpt-error-text{font-size:.7rem;color:var(--rpt-color-danger, #ef4444);margin-top:3px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:block}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
73
  }
71
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RptNumberComponent, decorators: [{
72
75
  type: Component,
@@ -88,6 +91,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
88
91
  <input
89
92
  [id]="elementId()"
90
93
  type="number"
94
+ (wheel)="$any($event.target).blur()"
95
+ (keydown.arrowup)="$event.preventDefault()"
96
+ (keydown.arrowdown)="$event.preventDefault()"
91
97
  [formControl]="formControl()"
92
98
  [min]="minVal()"
93
99
  [max]="maxVal()"
@@ -105,6 +111,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
105
111
  <span class="rpt-error-text">{{ errorMessage() }}</span>
106
112
  }
107
113
  </div>
108
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-field-group{display:flex;flex-direction:column;height:100%;gap:4px;box-sizing:border-box}.rpt-label{font-size:var(--rpt-font-size-sm, .75rem);font-weight:500;color:var(--rpt-color-text, #0f172a);flex-shrink:0}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-input-wrapper{position:relative;display:flex;align-items:stretch;width:100%;flex:1;min-height:0}.rpt-affix{font-size:var(--rpt-font-size-sm, .75rem);color:var(--rpt-color-text-muted, #64748b);background-color:var(--rpt-color-surface, #f8fafc);padding:0 10px;height:100%;min-height:38px;display:flex;align-items:center;border:1px solid var(--rpt-color-border, #cbd5e1);-webkit-user-select:none;user-select:none;box-sizing:border-box}.rpt-prefix{border-right:none;border-top-left-radius:var(--rpt-border-radius, 6px);border-bottom-left-radius:var(--rpt-border-radius, 6px)}.rpt-suffix{border-left:none;border-top-right-radius:var(--rpt-border-radius, 6px);border-bottom-right-radius:var(--rpt-border-radius, 6px)}.rpt-number-input{width:100%;box-sizing:border-box;height:100%;min-height:38px;padding:6px 12px;font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a);background-color:var(--rpt-color-bg, #ffffff);border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius, 6px);transition:border-color var(--rpt-transition-speed, .15s) ease,box-shadow var(--rpt-transition-speed, .15s) ease;outline:none}.has-prefix .rpt-number-input{border-top-left-radius:0;border-bottom-left-radius:0}.has-suffix .rpt-number-input{border-top-right-radius:0;border-bottom-right-radius:0}.rpt-number-input:hover:not(:disabled){border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-number-input:focus{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-number-input:disabled{background-color:var(--rpt-color-surface, #f8fafc);color:var(--rpt-color-text-muted, #64748b);cursor:not-allowed}.rpt-number-input.rpt-invalid{border-color:var(--rpt-color-danger, #ef4444)}.rpt-number-input.rpt-invalid:focus{box-shadow:0 0 0 3px #ef444440}.rpt-error-text{font-size:.7rem;color:var(--rpt-color-danger, #ef4444);margin-top:3px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:block}\n"] }]
114
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-field-group{display:flex;flex-direction:column;height:100%;gap:4px;box-sizing:border-box}.rpt-label{font-size:var(--rpt-font-size-sm, .75rem);font-weight:500;color:var(--rpt-color-text, #0f172a);flex-shrink:0}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-input-wrapper{position:relative;display:flex;align-items:stretch;width:100%;flex:1;min-height:0}.rpt-affix{font-size:var(--rpt-font-size-sm, .75rem);color:var(--rpt-color-text-muted, #64748b);background-color:var(--rpt-color-surface, #f8fafc);padding:0 10px;height:100%;min-height:38px;display:flex;align-items:center;border:1px solid var(--rpt-color-border, #cbd5e1);-webkit-user-select:none;user-select:none;box-sizing:border-box}.rpt-prefix{border-right:none;border-top-left-radius:var(--rpt-border-radius, 6px);border-bottom-left-radius:var(--rpt-border-radius, 6px)}.rpt-suffix{border-left:none;border-top-right-radius:var(--rpt-border-radius, 6px);border-bottom-right-radius:var(--rpt-border-radius, 6px)}.rpt-number-input::-webkit-inner-spin-button,.rpt-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rpt-number-input{-moz-appearance:textfield;appearance:textfield;width:100%;box-sizing:border-box;height:100%;min-height:38px;padding:6px 12px;font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a);background-color:var(--rpt-color-bg, #ffffff);border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius, 6px);transition:border-color var(--rpt-transition-speed, .15s) ease,box-shadow var(--rpt-transition-speed, .15s) ease;outline:none}.has-prefix .rpt-number-input{border-top-left-radius:0;border-bottom-left-radius:0}.has-suffix .rpt-number-input{border-top-right-radius:0;border-bottom-right-radius:0}.rpt-number-input:hover:not(:disabled){border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-number-input:focus{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-number-input:disabled{background-color:var(--rpt-color-surface, #f8fafc);color:var(--rpt-color-text-muted, #64748b);cursor:not-allowed}.rpt-number-input.rpt-invalid{border-color:var(--rpt-color-danger, #ef4444)}.rpt-number-input.rpt-invalid:focus{box-shadow:0 0 0 3px #ef444440}.rpt-error-text{font-size:.7rem;color:var(--rpt-color-danger, #ef4444);margin-top:3px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:block}\n"] }]
109
115
  }] });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9wcmltaXRpdmVzL2NvbXBvbmVudHMvbnVtYmVyL3JwdC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQXdKbkYsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBNkIsQ0FBQztJQUNyRCxPQUFPLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFFdkIsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFnQixJQUFJLENBQUMsQ0FBQztJQUUvRCxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckUsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVoRixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQVksSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNoSCxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQVksSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNoSCxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUU5RSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFFTSxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQyxDQUFDLENBQUM7d0dBOUJRLGtCQUFrQjs0RkFBbEIsa0JBQWtCLDBVQWxKbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUNULHM4RUFwQ1MsbUJBQW1COzs0RkFtSmxCLGtCQUFrQjtrQkF0SjlCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCxtQkE2R2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50RGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL3JlcG9ydC1jb21wb25lbnQubW9kZWwnO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1mYWN0b3J5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnB0LW51bWJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicnB0LWZpZWxkLWdyb3VwXCI+XG4gICAgICBAaWYgKGNvbmZpZygpLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImVsZW1lbnRJZCgpXCIgY2xhc3M9XCJycHQtbGFiZWxcIj5cbiAgICAgICAgICB7eyBjb25maWcoKS5sYWJlbCB9fVxuICAgICAgICAgIEBpZiAoY29uZmlnKCkudmFsaWRhdGlvbj8ucmVxdWlyZWQpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LXJlcXVpcmVkLW1hcmtlclwiPio8L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwicnB0LWlucHV0LXdyYXBwZXJcIiBbY2xhc3MuaGFzLXByZWZpeF09XCJwcmVmaXgoKVwiIFtjbGFzcy5oYXMtc3VmZml4XT1cInN1ZmZpeCgpXCI+XG4gICAgICAgIEBpZiAocHJlZml4KCkpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJwdC1hZmZpeCBycHQtcHJlZml4XCI+e3sgcHJlZml4KCkgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgW2lkXT1cImVsZW1lbnRJZCgpXCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgICAgW21pbl09XCJtaW5WYWwoKVwiXG4gICAgICAgICAgW21heF09XCJtYXhWYWwoKVwiXG4gICAgICAgICAgW3N0ZXBdPVwic3RlcFZhbCgpXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgW2NsYXNzLnJwdC1pbnZhbGlkXT1cImlzSW52YWxpZCgpXCJcbiAgICAgICAgICBjbGFzcz1cInJwdC1udW1iZXItaW5wdXRcIlxuICAgICAgICAvPlxuICAgICAgICBAaWYgKHN1ZmZpeCgpKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtYWZmaXggcnB0LXN1ZmZpeFwiPnt7IHN1ZmZpeCgpIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChlcnJvck1lc3NhZ2UoKSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInJwdC1lcnJvci10ZXh0XCI+e3sgZXJyb3JNZXNzYWdlKCkgfX08L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1ycHQtZm9udC1mYW1pbHksIGluaGVyaXQpO1xuICAgIH1cbiAgICAucnB0LWZpZWxkLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZ2FwOiA0cHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAucnB0LWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnB0LWZvbnQtc2l6ZS1zbSwgMC43NXJlbSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci10ZXh0LCAjMGYxNzJhKTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAucnB0LXJlcXVpcmVkLW1hcmtlciB7XG4gICAgICBjb2xvcjogdmFyKC0tcnB0LWNvbG9yLWRhbmdlciwgI2VmNDQ0NCk7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIH1cbiAgICAucnB0LWlucHV0LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG4gICAgLnJwdC1hZmZpeCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXJwdC1mb250LXNpemUtc20sIDAuNzVyZW0pO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci10ZXh0LW11dGVkLCAjNjQ3NDhiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJwdC1jb2xvci1zdXJmYWNlLCAjZjhmYWZjKTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJwdC1jb2xvci1ib3JkZXIsICNjYmQ1ZTEpO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAucnB0LXByZWZpeCB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAgIH1cbiAgICAucnB0LXN1ZmZpeCB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICB9XG4gICAgLnJwdC1udW1iZXItaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMzhweDtcbiAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1ycHQtZm9udC1zaXplLWJhc2UsIDAuODc1cmVtKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItdGV4dCwgIzBmMTcyYSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItYmcsICNmZmZmZmYpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnB0LWNvbG9yLWJvcmRlciwgI2NiZDVlMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1ycHQtdHJhbnNpdGlvbi1zcGVlZCwgMTUwbXMpIGVhc2UsXG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93IHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIC5oYXMtcHJlZml4IC5ycHQtbnVtYmVyLWlucHV0IHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICAuaGFzLXN1ZmZpeCAucnB0LW51bWJlci1pbnB1dCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICAucnB0LW51bWJlci1pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXJwdC1jb2xvci1ib3JkZXItaG92ZXIsICM5NGEzYjgpO1xuICAgIH1cbiAgICAucnB0LW51bWJlci1pbnB1dDpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXJwdC1jb2xvci1ib3JkZXItZm9jdXMsICMyNTYzZWIpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tcnB0LWJveC1zaGFkb3ctZm9jdXMsIDAgMCAwIDNweCByZ2JhKDM3LCA5OSwgMjM1LCAwLjI1KSk7XG4gICAgfVxuICAgIC5ycHQtbnVtYmVyLWlucHV0OmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJwdC1jb2xvci1zdXJmYWNlLCAjZjhmYWZjKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItdGV4dC1tdXRlZCwgIzY0NzQ4Yik7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgICAucnB0LW51bWJlci1pbnB1dC5ycHQtaW52YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXJwdC1jb2xvci1kYW5nZXIsICNlZjQ0NDQpO1xuICAgIH1cbiAgICAucnB0LW51bWJlci1pbnB1dC5ycHQtaW52YWxpZDpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMzksIDY4LCA2OCwgMC4yNSk7XG4gICAgfVxuICAgIC5ycHQtZXJyb3ItdGV4dCB7XG4gICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItZGFuZ2VyLCAjZWY0NDQ0KTtcbiAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICBgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJwdE51bWJlckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPFJlcG9ydENvbXBvbmVudERlZmluaXRpb24+KCk7XG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBpbnB1dDxGb3JtQ29udHJvbD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZhbGxiYWNrQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBmb3JtQ29udHJvbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29udHJvbCgpID8/IHRoaXMuZmFsbGJhY2tDb250cm9sKTtcbiAgcmVhZG9ubHkgZWxlbWVudElkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5rZXkgfHwgdGhpcy5jb25maWcoKS5pZCk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuY29uZmlnKCkucHJvcGVydGllcz8uWydwbGFjZWhvbGRlciddIGFzIHN0cmluZykgfHwgJycpO1xuICByZWFkb25seSBwcmVmaXggPSBjb21wdXRlZCgoKSA9PiAodGhpcy5jb25maWcoKS5wcm9wZXJ0aWVzPy5bJ3ByZWZpeCddIGFzIHN0cmluZykgfHwgJycpO1xuICByZWFkb25seSBzdWZmaXggPSBjb21wdXRlZCgoKSA9PiAodGhpcy5jb25maWcoKS5wcm9wZXJ0aWVzPy5bJ3N1ZmZpeCddIGFzIHN0cmluZykgfHwgJycpO1xuXG4gIHJlYWRvbmx5IG1pblZhbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudmFsaWRhdGlvbj8ubWluID8/ICh0aGlzLmNvbmZpZygpLnByb3BlcnRpZXM/LlsnbWluJ10gYXMgbnVtYmVyKSA/PyBudWxsKTtcbiAgcmVhZG9ubHkgbWF4VmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS52YWxpZGF0aW9uPy5tYXggPz8gKHRoaXMuY29uZmlnKCkucHJvcGVydGllcz8uWydtYXgnXSBhcyBudW1iZXIpID8/IG51bGwpO1xuICByZWFkb25seSBzdGVwVmFsID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuY29uZmlnKCkucHJvcGVydGllcz8uWydzdGVwJ10gYXMgbnVtYmVyKSA/PyAxKTtcblxuICByZWFkb25seSBpc0ludmFsaWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY3RybCA9IHRoaXMuZm9ybUNvbnRyb2woKTtcbiAgICByZXR1cm4gY3RybC5pbnZhbGlkICYmIChjdHJsLmRpcnR5IHx8IGN0cmwudG91Y2hlZCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGVycm9yTWVzc2FnZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdHJsID0gdGhpcy5mb3JtQ29udHJvbCgpO1xuICAgIGlmICghY3RybC5pbnZhbGlkIHx8ICghY3RybC5kaXJ0eSAmJiAhY3RybC50b3VjaGVkKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBlcnJvcnMgPSBjdHJsLmVycm9ycztcbiAgICBpZiAoIWVycm9ycykgcmV0dXJuICcnO1xuICAgIGNvbnN0IGZpcnN0S2V5ID0gT2JqZWN0LmtleXMoZXJyb3JzKVswXTtcbiAgICByZXR1cm4gZ2V0VmFsaWRhdGlvbk1lc3NhZ2UodGhpcy5jb25maWcoKS52YWxpZGF0aW9uLCBmaXJzdEtleSk7XG4gIH0pO1xufVxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9wcmltaXRpdmVzL2NvbXBvbmVudHMvbnVtYmVyL3JwdC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQWtLbkYsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBNkIsQ0FBQztJQUNyRCxPQUFPLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFFdkIsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFnQixJQUFJLENBQUMsQ0FBQztJQUUvRCxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckUsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVoRixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQVksSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNoSCxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQVksSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNoSCxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUU5RSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFFTSxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQyxDQUFDLENBQUM7d0dBOUJRLGtCQUFrQjs0RkFBbEIsa0JBQWtCLDBVQTVKbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NULGduRkF2Q1MsbUJBQW1COzs0RkE2SmxCLGtCQUFrQjtrQkFoSzlCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDVCxtQkFvSGdCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50RGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL3JlcG9ydC1jb21wb25lbnQubW9kZWwnO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1mYWN0b3J5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnB0LW51bWJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicnB0LWZpZWxkLWdyb3VwXCI+XG4gICAgICBAaWYgKGNvbmZpZygpLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImVsZW1lbnRJZCgpXCIgY2xhc3M9XCJycHQtbGFiZWxcIj5cbiAgICAgICAgICB7eyBjb25maWcoKS5sYWJlbCB9fVxuICAgICAgICAgIEBpZiAoY29uZmlnKCkudmFsaWRhdGlvbj8ucmVxdWlyZWQpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LXJlcXVpcmVkLW1hcmtlclwiPio8L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwicnB0LWlucHV0LXdyYXBwZXJcIiBbY2xhc3MuaGFzLXByZWZpeF09XCJwcmVmaXgoKVwiIFtjbGFzcy5oYXMtc3VmZml4XT1cInN1ZmZpeCgpXCI+XG4gICAgICAgIEBpZiAocHJlZml4KCkpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJwdC1hZmZpeCBycHQtcHJlZml4XCI+e3sgcHJlZml4KCkgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgW2lkXT1cImVsZW1lbnRJZCgpXCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAod2hlZWwpPVwiJGFueSgkZXZlbnQudGFyZ2V0KS5ibHVyKClcIlxuICAgICAgICAgIChrZXlkb3duLmFycm93dXApPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgIChrZXlkb3duLmFycm93ZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgIFttaW5dPVwibWluVmFsKClcIlxuICAgICAgICAgIFttYXhdPVwibWF4VmFsKClcIlxuICAgICAgICAgIFtzdGVwXT1cInN0ZXBWYWwoKVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgIFtjbGFzcy5ycHQtaW52YWxpZF09XCJpc0ludmFsaWQoKVwiXG4gICAgICAgICAgY2xhc3M9XCJycHQtbnVtYmVyLWlucHV0XCJcbiAgICAgICAgLz5cbiAgICAgICAgQGlmIChzdWZmaXgoKSkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LWFmZml4IHJwdC1zdWZmaXhcIj57eyBzdWZmaXgoKSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoZXJyb3JNZXNzYWdlKCkpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtZXJyb3ItdGV4dFwiPnt7IGVycm9yTWVzc2FnZSgpIH19PC9zcGFuPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tcnB0LWZvbnQtZmFtaWx5LCBpbmhlcml0KTtcbiAgICB9XG4gICAgLnJwdC1maWVsZC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGdhcDogNHB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgLnJwdC1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXJwdC1mb250LXNpemUtc20sIDAuNzVyZW0pO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItdGV4dCwgIzBmMTcyYSk7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgLnJwdC1yZXF1aXJlZC1tYXJrZXIge1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci1kYW5nZXIsICNlZjQ0NDQpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG4gICAgLnJwdC1pbnB1dC13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuICAgIC5ycHQtYWZmaXgge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1ycHQtZm9udC1zaXplLXNtLCAwLjc1cmVtKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItdGV4dC1tdXRlZCwgIzY0NzQ4Yik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ycHQtY29sb3Itc3VyZmFjZSwgI2Y4ZmFmYyk7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAzOHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ycHQtY29sb3ItYm9yZGVyLCAjY2JkNWUxKTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgLnJwdC1wcmVmaXgge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICB9XG4gICAgLnJwdC1zdWZmaXgge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgfVxuICAgIC5ycHQtbnVtYmVyLWlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIC5ycHQtbnVtYmVyLWlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnJwdC1udW1iZXItaW5wdXQge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAzOHB4O1xuICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICBmb250LXNpemU6IHZhcigtLXJwdC1mb250LXNpemUtYmFzZSwgMC44NzVyZW0pO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci10ZXh0LCAjMGYxNzJhKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJwdC1jb2xvci1iZywgI2ZmZmZmZik7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ycHQtY29sb3ItYm9yZGVyLCAjY2JkNWUxKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZSxcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3cgdmFyKC0tcnB0LXRyYW5zaXRpb24tc3BlZWQsIDE1MG1zKSBlYXNlO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgLmhhcy1wcmVmaXggLnJwdC1udW1iZXItaW5wdXQge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC5oYXMtc3VmZml4IC5ycHQtbnVtYmVyLWlucHV0IHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC5ycHQtbnVtYmVyLWlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLWJvcmRlci1ob3ZlciwgIzk0YTNiOCk7XG4gICAgfVxuICAgIC5ycHQtbnVtYmVyLWlucHV0OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLWJvcmRlci1mb2N1cywgIzI1NjNlYik7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1ycHQtYm94LXNoYWRvdy1mb2N1cywgMCAwIDAgM3B4IHJnYmEoMzcsIDk5LCAyMzUsIDAuMjUpKTtcbiAgICB9XG4gICAgLnJwdC1udW1iZXItaW5wdXQ6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXN1cmZhY2UsICNmOGZhZmMpO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci10ZXh0LW11dGVkLCAjNjQ3NDhiKTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICAgIC5ycHQtbnVtYmVyLWlucHV0LnJwdC1pbnZhbGlkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLWRhbmdlciwgI2VmNDQ0NCk7XG4gICAgfVxuICAgIC5ycHQtbnVtYmVyLWlucHV0LnJwdC1pbnZhbGlkOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjI1KTtcbiAgICB9XG4gICAgLnJwdC1lcnJvci10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci1kYW5nZXIsICNlZjQ0NDQpO1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIGBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUnB0TnVtYmVyQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8UmVwb3J0Q29tcG9uZW50RGVmaW5pdGlvbj4oKTtcbiAgcmVhZG9ubHkgY29udHJvbCA9IGlucHV0PEZvcm1Db250cm9sPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmFsbGJhY2tDb250cm9sID0gbmV3IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGZvcm1Db250cm9sID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250cm9sKCkgPz8gdGhpcy5mYWxsYmFja0NvbnRyb2wpO1xuICByZWFkb25seSBlbGVtZW50SWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmtleSB8fCB0aGlzLmNvbmZpZygpLmlkKTtcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5jb25maWcoKS5wcm9wZXJ0aWVzPy5bJ3BsYWNlaG9sZGVyJ10gYXMgc3RyaW5nKSB8fCAnJyk7XG4gIHJlYWRvbmx5IHByZWZpeCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmNvbmZpZygpLnByb3BlcnRpZXM/LlsncHJlZml4J10gYXMgc3RyaW5nKSB8fCAnJyk7XG4gIHJlYWRvbmx5IHN1ZmZpeCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmNvbmZpZygpLnByb3BlcnRpZXM/Llsnc3VmZml4J10gYXMgc3RyaW5nKSB8fCAnJyk7XG5cbiAgcmVhZG9ubHkgbWluVmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS52YWxpZGF0aW9uPy5taW4gPz8gKHRoaXMuY29uZmlnKCkucHJvcGVydGllcz8uWydtaW4nXSBhcyBudW1iZXIpID8/IG51bGwpO1xuICByZWFkb25seSBtYXhWYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnZhbGlkYXRpb24/Lm1heCA/PyAodGhpcy5jb25maWcoKS5wcm9wZXJ0aWVzPy5bJ21heCddIGFzIG51bWJlcikgPz8gbnVsbCk7XG4gIHJlYWRvbmx5IHN0ZXBWYWwgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5jb25maWcoKS5wcm9wZXJ0aWVzPy5bJ3N0ZXAnXSBhcyBudW1iZXIpID8/IDEpO1xuXG4gIHJlYWRvbmx5IGlzSW52YWxpZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdHJsID0gdGhpcy5mb3JtQ29udHJvbCgpO1xuICAgIHJldHVybiBjdHJsLmludmFsaWQgJiYgKGN0cmwuZGlydHkgfHwgY3RybC50b3VjaGVkKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0cmwgPSB0aGlzLmZvcm1Db250cm9sKCk7XG4gICAgaWYgKCFjdHJsLmludmFsaWQgfHwgKCFjdHJsLmRpcnR5ICYmICFjdHJsLnRvdWNoZWQpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IGVycm9ycyA9IGN0cmwuZXJyb3JzO1xuICAgIGlmICghZXJyb3JzKSByZXR1cm4gJyc7XG4gICAgY29uc3QgZmlyc3RLZXkgPSBPYmplY3Qua2V5cyhlcnJvcnMpWzBdO1xuICAgIHJldHVybiBnZXRWYWxpZGF0aW9uTWVzc2FnZSh0aGlzLmNvbmZpZygpLnZhbGlkYXRpb24sIGZpcnN0S2V5KTtcbiAgfSk7XG59XG4iXX0=