@provoly/dashboard 1.3.6 → 1.3.7

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 (43) hide show
  1. package/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.d.ts +3 -2
  2. package/admin/components/admin-dataset/admin-dataset.component.d.ts +2 -0
  3. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +4 -3
  4. package/admin/i18n/en.translations.d.ts +7 -0
  5. package/admin/i18n/fr.translations.d.ts +5 -0
  6. package/assets/svgs/groups.svg +16 -0
  7. package/assets/svgs/public.svg +1 -16
  8. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +2 -2
  9. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +12 -9
  10. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +6 -4
  11. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +7 -5
  12. package/esm2022/admin/i18n/en.translations.mjs +10 -3
  13. package/esm2022/admin/i18n/fr.translations.mjs +6 -1
  14. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +4 -4
  15. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +28 -40
  16. package/esm2022/lib/core/components/share/share.utils.mjs +13 -1
  17. package/esm2022/lib/core/i18n/en.translations.mjs +11 -4
  18. package/esm2022/lib/core/i18n/fr.translations.mjs +11 -4
  19. package/esm2022/lib/core/store/class/class.reducer.mjs +8 -2
  20. package/esm2022/lib/core/store/class/class.selectors.mjs +4 -2
  21. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +4 -3
  22. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +12 -5
  23. package/esm2022/restitution/components/restitution/restitution.component.mjs +4 -4
  24. package/esm2022/restitution/i18n/fr.translations.mjs +2 -2
  25. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +70 -61
  26. package/fesm2022/provoly-dashboard-admin.mjs +34 -15
  27. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  28. package/fesm2022/provoly-dashboard-restitution.mjs +4 -4
  29. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  30. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +69 -60
  31. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  32. package/fesm2022/provoly-dashboard.mjs +226 -196
  33. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  34. package/lib/core/components/share/group-share/group-share.component.d.ts +4 -7
  35. package/lib/core/components/share/share.utils.d.ts +2 -0
  36. package/lib/core/i18n/en.translations.d.ts +10 -3
  37. package/lib/core/i18n/fr.translations.d.ts +10 -3
  38. package/lib/core/store/class/class.selectors.d.ts +1 -0
  39. package/lib/dashboard/store/dashboard.actions.d.ts +7 -6
  40. package/package.json +12 -12
  41. package/styles/components/_a-page-loader.scss +6 -0
  42. package/styles/components/_o-layer-settings.scss +2 -2
  43. package/widgets/widget-map/component/widget-map.component.d.ts +4 -2
@@ -31,6 +31,11 @@ export const frTranslations = {
31
31
  displayModeImage: "Mode d'affichage de l'image",
32
32
  size: "Taille de l'image",
33
33
  deleteAttributeConfirmMessage: 'Cet attribut ne sera plus visible pour les données le possédant. Confirmez-vous la suppression ?',
34
+ attributes: {
35
+ unknownField: 'Type métier inconnu',
36
+ unknownCategory: 'Catégorie inconnue',
37
+ noCategory: 'Pas de catégorie'
38
+ },
34
39
  position: {
35
40
  FULL: 'Icone pleine',
36
41
  TOP_LEFT: 'En haut à gauche',
@@ -389,4 +394,4 @@ export const frTranslations = {
389
394
  }
390
395
  }
391
396
  };
392
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vaTE4bi9mci50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLCtCQUErQjtZQUNoRCxjQUFjLEVBQUUsYUFBYTtZQUM3QixXQUFXLEVBQUUsUUFBUTtZQUNyQixJQUFJLEVBQUUsVUFBVTtZQUNoQixNQUFNLEVBQUUsVUFBVTtZQUNsQixNQUFNLEVBQUUsV0FBVztZQUNuQixHQUFHLEVBQUUsU0FBUztZQUNkLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxtQkFBbUI7WUFDM0IsS0FBSyxFQUFFLFVBQVU7WUFDakIsTUFBTSxFQUFFLFNBQVM7WUFDakIsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsU0FBUztZQUNmLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsTUFBTSxFQUFFLHlCQUF5QjtZQUNqQyxTQUFTLEVBQUUsd0NBQXdDO1lBQ25ELFNBQVMsRUFBRSx5Q0FBeUM7WUFDcEQsWUFBWSxFQUFFLHlEQUF5RDtZQUN2RSxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLFdBQVcsRUFBRSwwRUFBMEU7WUFDdkYsZ0JBQWdCLEVBQUUsNkJBQTZCO1lBQy9DLElBQUksRUFBRSxtQkFBbUI7WUFDekIsNkJBQTZCLEVBQzNCLGtHQUFrRztZQUNwRyxRQUFR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cUNBQXFDO1lBQzlDLElBQUksRUFBRSxrQ0FBa0M7WUFDeEMsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBmclRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgYWRtaW46IHtcbiAgICAgIHRpdGxlOiAnQWRtaW5pc3RyYXRpb24nLFxuICAgICAgdGl0bGVJbmRpY2F0aW9uOiAnRmVybWVyIGxlIG1lbnUgQWRtaW5pc3RyYXRpb24nLFxuICAgICAgaW5mb01vZGFsVGl0bGU6ICdJbmZvcm1hdGlvbicsXG4gICAgICBjbG9zZU1vZGFsZTogJ0Zlcm1lcicsXG4gICAgICBlZGl0OiAnTW9kaWZpZXInLFxuICAgICAgcmVuYW1lOiAnUmVub21tZXInLFxuICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgIGFkZDogJ05vdXZlYXUnLFxuICAgICAgdmFsaWRhdGU6ICdWYWxpZGVyJyxcbiAgICAgIGFkZENsYXNzOiAnVmFsaWRlciBsYSBjcsOpYXRpb24nLFxuICAgICAgYWRkQXR0cmlidXRlOiAnQWpvdXRlciB1biBhdHRyaWJ1dCcsXG4gICAgICBjcmVhdGU6ICdDcsOpZXInLFxuICAgICAgdXBsb2FkOiAnQWpvdXRlciB1bmUgaW1hZ2UnLFxuICAgICAgc2hhcmU6ICdQYXJ0YWdlcicsXG4gICAgICBjYW5jZWw6ICdBbm51bGVyJyxcbiAgICAgIGJhY2s6ICdSZXRvdXInLFxuICAgICAgbmV4dDogJ1N1aXZhbnQnLFxuICAgICAgcHJvcGVydGllczogJ1Byb3ByacOpdMOpcycsXG4gICAgICBkZXRhaWxzOiAnRMOpdGFpbHMnLFxuICAgICAgYWN0aXZpdHk6ICdBY3Rpdml0w6knLFxuICAgICAgcmVxdWlyZWQ6ICdMZSBjaGFtcHMgZXN0IHJlcXVpcycsXG4gICAgICBleGlzdHM6ICdDZSBub20gZXN0IGTDqWrDoCB1dGlsaXPDqScsXG4gICAgICBtaW5MZW5ndGg6ICdOb21icmUgbWluaW1hbCBkZSBjYXJhY3TDqHJlcyA6IHt7bGVufX0nLFxuICAgICAgbWF4TGVuZ3RoOiAnTm9tYnJlIGRlIGNhcmFjdMOocmVzIGF1dG9yaXPDqSA6IHt7bGVufX0nLFxuICAgICAgbm9XaGl0ZXNwYWNlOiAnTGEgdmFsZXVyIG5lIHBldXQgcGFzIGNvbW1lbmNlciBvdSBmaW5pciBwYXIgdW4gZXNwYWNlLicsXG4gICAgICBydWxlOiAnUsOoZ2xlIG7CsHt7aWR9fScsXG4gICAgICBkZWZhdWx0UnVsZTogXCJSw6hnbGUgcGFyIGTDqWZhdXQgKG5lIHMnYXBwbGlxdWUgcXVlIHNpIGF1Y3VuZSBhdXRyZSByw6hnbGUgbidlc3QgdmFsaWTDqWUpXCIsXG4gICAgICBkaXNwbGF5TW9kZUltYWdlOiBcIk1vZGUgZCdhZmZpY2hhZ2UgZGUgbCdpbWFnZVwiLFxuICAgICAgc2l6ZTogXCJUYWlsbGUgZGUgbCdpbWFnZVwiLFxuICAgICAgZGVsZXRlQXR0cmlidXRlQ29uZmlybU1lc3NhZ2U6XG4gICAgICAgICdDZXQgYXR0cmlidXQgbmUgc2VyYSBwbHVzIHZpc2libGUgcG91ciBsZXMgZG9ubsOpZXMgbGUgcG9zc8OpZGFudC4gQ29uZmlybWV6LXZvdXMgbGEgc3VwcHJlc3Npb24gPycsXG4gICAgICBwb3NpdGlvbjoge1xuICAgICAgICBGVUxMOiAnSWNvbmUgcGxlaW5lJyxcbiAgICAgICAgVE9QX0xFRlQ6ICdFbiBoYXV0IMOgIGdhdWNoZScsXG4gICAgICAgIFRPUF9SSUdIVDogJ0VuIGhhdXQgw6AgZHJvaXRlJyxcbiAgICAgICAgQk9UVE9NX0xFRlQ6ICdFbiBiYXMgw6AgZ2F1Y2hlJyxcbiAgICAgICAgQk9UVE9NX1JJR0hUOiAnRW4gYmFzIMOgIGRyb2l0ZSdcbiAgICAgIH0sXG4gICAgICBjdXN0b21pemU6IHtcbiAgICAgICAgdGl0bGU6ICdQZXJzb25uYWxpc2VyJyxcbiAgICAgICAgdGVtcGxhdGU6ICdUb29sdGlwIChDYXJ0ZSAmIEdyYXBoZSknLFxuICAgICAgICB1cGRhdGU6ICdNZXR0cmUgw6Agam91ciBsZSB0b29sdGlwJyxcbiAgICAgICAgYWR2YW5jZWQ6ICdNb2RlIGF2YW5jw6knLFxuICAgICAgICBuYW1lOiAnTW9kw6hsZSBtw6l0aWVyJyxcbiAgICAgICAgdGVjaG5pY2FsSWQ6ICdJZCB0ZWNobmlxdWUnLFxuICAgICAgICB0eXBlOiAnQ2hvaXNpc3NleiBsZSB0eXBlIGRlIHRvb2x0aXAgw6AgdXRpbGlzZXInLFxuICAgICAgICBzaW1wbGlmaWVkOiAnQ2hvaXNpc3NleiBsZXMgYXR0cmlidXRzIMOgIGFmZmljaGVyJyxcbiAgICAgICAgZXhlbXBsZTogJ3ZhbGV1ciBkZSB7e2V4cHJ9fScsXG4gICAgICAgIHRhYmxlOiAnQXR0cmlidXRzIHBhciBkw6lmYXV0IChUYWJsZSknLFxuICAgICAgICB0aWxlOiAnQXR0cmlidXRzIGFmZmljaMOpcyBzdXIgbGEgdHVpbGUnLFxuICAgICAgICB0aWxlSGludDogJ1NldWxlbWVudCBlbnRyZSAxIGV0IHt7bWF4fX0gYXR0cmlidXRzIHBldXZlbnQgw6p0cmUgYWZmaWNow6lzIGRhbnMgdW5lIHR1aWxlJyxcbiAgICAgICAgdGFibGVBdHRyczogJ0F0dHJpYnV0cyBkYW5zIGxhIHRhYmxlIHBhciBkw6lmYXV0JyxcbiAgICAgICAgdGlsZUF0dHJzOiAnQXR0cmlidXRzIHByw6lzZW50w6lzIGRhbnMgbGVzIHR1aWxlcycsXG4gICAgICAgIG5vVGFibGVBdHRyczogJ0F1dHJlcyBhdHRyaWJ1dHMnLFxuICAgICAgICBub1RpbGVBdHRyczogJ0F0dHJpYnV0cyBub24gYWZmaWNow6lzJyxcbiAgICAgICAgdXBkYXRlVGFibGU6IFwiTWV0dHJlIMOgIGpvdXIgbGVzIGF0dHJpYnV0cyBwYXIgZMOpZmF1dCBkJ3VuZSB0YWJsZVwiLFxuICAgICAgICB1cGRhdGVUaWxlOiAnTWV0dHJlIMOgIGpvdXIgbGVzIGF0dHJpYnV0cyBkZXMgdHVpbGVzJyxcbiAgICAgICAgdXBkYXRlSWNvbnM6ICdNZXR0cmUgw6Agam91ciBsZXMgcsOoZ2xlcyBkZSBzeW1ib2xlcydcbiAgICAgIH0sXG4gICAgICB2YXJUeXBlOiB7XG4gICAgICAgIGludDogJ05vbWJyZSBlbnRpZXInLFxuICAgICAgICBkb3VibGU6ICdOb21icmUgZMOpY2ltYWwnLFxuICAgICAgICBzdHJpbmc6ICdUZXh0ZScsXG4gICAgICAgIHV1aWQ6ICdJZGVudGlmaWFudCB1dWlkJyxcbiAgICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgICBsaXN0OiAnTGlzdGUgZGUgdmFsZXVycydcbiAgICAgIH0sXG4gICAgICBtZW51czoge1xuICAgICAgICBlbnZpcm9ubWVudDogXCJDb250ZXh0ZXMgZCdleMOpY3V0aW9uXCIsXG4gICAgICAgIHVzZXI6ICdVdGlsaXNhdGV1cnMnLFxuICAgICAgICAnbWV0YWRhdGEtdXNlcic6ICdQcm9maWwgdXRpbGlzYXRldXInLFxuICAgICAgICAnYWJhYy1ydWxlcyc6ICdSw6hnbGVzIEFCQUMnLFxuICAgICAgICAnbWV0YWRhdGEtcnVsZXMnOiAnUsOoZ2xlcyBNw6l0YWRvbm7DqWVzJyxcbiAgICAgICAgZGF0YXNldDogJ0pldXggZGUgZG9ubsOpZXMnLFxuICAgICAgICBjbGFzc2VzOiAnTW9kw6hsZXMgZGUgZG9ubsOpZXMnLFxuICAgICAgICBwcmVkaWNhdGVzOiAnUHLDqWRpY2F0cycsXG4gICAgICAgIG1ldGFkYXRhOiAnTcOpdGFkb25uw6llcycsXG4gICAgICAgIGZpZWxkczogJ1R5cGVzIG3DqXRpZXInLFxuICAgICAgICAncmVsYXRpb24tdHlwZXMnOiAnVHlwZXMgZGUgcmVsYXRpb24nLFxuICAgICAgICBsaW5rczogJ0xpZW4gZW50cmUgYXR0cmlidXRzJyxcbiAgICAgICAgbW9kZWw6ICdNb2TDqGxlIG3DqXRpZXInLFxuICAgICAgICBhY2Nlc3M6ICdBY2PDqHMgYXV4IGRvbm7DqWVzJ1xuICAgICAgfSxcbiAgICAgIHByZWRpY2F0ZXM6IHtcbiAgICAgICAgbGlzdDogJ1Byw6lkaWNhdHMnLFxuICAgICAgICBhZGQ6ICdDcsOpZXIgdW4gbm91dmVhdSBwcsOpZGljYXQnLFxuICAgICAgICBlZGl0OiAnTW9kaWZpZXIgdW4gcHLDqWRpY2F0JyxcbiAgICAgICAgaW5mbzogJ0TDqXRhaWxzIGR1IHByw6lkaWNhdCcsXG4gICAgICAgIG51bTogJ0lkLicsXG4gICAgICAgIG5hbWU6ICdOb20nLFxuICAgICAgICB2YWx1ZTogJ0V4cHJlc3Npb24gY29uZGl0aW9ubmVsbGUgZGUgZMOpY2xlbmNoZW1lbnQnLFxuICAgICAgICB2YWxpZEVkaXQ6ICdJbmZvcm1hdGlvbicsXG4gICAgICAgIHZhbGlkRWRpdE1lc3NhZ2U6ICdDZSBwcsOpZGljYXQgZXN0IHV0aWxpc8OpIGRhbnMge3t1c2VkfX0gcsOoZ2xlcy4gVm91bGV6LXZvdXMgdnJhaW1lbnQgbGUgbW9kaWZpZXIgPydcbiAgICAgIH0sXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICB0aXRsZTogJ01ldGFkb25uw6llcycsXG4gICAgICAgIGFkZDogJ0Nyw6llciB1bmUgbWV0YWRvbm7DqWUnLFxuICAgICAgICBlZGl0OiAnTW9kaWZpZXIgdW5lIG1ldGFkb25uw6llJyxcbiAgICAgICAgZGV0YWlsczogJ0TDqXRhaWxzIGRlIGxhIG1ldGFkb25uw6llJyxcbiAgICAgICAgZGV0YWlsc1VzZXI6ICdEw6l0YWlscyBkdSBwcm9maWwgdXRpbGlzYXRldXInLFxuICAgICAgICBpZDogJ0lEJyxcbiAgICAgICAgbGFiZWw6ICdOb20nLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICBpbnZhbGlkOiAnTGUgY2hhbXBzIGVzdCByZXF1aXMnLFxuICAgICAgICBsaXN0TGFiZWw6ICdOb20gZGUgbGEgdmFsZXVyJyxcbiAgICAgICAgYWRkVmFsdWU6ICdBam91dGVyIHVuZSBub3V2ZWxsZSB2YWxldXInLFxuICAgICAgICByZW1vdmVWYWx1ZTogJ1N1cHByaW1lciBjZXR0ZSB2YWxldXInLFxuICAgICAgICBzeXN0ZW06ICdNw6l0YWRvbm7DqWUgc3lzdMOobWUnXG4gICAgICB9LFxuICAgICAgJ21ldGFkYXRhLXJ1bGVzJzoge1xuICAgICAgICB0aXRsZTogJ1LDqGdsZXMgTWV0YWRvbm7DqWVzJyxcbiAgICAgICAgbGFiZWw6ICdOb20nLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ0xlIG5vbSBkZSBsYSByw6hnbGUgZXN0IGTDqWrDoCBwcmlzIHBvdXIgdW5lIGF1dHJlIHLDqGdsZSwgdmV1aWxsZXogZW4gdXRpbGlzZXIgdW4gYXV0cmUnLFxuICAgICAgICAnaXMtc2FtZS1ydWxlcyc6IFwiTGEgbcOqbWUgcsOoZ2xlIGEgZMOpasOgIMOpdMOpIGNvbmZpZ3Vyw6llIGV0IGVucmVnaXN0csOpZSwgdm91cyBwb3V2ZXogbCd1dGlsaXNlclwiLFxuICAgICAgICAnbWV0YWRhdGEtaXRlbSc6IHtcbiAgICAgICAgICBuYW1lOiAnTWV0YWRvbm7DqWVzIGNpYmxlJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uIGRlIGxhIG1ldGFkb25uw6llIGNpYmxlJyxcbiAgICAgICAgICB0eXBlOiAnVHlwZSBkZSBsYSBtZXRhZG9ubsOpZSBjaWJsZSdcbiAgICAgICAgfSxcbiAgICAgICAgJ21ldGFkYXRhLXVzZXInOiB7XG4gICAgICAgICAgbmFtZTogJ1Byb2ZpbCB1dGlsaXNhdGV1ciBzb3VyY2UnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24gZHUgcHJvZmlsIHV0aWxpc2F0ZXVyIHNvdXJjZScsXG4gICAgICAgICAgdHlwZTogJ1R5cGUgZHUgcHJvZmlsIHV0aWxpc2F0ZXVyIHNvdXJjZSdcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIHRpdGxlOiAnTW9kaWZpZXIgdW5lIHLDqGdsZSBkZSBtZXRhZG9ubsOpZXMnXG4gICAgICAgIH0sXG4gICAgICAgIGFkZDoge1xuICAgICAgICAgIHRpdGxlOiAnQ3LDqWVyIHVuZSBub3V2ZWxsZSByw6hnbGUgZGUgbWV0YWRvbm7DqWVzJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZGF0YXNldDoge1xuICAgICAgICBkZWxldGU6XG4gICAgICAgICAgXCJMJ2Vuc2VtYmxlIGRlcyB2ZXJzaW9ucyBldCBkZXMgZG9ubsOpZXMgYXNzb2Npw6llcyBzZXJvbnQgc3VwcHJpbcOpZXMuIExlcyByZXN0aXR1dGlvbnMgZXQgcHLDqXNlbnRhdGlvbnMgdXRpbGlzYW50IGNlIGpldSBkZSBkb25uw6llcyBuJ2FmZmljaGVyb250IHBsdXMgbGVzIGRvbm7DqWVzIGNvcnJlc3BvbmRhbnRlcy4gQ29uZmlybWV6LXZvdXMgbGEgc3VwcHJlc3Npb24gP1wiLFxuICAgICAgICB0aXRsZTogJ0pldXggZGUgZG9ubsOpZXMnLFxuICAgICAgICBkZXRhaWxzOiAnRMOpdGFpbHMnLFxuICAgICAgICBkYXRhc2V0RGV0YWlsczogJ0TDqXRhaWxzIGR1IGpldSBkZSBkb25uw6llcycsXG4gICAgICAgIGlkOiAnSWRlbnRpZmlhbnQnLFxuICAgICAgICBuYW1lOiAnTm9tJyxcbiAgICAgICAgb0NsYXNzOiAnTW9kw6hsZSBtw6l0aWVyJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ0xlIG5vbSBkdSBqZXUgZGUgZG9ubsOpZXMgZXN0IGTDqWrDoCBwcmlzLCB2ZXVpbGxleiBlbiB1dGlsaXNlciB1biBhdXRyZScsXG4gICAgICAgIGFkZDoge1xuICAgICAgICAgIHRpdGxlOiAnQ3LDqWVyIHVuIGpldSBkZSBkb25uw6llcydcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIHRpdGxlOiAnTW9kaWZpZXIgdW4gamV1IGRlIGRvbm7DqWVzJ1xuICAgICAgICB9LFxuICAgICAgICBPUEVOOiAnT3V2ZXJ0JyxcbiAgICAgICAgQ0xPU0VEOiAnRmVybcOpJyxcbiAgICAgICAgTU9ESUZJQUJMRTogJ01vZGlmaWFibGUnLFxuICAgICAgICBzdWNjZXNzOiAnTW9kaWZpY2F0aW9uIGVmZmVjdHXDqWUgYXZlYyBzdWNjw6hzJyxcbiAgICAgICAgY29uZmxpY3Q6XG4gICAgICAgICAgXCJBdHRlbnRpb24sIGxlcyB0YWJsZWF1eCBkZSBib3JkIHN1aXZhbnRzIHNvbnQgcGFydGFnw6lzIMOgIGRlcyBncm91cGVzIHF1aSBuJ2F1cm9udCBwbHVzIGFjY8OocyBhdXggZG9ubsOpZXMgOlwiLFxuICAgICAgICBlbnRpdGllczoge1xuICAgICAgICAgIGRhc2hib2FyZDogJ1RhYmxlYXV4IGRlIGJvcmQnXG4gICAgICAgIH0sXG4gICAgICAgIGFkZFRhZzogJ0Fqb3V0ZXIgdW4gbm91dmVhdSB0YWcnXG4gICAgICB9LFxuICAgICAgJ2FiYWMtcnVsZXMnOiB7XG4gICAgICAgIGRlbGV0ZTogJ1N1cHByaW1lcicsXG4gICAgICAgIG1ldGFkYXRhVXNlcjogJ1Byb2ZpbCB1dGlsaXNhdGV1cicsXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgbGlzdDogJ1LDqGdsZXMgQWJhYycsXG4gICAgICAgICAgYWRkOiAnQ3LDqWVyIHVuZSByw6hnbGUgYWJhYycsXG4gICAgICAgICAgdmlldzogXCJEw6l0YWlscyBkJ3VuZSByw6hnbGUgYWJhY1wiLFxuICAgICAgICAgIGVkaXQ6ICdNb2RpZmllciB1bmUgcsOoZ2xlIGFiYWMnXG4gICAgICAgIH0sXG4gICAgICAgIGZvcm06IHtcbiAgICAgICAgICBpZDogJ051bcOpcm8nLFxuICAgICAgICAgIG5hbWU6ICdOb20nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIHN0YXR1czogJ1N0YXR1dCcsXG4gICAgICAgICAgc3RhdHVzQWN0aXZlOiAnQWN0aWYnLFxuICAgICAgICAgIHN0YXR1c0luYWN0aXZlOiAnSW5hY3RpZicsXG4gICAgICAgICAgcHJlZGljYXRlOiAnUHLDqWRpY2F0IGRlIGTDqWNsZW5jaGVtZW50JyxcbiAgICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgICAgdHlwZU1ldGFkYXRhOiAnTWV0YWRvbm7DqWUnLFxuICAgICAgICAgIHR5cGVBdHRyaWJ1dGU6ICdBdHRyaWJ1dCcsXG4gICAgICAgICAgdHlwZVNlbGVjdGVkOiAnVm91cyBuZSBwb3V2ZXogcGFzIGNoYW5nZXIgbGUgdHlwZSBhdmVjIGxlcyBjb25kaXRpb25zIGV4aXN0YW50ZXMnLFxuICAgICAgICAgIGFkZE1ldGFkYXRhOiAnQWpvdXRlciB1bmUgY29uZGl0aW9uIHN1ciB1bmUgbWV0YWRvbm7DqWUnLFxuICAgICAgICAgIGFkZEF0dHJpYnV0ZTogJ0Fqb3V0ZXIgdW5lIGNvbmRpdGlvbiBzdXIgdW4gYXR0cmlidXQnLFxuICAgICAgICAgIHRvZ2dsZUFuZDogJ0VUJyxcbiAgICAgICAgICB0b2dnbGVPcjogJ09VJyxcbiAgICAgICAgICBhZGRHcm91cDogJ0Fqb3V0ZXIgdW4gc291cy1ncm91cGUnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1c2VyOiB7XG4gICAgICAgIHRpdGxlOiAnUHJvZmlsIHV0aWxpc2F0ZXVyJyxcbiAgICAgICAgYWRkOiAnQ3LDqWVyIHVuIG5vdXZlYXUgcHJvZmlsIHV0aWxpc2F0ZXVyJyxcbiAgICAgICAgbGFiZWw6ICdOb20nLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGludmFsaWQ6ICdMZSBjaGFtcCBlc3QgcmVxdWlzJyxcbiAgICAgICAgZWRpdDogJ01vZGlmaWVyIHVuIHByb2ZpbCB1dGlsaXNhdGV1cidcbiAgICAgIH0sXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBsaXN0OiBcIkNvbnRleHRlcyBkJ2V4w6ljdXRpb25cIixcbiAgICAgICAgYWRkOiBcIkNyw6llciB1biBub3V2ZWF1IGNvbnRleHRlIGQnZXjDqWN1dGlvblwiLFxuICAgICAgICBlZGl0OiBcIk1vZGlmaWVyIHVuIGNvbnRleHRlIGQnZXjDqWN1dGlvblwiLFxuICAgICAgICBpbmZvOiBcIkTDqXRhaWxzIGR1IGNvbnRleHRlIGQnZXjDqWN1dGlvblwiLFxuICAgICAgICBmb3JtYXRJbnQ6ICdMYSB2YWxldXIgZG9pdCDDqnRyZSB1biBlbnRpZXIuJyxcbiAgICAgICAgZm9ybWF0RG91YmxlOiBcIkxhIHZhbGV1ciBkb2l0IMOqdHJlIHVuIGVudGllciwgbGUgc8OpcGFyYXRldXIgYXV0b3Jpc8OpIGVzdCB1biAnLidcIixcbiAgICAgICAgZm9ybWF0TmFtZTogJ0NhcmFjdMOocmVzIHNwZWNpYXV4IGF1dG9yaXPDqXM6IFsgLSwgXyBdICcsXG4gICAgICAgIG5hbWU6ICdOb20nLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIHZhbHVlOiAnVmFsZXVyIGRlIGxhIHZhcmlhYmxlJ1xuICAgICAgfSxcbiAgICAgIGNsYXNzZXM6IHtcbiAgICAgICAgbGlzdDogJ01vZMOobGVzIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgbmFtZTogJ05vbScsXG4gICAgICAgIHRpdGxlOiAnTW9kw6hsZSBkZSBkb25uw6llcyB7e2NsYXNzfX0nLFxuICAgICAgICBpbWFnZTogJ0ltYWdlJyxcbiAgICAgICAgZm9ybWF0TmFtZTogJ0NhcmFjdMOocmVzIGF1dG9yaXPDqXM6IFsgbWludXNjdWxlLCAtLCBfIF0nLFxuICAgICAgICBtb2RlbDogJ01vZMOobGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgbGluZXM6ICdMaWduZXMnLFxuICAgICAgICBhZGQ6ICdDcsOpZXIgdW4gbm91dmVhdSBtb2TDqGxlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgZWRpdDogJ01vZGlmaWVyIGxlIG1vZMOobGUgZGUgZG9ubsOpZXMnLFxuICAgICAgICByZW5hbWU6ICdSZW5vbW1lciBsZSBtb2TDqGxlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgYWRkQXR0cjogJ0F0dHJpYnV0JyxcbiAgICAgICAgaW5mb0F0dHI6ICdNb2TDqGxlIGRlIGRvbm7DqWVzIHt7Y2xhc3N9fSA+IEF0dHJpYnV0cycsXG4gICAgICAgIGluZm86ICdEw6l0YWlsIGR1IG1vZMOobGUgZGUgZG9ubsOpZXMnLFxuICAgICAgICBydWxlczogJ1LDqGdsZXMgZGUgZMOpZmluaXRpb24gZGUgc3ltYm9sZXMnLFxuICAgICAgICBjb25kaXRpb246ICdBY3RpZiBzZWxvbiB1bmUgY29uZGl0aW9uJyxcbiAgICAgICAgYXR0ck5hbWU6ICdBdHRyaWJ1dGUgw6AgdsOpcmlmaWVyJyxcbiAgICAgICAgdmFsdWU6ICdWYWxldXIgZGUgY29tcGFyYWlzb24nLFxuICAgICAgICBvcGVyYXRpb246ICdPcMOpcmF0aW9uIGRlIGNvbXBhcmFpc29uJyxcbiAgICAgICAgb3BlcmF0aW9uczoge1xuICAgICAgICAgIEVRVUFMUzogJ2VzdCDDqWdhbCcsXG4gICAgICAgICAgR1JFQVRFUjogJ2VzdCBwbHVzIGdyYW5kJyxcbiAgICAgICAgICBHUkVBVEVSX09SX0VRVUFMOiAnZXN0IHBsdXMgZ3JhbmQgb3Ugw6lnYWwnLFxuICAgICAgICAgIExPV0VSOiAncGx1cyBwZXRpdCcsXG4gICAgICAgICAgTE9XRVJfT1JfRVFVQUw6ICdwbHVzIHBldGl0IG91IMOpZ2FsJyxcbiAgICAgICAgICBDT05UQUlOUzogJ2NvbnRpZW50IHRleHR1ZWxsZW1lbnQnXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZUNsYXNzTW9kYWxNZXNzYWdlOlxuICAgICAgICAgICdJbXBvc3NpYmxlIGRlIGNyw6llciB1biBtb2TDqGxlIGRlIGRvbm7DqWVzIHNhbnMgYXR0cmlidXRzLiBWZXVpbGxleiBlbiBham91dGVyIGF1IG1vaW5zIHVuIGVuIGNsaXF1YW50IHN1ciBcIkFqb3V0ZXIgdW4gYXR0cmlidXRcIi4nLFxuICAgICAgICBjcmVhdGVDbGFzc0NvbmZpcm1NZXNzYWdlOiAnVm91bGV6LXZvdXMgY29uZmlybWVyIGxhIGNyw6lhdGlvbiBkdSBtb2TDqGxlIGRlIGRvbm7DqWVzID8nLFxuICAgICAgICBkZWxldGVDbGFzc0NvbmZpcm1NZXNzYWdlOiAnQ29uZmlybWV6LXZvdXMgbGEgc3VwcHJlc3Npb24gZGUgY2UgbW9kw6hsZSBtw6l0aWVyID8nLFxuICAgICAgICBsaW5rZWRPYmplY3RzOiAnT2JqZXRzIGxpw6lzJyxcbiAgICAgICAgdXNlZEVsc2V3aGVyZTogXCJVdGlsaXPDqSBwYXIgZGVzIG9iamV0cyBkJ2F1dHJlcyB1dGlsaXNhdGV1cnNcIixcbiAgICAgICAgYXNzb2NpYXRpb25zOiAnQXNzb2NpYXRpb25zJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgYWRkOiAnTm91dmVsIGF0dHJpYnV0JyxcbiAgICAgICAgICBlZGl0OiBcIk1vZGlmaWVyIGwnYXR0cmlidXRcIixcbiAgICAgICAgICBpbmZvOiBcIkTDqXRhaWwgZGUgbCdhdHRyaWJ1dFwiLFxuICAgICAgICAgIGRlbGV0ZTogXCJTdXBwcmltZXIgbCdhdHRyaWJ1dFwiLFxuICAgICAgICAgIG5hbWU6IFwiTGliZWxsw6kgZGUgbCdhdHRyaWJ1dFwiLFxuICAgICAgICAgIHRlY2huaWNhbE5hbWU6ICdOb20gdGVjaG5pcXVlJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICBmaWVsZDogJ1R5cGUnLFxuICAgICAgICAgIGNhdGVnb3J5OiAnQ2F0w6lnb3JpZScsXG4gICAgICAgICAgbXVsdGlWYWx1ZWQ6ICdNdWx0aSB2YWx1w6knXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IHtcbiAgICAgICAgYWRkOiAnQ3LDqWVyIHVuIG5vdXZlYXUgdHlwZSBtw6l0aWVyJyxcbiAgICAgICAgY3JzOiAnQ1JTIChjb2RlIEVQU0cpIDonLFxuICAgICAgICBpbmZvOiAnRMOpdGFpbCBkdSB0eXBlIG3DqXRpZXInLFxuICAgICAgICBsaXN0OiAnVHlwZXMgbcOpdGllcicsXG4gICAgICAgIGVkaXQ6ICdNb2RpZmllciBsZSB0eXBlIG3DqXRpZXInLFxuICAgICAgICBuYW1lOiAnTm9tJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIHR5cGU6ICdUeXBlIHRlY2huaXF1ZScsXG4gICAgICAgIGF0dHJpYnV0ZXM6ICdQcsOpc2VuY2UgZGFucyBkZXMgYXR0cmlidXRzJyxcbiAgICAgICAgYXR0cmlidXRlc1RhYjogJ0F0dHJpYnV0cycsXG4gICAgICAgIGF0dHJpYnV0ZU5hbWU6IFwiTm9tIGQnYXR0cmlidXRcIixcbiAgICAgICAgY2xhc3NOYW1lOiAnQ2xhc3NlJyxcbiAgICAgICAgY29uZmlybUZpZWxkRGVsZXRpb246ICdDb25maXJtZXotdm91cyBsYSBzdXBwcmVzc2lvbiBkZSBjZSB0eXBlIG3DqXRpZXIgPycsXG4gICAgICAgIGZpZWxkVHlwZToge1xuICAgICAgICAgIGludDogJ05vbWJyZSBlbnRpZXInLFxuICAgICAgICAgIGxvbmc6ICdOb21icmUgZW50aWVyIGxvbmcnLFxuICAgICAgICAgIGRlY2ltYWw6ICdOb21icmUgZMOpY2ltYWwnLFxuICAgICAgICAgIHN0cmluZzogJ1RleHRlIGJydXQnLFxuICAgICAgICAgIGtleXdvcmQ6ICdUZXh0ZSBpbmRleMOpJyxcbiAgICAgICAgICBpbnN0YW50OiAnRGF0ZScsXG4gICAgICAgICAgcmF3OiAnRG9ubsOpZSBub24gc3RydWN0dXLDqWUnLFxuICAgICAgICAgIHBvaW50OiAnUG9pbnQnLFxuICAgICAgICAgIG11bHRpcG9pbnQ6ICdNdWx0aS1wb2ludHMnLFxuICAgICAgICAgIGxpbmU6ICdMaWduZScsXG4gICAgICAgICAgbXVsdGlsaW5lOiAnTXVsdGktbGlnbmVzJyxcbiAgICAgICAgICBwb2x5Z29uOiAnUG9seWdvbmUnLFxuICAgICAgICAgIG11bHRpcG9seWdvbjogJ011bHRpLXBvbHlnb25lcycsXG4gICAgICAgICAgaW5mb3JtYXRpb246IHtcbiAgICAgICAgICAgIGludDogJ1Blcm1ldCBkZSBzdG9ja2VyIGRlcyBkb25uw6llcyBudW3DqXJpcXVlcyBlbnRpw6hyZXMgaW5mw6lyaWV1cmVzIMOgIDJeMzInLFxuICAgICAgICAgICAgbG9uZzogJ1Blcm1ldCBkZSBzdG9ja2VyIGRlcyBkb25uw6llcyBudW3DqXJpcXVlcyBlbnRpw6hyZXMgcG91dmFudCBkw6lwYXNzZXIgMl4zMicsXG4gICAgICAgICAgICBkZWNpbWFsOiAnUGVybWV0IGRlIHN0b2NrZXIgZGVzIGRvbm7DqWVzIG51bcOpcmlxdWVzIGF2ZWMgZGVzIGTDqWNpbWFsZXMnLFxuICAgICAgICAgICAgc3RyaW5nOlxuICAgICAgICAgICAgICBcIlBlcm1ldCBkZSBzdG9ja2VyIGRlcyBkb25uw6llcyBhdSBmb3JtYXQgYWxwaGFudW3DqXJpcXVlLiBDZXMgZG9ubsOpZXMgbmUgc29udCBwYXMgaW5kZXjDqWVzIDogaWwgZXN0IHBvc3NpYmxlIGRlIGZhaXJlIHVuZSByZWNoZXJjaGUgZGVzc3VzIG1haXMgcGFzIGQnYWdyw6lnYXRpb25cIixcbiAgICAgICAgICAgIGtleXdvcmQ6XG4gICAgICAgICAgICAgICdQZXJtZXQgZGUgc3RvY2tlciBkZXMgZG9ubsOpZXMgYXUgZm9ybWF0IGFscGhhbnVtw6lyaXF1ZS4gQ2VzIGRvbm7DqWVzIHNvbnQgaW5kZXjDqWVzIDogaWwgZXN0IHBvc3NpYmxlIGRlIGZhaXJlIHVuZSByZWNoZXJjaGUgZGVzc3VzIGFpbnNpIHF1ZSBkZXMgYWdyw6lnYXRpb25zLicsXG4gICAgICAgICAgICBpbnN0YW50OiAnUGVybWV0IGRlIHN0b2NrZXIgdW5lIGRhdGUnLFxuICAgICAgICAgICAgcmF3OiAncGVybWV0IGRlIHN0b2NrZXIgZGVzIGRvbm7DqWVzIGRlIHR5cGUgaW1hZ2Ugb3UgZmljaGllcicsXG4gICAgICAgICAgICBwb2ludDpcbiAgICAgICAgICAgICAgXCJQZXJtZXQgZGUgc3RvY2tlciBkZXMgY29vcmRvbm7DqWVzIGfDqW9ncmFwaGlxdWVzIGQndW4gb2JqZXQgcmVwcsOpc2VudMOpIHBhciB1biBwb2ludCAoZm9ybWF0IGfDqW9qc29uKVwiLFxuICAgICAgICAgICAgbXVsdGlwb2ludDpcbiAgICAgICAgICAgICAgXCJQZXJtZXQgZGUgc3RvY2tlciBkZXMgY29vcmRvbm7DqWVzIGfDqW9ncmFwaGlxdWVzIGQndW4gb2JqZXQgY29tcG9zw6kgZGUgcGx1c2lldXJzIHBvaW50cyBub24gcmVsacOpcyAoZm9ybWF0IGfDqW9qc29uKVwiLFxuICAgICAgICAgICAgbGluZTogXCJQZXJtZXQgZGUgc3RvY2tlciBkZXMgY29vcmRvbm7DqWVzIGfDqW9ncmFwaGlxdWVzIGQndW4gb2JqZXQgcmVwcsOpc2VudMOpIGNvbW1lIHVuZSBsaWduZSAoZm9ybWF0IGfDqW9qc29uKVwiLFxuICAgICAgICAgICAgbXVsdGlsaW5lOlxuICAgICAgICAgICAgICBcIlBlcm1ldCBkZSBzdG9ja2VyIGRlcyBjb29yZG9ubsOpZXMgZ8Opb2dyYXBoaXF1ZXMgZCd1biBvYmpldCByZXByw6lzZW50w6kgYXZlYyBwbHVzaWV1cnMgbGlnbmVzIG5vbiByZWxpw6llcyBlbnRyZSBlbGxlcyAobG9uZ2l0dWRlIGV0IGxhdGl0dWRlIGZvcm1hdCBnw6lvanNvbilcIixcbiAgICAgICAgICAgIHBvbHlnb246XG4gICAgICAgICAgICAgIFwiUGVybWV0IGRlIHN0b2NrZXIgZGVzIGNvb3Jkb25uw6llcyBnw6lvZ3JhcGhpcXVlcyBkJ3VuIG9iamV0IHJlcHLDqXNlbnTDqSBwYXIgdW4gcG9seWdvbmUgKGZvcm1hdCBnw6lvanNvbilcIixcbiAgICAgICAgICAgIG11bHRpcG9seWdvbjpcbiAgICAgICAgICAgICAgXCJQZXJtZXQgZGUgc3RvY2tlciBkZXMgY29vcmRvbm7DqWVzIGfDqW9ncmFwaGlxdWVzIGQndW4gb2JqZXQgcmVwcsOpc2VudMOpIHBhciBwbHVzaWV1cnMgcG9seWdvbmVzIGltYnJpcXXDqXMgb3Ugbm9uIChmb3JtYXQgZ8Opb2pzb24pXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJhd01ldGhvZHM6IHtcbiAgICAgICAgICBodHRwOiAnRGVwdWlzIHVuZSB1cmwnLFxuICAgICAgICAgIHVwbG9hZDogJ1TDqWzDqXZlcnNlciBkZXB1aXMgbW9uIG9yZGluYXRldXInXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1c2VySW5mbzoge1xuICAgICAgICBsaXN0OiAnVXRpbGlzYXRldXJzJyxcbiAgICAgICAgaW5mbzogXCJEw6l0YWlsIGRlIGwndXRpbGlzYXRldXJcIixcbiAgICAgICAgcHJvZmlsZTogJ1Byb2ZpbCcsXG4gICAgICAgIGFkZE1ldGFkYXRhOiAnQWpvdXRlcicsXG4gICAgICAgIGVkaXRNZXRhZGF0YTogJ01vZGlmaWVyIGxhIG3DqXRhZG9ubsOpZScsXG4gICAgICAgIG5hbWU6ICdQcsOpbm9tJyxcbiAgICAgICAgZmFtaWx5TmFtZTogJ05vbSBkZSBmYW1pbGxlJyxcbiAgICAgICAgZW1haWw6ICdBZHJlc3NlIG1haWwnLFxuICAgICAgICBtZXRhZGF0YTogJ03DqXRhZG9ubsOpZXMnLFxuICAgICAgICByb2xlczogJyBSw7RsZXMnXG4gICAgICB9LFxuICAgICAgcmVsYXRpb25UeXBlczoge1xuICAgICAgICBsaXN0OiAnVHlwZXMgZGUgcmVsYXRpb25zJyxcbiAgICAgICAgYWRkOiAnQWpvdXRlciBsZSB0eXBlIGRlIHJlbGF0aW9uJyxcbiAgICAgICAgZWRpdDogJ01vZGlmaWVyIGxlIHR5cGUgZGUgcmVsYXRpb24nLFxuICAgICAgICBpbmZvOiAnRMOpdGFpbCBkdSB0eXBlIGRlIHJlbGF0aW9uJyxcbiAgICAgICAgbmFtZTogJ05vbScsXG4gICAgICAgIG5iUmVsYXRpb246ICdOb21icmUgZGUgcmVsYXRpb25zIGRlIGNlIHR5cGUnLFxuICAgICAgICBuYkxpbms6ICdOb21icmUgZGUgbGllbnMgdXRpbGlzYW50IGNlIHR5cGUgZGUgcmVsYXRpb24nLFxuICAgICAgICBkYXRlTW9kaWZpY2F0aW9uOiAnRGF0ZSBkZSBtb2RpZmljYXRpb24nLFxuICAgICAgICBkZWxldGFibGU6ICdQZXV0IMOqdHJlIHN1cHByaW3DqScsXG4gICAgICAgIGRlbGV0ZU1vZGFsTWVzc2FnZTogJ0NlIHR5cGUgZGUgcmVsYXRpb24gbmUgcGV1dCDDqnRyZSBzdXBwcmltw6kgY2FyIHV0aWxpc8OpLidcbiAgICAgIH0sXG4gICAgICBsaW5rczoge1xuICAgICAgICBsaXN0OiAnTGllbnMgZW50cmUgYXR0cmlidXRzJyxcbiAgICAgICAgYWRkOiAnQWpvdXRlciB1biBub3V2ZWF1IGxpZW4gZW50cmUgYXR0cmlidXRzJyxcbiAgICAgICAgY2xhc3NTb3VyY2U6ICdNb2TDqGxlIG3DqXRpZXIgc291cmNlJyxcbiAgICAgICAgYXR0cmlidXRlU291cmNlOiAnQXR0cmlidXQgc291cmNlJyxcbiAgICAgICAgY2xhc3NEZXN0aW5hdGlvbjogJ01vZMOobGUgbcOpdGllciBkZSBkZXN0aW5hdGlvbicsXG4gICAgICAgIGF0dHJpYnV0ZURlc3RpbmF0aW9uOiAnQXR0cmlidXQgZGUgZGVzdGluYXRpb24nLFxuICAgICAgICByZWxhdGlvblR5cGU6ICdUeXBlIGRlIHJlbGF0aW9uJyxcbiAgICAgICAgc2VsZWN0UmVsYXRpb25UeXBlOiAnU2VsZWN0aW9ubmV6IHVuIHR5cGUgZGUgcmVsYXRpb24nXG4gICAgICB9LFxuICAgICAgYXNzb2NpYXRpb246IHtcbiAgICAgICAgQUJBQzogJ1LDqGdsZSBBQkFDJyxcbiAgICAgICAgTElOSzogJ1JlbGF0aW9uJyxcbiAgICAgICAgTkFNRURfUVVFUlk6ICdSZXF1w6p0ZSBub21tw6llJyxcbiAgICAgICAgV0lER0VUOiAnUmVzdGl0dXRpb24nLFxuICAgICAgICBEQVRBU0VUOiAnSmV1IGRlIGRvbm7DqWVzJyxcbiAgICAgICAgT0NMQVNTOiAnTW9kw6hsZSBkZSBkb25uw6llcycsXG4gICAgICAgIERBU0hCT0FSRDogJ1Byw6lzZW50YXRpb24nLFxuICAgICAgICBGSUVMRDogJ1R5cGUgbcOpdGllcidcbiAgICAgIH0sXG4gICAgICBzdG9yYWdlOiB7XG4gICAgICAgIGxhYmVsOiAnQmFzZSBkZSBzdG9ja2FnZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgUE9TVEdJUzpcbiAgICAgICAgICAgIFwiQ2Ugc3RvY2thZ2UgZXN0IGNvbnNlaWxsw6kgZW4gY2FzIGRlIHN0b2NrYWdlIGRlIGRvbm7DqWVzIGfDqW9ncmFwaGlxdWUgY29tcGxleGVzIG91IGRhbnMgZGVzIHN5c3TDqG1lcyBkZSBjb29yZG9ubsOpZXMgZGlmZsOpcmVudHMgZGUgV0dTIDg0LiBJbCBlc3QgcmVjb21tYW5kw6kgZGUgbmUgc3RvY2tlciBkYW5zIGNldHRlIGJhc2UgcXVlIGRlcyBtb2TDqGxlcyBtw6l0aWVyIGRvbnQgbGEgdm9sdW3DqXRyaWUgZGUgZG9ubsOpZXMgZXN0aW3DqWUgKGVuIHRlcm1lIGRlIG5vbWJyZSBkJ2l0ZW1zKSBuJ2VzdCBwYXMgdHJvcCDDqWxldsOpZS5cIixcbiAgICAgICAgICBFTEFTVElDOlxuICAgICAgICAgICAgXCJDZSBzdG9ja2FnZSBlc3QgY29uc2VpbGzDqSBlbiBjYXMgZGUgZm9ydGUgdm9sdW3DqXRyaWUgZGUgZG9ubsOpZXMgcHLDqXZ1ZSBwb3VyIGNlIG1vZMOobGUgbcOpdGllciAoZ3JhbmQgbm9tYnJlIGQnaXRlbXMpLiBTaSB2b3VzIHNvdWhhaXRleiBzdG9ja2VyIGRlcyBkb25uw6llcyBnw6lvZ3JhcGhpcXVlcyBkYW5zIGNlIG1vZMOobGUsIGRlcyBmb3JtZXMgc2ltcGxlcyBzb250IGNvbnNlaWxsw6llcyBldCBsZSBzeXN0w6htZSBkZSBjb29yZG9ubsOpZXMgZGUgcsOpZsOpcmVuY2UgdXRpbGlzw6kgZG9pdCDDqnRyZSBXR1MgODQuIENlIHN5c3TDqG1lIGRlIHN0b2NrYWdlIG9mZnJlIHVuZSBzY2FsYWJpbGl0w6kgaG9yaXpvbnRhbGVcIlxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgUE9TVEdJUzogJ1Bvc3RHSVMnLFxuICAgICAgICAgIEVMQVNUSUM6ICdFbGFzdGljU2VhcmNoJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2hhcmVkOiB7XG4gICAgICAgIGNhdGVnb3J5TW9kYWw6IHtcbiAgICAgICAgICBub0NhdGVnb3JpZXM6IFwiQXVjdW5lIGNhdMOpZ29yaWUgbidhIMOpdMOpIGNyw6nDqWUgcG91ciBsZSBtb21lbnRcIixcbiAgICAgICAgICBkYXRhc2V0OiB7XG4gICAgICAgICAgICBzZWxlY3Q6ICdTw6lsZWN0aW9ubmVyIHVuIHRhZycsXG4gICAgICAgICAgICBzZWFyY2hPckNyZWF0ZTogJ1JlY2hlcmNoZXIgdW4gdGFnIGV4aXN0YW50IE9VIGVuIGNyw6llciB1biBub3V2ZWF1JyxcbiAgICAgICAgICAgIG5hbWU6ICdUYWcnLFxuICAgICAgICAgICAgc2VsZWN0SXQ6ICdTw6lsZWN0aW9ubmVyIGxlIHRhZycsXG4gICAgICAgICAgICBjcmVhdGU6ICdDcsOpZXIgbGUgdGFnJyxcbiAgICAgICAgICAgIGFkZDogXCJuJ2V4aXN0ZSBwYXMgZW5jb3JlLiA8YnI+SWwgZXN0IHBvc3NpYmxlIFxcbiBkZSBsZSBjcsOpZXIgaWNpLiA8YnI+SWwgc2VyYSBhdXRvbWF0aXF1ZW1lbnQgc8OpbGVjdGlvbm7DqSBldCBham91dMOpIMOgIGxhIGxpc3RlIGRlcyB0YWdzLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhdHRyaWJ1dGU6IHtcbiAgICAgICAgICAgIHNlbGVjdDogJ1PDqWxlY3Rpb25uZXIgdW5lIGNhdMOpZ29yaWUnLFxuICAgICAgICAgICAgc2VhcmNoT3JDcmVhdGU6ICdSZWNoZXJjaGVyIHVuZSBjYXTDqWdvcmllIGV4aXN0YW50ZSBPVSBlbiBjcsOpZXIgdW5lIG5vdXZlbGxlJyxcbiAgICAgICAgICAgIG5hbWU6ICdDYXTDqWdvcmllJyxcbiAgICAgICAgICAgIHNlbGVjdEl0OiAnU8OpbGVjdGlvbm5lciBsYSBjYXTDqWdvcmllJyxcbiAgICAgICAgICAgIGNyZWF0ZTogJ0Nyw6llciBsYSBjYXTDqWdvcmllJyxcbiAgICAgICAgICAgIGFkZDogXCJuJ2V4aXN0ZSBwYXMgZW5jb3JlLiA8YnI+SWwgZXN0IHBvc3NpYmxlIFxcbiBkZSBsYSBjcsOpZXIgaWNpLiA8YnI+RWxsZSBzZXJhIGF1dG9tYXRpcXVlbWVudCBzw6lsZWN0aW9ubsOpZSBldCBham91dMOpZSDDoCBsYSBsaXN0ZSBkZXMgY2F0w6lnb3JpZXMuXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHRvb2x0aXA6IHtcbiAgICAgIGRlZmF1bHQ6ICdUb29sdGlwIHBhciBkw6lmYXV0JyxcbiAgICAgIGF0dHJpYnV0ZTogJ1Rvb2x0aXAgYWZmaWNoYW50IGNlcnRhaW5zIGF0dHJpYnV0cycsXG4gICAgICBjbHVzdGVyOiAnVG9vbHRpcCBwb3VyIGxlcyBjbHVzdGVycyAoZ3JhcGhlcyknLFxuICAgICAgbGluazogJ1Rvb2x0aXAgcG91ciBsZXMgbGllbnMgKGdyYXBoZXMpJyxcbiAgICAgIG5vbmU6ICdQYXMgZGUgdG9vbHRpcCdcbiAgICB9XG4gIH1cbn07XG4iXX0=
397
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vaTE4bi9mci50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLCtCQUErQjtZQUNoRCxjQUFjLEVBQUUsYUFBYTtZQUM3QixXQUFXLEVBQUUsUUFBUTtZQUNyQixJQUFJLEVBQUUsVUFBVTtZQUNoQixNQUFNLEVBQUUsVUFBVTtZQUNsQixNQUFNLEVBQUUsV0FBVztZQUNuQixHQUFHLEVBQUUsU0FBUztZQUNkLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxtQkFBbUI7WUFDM0IsS0FBSyxFQUFFLFVBQVU7WUFDakIsTUFBTSxFQUFFLFNBQVM7WUFDakIsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsU0FBUztZQUNmLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsTUFBTSxFQUFFLHlCQUF5QjtZQUNqQyxTQUFTLEVBQUUsd0NBQXdDO1lBQ25ELFNBQVMsRUFBRSx5Q0FBeUM7WUFDcEQsWUFBWSxFQUFFLHlEQUF5RDtZQUN2RSxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLFdBQVcsRUFBRSwwRUFBMEU7WUFDdkYsZ0JBQWdCLEVBQUUsNkJBQTZCO1lBQy9DLElBQUksRUFBRSxtQkFBbUI7WUFDekIsNkJBQTZCLEVBQzNCLGtHQUFrRztZQUNwRyxVQUFVLEVBQUU7Z0JBQ1YsWUFBWSxFQUFFLHFCQUFxQjtnQkFDbkMsZUFBZSxFQUFFLG9CQUFvQjtnQkFDckMsVUFBVSxFQUFFLGtCQUFrQjthQUMvQjtZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsY0FBYztnQkFDcEIsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsU0FBUyxFQUFFLGtCQUFrQjtnQkFDN0IsV0FBVyxFQUFFLGlCQUFpQjtnQkFDOUIsWUFBWSxFQUFFLGlCQUFpQjthQUNoQztZQUNELFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsZUFBZTtnQkFDdEIsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsTUFBTSxFQUFFLDBCQUEwQjtnQkFDbEMsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLElBQUksRUFBRSxlQUFlO2dCQUNyQixXQUFXLEVBQUUsY0FBYztnQkFDM0IsSUFBSSxFQUFFLDBDQUEwQztnQkFDaEQsVUFBVSxFQUFFLHFDQUFxQztnQkFDakQsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsS0FBSyxFQUFFLDhCQUE4QjtnQkFDckMsSUFBSSxFQUFFLGlDQUFpQztnQkFDdkMsUUFBUSxFQUFFLDZFQUE2RTtnQkFDdkYsVUFBVSxFQUFFLG9DQUFvQztnQkFDaEQsU0FBUyxFQUFFLHFDQUFxQztnQkFDaEQsWUFBWSxFQUFFLGtCQUFrQjtnQkFDaEMsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsV0FBVyxFQUFFLG9EQUFvRDtnQkFDakUsVUFBVSxFQUFFLHdDQUF3QztnQkFDcEQsV0FBVyxFQUFFLHNDQUFzQzthQUNwRDtZQUNELE9BQU8sRUFBRTtnQkFDUCxHQUFHLEVBQUUsZUFBZTtnQkFDcEIsTUFBTSxFQUFFLGdCQUFnQjtnQkFDeEIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLGtCQUFrQjthQUN6QjtZQUNELEtBQUssRUFBRTtnQkFDTCxXQUFXLEVBQUUsdUJBQXVCO2dCQUNwQyxJQUFJLEVBQUUsY0FBYztnQkFDcEIsZUFBZSxFQUFFLG9CQUFvQjtnQkFDckMsWUFBWSxFQUFFLGFBQWE7Z0JBQzNCLGdCQUFnQixFQUFFLG9CQUFvQjtnQkFDdEMsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixNQUFNLEVBQUUsY0FBYztnQkFDdEIsZ0JBQWdCLEVBQUUsbUJBQW1CO2dCQUNyQyxLQUFLLEVBQUUsc0JBQXNCO2dCQUM3QixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsTUFBTSxFQUFFLG1CQUFtQjthQUM1QjtZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsV0FBVztnQkFDakIsR0FBRyxFQUFFLDJCQUEyQjtnQkFDaEMsSUFBSSxFQUFFLHNCQUFzQjtnQkFDNUIsSUFBSSxFQUFFLHFCQUFxQjtnQkFDM0IsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLDRDQUE0QztnQkFDbkQsU0FBUyxFQUFFLGFBQWE7Z0JBQ3hCLGdCQUFnQixFQUFFLGtGQUFrRjthQUNyRztZQUNELFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsR0FBRyxFQUFFLHNCQUFzQjtnQkFDM0IsSUFBSSxFQUFFLHlCQUF5QjtnQkFDL0IsT0FBTyxFQUFFLDBCQUEwQjtnQkFDbkMsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsRUFBRSxFQUFFLElBQUk7Z0JBQ1IsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLE1BQU07Z0JBQ1osV0FBVyxFQUFFLGFBQWE7Z0JBQzFCLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFNBQVMsRUFBRSxrQkFBa0I7Z0JBQzdCLFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLE1BQU0sRUFBRSxvQkFBb0I7YUFDN0I7WUFDRCxnQkFBZ0IsRUFBRTtnQkFDaEIsS0FBSyxFQUFFLG9CQUFvQjtnQkFDM0IsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osY0FBYyxFQUFFLHNGQUFzRjtnQkFDdEcsZUFBZSxFQUFFLDRFQUE0RTtnQkFDN0YsZUFBZSxFQUFFO29CQUNmLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELElBQUksRUFBRSw2QkFBNkI7aUJBQ3BDO2dCQUNELGVBQWUsRUFBRTtvQkFDZixJQUFJLEVBQUUsMkJBQTJCO29CQUNqQyxXQUFXLEVBQUUsMENBQTBDO29CQUN2RCxJQUFJLEVBQUUsbUNBQW1DO2lCQUMxQztnQkFDRCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLG1DQUFtQztpQkFDM0M7Z0JBQ0QsR0FBRyxFQUFFO29CQUNILEtBQUssRUFBRSx5Q0FBeUM7aUJBQ2pEO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsTUFBTSxFQUNKLG1OQUFtTjtnQkFDck4sS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLGNBQWMsRUFBRSwyQkFBMkI7Z0JBQzNDLEVBQUUsRUFBRSxhQUFhO2dCQUNqQixJQUFJLEVBQUUsS0FBSztnQkFDWCxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osY0FBYyxFQUFFLHVFQUF1RTtnQkFDdkYsR0FBRyxFQUFFO29CQUNILEtBQUssRUFBRSx5QkFBeUI7aUJBQ2pDO2dCQUNELElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsNEJBQTRCO2lCQUNwQztnQkFDRCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsT0FBTztnQkFDZixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsT0FBTyxFQUFFLG9DQUFvQztnQkFDN0MsUUFBUSxFQUNOLDRHQUE0RztnQkFDOUcsUUFBUSxFQUFFO29CQUNSLFNBQVMsRUFBRSxrQkFBa0I7aUJBQzlCO2dCQUNELE1BQU0sRUFBRSx3QkFBd0I7YUFDakM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFlBQVksRUFBRSxvQkFBb0I7Z0JBQ2xDLEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsYUFBYTtvQkFDbkIsR0FBRyxFQUFFLHNCQUFzQjtvQkFDM0IsSUFBSSxFQUFFLDBCQUEwQjtvQkFDaEMsSUFBSSxFQUFFLHlCQUF5QjtpQkFDaEM7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLEVBQUUsRUFBRSxRQUFRO29CQUNaLElBQUksRUFBRSxLQUFLO29CQUNYLFdBQVcsRUFBRSxhQUFhO29CQUMxQixNQUFNLEVBQUUsUUFBUTtvQkFDaEIsWUFBWSxFQUFFLE9BQU87b0JBQ3JCLGNBQWMsRUFBRSxTQUFTO29CQUN6QixTQUFTLEVBQUUsMkJBQTJCO29CQUN0QyxJQUFJLEVBQUUsTUFBTTtvQkFDWixZQUFZLEVBQUUsWUFBWTtvQkFDMUIsYUFBYSxFQUFFLFVBQVU7b0JBQ3pCLFlBQVksRUFBRSxtRUFBbUU7b0JBQ2pGLFdBQVcsRUFBRSwwQ0FBMEM7b0JBQ3ZELFlBQVksRUFBRSx1Q0FBdUM7b0JBQ3JELFNBQVMsRUFBRSxJQUFJO29CQUNmLFFBQVEsRUFBRSxJQUFJO29CQUNkLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLG9CQUFvQjtnQkFDM0IsR0FBRyxFQUFFLHFDQUFxQztnQkFDMUMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsSUFBSSxFQUFFLGdDQUFnQzthQUN2QztZQUNELFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixHQUFHLEVBQUUsdUNBQXVDO2dCQUM1QyxJQUFJLEVBQUUsa0NBQWtDO2dCQUN4QyxJQUFJLEVBQUUsaUNBQWlDO2dCQUN2QyxTQUFTLEVBQUUsZ0NBQWdDO2dCQUMzQyxZQUFZLEVBQUUsa0VBQWtFO2dCQUNoRixVQUFVLEVBQUUsMENBQTBDO2dCQUN0RCxJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsdUJBQXVCO2FBQy9CO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLElBQUksRUFBRSxLQUFLO2dCQUNYLEtBQUssRUFBRSw2QkFBNkI7Z0JBQ3BDLEtBQUssRUFBRSxPQUFPO2dCQUNkLFVBQVUsRUFBRSwyQ0FBMkM7Z0JBQ3ZELEtBQUssRUFBRSxRQUFRO2dCQUNmLFdBQVcsRUFBRSxhQUFhO2dCQUMxQixLQUFLLEVBQUUsUUFBUTtnQkFDZixHQUFHLEVBQUUsb0NBQW9DO2dCQUN6QyxJQUFJLEVBQUUsK0JBQStCO2dCQUNyQyxNQUFNLEVBQUUsK0JBQStCO2dCQUN2QyxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsSUFBSSxFQUFFLDZCQUE2QjtnQkFDbkMsS0FBSyxFQUFFLGtDQUFrQztnQkFDekMsU0FBUyxFQUFFLDJCQUEyQjtnQkFDdEMsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsS0FBSyxFQUFFLHVCQUF1QjtnQkFDOUIsU0FBUyxFQUFFLDBCQUEwQjtnQkFDckMsVUFBVSxFQUFFO29CQUNWLE1BQU0sRUFBRSxVQUFVO29CQUNsQixPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixnQkFBZ0IsRUFBRSx3QkFBd0I7b0JBQzFDLEtBQUssRUFBRSxZQUFZO29CQUNuQixjQUFjLEVBQUUsb0JBQW9CO29CQUNwQyxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQztnQkFDRCx1QkFBdUIsRUFDckIsaUlBQWlJO2dCQUNuSSx5QkFBeUIsRUFBRSwwREFBMEQ7Z0JBQ3JGLHlCQUF5QixFQUFFLHFEQUFxRDtnQkFDaEYsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLGFBQWEsRUFBRSw4Q0FBOEM7Z0JBQzdELFlBQVksRUFBRSxjQUFjO2dCQUM1QixJQUFJLEVBQUUsTUFBTTtnQkFDWixVQUFVLEVBQUU7b0JBQ1YsR0FBRyxFQUFFLGlCQUFpQjtvQkFDdEIsSUFBSSxFQUFFLHFCQUFxQjtvQkFDM0IsSUFBSSxFQUFFLHNCQUFzQjtvQkFDNUIsTUFBTSxFQUFFLHNCQUFzQjtvQkFDOUIsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsYUFBYSxFQUFFLGVBQWU7b0JBQzlCLFdBQVcsRUFBRSxhQUFhO29CQUMxQixLQUFLLEVBQUUsTUFBTTtvQkFDYixRQUFRLEVBQUUsV0FBVztvQkFDckIsV0FBVyxFQUFFLGFBQWE7aUJBQzNCO2FBQ0Y7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sR0FBRyxFQUFFLDhCQUE4QjtnQkFDbkMsR0FBRyxFQUFFLG1CQUFtQjtnQkFDeEIsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLElBQUksRUFBRSx5QkFBeUI7Z0JBQy9CLElBQUksRUFBRSxLQUFLO2dCQUNYLFdBQVcsRUFBRSxhQUFhO2dCQUMxQixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixVQUFVLEVBQUUsNkJBQTZCO2dCQUN6QyxhQUFhLEVBQUUsV0FBVztnQkFDMUIsYUFBYSxFQUFFLGdCQUFnQjtnQkFDL0IsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLG9CQUFvQixFQUFFLG1EQUFtRDtnQkFDekUsU0FBUyxFQUFFO29CQUNULEdBQUcsRUFBRSxlQUFlO29CQUNwQixJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixNQUFNLEVBQUUsWUFBWTtvQkFDcEIsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLE9BQU8sRUFBRSxNQUFNO29CQUNmLEdBQUcsRUFBRSx1QkFBdUI7b0JBQzVCLEtBQUssRUFBRSxPQUFPO29CQUNkLFVBQVUsRUFBRSxjQUFjO29CQUMxQixJQUFJLEVBQUUsT0FBTztvQkFDYixTQUFTLEVBQUUsY0FBYztvQkFDekIsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLFlBQVksRUFBRSxpQkFBaUI7b0JBQy9CLFdBQVcsRUFBRTt3QkFDWCxHQUFHLEVBQUUsc0VBQXNFO3dCQUMzRSxJQUFJLEVBQUUseUVBQXlFO3dCQUMvRSxPQUFPLEVBQUUsNkRBQTZEO3dCQUN0RSxNQUFNLEVBQ0osZ0tBQWdLO3dCQUNsSyxPQUFPLEVBQ0wsOEpBQThKO3dCQUNoSyxPQUFPLEVBQUUsNEJBQTRCO3dCQUNyQyxHQUFHLEVBQUUsd0RBQXdEO3dCQUM3RCxLQUFLLEVBQ0gscUdBQXFHO3dCQUN2RyxVQUFVLEVBQ1Isb0hBQW9IO3dCQUN0SCxJQUFJLEVBQUUsd0dBQXdHO3dCQUM5RyxTQUFTLEVBQ1AsNEpBQTRKO3dCQUM5SixPQUFPLEVBQ0wsd0dBQXdHO3dCQUMxRyxZQUFZLEVBQ1YsaUlBQWlJO3FCQUNwSTtpQkFDRjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsTUFBTSxFQUFFLGtDQUFrQztpQkFDM0M7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsY0FBYztnQkFDcEIsSUFBSSxFQUFFLHlCQUF5QjtnQkFDL0IsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFdBQVcsRUFBRSxTQUFTO2dCQUN0QixZQUFZLEVBQUUsd0JBQXdCO2dCQUN0QyxJQUFJLEVBQUUsUUFBUTtnQkFDZCxVQUFVLEVBQUUsZ0JBQWdCO2dCQUM1QixLQUFLLEVBQUUsY0FBYztnQkFDckIsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLEtBQUssRUFBRSxRQUFRO2FBQ2hCO1lBQ0QsYUFBYSxFQUFFO2dCQUNiLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLEdBQUcsRUFBRSw2QkFBNkI7Z0JBQ2xDLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLElBQUksRUFBRSw0QkFBNEI7Z0JBQ2xDLElBQUksRUFBRSxLQUFLO2dCQUNYLFVBQVUsRUFBRSxnQ0FBZ0M7Z0JBQzVDLE1BQU0sRUFBRSwrQ0FBK0M7Z0JBQ3ZELGdCQUFnQixFQUFFLHNCQUFzQjtnQkFDeEMsU0FBUyxFQUFFLG9CQUFvQjtnQkFDL0Isa0JBQWtCLEVBQUUsd0RBQXdEO2FBQzdFO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLEdBQUcsRUFBRSx5Q0FBeUM7Z0JBQzlDLFdBQVcsRUFBRSxzQkFBc0I7Z0JBQ25DLGVBQWUsRUFBRSxpQkFBaUI7Z0JBQ2xDLGdCQUFnQixFQUFFLDhCQUE4QjtnQkFDaEQsb0JBQW9CLEVBQUUseUJBQXlCO2dCQUMvQyxZQUFZLEVBQUUsa0JBQWtCO2dCQUNoQyxrQkFBa0IsRUFBRSxrQ0FBa0M7YUFDdkQ7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLElBQUksRUFBRSxVQUFVO2dCQUNoQixXQUFXLEVBQUUsZ0JBQWdCO2dCQUM3QixNQUFNLEVBQUUsYUFBYTtnQkFDckIsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsTUFBTSxFQUFFLG1CQUFtQjtnQkFDM0IsU0FBUyxFQUFFLGNBQWM7Z0JBQ3pCLEtBQUssRUFBRSxhQUFhO2FBQ3JCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxrQkFBa0I7Z0JBQ3pCLFdBQVcsRUFBRTtvQkFDWCxPQUFPLEVBQ0wsMlNBQTJTO29CQUM3UyxPQUFPLEVBQ0wsMlZBQTJWO2lCQUM5VjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsT0FBTyxFQUFFLFNBQVM7b0JBQ2xCLE9BQU8sRUFBRSxlQUFlO2lCQUN6QjthQUNGO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLGFBQWEsRUFBRTtvQkFDYixZQUFZLEVBQUUsK0NBQStDO29CQUM3RCxPQUFPLEVBQUU7d0JBQ1AsTUFBTSxFQUFFLHFCQUFxQjt3QkFDN0IsY0FBYyxFQUFFLG1EQUFtRDt3QkFDbkUsSUFBSSxFQUFFLEtBQUs7d0JBQ1gsUUFBUSxFQUFFLHFCQUFxQjt3QkFDL0IsTUFBTSxFQUFFLGNBQWM7d0JBQ3RCLEdBQUcsRUFBRSxxSUFBcUk7cUJBQzNJO29CQUNELFNBQVMsRUFBRTt3QkFDVCxNQUFNLEVBQUUsNEJBQTRCO3dCQUNwQyxjQUFjLEVBQUUsNkRBQTZEO3dCQUM3RSxJQUFJLEVBQUUsV0FBVzt3QkFDakIsUUFBUSxFQUFFLDJCQUEyQjt3QkFDckMsTUFBTSxFQUFFLG9CQUFvQjt3QkFDNUIsR0FBRyxFQUFFLCtJQUErSTtxQkFDcko7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixTQUFTLEVBQUUsc0NBQXNDO1lBQ2pELE9BQU8sRUFBRSxxQ0FBcUM7WUFDOUMsSUFBSSxFQUFFLGtDQUFrQztZQUN4QyxJQUFJLEVBQUUsZ0JBQWdCO1NBQ3ZCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZyVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBhZG1pbjoge1xuICAgICAgdGl0bGU6ICdBZG1pbmlzdHJhdGlvbicsXG4gICAgICB0aXRsZUluZGljYXRpb246ICdGZXJtZXIgbGUgbWVudSBBZG1pbmlzdHJhdGlvbicsXG4gICAgICBpbmZvTW9kYWxUaXRsZTogJ0luZm9ybWF0aW9uJyxcbiAgICAgIGNsb3NlTW9kYWxlOiAnRmVybWVyJyxcbiAgICAgIGVkaXQ6ICdNb2RpZmllcicsXG4gICAgICByZW5hbWU6ICdSZW5vbW1lcicsXG4gICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgYWRkOiAnTm91dmVhdScsXG4gICAgICB2YWxpZGF0ZTogJ1ZhbGlkZXInLFxuICAgICAgYWRkQ2xhc3M6ICdWYWxpZGVyIGxhIGNyw6lhdGlvbicsXG4gICAgICBhZGRBdHRyaWJ1dGU6ICdBam91dGVyIHVuIGF0dHJpYnV0JyxcbiAgICAgIGNyZWF0ZTogJ0Nyw6llcicsXG4gICAgICB1cGxvYWQ6ICdBam91dGVyIHVuZSBpbWFnZScsXG4gICAgICBzaGFyZTogJ1BhcnRhZ2VyJyxcbiAgICAgIGNhbmNlbDogJ0FubnVsZXInLFxuICAgICAgYmFjazogJ1JldG91cicsXG4gICAgICBuZXh0OiAnU3VpdmFudCcsXG4gICAgICBwcm9wZXJ0aWVzOiAnUHJvcHJpw6l0w6lzJyxcbiAgICAgIGRldGFpbHM6ICdEw6l0YWlscycsXG4gICAgICBhY3Rpdml0eTogJ0FjdGl2aXTDqScsXG4gICAgICByZXF1aXJlZDogJ0xlIGNoYW1wcyBlc3QgcmVxdWlzJyxcbiAgICAgIGV4aXN0czogJ0NlIG5vbSBlc3QgZMOpasOgIHV0aWxpc8OpJyxcbiAgICAgIG1pbkxlbmd0aDogJ05vbWJyZSBtaW5pbWFsIGRlIGNhcmFjdMOocmVzIDoge3tsZW59fScsXG4gICAgICBtYXhMZW5ndGg6ICdOb21icmUgZGUgY2FyYWN0w6hyZXMgYXV0b3Jpc8OpIDoge3tsZW59fScsXG4gICAgICBub1doaXRlc3BhY2U6ICdMYSB2YWxldXIgbmUgcGV1dCBwYXMgY29tbWVuY2VyIG91IGZpbmlyIHBhciB1biBlc3BhY2UuJyxcbiAgICAgIHJ1bGU6ICdSw6hnbGUgbsKwe3tpZH19JyxcbiAgICAgIGRlZmF1bHRSdWxlOiBcIlLDqGdsZSBwYXIgZMOpZmF1dCAobmUgcydhcHBsaXF1ZSBxdWUgc2kgYXVjdW5lIGF1dHJlIHLDqGdsZSBuJ2VzdCB2YWxpZMOpZSlcIixcbiAgICAgIGRpc3BsYXlNb2RlSW1hZ2U6IFwiTW9kZSBkJ2FmZmljaGFnZSBkZSBsJ2ltYWdlXCIsXG4gICAgICBzaXplOiBcIlRhaWxsZSBkZSBsJ2ltYWdlXCIsXG4gICAgICBkZWxldGVBdHRyaWJ1dGVDb25maXJtTWVzc2FnZTpcbiAgICAgICAgJ0NldCBhdHRyaWJ1dCBuZSBzZXJhIHBsdXMgdmlzaWJsZSBwb3VyIGxlcyBkb25uw6llcyBsZSBwb3Nzw6lkYW50LiBDb25maXJtZXotdm91cyBsYSBzdXBwcmVzc2lvbiA/JyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgdW5rbm93bkZpZWxkOiAnVHlwZSBtw6l0aWVyIGluY29ubnUnLFxuICAgICAgICB1bmtub3duQ2F0ZWdvcnk6ICdDYXTDqWdvcmllIGluY29ubnVlJyxcbiAgICAgICAgbm9DYXRlZ29yeTogJ1BhcyBkZSBjYXTDqWdvcmllJ1xuICAgICAgfSxcbiAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgIEZVTEw6ICdJY29uZSBwbGVpbmUnLFxuICAgICAgICBUT1BfTEVGVDogJ0VuIGhhdXQgw6AgZ2F1Y2hlJyxcbiAgICAgICAgVE9QX1JJR0hUOiAnRW4gaGF1dCDDoCBkcm9pdGUnLFxuICAgICAgICBCT1RUT01fTEVGVDogJ0VuIGJhcyDDoCBnYXVjaGUnLFxuICAgICAgICBCT1RUT01fUklHSFQ6ICdFbiBiYXMgw6AgZHJvaXRlJ1xuICAgICAgfSxcbiAgICAgIGN1c3RvbWl6ZToge1xuICAgICAgICB0aXRsZTogJ1BlcnNvbm5hbGlzZXInLFxuICAgICAgICB0ZW1wbGF0ZTogJ1Rvb2x0aXAgKENhcnRlICYgR3JhcGhlKScsXG4gICAgICAgIHVwZGF0ZTogJ01ldHRyZSDDoCBqb3VyIGxlIHRvb2x0aXAnLFxuICAgICAgICBhZHZhbmNlZDogJ01vZGUgYXZhbmPDqScsXG4gICAgICAgIG5hbWU6ICdNb2TDqGxlIG3DqXRpZXInLFxuICAgICAgICB0ZWNobmljYWxJZDogJ0lkIHRlY2huaXF1ZScsXG4gICAgICAgIHR5cGU6ICdDaG9pc2lzc2V6IGxlIHR5cGUgZGUgdG9vbHRpcCDDoCB1dGlsaXNlcicsXG4gICAgICAgIHNpbXBsaWZpZWQ6ICdDaG9pc2lzc2V6IGxlcyBhdHRyaWJ1dHMgw6AgYWZmaWNoZXInLFxuICAgICAgICBleGVtcGxlOiAndmFsZXVyIGRlIHt7ZXhwcn19JyxcbiAgICAgICAgdGFibGU6ICdBdHRyaWJ1dHMgcGFyIGTDqWZhdXQgKFRhYmxlKScsXG4gICAgICAgIHRpbGU6ICdBdHRyaWJ1dHMgYWZmaWNow6lzIHN1ciBsYSB0dWlsZScsXG4gICAgICAgIHRpbGVIaW50OiAnU2V1bGVtZW50IGVudHJlIDEgZXQge3ttYXh9fSBhdHRyaWJ1dHMgcGV1dmVudCDDqnRyZSBhZmZpY2jDqXMgZGFucyB1bmUgdHVpbGUnLFxuICAgICAgICB0YWJsZUF0dHJzOiAnQXR0cmlidXRzIGRhbnMgbGEgdGFibGUgcGFyIGTDqWZhdXQnLFxuICAgICAgICB0aWxlQXR0cnM6ICdBdHRyaWJ1dHMgcHLDqXNlbnTDqXMgZGFucyBsZXMgdHVpbGVzJyxcbiAgICAgICAgbm9UYWJsZUF0dHJzOiAnQXV0cmVzIGF0dHJpYnV0cycsXG4gICAgICAgIG5vVGlsZUF0dHJzOiAnQXR0cmlidXRzIG5vbiBhZmZpY2jDqXMnLFxuICAgICAgICB1cGRhdGVUYWJsZTogXCJNZXR0cmUgw6Agam91ciBsZXMgYXR0cmlidXRzIHBhciBkw6lmYXV0IGQndW5lIHRhYmxlXCIsXG4gICAgICAgIHVwZGF0ZVRpbGU6ICdNZXR0cmUgw6Agam91ciBsZXMgYXR0cmlidXRzIGRlcyB0dWlsZXMnLFxuICAgICAgICB1cGRhdGVJY29uczogJ01ldHRyZSDDoCBqb3VyIGxlcyByw6hnbGVzIGRlIHN5bWJvbGVzJ1xuICAgICAgfSxcbiAgICAgIHZhclR5cGU6IHtcbiAgICAgICAgaW50OiAnTm9tYnJlIGVudGllcicsXG4gICAgICAgIGRvdWJsZTogJ05vbWJyZSBkw6ljaW1hbCcsXG4gICAgICAgIHN0cmluZzogJ1RleHRlJyxcbiAgICAgICAgdXVpZDogJ0lkZW50aWZpYW50IHV1aWQnLFxuICAgICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICAgIGxpc3Q6ICdMaXN0ZSBkZSB2YWxldXJzJ1xuICAgICAgfSxcbiAgICAgIG1lbnVzOiB7XG4gICAgICAgIGVudmlyb25tZW50OiBcIkNvbnRleHRlcyBkJ2V4w6ljdXRpb25cIixcbiAgICAgICAgdXNlcjogJ1V0aWxpc2F0ZXVycycsXG4gICAgICAgICdtZXRhZGF0YS11c2VyJzogJ1Byb2ZpbCB1dGlsaXNhdGV1cicsXG4gICAgICAgICdhYmFjLXJ1bGVzJzogJ1LDqGdsZXMgQUJBQycsXG4gICAgICAgICdtZXRhZGF0YS1ydWxlcyc6ICdSw6hnbGVzIE3DqXRhZG9ubsOpZXMnLFxuICAgICAgICBkYXRhc2V0OiAnSmV1eCBkZSBkb25uw6llcycsXG4gICAgICAgIGNsYXNzZXM6ICdNb2TDqGxlcyBkZSBkb25uw6llcycsXG4gICAgICAgIHByZWRpY2F0ZXM6ICdQcsOpZGljYXRzJyxcbiAgICAgICAgbWV0YWRhdGE6ICdNw6l0YWRvbm7DqWVzJyxcbiAgICAgICAgZmllbGRzOiAnVHlwZXMgbcOpdGllcicsXG4gICAgICAgICdyZWxhdGlvbi10eXBlcyc6ICdUeXBlcyBkZSByZWxhdGlvbicsXG4gICAgICAgIGxpbmtzOiAnTGllbiBlbnRyZSBhdHRyaWJ1dHMnLFxuICAgICAgICBtb2RlbDogJ01vZMOobGUgbcOpdGllcicsXG4gICAgICAgIGFjY2VzczogJ0FjY8OocyBhdXggZG9ubsOpZXMnXG4gICAgICB9LFxuICAgICAgcHJlZGljYXRlczoge1xuICAgICAgICBsaXN0OiAnUHLDqWRpY2F0cycsXG4gICAgICAgIGFkZDogJ0Nyw6llciB1biBub3V2ZWF1IHByw6lkaWNhdCcsXG4gICAgICAgIGVkaXQ6ICdNb2RpZmllciB1biBwcsOpZGljYXQnLFxuICAgICAgICBpbmZvOiAnRMOpdGFpbHMgZHUgcHLDqWRpY2F0JyxcbiAgICAgICAgbnVtOiAnSWQuJyxcbiAgICAgICAgbmFtZTogJ05vbScsXG4gICAgICAgIHZhbHVlOiAnRXhwcmVzc2lvbiBjb25kaXRpb25uZWxsZSBkZSBkw6ljbGVuY2hlbWVudCcsXG4gICAgICAgIHZhbGlkRWRpdDogJ0luZm9ybWF0aW9uJyxcbiAgICAgICAgdmFsaWRFZGl0TWVzc2FnZTogJ0NlIHByw6lkaWNhdCBlc3QgdXRpbGlzw6kgZGFucyB7e3VzZWR9fSByw6hnbGVzLiBWb3VsZXotdm91cyB2cmFpbWVudCBsZSBtb2RpZmllciA/J1xuICAgICAgfSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAnTWV0YWRvbm7DqWVzJyxcbiAgICAgICAgYWRkOiAnQ3LDqWVyIHVuZSBtZXRhZG9ubsOpZScsXG4gICAgICAgIGVkaXQ6ICdNb2RpZmllciB1bmUgbWV0YWRvbm7DqWUnLFxuICAgICAgICBkZXRhaWxzOiAnRMOpdGFpbHMgZGUgbGEgbWV0YWRvbm7DqWUnLFxuICAgICAgICBkZXRhaWxzVXNlcjogJ0TDqXRhaWxzIGR1IHByb2ZpbCB1dGlsaXNhdGV1cicsXG4gICAgICAgIGlkOiAnSUQnLFxuICAgICAgICBsYWJlbDogJ05vbScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGludmFsaWQ6ICdMZSBjaGFtcHMgZXN0IHJlcXVpcycsXG4gICAgICAgIGxpc3RMYWJlbDogJ05vbSBkZSBsYSB2YWxldXInLFxuICAgICAgICBhZGRWYWx1ZTogJ0Fqb3V0ZXIgdW5lIG5vdXZlbGxlIHZhbGV1cicsXG4gICAgICAgIHJlbW92ZVZhbHVlOiAnU3VwcHJpbWVyIGNldHRlIHZhbGV1cicsXG4gICAgICAgIHN5c3RlbTogJ03DqXRhZG9ubsOpZSBzeXN0w6htZSdcbiAgICAgIH0sXG4gICAgICAnbWV0YWRhdGEtcnVsZXMnOiB7XG4gICAgICAgIHRpdGxlOiAnUsOoZ2xlcyBNZXRhZG9ubsOpZXMnLFxuICAgICAgICBsYWJlbDogJ05vbScsXG4gICAgICAgICdpcy1zYW1lLW5hbWUnOiAnTGUgbm9tIGRlIGxhIHLDqGdsZSBlc3QgZMOpasOgIHByaXMgcG91ciB1bmUgYXV0cmUgcsOoZ2xlLCB2ZXVpbGxleiBlbiB1dGlsaXNlciB1biBhdXRyZScsXG4gICAgICAgICdpcy1zYW1lLXJ1bGVzJzogXCJMYSBtw6ptZSByw6hnbGUgYSBkw6lqw6Agw6l0w6kgY29uZmlndXLDqWUgZXQgZW5yZWdpc3Ryw6llLCB2b3VzIHBvdXZleiBsJ3V0aWxpc2VyXCIsXG4gICAgICAgICdtZXRhZGF0YS1pdGVtJzoge1xuICAgICAgICAgIG5hbWU6ICdNZXRhZG9ubsOpZXMgY2libGUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24gZGUgbGEgbWV0YWRvbm7DqWUgY2libGUnLFxuICAgICAgICAgIHR5cGU6ICdUeXBlIGRlIGxhIG1ldGFkb25uw6llIGNpYmxlJ1xuICAgICAgICB9LFxuICAgICAgICAnbWV0YWRhdGEtdXNlcic6IHtcbiAgICAgICAgICBuYW1lOiAnUHJvZmlsIHV0aWxpc2F0ZXVyIHNvdXJjZScsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbiBkdSBwcm9maWwgdXRpbGlzYXRldXIgc291cmNlJyxcbiAgICAgICAgICB0eXBlOiAnVHlwZSBkdSBwcm9maWwgdXRpbGlzYXRldXIgc291cmNlJ1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdNb2RpZmllciB1bmUgcsOoZ2xlIGRlIG1ldGFkb25uw6llcydcbiAgICAgICAgfSxcbiAgICAgICAgYWRkOiB7XG4gICAgICAgICAgdGl0bGU6ICdDcsOpZXIgdW5lIG5vdXZlbGxlIHLDqGdsZSBkZSBtZXRhZG9ubsOpZXMnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkYXRhc2V0OiB7XG4gICAgICAgIGRlbGV0ZTpcbiAgICAgICAgICBcIkwnZW5zZW1ibGUgZGVzIHZlcnNpb25zIGV0IGRlcyBkb25uw6llcyBhc3NvY2nDqWVzIHNlcm9udCBzdXBwcmltw6llcy4gTGVzIHJlc3RpdHV0aW9ucyBldCBwcsOpc2VudGF0aW9ucyB1dGlsaXNhbnQgY2UgamV1IGRlIGRvbm7DqWVzIG4nYWZmaWNoZXJvbnQgcGx1cyBsZXMgZG9ubsOpZXMgY29ycmVzcG9uZGFudGVzLiBDb25maXJtZXotdm91cyBsYSBzdXBwcmVzc2lvbiA/XCIsXG4gICAgICAgIHRpdGxlOiAnSmV1eCBkZSBkb25uw6llcycsXG4gICAgICAgIGRldGFpbHM6ICdEw6l0YWlscycsXG4gICAgICAgIGRhdGFzZXREZXRhaWxzOiAnRMOpdGFpbHMgZHUgamV1IGRlIGRvbm7DqWVzJyxcbiAgICAgICAgaWQ6ICdJZGVudGlmaWFudCcsXG4gICAgICAgIG5hbWU6ICdOb20nLFxuICAgICAgICBvQ2xhc3M6ICdNb2TDqGxlIG3DqXRpZXInLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgICdpcy1zYW1lLW5hbWUnOiAnTGUgbm9tIGR1IGpldSBkZSBkb25uw6llcyBlc3QgZMOpasOgIHByaXMsIHZldWlsbGV6IGVuIHV0aWxpc2VyIHVuIGF1dHJlJyxcbiAgICAgICAgYWRkOiB7XG4gICAgICAgICAgdGl0bGU6ICdDcsOpZXIgdW4gamV1IGRlIGRvbm7DqWVzJ1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdNb2RpZmllciB1biBqZXUgZGUgZG9ubsOpZXMnXG4gICAgICAgIH0sXG4gICAgICAgIE9QRU46ICdPdXZlcnQnLFxuICAgICAgICBDTE9TRUQ6ICdGZXJtw6knLFxuICAgICAgICBNT0RJRklBQkxFOiAnTW9kaWZpYWJsZScsXG4gICAgICAgIHN1Y2Nlc3M6ICdNb2RpZmljYXRpb24gZWZmZWN0dcOpZSBhdmVjIHN1Y2PDqHMnLFxuICAgICAgICBjb25mbGljdDpcbiAgICAgICAgICBcIkF0dGVudGlvbiwgbGVzIHRhYmxlYXV4IGRlIGJvcmQgc3VpdmFudHMgc29udCBwYXJ0YWfDqXMgw6AgZGVzIGdyb3VwZXMgcXVpIG4nYXVyb250IHBsdXMgYWNjw6hzIGF1eCBkb25uw6llcyA6XCIsXG4gICAgICAgIGVudGl0aWVzOiB7XG4gICAgICAgICAgZGFzaGJvYXJkOiAnVGFibGVhdXggZGUgYm9yZCdcbiAgICAgICAgfSxcbiAgICAgICAgYWRkVGFnOiAnQWpvdXRlciB1biBub3V2ZWF1IHRhZydcbiAgICAgIH0sXG4gICAgICAnYWJhYy1ydWxlcyc6IHtcbiAgICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgICAgbWV0YWRhdGFVc2VyOiAnUHJvZmlsIHV0aWxpc2F0ZXVyJyxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBsaXN0OiAnUsOoZ2xlcyBBYmFjJyxcbiAgICAgICAgICBhZGQ6ICdDcsOpZXIgdW5lIHLDqGdsZSBhYmFjJyxcbiAgICAgICAgICB2aWV3OiBcIkTDqXRhaWxzIGQndW5lIHLDqGdsZSBhYmFjXCIsXG4gICAgICAgICAgZWRpdDogJ01vZGlmaWVyIHVuZSByw6hnbGUgYWJhYydcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybToge1xuICAgICAgICAgIGlkOiAnTnVtw6lybycsXG4gICAgICAgICAgbmFtZTogJ05vbScsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgICAgc3RhdHVzOiAnU3RhdHV0JyxcbiAgICAgICAgICBzdGF0dXNBY3RpdmU6ICdBY3RpZicsXG4gICAgICAgICAgc3RhdHVzSW5hY3RpdmU6ICdJbmFjdGlmJyxcbiAgICAgICAgICBwcmVkaWNhdGU6ICdQcsOpZGljYXQgZGUgZMOpY2xlbmNoZW1lbnQnLFxuICAgICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgICB0eXBlTWV0YWRhdGE6ICdNZXRhZG9ubsOpZScsXG4gICAgICAgICAgdHlwZUF0dHJpYnV0ZTogJ0F0dHJpYnV0JyxcbiAgICAgICAgICB0eXBlU2VsZWN0ZWQ6ICdWb3VzIG5lIHBvdXZleiBwYXMgY2hhbmdlciBsZSB0eXBlIGF2ZWMgbGVzIGNvbmRpdGlvbnMgZXhpc3RhbnRlcycsXG4gICAgICAgICAgYWRkTWV0YWRhdGE6ICdBam91dGVyIHVuZSBjb25kaXRpb24gc3VyIHVuZSBtZXRhZG9ubsOpZScsXG4gICAgICAgICAgYWRkQXR0cmlidXRlOiAnQWpvdXRlciB1bmUgY29uZGl0aW9uIHN1ciB1biBhdHRyaWJ1dCcsXG4gICAgICAgICAgdG9nZ2xlQW5kOiAnRVQnLFxuICAgICAgICAgIHRvZ2dsZU9yOiAnT1UnLFxuICAgICAgICAgIGFkZEdyb3VwOiAnQWpvdXRlciB1biBzb3VzLWdyb3VwZSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVzZXI6IHtcbiAgICAgICAgdGl0bGU6ICdQcm9maWwgdXRpbGlzYXRldXInLFxuICAgICAgICBhZGQ6ICdDcsOpZXIgdW4gbm91dmVhdSBwcm9maWwgdXRpbGlzYXRldXInLFxuICAgICAgICBsYWJlbDogJ05vbScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgaW52YWxpZDogJ0xlIGNoYW1wIGVzdCByZXF1aXMnLFxuICAgICAgICBlZGl0OiAnTW9kaWZpZXIgdW4gcHJvZmlsIHV0aWxpc2F0ZXVyJ1xuICAgICAgfSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIGxpc3Q6IFwiQ29udGV4dGVzIGQnZXjDqWN1dGlvblwiLFxuICAgICAgICBhZGQ6IFwiQ3LDqWVyIHVuIG5vdXZlYXUgY29udGV4dGUgZCdleMOpY3V0aW9uXCIsXG4gICAgICAgIGVkaXQ6IFwiTW9kaWZpZXIgdW4gY29udGV4dGUgZCdleMOpY3V0aW9uXCIsXG4gICAgICAgIGluZm86IFwiRMOpdGFpbHMgZHUgY29udGV4dGUgZCdleMOpY3V0aW9uXCIsXG4gICAgICAgIGZvcm1hdEludDogJ0xhIHZhbGV1ciBkb2l0IMOqdHJlIHVuIGVudGllci4nLFxuICAgICAgICBmb3JtYXREb3VibGU6IFwiTGEgdmFsZXVyIGRvaXQgw6p0cmUgdW4gZW50aWVyLCBsZSBzw6lwYXJhdGV1ciBhdXRvcmlzw6kgZXN0IHVuICcuJ1wiLFxuICAgICAgICBmb3JtYXROYW1lOiAnQ2FyYWN0w6hyZXMgc3BlY2lhdXggYXV0b3Jpc8OpczogWyAtLCBfIF0gJyxcbiAgICAgICAgbmFtZTogJ05vbScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgdmFsdWU6ICdWYWxldXIgZGUgbGEgdmFyaWFibGUnXG4gICAgICB9LFxuICAgICAgY2xhc3Nlczoge1xuICAgICAgICBsaXN0OiAnTW9kw6hsZXMgZGUgZG9ubsOpZXMnLFxuICAgICAgICBuYW1lOiAnTm9tJyxcbiAgICAgICAgdGl0bGU6ICdNb2TDqGxlIGRlIGRvbm7DqWVzIHt7Y2xhc3N9fScsXG4gICAgICAgIGltYWdlOiAnSW1hZ2UnLFxuICAgICAgICBmb3JtYXROYW1lOiAnQ2FyYWN0w6hyZXMgYXV0b3Jpc8OpczogWyBtaW51c2N1bGUsIC0sIF8gXScsXG4gICAgICAgIG1vZGVsOiAnTW9kw6hsZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICBsaW5lczogJ0xpZ25lcycsXG4gICAgICAgIGFkZDogJ0Nyw6llciB1biBub3V2ZWF1IG1vZMOobGUgZGUgZG9ubsOpZXMnLFxuICAgICAgICBlZGl0OiAnTW9kaWZpZXIgbGUgbW9kw6hsZSBkZSBkb25uw6llcycsXG4gICAgICAgIHJlbmFtZTogJ1Jlbm9tbWVyIGxlIG1vZMOobGUgZGUgZG9ubsOpZXMnLFxuICAgICAgICBhZGRBdHRyOiAnQXR0cmlidXQnLFxuICAgICAgICBpbmZvQXR0cjogJ01vZMOobGUgZGUgZG9ubsOpZXMge3tjbGFzc319ID4gQXR0cmlidXRzJyxcbiAgICAgICAgaW5mbzogJ0TDqXRhaWwgZHUgbW9kw6hsZSBkZSBkb25uw6llcycsXG4gICAgICAgIHJ1bGVzOiAnUsOoZ2xlcyBkZSBkw6lmaW5pdGlvbiBkZSBzeW1ib2xlcycsXG4gICAgICAgIGNvbmRpdGlvbjogJ0FjdGlmIHNlbG9uIHVuZSBjb25kaXRpb24nLFxuICAgICAgICBhdHRyTmFtZTogJ0F0dHJpYnV0ZSDDoCB2w6lyaWZpZXInLFxuICAgICAgICB2YWx1ZTogJ1ZhbGV1ciBkZSBjb21wYXJhaXNvbicsXG4gICAgICAgIG9wZXJhdGlvbjogJ09ww6lyYXRpb24gZGUgY29tcGFyYWlzb24nLFxuICAgICAgICBvcGVyYXRpb25zOiB7XG4gICAgICAgICAgRVFVQUxTOiAnZXN0IMOpZ2FsJyxcbiAgICAgICAgICBHUkVBVEVSOiAnZXN0IHBsdXMgZ3JhbmQnLFxuICAgICAgICAgIEdSRUFURVJfT1JfRVFVQUw6ICdlc3QgcGx1cyBncmFuZCBvdSDDqWdhbCcsXG4gICAgICAgICAgTE9XRVI6ICdwbHVzIHBldGl0JyxcbiAgICAgICAgICBMT1dFUl9PUl9FUVVBTDogJ3BsdXMgcGV0aXQgb3Ugw6lnYWwnLFxuICAgICAgICAgIENPTlRBSU5TOiAnY29udGllbnQgdGV4dHVlbGxlbWVudCdcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlQ2xhc3NNb2RhbE1lc3NhZ2U6XG4gICAgICAgICAgJ0ltcG9zc2libGUgZGUgY3LDqWVyIHVuIG1vZMOobGUgZGUgZG9ubsOpZXMgc2FucyBhdHRyaWJ1dHMuIFZldWlsbGV6IGVuIGFqb3V0ZXIgYXUgbW9pbnMgdW4gZW4gY2xpcXVhbnQgc3VyIFwiQWpvdXRlciB1biBhdHRyaWJ1dFwiLicsXG4gICAgICAgIGNyZWF0ZUNsYXNzQ29uZmlybU1lc3NhZ2U6ICdWb3VsZXotdm91cyBjb25maXJtZXIgbGEgY3LDqWF0aW9uIGR1IG1vZMOobGUgZGUgZG9ubsOpZXMgPycsXG4gICAgICAgIGRlbGV0ZUNsYXNzQ29uZmlybU1lc3NhZ2U6ICdDb25maXJtZXotdm91cyBsYSBzdXBwcmVzc2lvbiBkZSBjZSBtb2TDqGxlIG3DqXRpZXIgPycsXG4gICAgICAgIGxpbmtlZE9iamVjdHM6ICdPYmpldHMgbGnDqXMnLFxuICAgICAgICB1c2VkRWxzZXdoZXJlOiBcIlV0aWxpc8OpIHBhciBkZXMgb2JqZXRzIGQnYXV0cmVzIHV0aWxpc2F0ZXVyc1wiLFxuICAgICAgICBhc3NvY2lhdGlvbnM6ICdBc3NvY2lhdGlvbnMnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBhZGQ6ICdOb3V2ZWwgYXR0cmlidXQnLFxuICAgICAgICAgIGVkaXQ6IFwiTW9kaWZpZXIgbCdhdHRyaWJ1dFwiLFxuICAgICAgICAgIGluZm86IFwiRMOpdGFpbCBkZSBsJ2F0dHJpYnV0XCIsXG4gICAgICAgICAgZGVsZXRlOiBcIlN1cHByaW1lciBsJ2F0dHJpYnV0XCIsXG4gICAgICAgICAgbmFtZTogXCJMaWJlbGzDqSBkZSBsJ2F0dHJpYnV0XCIsXG4gICAgICAgICAgdGVjaG5pY2FsTmFtZTogJ05vbSB0ZWNobmlxdWUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIGZpZWxkOiAnVHlwZScsXG4gICAgICAgICAgY2F0ZWdvcnk6ICdDYXTDqWdvcmllJyxcbiAgICAgICAgICBtdWx0aVZhbHVlZDogJ011bHRpIHZhbHXDqSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBhZGQ6ICdDcsOpZXIgdW4gbm91dmVhdSB0eXBlIG3DqXRpZXInLFxuICAgICAgICBjcnM6ICdDUlMgKGNvZGUgRVBTRykgOicsXG4gICAgICAgIGluZm86ICdEw6l0YWlsIGR1IHR5cGUgbcOpdGllcicsXG4gICAgICAgIGxpc3Q6ICdUeXBlcyBtw6l0aWVyJyxcbiAgICAgICAgZWRpdDogJ01vZGlmaWVyIGxlIHR5cGUgbcOpdGllcicsXG4gICAgICAgIG5hbWU6ICdOb20nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgdHlwZTogJ1R5cGUgdGVjaG5pcXVlJyxcbiAgICAgICAgYXR0cmlidXRlczogJ1Byw6lzZW5jZSBkYW5zIGRlcyBhdHRyaWJ1dHMnLFxuICAgICAgICBhdHRyaWJ1dGVzVGFiOiAnQXR0cmlidXRzJyxcbiAgICAgICAgYXR0cmlidXRlTmFtZTogXCJOb20gZCdhdHRyaWJ1dFwiLFxuICAgICAgICBjbGFzc05hbWU6ICdDbGFzc2UnLFxuICAgICAgICBjb25maXJtRmllbGREZWxldGlvbjogJ0NvbmZpcm1lei12b3VzIGxhIHN1cHByZXNzaW9uIGRlIGNlIHR5cGUgbcOpdGllciA/JyxcbiAgICAgICAgZmllbGRUeXBlOiB7XG4gICAgICAgICAgaW50OiAnTm9tYnJlIGVudGllcicsXG4gICAgICAgICAgbG9uZzogJ05vbWJyZSBlbnRpZXIgbG9uZycsXG4gICAgICAgICAgZGVjaW1hbDogJ05vbWJyZSBkw6ljaW1hbCcsXG4gICAgICAgICAgc3RyaW5nOiAnVGV4dGUgYnJ1dCcsXG4gICAgICAgICAga2V5d29yZDogJ1RleHRlIGluZGV4w6knLFxuICAgICAgICAgIGluc3RhbnQ6ICdEYXRlJyxcbiAgICAgICAgICByYXc6ICdEb25uw6llIG5vbiBzdHJ1Y3R1csOpZScsXG4gICAgICAgICAgcG9pbnQ6ICdQb2ludCcsXG4gICAgICAgICAgbXVsdGlwb2ludDogJ011bHRpLXBvaW50cycsXG4gICAgICAgICAgbGluZTogJ0xpZ25lJyxcbiAgICAgICAgICBtdWx0aWxpbmU6ICdNdWx0aS1saWduZXMnLFxuICAgICAgICAgIHBvbHlnb246ICdQb2x5Z29uZScsXG4gICAgICAgICAgbXVsdGlwb2x5Z29uOiAnTXVsdGktcG9seWdvbmVzJyxcbiAgICAgICAgICBpbmZvcm1hdGlvbjoge1xuICAgICAgICAgICAgaW50OiAnUGVybWV0IGRlIHN0b2NrZXIgZGVzIGRvbm7DqWVzIG51bcOpcmlxdWVzIGVudGnDqHJlcyBpbmbDqXJpZXVyZXMgw6AgMl4zMicsXG4gICAgICAgICAgICBsb25nOiAnUGVybWV0IGRlIHN0b2NrZXIgZGVzIGRvbm7DqWVzIG51bcOpcmlxdWVzIGVudGnDqHJlcyBwb3V2YW50IGTDqXBhc3NlciAyXjMyJyxcbiAgICAgICAgICAgIGRlY2ltYWw6ICdQZXJtZXQgZGUgc3RvY2tlciBkZXMgZG9ubsOpZXMgbnVtw6lyaXF1ZXMgYXZlYyBkZXMgZMOpY2ltYWxlcycsXG4gICAgICAgICAgICBzdHJpbmc6XG4gICAgICAgICAgICAgIFwiUGVybWV0IGRlIHN0b2NrZXIgZGVzIGRvbm7DqWVzIGF1IGZvcm1hdCBhbHBoYW51bcOpcmlxdWUuIENlcyBkb25uw6llcyBuZSBzb250IHBhcyBpbmRleMOpZXMgOiBpbCBlc3QgcG9zc2libGUgZGUgZmFpcmUgdW5lIHJlY2hlcmNoZSBkZXNzdXMgbWFpcyBwYXMgZCdhZ3LDqWdhdGlvblwiLFxuICAgICAgICAgICAga2V5d29yZDpcbiAgICAgICAgICAgICAgJ1Blcm1ldCBkZSBzdG9ja2VyIGRlcyBkb25uw6llcyBhdSBmb3JtYXQgYWxwaGFudW3DqXJpcXVlLiBDZXMgZG9ubsOpZXMgc29udCBpbmRleMOpZXMgOiBpbCBlc3QgcG9zc2libGUgZGUgZmFpcmUgdW5lIHJlY2hlcmNoZSBkZXNzdXMgYWluc2kgcXVlIGRlcyBhZ3LDqWdhdGlvbnMuJyxcbiAgICAgICAgICAgIGluc3RhbnQ6ICdQZXJtZXQgZGUgc3RvY2tlciB1bmUgZGF0ZScsXG4gICAgICAgICAgICByYXc6ICdwZXJtZXQgZGUgc3RvY2tlciBkZXMgZG9ubsOpZXMgZGUgdHlwZSBpbWFnZSBvdSBmaWNoaWVyJyxcbiAgICAgICAgICAgIHBvaW50OlxuICAgICAgICAgICAgICBcIlBlcm1ldCBkZSBzdG9ja2VyIGRlcyBjb29yZG9ubsOpZXMgZ8Opb2dyYXBoaXF1ZXMgZCd1biBvYmpldCByZXByw6lzZW50w6kgcGFyIHVuIHBvaW50IChmb3JtYXQgZ8Opb2pzb24pXCIsXG4gICAgICAgICAgICBtdWx0aXBvaW50OlxuICAgICAgICAgICAgICBcIlBlcm1ldCBkZSBzdG9ja2VyIGRlcyBjb29yZG9ubsOpZXMgZ8Opb2dyYXBoaXF1ZXMgZCd1biBvYmpldCBjb21wb3PDqSBkZSBwbHVzaWV1cnMgcG9pbnRzIG5vbiByZWxpw6lzIChmb3JtYXQgZ8Opb2pzb24pXCIsXG4gICAgICAgICAgICBsaW5lOiBcIlBlcm1ldCBkZSBzdG9ja2VyIGRlcyBjb29yZG9ubsOpZXMgZ8Opb2dyYXBoaXF1ZXMgZCd1biBvYmpldCByZXByw6lzZW50w6kgY29tbWUgdW5lIGxpZ25lIChmb3JtYXQgZ8Opb2pzb24pXCIsXG4gICAgICAgICAgICBtdWx0aWxpbmU6XG4gICAgICAgICAgICAgIFwiUGVybWV0IGRlIHN0b2NrZXIgZGVzIGNvb3Jkb25uw6llcyBnw6lvZ3JhcGhpcXVlcyBkJ3VuIG9iamV0IHJlcHLDqXNlbnTDqSBhdmVjIHBsdXNpZXVycyBsaWduZXMgbm9uIHJlbGnDqWVzIGVudHJlIGVsbGVzIChsb25naXR1ZGUgZXQgbGF0aXR1ZGUgZm9ybWF0IGfDqW9qc29uKVwiLFxuICAgICAgICAgICAgcG9seWdvbjpcbiAgICAgICAgICAgICAgXCJQZXJtZXQgZGUgc3RvY2tlciBkZXMgY29vcmRvbm7DqWVzIGfDqW9ncmFwaGlxdWVzIGQndW4gb2JqZXQgcmVwcsOpc2VudMOpIHBhciB1biBwb2x5Z29uZSAoZm9ybWF0IGfDqW9qc29uKVwiLFxuICAgICAgICAgICAgbXVsdGlwb2x5Z29uOlxuICAgICAgICAgICAgICBcIlBlcm1ldCBkZSBzdG9ja2VyIGRlcyBjb29yZG9ubsOpZXMgZ8Opb2dyYXBoaXF1ZXMgZCd1biBvYmpldCByZXByw6lzZW50w6kgcGFyIHBsdXNpZXVycyBwb2x5Z29uZXMgaW1icmlxdcOpcyBvdSBub24gKGZvcm1hdCBnw6lvanNvbilcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcmF3TWV0aG9kczoge1xuICAgICAgICAgIGh0dHA6ICdEZXB1aXMgdW5lIHVybCcsXG4gICAgICAgICAgdXBsb2FkOiAnVMOpbMOpdmVyc2VyIGRlcHVpcyBtb24gb3JkaW5hdGV1cidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVzZXJJbmZvOiB7XG4gICAgICAgIGxpc3Q6ICdVdGlsaXNhdGV1cnMnLFxuICAgICAgICBpbmZvOiBcIkTDqXRhaWwgZGUgbCd1dGlsaXNhdGV1clwiLFxuICAgICAgICBwcm9maWxlOiAnUHJvZmlsJyxcbiAgICAgICAgYWRkTWV0YWRhdGE6ICdBam91dGVyJyxcbiAgICAgICAgZWRpdE1ldGFkYXRhOiAnTW9kaWZpZXIgbGEgbcOpdGFkb25uw6llJyxcbiAgICAgICAgbmFtZTogJ1Byw6lub20nLFxuICAgICAgICBmYW1pbHlOYW1lOiAnTm9tIGRlIGZhbWlsbGUnLFxuICAgICAgICBlbWFpbDogJ0FkcmVzc2UgbWFpbCcsXG4gICAgICAgIG1ldGFkYXRhOiAnTcOpdGFkb25uw6llcycsXG4gICAgICAgIHJvbGVzOiAnIFLDtGxlcydcbiAgICAgIH0sXG4gICAgICByZWxhdGlvblR5cGVzOiB7XG4gICAgICAgIGxpc3Q6ICdUeXBlcyBkZSByZWxhdGlvbnMnLFxuICAgICAgICBhZGQ6ICdBam91dGVyIGxlIHR5cGUgZGUgcmVsYXRpb24nLFxuICAgICAgICBlZGl0OiAnTW9kaWZpZXIgbGUgdHlwZSBkZSByZWxhdGlvbicsXG4gICAgICAgIGluZm86ICdEw6l0YWlsIGR1IHR5cGUgZGUgcmVsYXRpb24nLFxuICAgICAgICBuYW1lOiAnTm9tJyxcbiAgICAgICAgbmJSZWxhdGlvbjogJ05vbWJyZSBkZSByZWxhdGlvbnMgZGUgY2UgdHlwZScsXG4gICAgICAgIG5iTGluazogJ05vbWJyZSBkZSBsaWVucyB1dGlsaXNhbnQgY2UgdHlwZSBkZSByZWxhdGlvbicsXG4gICAgICAgIGRhdGVNb2RpZmljYXRpb246ICdEYXRlIGRlIG1vZGlmaWNhdGlvbicsXG4gICAgICAgIGRlbGV0YWJsZTogJ1BldXQgw6p0cmUgc3VwcHJpbcOpJyxcbiAgICAgICAgZGVsZXRlTW9kYWxNZXNzYWdlOiAnQ2UgdHlwZSBkZSByZWxhdGlvbiBuZSBwZXV0IMOqdHJlIHN1cHByaW3DqSBjYXIgdXRpbGlzw6kuJ1xuICAgICAgfSxcbiAgICAgIGxpbmtzOiB7XG4gICAgICAgIGxpc3Q6ICdMaWVucyBlbnRyZSBhdHRyaWJ1dHMnLFxuICAgICAgICBhZGQ6ICdBam91dGVyIHVuIG5vdXZlYXUgbGllbiBlbnRyZSBhdHRyaWJ1dHMnLFxuICAgICAgICBjbGFzc1NvdXJjZTogJ01vZMOobGUgbcOpdGllciBzb3VyY2UnLFxuICAgICAgICBhdHRyaWJ1dGVTb3VyY2U6ICdBdHRyaWJ1dCBzb3VyY2UnLFxuICAgICAgICBjbGFzc0Rlc3RpbmF0aW9uOiAnTW9kw6hsZSBtw6l0aWVyIGRlIGRlc3RpbmF0aW9uJyxcbiAgICAgICAgYXR0cmlidXRlRGVzdGluYXRpb246ICdBdHRyaWJ1dCBkZSBkZXN0aW5hdGlvbicsXG4gICAgICAgIHJlbGF0aW9uVHlwZTogJ1R5cGUgZGUgcmVsYXRpb24nLFxuICAgICAgICBzZWxlY3RSZWxhdGlvblR5cGU6ICdTZWxlY3Rpb25uZXogdW4gdHlwZSBkZSByZWxhdGlvbidcbiAgICAgIH0sXG4gICAgICBhc3NvY2lhdGlvbjoge1xuICAgICAgICBBQkFDOiAnUsOoZ2xlIEFCQUMnLFxuICAgICAgICBMSU5LOiAnUmVsYXRpb24nLFxuICAgICAgICBOQU1FRF9RVUVSWTogJ1JlcXXDqnRlIG5vbW3DqWUnLFxuICAgICAgICBXSURHRVQ6ICdSZXN0aXR1dGlvbicsXG4gICAgICAgIERBVEFTRVQ6ICdKZXUgZGUgZG9ubsOpZXMnLFxuICAgICAgICBPQ0xBU1M6ICdNb2TDqGxlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgREFTSEJPQVJEOiAnUHLDqXNlbnRhdGlvbicsXG4gICAgICAgIEZJRUxEOiAnVHlwZSBtw6l0aWVyJ1xuICAgICAgfSxcbiAgICAgIHN0b3JhZ2U6IHtcbiAgICAgICAgbGFiZWw6ICdCYXNlIGRlIHN0b2NrYWdlJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICBQT1NUR0lTOlxuICAgICAgICAgICAgXCJDZSBzdG9ja2FnZSBlc3QgY29uc2VpbGzDqSBlbiBjYXMgZGUgc3RvY2thZ2UgZGUgZG9ubsOpZXMgZ8Opb2dyYXBoaXF1ZSBjb21wbGV4ZXMgb3UgZGFucyBkZXMgc3lzdMOobWVzIGRlIGNvb3Jkb25uw6llcyBkaWZmw6lyZW50cyBkZSBXR1MgODQuIElsIGVzdCByZWNvbW1hbmTDqSBkZSBuZSBzdG9ja2VyIGRhbnMgY2V0dGUgYmFzZSBxdWUgZGVzIG1vZMOobGVzIG3DqXRpZXIgZG9udCBsYSB2b2x1bcOpdHJpZSBkZSBkb25uw6llcyBlc3RpbcOpZSAoZW4gdGVybWUgZGUgbm9tYnJlIGQnaXRlbXMpIG4nZXN0IHBhcyB0cm9wIMOpbGV2w6llLlwiLFxuICAgICAgICAgIEVMQVNUSUM6XG4gICAgICAgICAgICBcIkNlIHN0b2NrYWdlIGVzdCBjb25zZWlsbMOpIGVuIGNhcyBkZSBmb3J0ZSB2b2x1bcOpdHJpZSBkZSBkb25uw6llcyBwcsOpdnVlIHBvdXIgY2UgbW9kw6hsZSBtw6l0aWVyIChncmFuZCBub21icmUgZCdpdGVtcykuIFNpIHZvdXMgc291aGFpdGV6IHN0b2NrZXIgZGVzIGRvbm7DqWVzIGfDqW9ncmFwaGlxdWVzIGRhbnMgY2UgbW9kw6hsZSwgZGVzIGZvcm1lcyBzaW1wbGVzIHNvbnQgY29uc2VpbGzDqWVzIGV0IGxlIHN5c3TDqG1lIGRlIGNvb3Jkb25uw6llcyBkZSByw6lmw6lyZW5jZSB1dGlsaXPDqSBkb2l0IMOqdHJlIFdHUyA4NC4gQ2Ugc3lzdMOobWUgZGUgc3RvY2thZ2Ugb2ZmcmUgdW5lIHNjYWxhYmlsaXTDqSBob3Jpem9udGFsZVwiXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBQT1NUR0lTOiAnUG9zdEdJUycsXG4gICAgICAgICAgRUxBU1RJQzogJ0VsYXN0aWNTZWFyY2gnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzaGFyZWQ6IHtcbiAgICAgICAgY2F0ZWdvcnlNb2RhbDoge1xuICAgICAgICAgIG5vQ2F0ZWdvcmllczogXCJBdWN1bmUgY2F0w6lnb3JpZSBuJ2Egw6l0w6kgY3LDqcOpZSBwb3VyIGxlIG1vbWVudFwiLFxuICAgICAgICAgIGRhdGFzZXQ6IHtcbiAgICAgICAgICAgIHNlbGVjdDogJ1PDqWxlY3Rpb25uZXIgdW4gdGFnJyxcbiAgICAgICAgICAgIHNlYXJjaE9yQ3JlYXRlOiAnUmVjaGVyY2hlciB1biB0YWcgZXhpc3RhbnQgT1UgZW4gY3LDqWVyIHVuIG5vdXZlYXUnLFxuICAgICAgICAgICAgbmFtZTogJ1RhZycsXG4gICAgICAgICAgICBzZWxlY3RJdDogJ1PDqWxlY3Rpb25uZXIgbGUgdGFnJyxcbiAgICAgICAgICAgIGNyZWF0ZTogJ0Nyw6llciBsZSB0YWcnLFxuICAgICAgICAgICAgYWRkOiBcIm4nZXhpc3RlIHBhcyBlbmNvcmUuIDxicj5JbCBlc3QgcG9zc2libGUgXFxuIGRlIGxlIGNyw6llciBpY2kuIDxicj5JbCBzZXJhIGF1dG9tYXRpcXVlbWVudCBzw6lsZWN0aW9ubsOpIGV0IGFqb3V0w6kgw6AgbGEgbGlzdGUgZGVzIHRhZ3MuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIGF0dHJpYnV0ZToge1xuICAgICAgICAgICAgc2VsZWN0OiAnU8OpbGVjdGlvbm5lciB1bmUgY2F0w6lnb3JpZScsXG4gICAgICAgICAgICBzZWFyY2hPckNyZWF0ZTogJ1JlY2hlcmNoZXIgdW5lIGNhdMOpZ29yaWUgZXhpc3RhbnRlIE9VIGVuIGNyw6llciB1bmUgbm91dmVsbGUnLFxuICAgICAgICAgICAgbmFtZTogJ0NhdMOpZ29yaWUnLFxuICAgICAgICAgICAgc2VsZWN0SXQ6ICdTw6lsZWN0aW9ubmVyIGxhIGNhdMOpZ29yaWUnLFxuICAgICAgICAgICAgY3JlYXRlOiAnQ3LDqWVyIGxhIGNhdMOpZ29yaWUnLFxuICAgICAgICAgICAgYWRkOiBcIm4nZXhpc3RlIHBhcyBlbmNvcmUuIDxicj5JbCBlc3QgcG9zc2libGUgXFxuIGRlIGxhIGNyw6llciBpY2kuIDxicj5FbGxlIHNlcmEgYXV0b21hdGlxdWVtZW50IHPDqWxlY3Rpb25uw6llIGV0IGFqb3V0w6llIMOgIGxhIGxpc3RlIGRlcyBjYXTDqWdvcmllcy5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgdG9vbHRpcDoge1xuICAgICAgZGVmYXVsdDogJ1Rvb2x0aXAgcGFyIGTDqWZhdXQnLFxuICAgICAgYXR0cmlidXRlOiAnVG9vbHRpcCBhZmZpY2hhbnQgY2VydGFpbnMgYXR0cmlidXRzJyxcbiAgICAgIGNsdXN0ZXI6ICdUb29sdGlwIHBvdXIgbGVzIGNsdXN0ZXJzIChncmFwaGVzKScsXG4gICAgICBsaW5rOiAnVG9vbHRpcCBwb3VyIGxlcyBsaWVucyAoZ3JhcGhlcyknLFxuICAgICAgbm9uZTogJ1BhcyBkZSB0b29sdGlwJ1xuICAgIH1cbiAgfVxufTtcbiJdfQ==
@@ -33,7 +33,6 @@ export class ChipsSelectorComponent extends SubscriptionnerDirective {
33
33
  return (items?.filter((item) => !this.isItemUsed(item, usedItems) && this.getItemLabel(item).toLowerCase().includes(search.toLowerCase())) ?? []);
34
34
  }));
35
35
  this.subscriptions.add(this.items$.subscribe((items) => items?.forEach((item) => (this.idToLabel[this.getItemValue(item)] = this.getItemLabel(item)))));
36
- this.subscriptions.add(this.usedItems$.subscribe((usedItems) => this.itemsChanged.emit(usedItems ?? [])));
37
36
  }
38
37
  toggleItemSelection(item) {
39
38
  if (!this.isItemUsed(item)) {
@@ -43,6 +42,7 @@ export class ChipsSelectorComponent extends SubscriptionnerDirective {
43
42
  this.usedItems$.next(this.usedItems$.getValue().filter((usedItem) => !this.areItemsEqual(usedItem, item)));
44
43
  }
45
44
  this.cdr.detectChanges();
45
+ this.itemsChanged.emit(this.usedItems$.getValue());
46
46
  }
47
47
  search($event) {
48
48
  this.search$.next($event);
@@ -54,7 +54,7 @@ export class ChipsSelectorComponent extends SubscriptionnerDirective {
54
54
  getItemLabel(item) {
55
55
  const label = this.bindLabel ? item[this.bindLabel] : item;
56
56
  const labelTranslated = this.itemTranslationStringBase
57
- ? this.i18n.instant(this.itemTranslationStringBase + label)
57
+ ? this.i18n.instant(this.itemTranslationStringBase + label, undefined, false)
58
58
  : label;
59
59
  return typeof labelTranslated === 'string'
60
60
  ? labelTranslated.startsWith(this.itemTranslationStringBase)
@@ -68,7 +68,7 @@ export class ChipsSelectorComponent extends SubscriptionnerDirective {
68
68
  isItemUsed(item, usedItems) {
69
69
  return usedItems
70
70
  ? usedItems.find((usedItem) => this.areItemsEqual(usedItem, item))
71
- : this.usedItems$.getValue().find((usedItem) => this.areItemsEqual(usedItem, item));
71
+ : (this.usedItems$.getValue() ?? []).find((usedItem) => this.areItemsEqual(usedItem, item));
72
72
  }
73
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChipsSelectorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
74
74
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ChipsSelectorComponent, selector: "pry-chips-selector", inputs: { bindValue: "bindValue", bindLabel: "bindLabel", translationStringBase: "translationStringBase", itemTranslationStringBase: "itemTranslationStringBase", showActionButtons: "showActionButtons", showSearchbar: "showSearchbar", items: "items", usedItems: "usedItems" }, outputs: { itemsChanged: "itemsChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-chips-selector\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_namedqueries\">\n @if (showSearchbar) {\n <div class=\"o-widget__search\">\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.components.searchData' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"search($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n }\n\n <div class=\"o-chips-selector__items\">\n @if (((usedItems$ | async) ?? []).length > 0) {\n <div class=\"o-chips-selector__used-items\">\n <h4 class=\"a-h4\">{{ translationStringBase + 'selection' | i18n }}</h4>\n <ul class=\"o-chips-selector__list\">\n @for (item of usedItems$ | async; track item) {\n <li class=\"o-chips-selector__item\">\n <button class=\"a-chip -md o-chips-selector__chip\" (click)=\"toggleItemSelection(item)\" type=\"button\">\n <p>{{ getItemLabel(item) }}</p>\n <pry-icon [iconSvg]=\"'close'\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </button>\n </li>\n }\n </ul>\n </div>\n } @else {\n <span class=\"-no-items\">{{ translationStringBase + 'noItemSelected' | i18n }}</span>\n }\n\n <div class=\"o-chips-selector__unused-items\">\n <h4 class=\"a-h4\">{{ translationStringBase + 'select' | i18n }}</h4>\n <ul class=\"o-chips-selector__list\">\n @for (item of unusedItems$ | async; track item) {\n <li class=\"o-chips-selector__item\">\n <button class=\"a-chip a-chip--light -md o-chips-selector__chip\" (click)=\"toggleItemSelection(item)\">\n <span class=\"u-visually-hidden\">{{ translationStringBase + 'selectItem' | i18n }}</span>\n <p class=\"a-p\">{{ getItemLabel(item) }}</p>\n </button>\n </li>\n }\n </ul>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
95
95
  }], itemsChanged: [{
96
96
  type: Output
97
97
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9jaGlwcy1zZWxlY3Rvci9jaGlwcy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL2NoaXBzLXNlbGVjdG9yL2NoaXBzLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7Ozs7OztBQU9uRyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsd0JBQXdCO0lBUWxFLElBQWEsS0FBSyxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLEtBQVk7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQVVELFlBQ1UsR0FBc0IsRUFDdEIsSUFBb0I7UUFFNUIsS0FBSyxFQUFFLENBQUM7UUFIQSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQXpCckIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZiwwQkFBcUIsR0FBRyxF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QixzQkFBc0IsZ1pDVG5DLDQvREFpREE7OzJGRHhDYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0Usb0JBQW9CO21IQUlyQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9jb21wb25lbnRzL3N1YnNjcmlwdGlvbm5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuL2kxOG4uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1jaGlwcy1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwcy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ2hpcHNTZWxlY3RvckNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIGJpbmRWYWx1ZSA9ICcnO1xuICBASW5wdXQoKSBiaW5kTGFiZWwgPSAnJztcbiAgQElucHV0KCkgdHJhbnNsYXRpb25TdHJpbmdCYXNlID0gJyc7XG4gIEBJbnB1dCgpIGl0ZW1UcmFuc2xhdGlvblN0cmluZ0Jhc2UgPSAnJztcbiAgQElucHV0KCkgc2hvd0FjdGlvbkJ1dHRvbnMgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93U2VhcmNoYmFyID0gdHJ1ZTtcblxuICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IGFueVtdKSB7XG4gICAgdGhpcy5pdGVtcyQubmV4dChpdGVtcyk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgdXNlZEl0ZW1zKGl0ZW1zOiBhbnlbXSkge1xuICAgIHRoaXMudXNlZEl0ZW1zJC5uZXh0KGl0ZW1zKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBpdGVtc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG4gIGl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10gfCBudWxsPihudWxsKTtcbiAgdXNlZEl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcbiAgdW51c2VkSXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdIHwgbnVsbD47XG4gIHNlYXJjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgaWRUb0xhYmVsOiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBpMThuOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy51bnVzZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLml0ZW1zJCwgdGhpcy51c2VkSXRlbXMkLCB0aGlzLnNlYXJjaCRdKS5waXBlKFxuICAgICAgbWFwKChbaXRlbXMsIHVzZWRJdGVtcywgc2VhcmNoXSkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIGl0ZW1zPy5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbSkgPT5cbiAgICAgICAgICAgICAgIXRoaXMuaXNJdGVtVXNlZChpdGVtLCB1c2VkSXRlbXMpICYmIHRoaXMuZ2V0SXRlbUxhYmVsKGl0ZW0pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgKSA/PyBbXVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLml0ZW1zJC5zdWJzY3JpYmUoKGl0ZW1zKSA9PlxuICAgICAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbSkgPT4gKHRoaXMuaWRUb0xhYmVsW3RoaXMuZ2V0SXRlbVZhbHVlKGl0ZW0pXSA9IHRoaXMuZ2V0SXRlbUxhYmVsKGl0ZW0pKSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLnVzZWRJdGVtcyQuc3Vic2NyaWJlKCh1c2VkSXRlbXMpID0+IHRoaXMuaXRlbXNDaGFuZ2VkLmVtaXQodXNlZEl0ZW1zID8/IFtdKSkpO1xuICB9XG5cbiAgdG9nZ2xlSXRlbVNlbGVjdGlvbihpdGVtOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuaXNJdGVtVXNlZChpdGVtKSkge1xuICAgICAgdGhpcy51c2VkSXRlbXMkLm5leHQoWy4uLnRoaXMudXNlZEl0ZW1zJC5nZXRWYWx1ZSgpLCBpdGVtXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXNlZEl0ZW1zJC5uZXh0KHRoaXMudXNlZEl0ZW1zJC5nZXRWYWx1ZSgpLmZpbHRlcigodXNlZEl0ZW0pID0+ICF0aGlzLmFyZUl0ZW1zRXF1YWwodXNlZEl0ZW0sIGl0ZW0pKSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHNlYXJjaCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0SXRlbVZhbHVlKGl0ZW06IGFueSkge1xuICAgIHJldHVybiB0aGlzLmJpbmRWYWx1ZSA/IGl0ZW1bdGhpcy5iaW5kVmFsdWVdIDogaXRlbTtcbiAgfVxuXG4gIGdldEl0ZW1MYWJlbChpdGVtOiBhbnkpIHtcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMuYmluZExhYmVsID8gaXRlbVt0aGlzLmJpbmRMYWJlbF0gOiBpdGVtO1xuICAgIGNvbnN0IGxhYmVsVHJhbnNsYXRlZCA9IHRoaXMuaXRlbVRyYW5zbGF0aW9uU3RyaW5nQmFzZVxuICAgICAgPyB0aGlzLmkxOG4uaW5zdGFudCh0aGlzLml0ZW1UcmFuc2xhdGlvblN0cmluZ0Jhc2UgKyBsYWJlbClcbiAgICAgIDogbGFiZWw7XG4gICAgcmV0dXJuIHR5cGVvZiBsYWJlbFRyYW5zbGF0ZWQgPT09ICdzdHJpbmcnXG4gICAgICA/IGxhYmVsVHJhbnNsYXRlZC5zdGFydHNXaXRoKHRoaXMuaXRlbVRyYW5zbGF0aW9uU3RyaW5nQmFzZSlcbiAgICAgICAgPyBsYWJlbFxuICAgICAgICA6IGxhYmVsVHJhbnNsYXRlZFxuICAgICAgOiAnLS1vYmplY3QtLSc7XG4gIH1cblxuICBhcmVJdGVtc0VxdWFsKGl0ZW0xOiBhbnksIGl0ZW0yOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJdGVtVmFsdWUoaXRlbTEpID09PSB0aGlzLmdldEl0ZW1WYWx1ZShpdGVtMik7XG4gIH1cblxuICBpc0l0ZW1Vc2VkKGl0ZW06IGFueSwgdXNlZEl0ZW1zPzogYW55W10pIHtcbiAgICByZXR1cm4gdXNlZEl0ZW1zXG4gICAgICA/IHVzZWRJdGVtcy5maW5kKCh1c2VkSXRlbSkgPT4gdGhpcy5hcmVJdGVtc0VxdWFsKHVzZWRJdGVtLCBpdGVtKSlcbiAgICAgIDogdGhpcy51c2VkSXRlbXMkLmdldFZhbHVlKCkuZmluZCgodXNlZEl0ZW0pID0+IHRoaXMuYXJlSXRlbXNFcXVhbCh1c2VkSXRlbSwgaXRlbSkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1jaGlwcy1zZWxlY3RvclwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiIGFyaWEtbGFiZWxsZWRieT1cImRpYWxvZ19uYW1lZHF1ZXJpZXNcIj5cbiAgQGlmIChzaG93U2VhcmNoYmFyKSB7XG4gICAgPGRpdiBjbGFzcz1cIm8td2lkZ2V0X19zZWFyY2hcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBpZD1cImNhdGFsb2ctc2VhcmNoXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInQHByeS5jb21wb25lbnRzLnNlYXJjaERhdGEnIHwgaTE4blwiXG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaCQgfCBhc3luY1wiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInNlYXJjaFwiIFt3aWR0aF09XCIxN1wiIFtoZWlnaHRdPVwiMTdcIj48L3ByeS1pY29uPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgPGRpdiBjbGFzcz1cIm8tY2hpcHMtc2VsZWN0b3JfX2l0ZW1zXCI+XG4gICAgQGlmICgoKHVzZWRJdGVtcyQgfCBhc3luYykgPz8gW10pLmxlbmd0aCA+IDApIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJvLWNoaXBzLXNlbGVjdG9yX191c2VkLWl0ZW1zXCI+XG4gICAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyB0cmFuc2xhdGlvblN0cmluZ0Jhc2UgKyAnc2VsZWN0aW9uJyB8IGkxOG4gfX08L2g0PlxuICAgICAgICA8dWwgY2xhc3M9XCJvLWNoaXBzLXNlbGVjdG9yX19saXN0XCI+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiB1c2VkSXRlbXMkIHwgYXN5bmM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm8tY2hpcHMtc2VsZWN0b3JfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtY2hpcCAtbWQgby1jaGlwcy1zZWxlY3Rvcl9fY2hpcFwiIChjbGljayk9XCJ0b2dnbGVJdGVtU2VsZWN0aW9uKGl0ZW0pXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxwPnt7IGdldEl0ZW1MYWJlbChpdGVtKSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb24gW2ljb25TdmddPVwiJ2Nsb3NlJ1wiIFt3aWR0aF09XCIxN1wiIFtoZWlnaHRdPVwiMTdcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c3BhbiBjbGFzcz1cIi1uby1pdGVtc1wiPnt7IHRyYW5zbGF0aW9uU3RyaW5nQmFzZSArICdub0l0ZW1TZWxlY3RlZCcgfCBpMThuIH19PC9zcGFuPlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJvLWNoaXBzLXNlbGVjdG9yX191bnVzZWQtaXRlbXNcIj5cbiAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyB0cmFuc2xhdGlvblN0cmluZ0Jhc2UgKyAnc2VsZWN0JyB8IGkxOG4gfX08L2g0PlxuICAgICAgPHVsIGNsYXNzPVwiby1jaGlwcy1zZWxlY3Rvcl9fbGlzdFwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHVudXNlZEl0ZW1zJCB8IGFzeW5jOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwiby1jaGlwcy1zZWxlY3Rvcl9faXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtY2hpcCBhLWNoaXAtLWxpZ2h0IC1tZCBvLWNoaXBzLXNlbGVjdG9yX19jaGlwXCIgKGNsaWNrKT1cInRvZ2dsZUl0ZW1TZWxlY3Rpb24oaXRlbSlcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7IHRyYW5zbGF0aW9uU3RyaW5nQmFzZSArICdzZWxlY3RJdGVtJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+e3sgZ2V0SXRlbUxhYmVsKGl0ZW0pIH19PC9wPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9jaGlwcy1zZWxlY3Rvci9jaGlwcy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL2NoaXBzLXNlbGVjdG9yL2NoaXBzLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7Ozs7OztBQU9uRyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsd0JBQXdCO0lBUWxFLElBQWEsS0FBSyxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLEtBQVk7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQVVELFlBQ1UsR0FBc0IsRUFDdEIsSUFBb0I7UUFFNUIsS0FBSyxFQUFFLENBQUM7UUFIQSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQXpCckIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZiwwQkFBcUIsR0FBRyxF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QkFKbEMsU0FBUzsrQkFDRSxvQkFBb0I7bUhBSXJCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFJSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWNoaXBzLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoaXBzLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDaGlwc1NlbGVjdG9yQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgYmluZFZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIGJpbmRMYWJlbCA9ICcnO1xuICBASW5wdXQoKSB0cmFuc2xhdGlvblN0cmluZ0Jhc2UgPSAnJztcbiAgQElucHV0KCkgaXRlbVRyYW5zbGF0aW9uU3RyaW5nQmFzZSA9ICcnO1xuICBASW5wdXQoKSBzaG93QWN0aW9uQnV0dG9ucyA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dTZWFyY2hiYXIgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogYW55W10pIHtcbiAgICB0aGlzLml0ZW1zJC5uZXh0KGl0ZW1zKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCB1c2VkSXRlbXMoaXRlbXM6IGFueVtdKSB7XG4gICAgdGhpcy51c2VkSXRlbXMkLm5leHQoaXRlbXMpO1xuICB9XG5cbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG5cbiAgaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXSB8IG51bGw+KG51bGwpO1xuICB1c2VkSXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICB1bnVzZWRJdGVtcyQ6IE9ic2VydmFibGU8YW55W10gfCBudWxsPjtcbiAgc2VhcmNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICBpZFRvTGFiZWw6IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGkxOG46IFByeUkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnVudXNlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuaXRlbXMkLCB0aGlzLnVzZWRJdGVtcyQsIHRoaXMuc2VhcmNoJF0pLnBpcGUoXG4gICAgICBtYXAoKFtpdGVtcywgdXNlZEl0ZW1zLCBzZWFyY2hdKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgaXRlbXM/LmZpbHRlcihcbiAgICAgICAgICAgIChpdGVtKSA9PlxuICAgICAgICAgICAgICAhdGhpcy5pc0l0ZW1Vc2VkKGl0ZW0sIHVzZWRJdGVtcykgJiYgdGhpcy5nZXRJdGVtTGFiZWwoaXRlbSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICApID8/IFtdXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuaXRlbXMkLnN1YnNjcmliZSgoaXRlbXMpID0+XG4gICAgICAgIGl0ZW1zPy5mb3JFYWNoKChpdGVtKSA9PiAodGhpcy5pZFRvTGFiZWxbdGhpcy5nZXRJdGVtVmFsdWUoaXRlbSldID0gdGhpcy5nZXRJdGVtTGFiZWwoaXRlbSkpKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICB0b2dnbGVJdGVtU2VsZWN0aW9uKGl0ZW06IGFueSkge1xuICAgIGlmICghdGhpcy5pc0l0ZW1Vc2VkKGl0ZW0pKSB7XG4gICAgICB0aGlzLnVzZWRJdGVtcyQubmV4dChbLi4udGhpcy51c2VkSXRlbXMkLmdldFZhbHVlKCksIGl0ZW1dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51c2VkSXRlbXMkLm5leHQodGhpcy51c2VkSXRlbXMkLmdldFZhbHVlKCkuZmlsdGVyKCh1c2VkSXRlbSkgPT4gIXRoaXMuYXJlSXRlbXNFcXVhbCh1c2VkSXRlbSwgaXRlbSkpKTtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2VkLmVtaXQodGhpcy51c2VkSXRlbXMkLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgc2VhcmNoKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWFyY2gkLm5leHQoJGV2ZW50KTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXRJdGVtVmFsdWUoaXRlbTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZFZhbHVlID8gaXRlbVt0aGlzLmJpbmRWYWx1ZV0gOiBpdGVtO1xuICB9XG5cbiAgZ2V0SXRlbUxhYmVsKGl0ZW06IGFueSkge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5iaW5kTGFiZWwgPyBpdGVtW3RoaXMuYmluZExhYmVsXSA6IGl0ZW07XG4gICAgY29uc3QgbGFiZWxUcmFuc2xhdGVkID0gdGhpcy5pdGVtVHJhbnNsYXRpb25TdHJpbmdCYXNlXG4gICAgICA/IHRoaXMuaTE4bi5pbnN0YW50KHRoaXMuaXRlbVRyYW5zbGF0aW9uU3RyaW5nQmFzZSArIGxhYmVsLCB1bmRlZmluZWQsIGZhbHNlKVxuICAgICAgOiBsYWJlbDtcbiAgICByZXR1cm4gdHlwZW9mIGxhYmVsVHJhbnNsYXRlZCA9PT0gJ3N0cmluZydcbiAgICAgID8gbGFiZWxUcmFuc2xhdGVkLnN0YXJ0c1dpdGgodGhpcy5pdGVtVHJhbnNsYXRpb25TdHJpbmdCYXNlKVxuICAgICAgICA/IGxhYmVsXG4gICAgICAgIDogbGFiZWxUcmFuc2xhdGVkXG4gICAgICA6ICctLW9iamVjdC0tJztcbiAgfVxuXG4gIGFyZUl0ZW1zRXF1YWwoaXRlbTE6IGFueSwgaXRlbTI6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmdldEl0ZW1WYWx1ZShpdGVtMSkgPT09IHRoaXMuZ2V0SXRlbVZhbHVlKGl0ZW0yKTtcbiAgfVxuXG4gIGlzSXRlbVVzZWQoaXRlbTogYW55LCB1c2VkSXRlbXM/OiBhbnlbXSkge1xuICAgIHJldHVybiB1c2VkSXRlbXNcbiAgICAgID8gdXNlZEl0ZW1zLmZpbmQoKHVzZWRJdGVtKSA9PiB0aGlzLmFyZUl0ZW1zRXF1YWwodXNlZEl0ZW0sIGl0ZW0pKVxuICAgICAgOiAodGhpcy51c2VkSXRlbXMkLmdldFZhbHVlKCkgPz8gW10pLmZpbmQoKHVzZWRJdGVtKSA9PiB0aGlzLmFyZUl0ZW1zRXF1YWwodXNlZEl0ZW0sIGl0ZW0pKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tY2hpcHMtc2VsZWN0b3JcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiBhcmlhLWxhYmVsbGVkYnk9XCJkaWFsb2dfbmFtZWRxdWVyaWVzXCI+XG4gIEBpZiAoc2hvd1NlYXJjaGJhcikge1xuICAgIDxkaXYgY2xhc3M9XCJvLXdpZGdldF9fc2VhcmNoXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgaWQ9XCJjYXRhbG9nLXNlYXJjaFwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0BwcnkuY29tcG9uZW50cy5zZWFyY2hEYXRhJyB8IGkxOG5cIlxuICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2gkIHwgYXN5bmNcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAvPlxuICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJzZWFyY2hcIiBbd2lkdGhdPVwiMTdcIiBbaGVpZ2h0XT1cIjE3XCI+PC9wcnktaWNvbj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDxkaXYgY2xhc3M9XCJvLWNoaXBzLXNlbGVjdG9yX19pdGVtc1wiPlxuICAgIEBpZiAoKCh1c2VkSXRlbXMkIHwgYXN5bmMpID8/IFtdKS5sZW5ndGggPiAwKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiby1jaGlwcy1zZWxlY3Rvcl9fdXNlZC1pdGVtc1wiPlxuICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgdHJhbnNsYXRpb25TdHJpbmdCYXNlICsgJ3NlbGVjdGlvbicgfCBpMThuIH19PC9oND5cbiAgICAgICAgPHVsIGNsYXNzPVwiby1jaGlwcy1zZWxlY3Rvcl9fbGlzdFwiPlxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgdXNlZEl0ZW1zJCB8IGFzeW5jOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJvLWNoaXBzLXNlbGVjdG9yX19pdGVtXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWNoaXAgLW1kIG8tY2hpcHMtc2VsZWN0b3JfX2NoaXBcIiAoY2xpY2spPVwidG9nZ2xlSXRlbVNlbGVjdGlvbihpdGVtKVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICA8cD57eyBnZXRJdGVtTGFiZWwoaXRlbSkgfX08L3A+XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIFtpY29uU3ZnXT1cIidjbG9zZSdcIiBbd2lkdGhdPVwiMTdcIiBbaGVpZ2h0XT1cIjE3XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHNwYW4gY2xhc3M9XCItbm8taXRlbXNcIj57eyB0cmFuc2xhdGlvblN0cmluZ0Jhc2UgKyAnbm9JdGVtU2VsZWN0ZWQnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiby1jaGlwcy1zZWxlY3Rvcl9fdW51c2VkLWl0ZW1zXCI+XG4gICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgdHJhbnNsYXRpb25TdHJpbmdCYXNlICsgJ3NlbGVjdCcgfCBpMThuIH19PC9oND5cbiAgICAgIDx1bCBjbGFzcz1cIm8tY2hpcHMtc2VsZWN0b3JfX2xpc3RcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiB1bnVzZWRJdGVtcyQgfCBhc3luYzsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cIm8tY2hpcHMtc2VsZWN0b3JfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWNoaXAgYS1jaGlwLS1saWdodCAtbWQgby1jaGlwcy1zZWxlY3Rvcl9fY2hpcFwiIChjbGljayk9XCJ0b2dnbGVJdGVtU2VsZWN0aW9uKGl0ZW0pXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyB0cmFuc2xhdGlvblN0cmluZ0Jhc2UgKyAnc2VsZWN0SXRlbScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPnt7IGdldEl0ZW1MYWJlbChpdGVtKSB9fTwvcD5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -4,7 +4,6 @@ import { BehaviorSubject, map, combineLatest } from 'rxjs';
4
4
  import { ConfigSelectors } from '../../../store/config/config.selectors';
5
5
  import { ConfigActions } from '../../../store/config/config.actions';
6
6
  import { SubscriptionnerDirective } from '../../../../dashboard/components/subscriptionner.directive';
7
- import equal from 'fast-deep-equal/es6';
8
7
  import { AUTHENTICATED_USERS_GROUP, PUBLIC_GROUP } from '../share.utils';
9
8
  import * as i0 from "@angular/core";
10
9
  import * as i1 from "@ngrx/store";
@@ -33,11 +32,10 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
33
32
  this._cd = _cd;
34
33
  this._onChange = (groups) => groups;
35
34
  this._onTouched = () => { };
36
- // for tracking input
37
35
  this.assignedGroupNames$ = new BehaviorSubject([]);
38
36
  this.radioValue = PryShareMode.PRIVATE;
39
37
  this.PryShareMode = PryShareMode;
40
- this.shareModes = [];
38
+ this.shareModes = Object.values(PryShareMode);
41
39
  this._disableRadios$ = new BehaviorSubject({
42
40
  [PryShareMode.PRIVATE]: false,
43
41
  [PryShareMode.PUBLIC]: false,
@@ -56,21 +54,17 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
56
54
  this.assignedGroups$ = combineLatest([this.groups$, this.assignedGroupNames$]).pipe(map(([groups, groupNames]) => groups.filter((group) => {
57
55
  return groupNames.includes(group.name);
58
56
  }) ?? []));
59
- this.shareModes = Object.keys(PryShareMode).map((label) => ({
60
- label: label.toLowerCase(),
61
- value: PryShareMode[label]
62
- }));
63
57
  this.templateData$ = combineLatest([this.groups$, this.assignedGroups$, this._disableRadios$]).pipe(map(([groups, assignedGroups, disableRadios]) => ({ groups, assignedGroups, disableRadios })));
64
58
  }
65
- writeValue(value) {
59
+ writeValue(value, from = 'ngModel') {
66
60
  value = value ?? [];
67
- if (!equal(this.assignedGroupNames$.getValue(), value)) {
68
- this._onChange(value);
69
- this.assignedGroupNames$.next(value);
61
+ this._onChange(value);
62
+ this.assignedGroupNames$.next(value);
63
+ if (from === 'ngModel') {
70
64
  this.updateRadioValue(value);
71
- this._onTouched();
72
- this._cd.markForCheck();
73
65
  }
66
+ this._onTouched();
67
+ this._cd.markForCheck();
74
68
  }
75
69
  registerOnChange(fn) {
76
70
  this._onChange = fn;
@@ -78,6 +72,24 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
78
72
  registerOnTouched(fn) {
79
73
  this._onTouched = fn;
80
74
  }
75
+ onRadioValueChange(radioValue) {
76
+ this.radioValue = radioValue;
77
+ this.radioValueChange.emit(radioValue);
78
+ switch (radioValue) {
79
+ case PryShareMode.PRIVATE:
80
+ this.changeGroups([], 'radioChange');
81
+ break;
82
+ case PryShareMode.GROUPS:
83
+ this.changeGroups(this.assignedGroupNames$.getValue().filter((g) => g !== PUBLIC_GROUP) ?? [], 'radioChange');
84
+ break;
85
+ case PryShareMode.PUBLIC:
86
+ this.changeGroups([PUBLIC_GROUP], 'radioChange');
87
+ break;
88
+ }
89
+ }
90
+ changeGroups(groups, from) {
91
+ this.writeValue(groups.map((group) => (typeof group === 'string' ? group : group.name)), from);
92
+ }
81
93
  updateRadioValue(groups) {
82
94
  if (groups.length === 0) {
83
95
  this.radioValue = PryShareMode.PRIVATE;
@@ -89,30 +101,6 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
89
101
  this.radioValue = PryShareMode.GROUPS;
90
102
  }
91
103
  }
92
- changeGroupsBasedOnRadioValue(type) {
93
- if (this.radioValue !== type) {
94
- this.radioValue = type;
95
- this.radioValueChange.emit(type);
96
- switch (type) {
97
- case PryShareMode.PRIVATE:
98
- this.changeGroups([]);
99
- break;
100
- case PryShareMode.GROUPS:
101
- this.changeGroups(this.assignedGroupNames$.getValue() ?? []);
102
- break;
103
- case PryShareMode.PUBLIC:
104
- this.changeGroups(['ALL']);
105
- break;
106
- }
107
- }
108
- }
109
- changeGroups(groups) {
110
- if (groups) {
111
- this._onChange(groups.map((group) => (typeof group === 'string' ? group : group.name)));
112
- this._onTouched();
113
- this._cd.markForCheck();
114
- }
115
- }
116
104
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryGroupShareComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
117
105
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryGroupShareComponent, selector: "pry-group-share", inputs: { disableRadios: "disableRadios", allowedGroups: "allowedGroups" }, outputs: { radioValueChange: "radioValueChange" }, providers: [
118
106
  {
@@ -120,7 +108,7 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
120
108
  useExisting: forwardRef(() => PryGroupShareComponent),
121
109
  multi: true
122
110
  }
123
- ], usesInheritance: true, ngImport: i0, template: "@if (templateData$ | async; as data) {\n <div class=\"m-form-radio-group\">\n <div *ngFor=\"let type of shareModes\" class=\"m-form-radio-group__item\">\n <input\n type=\"radio\"\n name=\"visibility\"\n [id]=\"type.label\"\n [value]=\"type.value\"\n [ngModel]=\"radioValue\"\n (ngModelChange)=\"changeGroupsBasedOnRadioValue($event)\"\n [disabled]=\"data.disableRadios[type.value]\"\n />\n <label [for]=\"type.label\" class=\"a-label\" [class.a-label--disabled]=\"data.disableRadios[type.value]\">\n {{ '@pry.share.' + type.label | i18n }}\n </label>\n </div>\n </div>\n @if (radioValue === PryShareMode.GROUPS) {\n @if (data.groups.length > 0) {\n <pry-chips-selector\n bindLabel=\"name\"\n bindValue=\"name\"\n translationStringBase=\"@pry.components.chipsSelector.share.\"\n itemTranslationStringBase=\"@pry.components.chipsSelector.share.groups.\"\n [items]=\"data.groups\"\n (itemsChanged)=\"changeGroups($event)\"\n [usedItems]=\"data.assignedGroups\"\n [showSearchbar]=\"data.groups.length > 6\"\n ></pry-chips-selector>\n } @else {\n <p class=\"m-text--center\">\n {{ '@pry.share.noGroups' | i18n }}\n </p>\n }\n }\n}\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.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: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ChipsSelectorComponent, selector: "pry-chips-selector", inputs: ["bindValue", "bindLabel", "translationStringBase", "itemTranslationStringBase", "showActionButtons", "showSearchbar", "items", "usedItems"], outputs: ["itemsChanged"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
+ ], usesInheritance: true, ngImport: i0, template: "@if (templateData$ | async; as data) {\n <div class=\"m-form-radio-group\">\n <div *ngFor=\"let shareMode of shareModes\" class=\"m-form-radio-group__item\">\n <input\n type=\"radio\"\n name=\"visibility\"\n [id]=\"'radio_share_' + shareMode\"\n [value]=\"shareMode\"\n [ngModel]=\"radioValue\"\n (ngModelChange)=\"onRadioValueChange($event)\"\n [disabled]=\"data.disableRadios[shareMode]\"\n />\n <label [for]=\"'radio_share_' + shareMode\" class=\"a-label\" [class.a-label--disabled]=\"data.disableRadios[shareMode]\">\n {{ '@pry.share.radioLabel.' + shareMode | i18n }}\n </label>\n </div>\n </div>\n @if (radioValue === PryShareMode.GROUPS) {\n <pry-chips-selector\n bindLabel=\"name\"\n bindValue=\"name\"\n translationStringBase=\"@pry.components.chipsSelector.share.\"\n itemTranslationStringBase=\"@pry.components.chipsSelector.share.groups.\"\n [items]=\"data.groups\"\n (itemsChanged)=\"changeGroups($event, 'groupSelectionChange')\"\n [usedItems]=\"data.assignedGroups\"\n [showSearchbar]=\"data.groups.length > 6\"\n ></pry-chips-selector>\n }\n}\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.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: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ChipsSelectorComponent, selector: "pry-chips-selector", inputs: ["bindValue", "bindLabel", "translationStringBase", "itemTranslationStringBase", "showActionButtons", "showSearchbar", "items", "usedItems"], outputs: ["itemsChanged"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
124
112
  }
125
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryGroupShareComponent, decorators: [{
126
114
  type: Component,
@@ -130,7 +118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
130
118
  useExisting: forwardRef(() => PryGroupShareComponent),
131
119
  multi: true
132
120
  }
133
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (templateData$ | async; as data) {\n <div class=\"m-form-radio-group\">\n <div *ngFor=\"let type of shareModes\" class=\"m-form-radio-group__item\">\n <input\n type=\"radio\"\n name=\"visibility\"\n [id]=\"type.label\"\n [value]=\"type.value\"\n [ngModel]=\"radioValue\"\n (ngModelChange)=\"changeGroupsBasedOnRadioValue($event)\"\n [disabled]=\"data.disableRadios[type.value]\"\n />\n <label [for]=\"type.label\" class=\"a-label\" [class.a-label--disabled]=\"data.disableRadios[type.value]\">\n {{ '@pry.share.' + type.label | i18n }}\n </label>\n </div>\n </div>\n @if (radioValue === PryShareMode.GROUPS) {\n @if (data.groups.length > 0) {\n <pry-chips-selector\n bindLabel=\"name\"\n bindValue=\"name\"\n translationStringBase=\"@pry.components.chipsSelector.share.\"\n itemTranslationStringBase=\"@pry.components.chipsSelector.share.groups.\"\n [items]=\"data.groups\"\n (itemsChanged)=\"changeGroups($event)\"\n [usedItems]=\"data.assignedGroups\"\n [showSearchbar]=\"data.groups.length > 6\"\n ></pry-chips-selector>\n } @else {\n <p class=\"m-text--center\">\n {{ '@pry.share.noGroups' | i18n }}\n </p>\n }\n }\n}\n" }]
121
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (templateData$ | async; as data) {\n <div class=\"m-form-radio-group\">\n <div *ngFor=\"let shareMode of shareModes\" class=\"m-form-radio-group__item\">\n <input\n type=\"radio\"\n name=\"visibility\"\n [id]=\"'radio_share_' + shareMode\"\n [value]=\"shareMode\"\n [ngModel]=\"radioValue\"\n (ngModelChange)=\"onRadioValueChange($event)\"\n [disabled]=\"data.disableRadios[shareMode]\"\n />\n <label [for]=\"'radio_share_' + shareMode\" class=\"a-label\" [class.a-label--disabled]=\"data.disableRadios[shareMode]\">\n {{ '@pry.share.radioLabel.' + shareMode | i18n }}\n </label>\n </div>\n </div>\n @if (radioValue === PryShareMode.GROUPS) {\n <pry-chips-selector\n bindLabel=\"name\"\n bindValue=\"name\"\n translationStringBase=\"@pry.components.chipsSelector.share.\"\n itemTranslationStringBase=\"@pry.components.chipsSelector.share.groups.\"\n [items]=\"data.groups\"\n (itemsChanged)=\"changeGroups($event, 'groupSelectionChange')\"\n [usedItems]=\"data.assignedGroups\"\n [showSearchbar]=\"data.groups.length > 6\"\n ></pry-chips-selector>\n }\n}\n" }]
134
122
  }], ctorParameters: () => [{ type: i1.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { disableRadios: [{
135
123
  type: Input
136
124
  }], allowedGroups: [{
@@ -138,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
138
126
  }], radioValueChange: [{
139
127
  type: Output
140
128
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zaGFyZS9ncm91cC1zaGFyZS9ncm91cC1zaGFyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2dyb3VwLXNoYXJlL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRXpFLE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIsbUNBQW1CLENBQUE7SUFDbkIsaUNBQWlCLENBQUE7SUFDakIsaUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBY0Qs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QUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDOzhHQTlIVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix5S0FUdEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNyRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDbENILDJ4Q0FvQ0E7OzJGRENhLHNCQUFzQjtrQkFabEMsU0FBUzsrQkFDRSxpQkFBaUIsYUFFaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzBHQTJCbEMsYUFBYTtzQkFBekIsS0FBSztnQkFLTyxhQUFhO3NCQUF6QixLQUFLO2dCQUlJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJy4uL3NoYXJlLm1vZGVsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IENvbmZpZ0FjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9jb25maWcvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGFzaGJvYXJkL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5pbXBvcnQgeyBBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQLCBQVUJMSUNfR1JPVVAgfSBmcm9tICcuLi9zaGFyZS51dGlscyc7XG5cbmV4cG9ydCBlbnVtIFByeVNoYXJlTW9kZSB7XG4gIFBSSVZBVEUgPSAnUFJJVkFURScsXG4gIFBVQkxJQyA9ICdQVUJMSUMnLFxuICBHUk9VUFMgPSAnR1JPVVBTJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZ3JvdXAtc2hhcmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JvdXAtc2hhcmUuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByeUdyb3VwU2hhcmVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByeUdyb3VwU2hhcmVDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKGdyb3Vwczogc3RyaW5nW10pID0+IGdyb3VwcztcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgLy8gZm9yIHRyYWNraW5nIGlucHV0XG4gIGFzc2lnbmVkR3JvdXBOYW1lcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG5cbiAgcmFkaW9WYWx1ZSA9IFByeVNoYXJlTW9kZS5QUklWQVRFO1xuICBhc3NpZ25lZEdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIFByeVNoYXJlTW9kZSA9IFByeVNoYXJlTW9kZTtcbiAgc2hhcmVNb2RlczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogUHJ5U2hhcmVNb2RlIH1bXSA9IFtdO1xuICB0ZW1wbGF0ZURhdGEkOiBPYnNlcnZhYmxlPHtcbiAgICBncm91cHM6IEdyb3VwW107XG4gICAgYXNzaWduZWRHcm91cHM6IEdyb3VwW107XG4gICAgZGlzYWJsZVJhZGlvczogeyBba2V5IGluIFByeVNoYXJlTW9kZV06IGJvb2xlYW4gfTtcbiAgfT47XG5cbiAgX2Rpc2FibGVSYWRpb3MkOiBCZWhhdmlvclN1YmplY3Q8eyBba2V5IGluIFByeVNoYXJlTW9kZV06IGJvb2xlYW4gfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcbiAgICBba2V5IGluIFByeVNoYXJlTW9kZV06IGJvb2xlYW47XG4gIH0+KHtcbiAgICBbUHJ5U2hhcmVNb2RlLlBSSVZBVEVdOiBmYWxzZSxcbiAgICBbUHJ5U2hhcmVNb2RlLlBVQkxJQ106IGZhbHNlLFxuICAgIFtQcnlTaGFyZU1vZGUuR1JPVVBTXTogZmFsc2VcbiAgfSk7XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlUmFkaW9zKHZhbHVlOiB7IFtrZXkgaW4gUHJ5U2hhcmVNb2RlXTogYm9vbGVhbiB9IHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZSkgdGhpcy5fZGlzYWJsZVJhZGlvcyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBfYWxsb3dlZEdyb3VwcyQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXSB8IHVuZGVmaW5lZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBASW5wdXQoKSBzZXQgYWxsb3dlZEdyb3Vwcyh2YWx1ZTogc3RyaW5nW10gfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlKSB0aGlzLl9hbGxvd2VkR3JvdXBzJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSByYWRpb1ZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQcnlTaGFyZU1vZGU+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmxvYWRBY2Nlc3NHcm91cHMoKSk7XG4gICAgdGhpcy5ncm91cHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmFjY2Vzc0dyb3VwcyksIHRoaXMuX2FsbG93ZWRHcm91cHMkXSkucGlwZShcbiAgICAgIG1hcCgoW2dyb3VwcywgYWxsb3dlZEdyb3Vwc10pID0+XG4gICAgICAgIGdyb3Vwc1xuICAgICAgICAgIC5maWx0ZXIoKGdyb3VwKSA9PiBncm91cC5uYW1lICE9PSBQVUJMSUNfR1JPVVApXG4gICAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+XG4gICAgICAgICAgICBhbGxvd2VkR3JvdXBzPy5pbmNsdWRlcyhQVUJMSUNfR1JPVVApIHx8XG4gICAgICAgICAgICBhbGxvd2VkR3JvdXBzPy5pbmNsdWRlcyhBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQKSB8fFxuICAgICAgICAgICAgIWFsbG93ZWRHcm91cHNcbiAgICAgICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgICAgIDogYWxsb3dlZEdyb3Vwcy5pbmNsdWRlcyhncm91cC5uYW1lKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuYXNzaWduZWRHcm91cHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5ncm91cHMkLCB0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyRdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW2dyb3VwcywgZ3JvdXBOYW1lc10pID0+XG4gICAgICAgICAgZ3JvdXBzLmZpbHRlcigoZ3JvdXApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBncm91cE5hbWVzLmluY2x1ZGVzKGdyb3VwLm5hbWUpO1xuICAgICAgICAgIH0pID8/IFtdXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnNoYXJlTW9kZXMgPSBPYmplY3Qua2V5cyhQcnlTaGFyZU1vZGUpLm1hcCgobGFiZWwpID0+ICh7XG4gICAgICBsYWJlbDogbGFiZWwudG9Mb3dlckNhc2UoKSxcbiAgICAgIHZhbHVlOiBQcnlTaGFyZU1vZGVbPGtleW9mIHR5cGVvZiBQcnlTaGFyZU1vZGU+bGFiZWxdXG4gICAgfSkpO1xuICAgIHRoaXMudGVtcGxhdGVEYXRhJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZ3JvdXBzJCwgdGhpcy5hc3NpZ25lZEdyb3VwcyQsIHRoaXMuX2Rpc2FibGVSYWRpb3MkXSkucGlwZShcbiAgICAgIG1hcCgoW2dyb3VwcywgYXNzaWduZWRHcm91cHMsIGRpc2FibGVSYWRpb3NdKSA9PiAoeyBncm91cHMsIGFzc2lnbmVkR3JvdXBzLCBkaXNhYmxlUmFkaW9zIH0pKVxuICAgICk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlID0gdmFsdWUgPz8gW107XG4gICAgaWYgKCFlcXVhbCh0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQuZ2V0VmFsdWUoKSwgdmFsdWUpKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQubmV4dCh2YWx1ZSk7XG4gICAgICB0aGlzLnVwZGF0ZVJhZGlvVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgdXBkYXRlUmFkaW9WYWx1ZShncm91cHM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IFByeVNoYXJlTW9kZS5QUklWQVRFO1xuICAgIH0gZWxzZSBpZiAoZ3JvdXBzLmxlbmd0aCA9PT0gMSAmJiBncm91cHMuZmluZCgoZ3JvdXApID0+IGdyb3VwID09PSBQVUJMSUNfR1JPVVApKSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlTaGFyZU1vZGUuUFVCTElDO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlTaGFyZU1vZGUuR1JPVVBTO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUdyb3Vwc0Jhc2VkT25SYWRpb1ZhbHVlKHR5cGU6IFByeVNoYXJlTW9kZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhZGlvVmFsdWUgIT09IHR5cGUpIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IHR5cGU7XG4gICAgICB0aGlzLnJhZGlvVmFsdWVDaGFuZ2UuZW1pdCh0eXBlKTtcblxuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgUHJ5U2hhcmVNb2RlLlBSSVZBVEU6XG4gICAgICAgICAgdGhpcy5jaGFuZ2VHcm91cHMoW10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFByeVNoYXJlTW9kZS5HUk9VUFM6XG4gICAgICAgICAgdGhpcy5jaGFuZ2VHcm91cHModGhpcy5hc3NpZ25lZEdyb3VwTmFtZXMkLmdldFZhbHVlKCkgPz8gW10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFByeVNoYXJlTW9kZS5QVUJMSUM6XG4gICAgICAgICAgdGhpcy5jaGFuZ2VHcm91cHMoWydBTEwnXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlR3JvdXBzKGdyb3VwczogKEdyb3VwIHwgc3RyaW5nKVtdIHwgbnVsbCkge1xuICAgIGlmIChncm91cHMpIHtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKGdyb3Vwcy5tYXAoKGdyb3VwKSA9PiAodHlwZW9mIGdyb3VwID09PSAnc3RyaW5nJyA/IGdyb3VwIDogZ3JvdXAubmFtZSkpKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKHRlbXBsYXRlRGF0YSQgfCBhc3luYzsgYXMgZGF0YSkge1xuICA8ZGl2IGNsYXNzPVwibS1mb3JtLXJhZGlvLWdyb3VwXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdHlwZSBvZiBzaGFyZU1vZGVzXCIgY2xhc3M9XCJtLWZvcm0tcmFkaW8tZ3JvdXBfX2l0ZW1cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwidmlzaWJpbGl0eVwiXG4gICAgICAgIFtpZF09XCJ0eXBlLmxhYmVsXCJcbiAgICAgICAgW3ZhbHVlXT1cInR5cGUudmFsdWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJyYWRpb1ZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlR3JvdXBzQmFzZWRPblJhZGlvVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLmRpc2FibGVSYWRpb3NbdHlwZS52YWx1ZV1cIlxuICAgICAgLz5cbiAgICAgIDxsYWJlbCBbZm9yXT1cInR5cGUubGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIiBbY2xhc3MuYS1sYWJlbC0tZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlUmFkaW9zW3R5cGUudmFsdWVdXCI+XG4gICAgICAgIHt7ICdAcHJ5LnNoYXJlLicgKyB0eXBlLmxhYmVsIHwgaTE4biB9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIEBpZiAocmFkaW9WYWx1ZSA9PT0gUHJ5U2hhcmVNb2RlLkdST1VQUykge1xuICAgIEBpZiAoZGF0YS5ncm91cHMubGVuZ3RoID4gMCkge1xuICAgICAgPHByeS1jaGlwcy1zZWxlY3RvclxuICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXG4gICAgICAgIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuY29tcG9uZW50cy5jaGlwc1NlbGVjdG9yLnNoYXJlLlwiXG4gICAgICAgIGl0ZW1UcmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmNvbXBvbmVudHMuY2hpcHNTZWxlY3Rvci5zaGFyZS5ncm91cHMuXCJcbiAgICAgICAgW2l0ZW1zXT1cImRhdGEuZ3JvdXBzXCJcbiAgICAgICAgKGl0ZW1zQ2hhbmdlZCk9XCJjaGFuZ2VHcm91cHMoJGV2ZW50KVwiXG4gICAgICAgIFt1c2VkSXRlbXNdPVwiZGF0YS5hc3NpZ25lZEdyb3Vwc1wiXG4gICAgICAgIFtzaG93U2VhcmNoYmFyXT1cImRhdGEuZ3JvdXBzLmxlbmd0aCA+IDZcIlxuICAgICAgPjwvcHJ5LWNoaXBzLXNlbGVjdG9yPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHAgY2xhc3M9XCJtLXRleHQtLWNlbnRlclwiPlxuICAgICAgICB7eyAnQHByeS5zaGFyZS5ub0dyb3VwcycgfCBpMThuIH19XG4gICAgICA8L3A+XG4gICAgfVxuICB9XG59XG4iXX0=
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zaGFyZS9ncm91cC1zaGFyZS9ncm91cC1zaGFyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2dyb3VwLXNoYXJlL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRXpFLE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIsbUNBQW1CLENBQUE7SUFDbkIsaUNBQWlCLENBQUE7SUFDakIsaUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBY0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHdCQUF3QjtJQXdC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LFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3JELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpRENqQ0gsMHFDQThCQTs7MkZETWEsc0JBQXNCO2tCQVpsQyxTQUFTOytCQUNFLGlCQUFpQixhQUVoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07MEdBMEJsQyxhQUFhO3NCQUF6QixLQUFLO2dCQUtPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBSUksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnLi4vc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQ29uZmlnQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2NvbmZpZy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvY29tcG9uZW50cy9zdWJzY3JpcHRpb25uZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVAsIFBVQkxJQ19HUk9VUCB9IGZyb20gJy4uL3NoYXJlLnV0aWxzJztcblxuZXhwb3J0IGVudW0gUHJ5U2hhcmVNb2RlIHtcbiAgUFJJVkFURSA9ICdQUklWQVRFJyxcbiAgUFVCTElDID0gJ1BVQkxJQycsXG4gIEdST1VQUyA9ICdHUk9VUFMnXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1ncm91cC1zaGFyZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncm91cC1zaGFyZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5R3JvdXBTaGFyZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJ5R3JvdXBTaGFyZUNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoZ3JvdXBzOiBzdHJpbmdbXSkgPT4gZ3JvdXBzO1xuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBhc3NpZ25lZEdyb3VwTmFtZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuXG4gIHJhZGlvVmFsdWUgPSBQcnlTaGFyZU1vZGUuUFJJVkFURTtcbiAgYXNzaWduZWRHcm91cHMkOiBPYnNlcnZhYmxlPEdyb3VwW10+O1xuICBncm91cHMkOiBPYnNlcnZhYmxlPEdyb3VwW10+O1xuICBQcnlTaGFyZU1vZGUgPSBQcnlTaGFyZU1vZGU7XG4gIHNoYXJlTW9kZXMgPSBPYmplY3QudmFsdWVzKFByeVNoYXJlTW9kZSk7XG4gIHRlbXBsYXRlRGF0YSQ6IE9ic2VydmFibGU8e1xuICAgIGdyb3VwczogR3JvdXBbXTtcbiAgICBhc3NpZ25lZEdyb3VwczogR3JvdXBbXTtcbiAgICBkaXNhYmxlUmFkaW9zOiB7IFtrZXkgaW4gUHJ5U2hhcmVNb2RlXTogYm9vbGVhbiB9O1xuICB9PjtcblxuICBfZGlzYWJsZVJhZGlvcyQ6IEJlaGF2aW9yU3ViamVjdDx7IFtrZXkgaW4gUHJ5U2hhcmVNb2RlXTogYm9vbGVhbiB9PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e1xuICAgIFtrZXkgaW4gUHJ5U2hhcmVNb2RlXTogYm9vbGVhbjtcbiAgfT4oe1xuICAgIFtQcnlTaGFyZU1vZGUuUFJJVkFURV06IGZhbHNlLFxuICAgIFtQcnlTaGFyZU1vZGUuUFVCTElDXTogZmFsc2UsXG4gICAgW1ByeVNoYXJlTW9kZS5HUk9VUFNdOiBmYWxzZVxuICB9KTtcbiAgQElucHV0KCkgc2V0IGRpc2FibGVSYWRpb3ModmFsdWU6IHsgW2tleSBpbiBQcnlTaGFyZU1vZGVdOiBib29sZWFuIH0gfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlKSB0aGlzLl9kaXNhYmxlUmFkaW9zJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9hbGxvd2VkR3JvdXBzJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIEBJbnB1dCgpIHNldCBhbGxvd2VkR3JvdXBzKHZhbHVlOiBzdHJpbmdbXSB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMuX2FsbG93ZWRHcm91cHMkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpIHJhZGlvVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFByeVNoYXJlTW9kZT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMubG9hZEFjY2Vzc0dyb3VwcygpKTtcbiAgICB0aGlzLmdyb3VwcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuYWNjZXNzR3JvdXBzKSwgdGhpcy5fYWxsb3dlZEdyb3VwcyRdKS5waXBlKFxuICAgICAgbWFwKChbZ3JvdXBzLCBhbGxvd2VkR3JvdXBzXSkgPT5cbiAgICAgICAgZ3JvdXBzXG4gICAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm5hbWUgIT09IFBVQkxJQ19HUk9VUClcbiAgICAgICAgICAuZmlsdGVyKChncm91cCkgPT5cbiAgICAgICAgICAgIGFsbG93ZWRHcm91cHM/LmluY2x1ZGVzKFBVQkxJQ19HUk9VUCkgfHxcbiAgICAgICAgICAgIGFsbG93ZWRHcm91cHM/LmluY2x1ZGVzKEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVApIHx8XG4gICAgICAgICAgICAhYWxsb3dlZEdyb3Vwc1xuICAgICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgICAgOiBhbGxvd2VkR3JvdXBzLmluY2x1ZGVzKGdyb3VwLm5hbWUpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5hc3NpZ25lZEdyb3VwcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmdyb3VwcyQsIHRoaXMuYXNzaWduZWRHcm91cE5hbWVzJF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbZ3JvdXBzLCBncm91cE5hbWVzXSkgPT5cbiAgICAgICAgICBncm91cHMuZmlsdGVyKChncm91cCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGdyb3VwTmFtZXMuaW5jbHVkZXMoZ3JvdXAubmFtZSk7XG4gICAgICAgICAgfSkgPz8gW11cbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMudGVtcGxhdGVEYXRhJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZ3JvdXBzJCwgdGhpcy5hc3NpZ25lZEdyb3VwcyQsIHRoaXMuX2Rpc2FibGVSYWRpb3MkXSkucGlwZShcbiAgICAgIG1hcCgoW2dyb3VwcywgYXNzaWduZWRHcm91cHMsIGRpc2FibGVSYWRpb3NdKSA9PiAoeyBncm91cHMsIGFzc2lnbmVkR3JvdXBzLCBkaXNhYmxlUmFkaW9zIH0pKVxuICAgICk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCwgZnJvbTogJ25nTW9kZWwnIHwgJ3JhZGlvQ2hhbmdlJyB8ICdncm91cFNlbGVjdGlvbkNoYW5nZScgPSAnbmdNb2RlbCcpOiB2b2lkIHtcbiAgICB2YWx1ZSA9IHZhbHVlID8/IFtdO1xuICAgIHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQubmV4dCh2YWx1ZSk7XG4gICAgaWYgKGZyb20gPT09ICduZ01vZGVsJykge1xuICAgICAgdGhpcy51cGRhdGVSYWRpb1ZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgb25SYWRpb1ZhbHVlQ2hhbmdlKHJhZGlvVmFsdWU6IFByeVNoYXJlTW9kZSk6IHZvaWQge1xuICAgIHRoaXMucmFkaW9WYWx1ZSA9IHJhZGlvVmFsdWU7XG4gICAgdGhpcy5yYWRpb1ZhbHVlQ2hhbmdlLmVtaXQocmFkaW9WYWx1ZSk7XG5cbiAgICBzd2l0Y2ggKHJhZGlvVmFsdWUpIHtcbiAgICAgIGNhc2UgUHJ5U2hhcmVNb2RlLlBSSVZBVEU6XG4gICAgICAgIHRoaXMuY2hhbmdlR3JvdXBzKFtdLCAncmFkaW9DaGFuZ2UnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFByeVNoYXJlTW9kZS5HUk9VUFM6XG4gICAgICAgIHRoaXMuY2hhbmdlR3JvdXBzKHRoaXMuYXNzaWduZWRHcm91cE5hbWVzJC5nZXRWYWx1ZSgpLmZpbHRlcigoZykgPT4gZyAhPT0gUFVCTElDX0dST1VQKSA/PyBbXSwgJ3JhZGlvQ2hhbmdlJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQcnlTaGFyZU1vZGUuUFVCTElDOlxuICAgICAgICB0aGlzLmNoYW5nZUdyb3VwcyhbUFVCTElDX0dST1VQXSwgJ3JhZGlvQ2hhbmdlJyk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUdyb3Vwcyhncm91cHM6IChHcm91cCB8IHN0cmluZylbXSwgZnJvbTogJ3JhZGlvQ2hhbmdlJyB8ICdncm91cFNlbGVjdGlvbkNoYW5nZScpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoXG4gICAgICBncm91cHMubWFwKChncm91cCkgPT4gKHR5cGVvZiBncm91cCA9PT0gJ3N0cmluZycgPyBncm91cCA6IGdyb3VwLm5hbWUpKSxcbiAgICAgIGZyb21cbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUmFkaW9WYWx1ZShncm91cHM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IFByeVNoYXJlTW9kZS5QUklWQVRFO1xuICAgIH0gZWxzZSBpZiAoZ3JvdXBzLmxlbmd0aCA9PT0gMSAmJiBncm91cHMuZmluZCgoZ3JvdXApID0+IGdyb3VwID09PSBQVUJMSUNfR1JPVVApKSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlTaGFyZU1vZGUuUFVCTElDO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlTaGFyZU1vZGUuR1JPVVBTO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICh0ZW1wbGF0ZURhdGEkIHwgYXN5bmM7IGFzIGRhdGEpIHtcbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1yYWRpby1ncm91cFwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHNoYXJlTW9kZSBvZiBzaGFyZU1vZGVzXCIgY2xhc3M9XCJtLWZvcm0tcmFkaW8tZ3JvdXBfX2l0ZW1cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwidmlzaWJpbGl0eVwiXG4gICAgICAgIFtpZF09XCIncmFkaW9fc2hhcmVfJyArIHNoYXJlTW9kZVwiXG4gICAgICAgIFt2YWx1ZV09XCJzaGFyZU1vZGVcIlxuICAgICAgICBbbmdNb2RlbF09XCJyYWRpb1ZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25SYWRpb1ZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlUmFkaW9zW3NoYXJlTW9kZV1cIlxuICAgICAgLz5cbiAgICAgIDxsYWJlbCBbZm9yXT1cIidyYWRpb19zaGFyZV8nICsgc2hhcmVNb2RlXCIgY2xhc3M9XCJhLWxhYmVsXCIgW2NsYXNzLmEtbGFiZWwtLWRpc2FibGVkXT1cImRhdGEuZGlzYWJsZVJhZGlvc1tzaGFyZU1vZGVdXCI+XG4gICAgICAgIHt7ICdAcHJ5LnNoYXJlLnJhZGlvTGFiZWwuJyArIHNoYXJlTW9kZSB8IGkxOG4gfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBAaWYgKHJhZGlvVmFsdWUgPT09IFByeVNoYXJlTW9kZS5HUk9VUFMpIHtcbiAgICA8cHJ5LWNoaXBzLXNlbGVjdG9yXG4gICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgIGJpbmRWYWx1ZT1cIm5hbWVcIlxuICAgICAgdHJhbnNsYXRpb25TdHJpbmdCYXNlPVwiQHByeS5jb21wb25lbnRzLmNoaXBzU2VsZWN0b3Iuc2hhcmUuXCJcbiAgICAgIGl0ZW1UcmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmNvbXBvbmVudHMuY2hpcHNTZWxlY3Rvci5zaGFyZS5ncm91cHMuXCJcbiAgICAgIFtpdGVtc109XCJkYXRhLmdyb3Vwc1wiXG4gICAgICAoaXRlbXNDaGFuZ2VkKT1cImNoYW5nZUdyb3VwcygkZXZlbnQsICdncm91cFNlbGVjdGlvbkNoYW5nZScpXCJcbiAgICAgIFt1c2VkSXRlbXNdPVwiZGF0YS5hc3NpZ25lZEdyb3Vwc1wiXG4gICAgICBbc2hvd1NlYXJjaGJhcl09XCJkYXRhLmdyb3Vwcy5sZW5ndGggPiA2XCJcbiAgICA+PC9wcnktY2hpcHMtc2VsZWN0b3I+XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { PryShareMode } from './group-share/group-share.component';
1
2
  export const PUBLIC_GROUP = 'ALL';
2
3
  export const AUTHENTICATED_USERS_GROUP = 'AUTHENTICATED';
3
4
  export const SYSTEM_GROUPS = [PUBLIC_GROUP, AUTHENTICATED_USERS_GROUP];
@@ -12,6 +13,17 @@ export const getGroupLabelByName = (groupName, i18n) => {
12
13
  ? groupName
13
14
  : i18n.instant('@pry.share.groupLabels.' + groupName);
14
15
  };
16
+ export const getShareLevel = (groups) => {
17
+ if (groups.length === 0) {
18
+ return PryShareMode.PRIVATE;
19
+ }
20
+ else if (groups.length === 1 && groups[0] === PUBLIC_GROUP) {
21
+ return PryShareMode.PUBLIC;
22
+ }
23
+ else {
24
+ return PryShareMode.GROUPS;
25
+ }
26
+ };
15
27
  // DASHBOARD GROUP RIGHTS METHODS
16
28
  export const canManifestBeMadePublic = (manifest, datasets) => {
17
29
  return manifest.datasource.every((dsId) => {
@@ -73,4 +85,4 @@ export const getAccessString = (accessArray) => {
73
85
  return READ_ACCESS;
74
86
  }
75
87
  };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL3NoYXJlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsZUFBZSxDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztBQUVwQyxxQkFBcUI7QUFFckIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBWSxFQUFFLElBQW9CLEVBQVUsRUFBRTtJQUMxRSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0FBQzFGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBaUIsRUFBRSxJQUFvQixFQUFVLEVBQUU7SUFDckYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHlCQUF5QixHQUFHLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDeEUsQ0FBQyxDQUFDLFNBQVM7UUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRixpQ0FBaUM7QUFFakMsTUFBTSxDQUFDLE1B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Y3JpcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGF0YXNldCB9IGZyb20gJy4uLy4uL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLm1vZGVsJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnLi9zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IFBVQkxJQ19HUk9VUCA9ICdBTEwnO1xuZXhwb3J0IGNvbnN0IEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVAgPSAnQVVUSEVOVElDQVRFRCc7XG5leHBvcnQgY29uc3QgU1lTVEVNX0dST1VQUyA9IFtQVUJMSUNfR1JPVVAsIEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVBdO1xuXG5leHBvcnQgY29uc3QgUkVBRF9BQ0NFU1MgPSAnUkVBRCc7XG5leHBvcnQgY29uc3QgV1JJVEVfQUNDRVNTID0gJ1dSSVRFJztcblxuLy8gR1JPVVAgVVRJTCBNRVRIT0RTXG5cbmV4cG9ydCBjb25zdCBnZXRHcm91cExhYmVsID0gKGdyb3VwOiBHcm91cCwgaTE4bjogUHJ5STE4blNlcnZpY2UpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gZ3JvdXAuc3lzdGVtID8gaTE4bi5pbnN0YW50KCdAcHJ5LnNoYXJlLmdyb3VwTGFiZWxzLicgKyBncm91cC5uYW1lKSA6IGdyb3VwLm5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R3JvdXBMYWJlbEJ5TmFtZSA9IChncm91cE5hbWU6IHN0cmluZywgaTE4bjogUHJ5STE4blNlcnZpY2UpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gaTE4bi5pbnN0YW50KCdAcHJ5LnNoYXJlLmdyb3VwTGFiZWxzLicgKyBncm91cE5hbWUpLnN0YXJ0c1dpdGgoJ0AnKVxuICAgID8gZ3JvdXBOYW1lXG4gICAgOiBpMThuLmluc3RhbnQoJ0Bwcnkuc2hhcmUuZ3JvdXBMYWJlbHMuJyArIGdyb3VwTmFtZSk7XG59O1xuXG4vLyBEQVNIQk9BUkQgR1JPVVAgUklHSFRTIE1FVEhPRFNcblxuZXhwb3J0IGNvbnN0IGNhbk1hbmlmZXN0QmVNYWRlUHVibGljID0gKG1hbmlmZXN0OiBNYW5pZmVzdERlc2NyaXB0aW9uLCBkYXRhc2V0czogRGF0YXNldFtdKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBtYW5pZmVzdC5kYXRhc291cmNlLmV2ZXJ5KChkc0lkKSA9PiB7XG4gICAgY29uc3QgZGF0YXNvdXJjZSA9IGRhdGFzZXRzLmZpbmQoKGQpID0+IGQuaWQgPT09IGRzSWQpO1xuICAgIHJldHVybiBkYXRhc291cmNlPy5ncm91cHM/LmluY2x1ZGVzKFBVQkxJQ19HUk9VUCkgPz8gZmFsc2U7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbW1vbkRhdGFzb3VyY2VHcm91cHNGb3JNYW5pZmVzdCA9IChcbiAgbWFuaWZlc3Q6IE1hbmlmZXN0RGVzY3JpcHRpb24sXG4gIGRhdGFzZXRzOiBEYXRhc2V0W10sXG4gIGFsbEdyb3VwczogR3JvdXBbXVxuKTogc3RyaW5nW10gPT4ge1xuICBsZXQgcmVzdWx0ID0gW107XG4gIGNvbnN0IGFsbERzR3JvdXBzID0gbWFuaWZlc3QuZGF0YXNvdXJjZS5tYXAoKGRzSWQpID0+IGRhdGFzZXRzLmZpbmQoKGQpID0+IGQuaWQgPT09IGRzSWQpPy5ncm91cHMgPz8gW10pO1xuXG4gIGlmIChhbGxEc0dyb3Vwcy5ldmVyeSgoZHNHcm91cHMpID0+IGRzR3JvdXBzLmluY2x1ZGVzKFBVQkxJQ19HUk9VUCkpKSB7XG4gICAgcmVzdWx0ID0gYWxsR3JvdXBzLm1hcCgoZ3JvdXApID0+IGdyb3VwLm5hbWUpO1xuICB9IGVsc2UgaWYgKFxuICAgIGFsbERzR3JvdXBzLmV2ZXJ5KChkc0dyb3VwcykgPT4gZHNHcm91cHMuaW5jbHVkZXMoUFVCTElDX0dST1VQKSB8fCBkc0dyb3Vwcy5pbmNsdWRlcyhBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQKSlcbiAgKSB7XG4gICAgcmVzdWx0ID0gYWxsR3JvdXBzLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm5hbWUgIT09IFBVQkxJQ19HUk9VUCkubWFwKChncm91cCkgPT4gZ3JvdXAubmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYWxsRHNHcm91cHNGaWx0ZXJlZCA9IGFsbERzR3JvdXBzLmZpbHRlcihcbiAgICAgIChkc0dyb3VwcykgPT4gIWRzR3JvdXBzLmluY2x1ZGVzKEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVApICYmICFkc0dyb3Vwcy5pbmNsdWRlcyhQVUJMSUNfR1JPVVApXG4gICAgKTtcbiAgICBjb25zdCBiYXNlQXJyYXkgPSBhbGxEc0dyb3Vwc0ZpbHRlcmVkWzBdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYmFzZUFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBncm91cCA9IGJhc2VBcnJheVtpXTtcbiAgICAgIGlmIChhbGxEc0dyb3Vwc0ZpbHRlcmVkLmV2ZXJ5KChkc0dyb3VwcykgPT4gZHNHcm91cHMuaW5jbHVkZXMoZ3JvdXApKSkge1xuICAgICAgICByZXN1bHQucHVzaChncm91cCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vLyBBQ0NFU1MgUklHSFRTIE1FVEhPRFNcblxuZXhwb3J0IGNvbnN0IGdldEFjY2Vzc1JpZ2h0c0FycmF5QnlHcm91cCA9IChhY2Nlc3NCeUdyb3VwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9ID0+IHtcbiAgbGV0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XG4gIE9iamVjdC5rZXlzKGFjY2Vzc0J5R3JvdXApLmZvckVhY2goKGtleSkgPT4ge1xuICAgIHJlc3VsdFtrZXldID0gZ2V0QWNjZXNzQXJyYXkoYWNjZXNzQnlHcm91cFtrZXldKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWNjZXNzQXJyYXkgPSAoYWNjZXNzOiBzdHJpbmcpOiBzdHJpbmdbXSA9PiB7XG4gIHN3aXRjaCAoYWNjZXNzKSB7XG4gICAgY2FzZSBSRUFEX0FDQ0VTUzpcbiAgICAgIHJldHVybiBbUkVBRF9BQ0NFU1NdO1xuICAgIGNhc2UgV1JJVEVfQUNDRVNTOlxuICAgICAgcmV0dXJuIFtSRUFEX0FDQ0VTUywgV1JJVEVfQUNDRVNTXTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFtdO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWNjZXNzUmlnaHRzU3RyaW5nQnlHcm91cCA9IChhY2Nlc3NCeUdyb3VwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0+IHtcbiAgbGV0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBPYmplY3Qua2V5cyhhY2Nlc3NCeUdyb3VwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICByZXN1bHRba2V5XSA9IGdldEFjY2Vzc1N0cmluZyhhY2Nlc3NCeUdyb3VwW2tleV0pO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBY2Nlc3NTdHJpbmcgPSAoYWNjZXNzQXJyYXk6IHN0cmluZ1tdKTogc3RyaW5nID0+IHtcbiAgaWYgKGFjY2Vzc0FycmF5LmluY2x1ZGVzKFdSSVRFX0FDQ0VTUykpIHtcbiAgICByZXR1cm4gV1JJVEVfQUNDRVNTO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBSRUFEX0FDQ0VTUztcbiAgfVxufTtcbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL3NoYXJlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVuRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGVBQWUsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUMsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUM7QUFFcEMscUJBQXFCO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQVksRUFBRSxJQUFvQixFQUFVLEVBQUU7SUFDMUUsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztBQUMxRixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsSUFBb0IsRUFBVSxFQUFFO0lBQ3JGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsR0FBRyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLEdBQUcsU0FBUyxDQUFDLENBQUM7QUFD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RyxFQUFFLEVBQUU7UUFDekMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFdBQXFCLEVBQVUsRUFBRTtJQUMvRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYW5pZmVzdERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFzZXQgfSBmcm9tICcuLi8uLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJy4vc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBQcnlTaGFyZU1vZGUgfSBmcm9tICcuL2dyb3VwLXNoYXJlL2dyb3VwLXNoYXJlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBQVUJMSUNfR1JPVVAgPSAnQUxMJztcbmV4cG9ydCBjb25zdCBBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQID0gJ0FVVEhFTlRJQ0FURUQnO1xuZXhwb3J0IGNvbnN0IFNZU1RFTV9HUk9VUFMgPSBbUFVCTElDX0dST1VQLCBBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQXTtcblxuZXhwb3J0IGNvbnN0IFJFQURfQUNDRVNTID0gJ1JFQUQnO1xuZXhwb3J0IGNvbnN0IFdSSVRFX0FDQ0VTUyA9ICdXUklURSc7XG5cbi8vIEdST1VQIFVUSUwgTUVUSE9EU1xuXG5leHBvcnQgY29uc3QgZ2V0R3JvdXBMYWJlbCA9IChncm91cDogR3JvdXAsIGkxOG46IFByeUkxOG5TZXJ2aWNlKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGdyb3VwLnN5c3RlbSA/IGkxOG4uaW5zdGFudCgnQHByeS5zaGFyZS5ncm91cExhYmVscy4nICsgZ3JvdXAubmFtZSkgOiBncm91cC5uYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEdyb3VwTGFiZWxCeU5hbWUgPSAoZ3JvdXBOYW1lOiBzdHJpbmcsIGkxOG46IFByeUkxOG5TZXJ2aWNlKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGkxOG4uaW5zdGFudCgnQHByeS5zaGFyZS5ncm91cExhYmVscy4nICsgZ3JvdXBOYW1lKS5zdGFydHNXaXRoKCdAJylcbiAgICA/IGdyb3VwTmFtZVxuICAgIDogaTE4bi5pbnN0YW50KCdAcHJ5LnNoYXJlLmdyb3VwTGFiZWxzLicgKyBncm91cE5hbWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFNoYXJlTGV2ZWwgPSAoZ3JvdXBzOiBzdHJpbmdbXSkgPT4ge1xuICBpZiAoZ3JvdXBzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBQcnlTaGFyZU1vZGUuUFJJVkFURTtcbiAgfSBlbHNlIGlmIChncm91cHMubGVuZ3RoID09PSAxICYmIGdyb3Vwc1swXSA9PT0gUFVCTElDX0dST1VQKSB7XG4gICAgcmV0dXJuIFByeVNoYXJlTW9kZS5QVUJMSUM7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFByeVNoYXJlTW9kZS5HUk9VUFM7XG4gIH1cbn1cblxuLy8gREFTSEJPQVJEIEdST1VQIFJJR0hUUyBNRVRIT0RTXG5cbmV4cG9ydCBjb25zdCBjYW5NYW5pZmVzdEJlTWFkZVB1YmxpYyA9IChtYW5pZmVzdDogTWFuaWZlc3REZXNjcmlwdGlvbiwgZGF0YXNldHM6IERhdGFzZXRbXSk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gbWFuaWZlc3QuZGF0YXNvdXJjZS5ldmVyeSgoZHNJZCkgPT4ge1xuICAgIGNvbnN0IGRhdGFzb3VyY2UgPSBkYXRhc2V0cy5maW5kKChkKSA9PiBkLmlkID09PSBkc0lkKTtcbiAgICByZXR1cm4gZGF0YXNvdXJjZT8uZ3JvdXBzPy5pbmNsdWRlcyhQVUJMSUNfR1JPVVApID8/IGZhbHNlO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb21tb25EYXRhc291cmNlR3JvdXBzRm9yTWFuaWZlc3QgPSAoXG4gIG1hbmlmZXN0OiBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBkYXRhc2V0czogRGF0YXNldFtdLFxuICBhbGxHcm91cHM6IEdyb3VwW11cbik6IHN0cmluZ1tdID0+IHtcbiAgbGV0IHJlc3VsdCA9IFtdO1xuICBjb25zdCBhbGxEc0dyb3VwcyA9IG1hbmlmZXN0LmRhdGFzb3VyY2UubWFwKChkc0lkKSA9PiBkYXRhc2V0cy5maW5kKChkKSA9PiBkLmlkID09PSBkc0lkKT8uZ3JvdXBzID8/IFtdKTtcblxuICBpZiAoYWxsRHNHcm91cHMuZXZlcnkoKGRzR3JvdXBzKSA9PiBkc0dyb3Vwcy5pbmNsdWRlcyhQVUJMSUNfR1JPVVApKSkge1xuICAgIHJlc3VsdCA9IGFsbEdyb3Vwcy5tYXAoKGdyb3VwKSA9PiBncm91cC5uYW1lKTtcbiAgfSBlbHNlIGlmIChcbiAgICBhbGxEc0dyb3Vwcy5ldmVyeSgoZHNHcm91cHMpID0+IGRzR3JvdXBzLmluY2x1ZGVzKFBVQkxJQ19HUk9VUCkgfHwgZHNHcm91cHMuaW5jbHVkZXMoQVVUSEVOVElDQVRFRF9VU0VSU19HUk9VUCkpXG4gICkge1xuICAgIHJlc3VsdCA9IGFsbEdyb3Vwcy5maWx0ZXIoKGdyb3VwKSA9PiBncm91cC5uYW1lICE9PSBQVUJMSUNfR1JPVVApLm1hcCgoZ3JvdXApID0+IGdyb3VwLm5hbWUpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGFsbERzR3JvdXBzRmlsdGVyZWQgPSBhbGxEc0dyb3Vwcy5maWx0ZXIoXG4gICAgICAoZHNHcm91cHMpID0+ICFkc0dyb3Vwcy5pbmNsdWRlcyhBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQKSAmJiAhZHNHcm91cHMuaW5jbHVkZXMoUFVCTElDX0dST1VQKVxuICAgICk7XG4gICAgY29uc3QgYmFzZUFycmF5ID0gYWxsRHNHcm91cHNGaWx0ZXJlZFswXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJhc2VBcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZ3JvdXAgPSBiYXNlQXJyYXlbaV07XG4gICAgICBpZiAoYWxsRHNHcm91cHNGaWx0ZXJlZC5ldmVyeSgoZHNHcm91cHMpID0+IGRzR3JvdXBzLmluY2x1ZGVzKGdyb3VwKSkpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goZ3JvdXApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLy8gQUNDRVNTIFJJR0hUUyBNRVRIT0RTXG5cbmV4cG9ydCBjb25zdCBnZXRBY2Nlc3NSaWdodHNBcnJheUJ5R3JvdXAgPSAoYWNjZXNzQnlHcm91cDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9PiB7XG4gIGxldCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICBPYmplY3Qua2V5cyhhY2Nlc3NCeUdyb3VwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICByZXN1bHRba2V5XSA9IGdldEFjY2Vzc0FycmF5KGFjY2Vzc0J5R3JvdXBba2V5XSk7XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFjY2Vzc0FycmF5ID0gKGFjY2Vzczogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuICBzd2l0Y2ggKGFjY2Vzcykge1xuICAgIGNhc2UgUkVBRF9BQ0NFU1M6XG4gICAgICByZXR1cm4gW1JFQURfQUNDRVNTXTtcbiAgICBjYXNlIFdSSVRFX0FDQ0VTUzpcbiAgICAgIHJldHVybiBbUkVBRF9BQ0NFU1MsIFdSSVRFX0FDQ0VTU107XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBbXTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldEFjY2Vzc1JpZ2h0c1N0cmluZ0J5R3JvdXAgPSAoYWNjZXNzQnlHcm91cDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9KTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9PiB7XG4gIGxldCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgT2JqZWN0LmtleXMoYWNjZXNzQnlHcm91cCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgcmVzdWx0W2tleV0gPSBnZXRBY2Nlc3NTdHJpbmcoYWNjZXNzQnlHcm91cFtrZXldKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWNjZXNzU3RyaW5nID0gKGFjY2Vzc0FycmF5OiBzdHJpbmdbXSk6IHN0cmluZyA9PiB7XG4gIGlmIChhY2Nlc3NBcnJheS5pbmNsdWRlcyhXUklURV9BQ0NFU1MpKSB7XG4gICAgcmV0dXJuIFdSSVRFX0FDQ0VTUztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gUkVBRF9BQ0NFU1M7XG4gIH1cbn07XG4iXX0=