@wemake4u/form-player-se 1.0.24 → 1.0.26

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 (60) hide show
  1. package/esm2022/lib/dialog/dialog.component.mjs +15 -7
  2. package/esm2022/lib/directives/collapse.directive.mjs +20 -12
  3. package/esm2022/lib/directives/date.directive.mjs +2 -2
  4. package/esm2022/lib/directives/dialog.directive.mjs +2 -1
  5. package/esm2022/lib/directives/dropdown.directive.mjs +23 -5
  6. package/esm2022/lib/directives/formIndex.directive.mjs +25 -0
  7. package/esm2022/lib/directives/grid.directive.mjs +64 -19
  8. package/esm2022/lib/directives/readonly.directive.mjs +101 -0
  9. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +51 -25
  10. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +123 -107
  11. package/esm2022/lib/locale/locale-de.mjs +3 -2
  12. package/esm2022/lib/locale/locale-en.mjs +3 -2
  13. package/esm2022/lib/locale/locale-es.mjs +3 -2
  14. package/esm2022/lib/locale/locale-fr.mjs +3 -2
  15. package/esm2022/lib/locale/locale-it.mjs +3 -2
  16. package/esm2022/lib/locale/locale-pt.mjs +3 -2
  17. package/esm2022/lib/services/chart.service.mjs +62 -56
  18. package/esm2022/lib/services/dialog.service.mjs +17 -2
  19. package/esm2022/lib/services/feel.service.mjs +186 -19
  20. package/esm2022/lib/services/form.service.mjs +100 -12
  21. package/esm2022/lib/services/formatter.service.mjs +68 -54
  22. package/esm2022/lib/services/function.service.mjs +2 -4
  23. package/esm2022/lib/services/grid.service.mjs +163 -51
  24. package/esm2022/lib/services/metadata.service.mjs +1 -8
  25. package/esm2022/lib/services/programmability.service.mjs +318 -64
  26. package/esm2022/lib/services/weak.service.mjs +3 -5
  27. package/esm2022/lib/utils/groupByRow.mjs +3 -1
  28. package/fesm2022/wemake4u-form-player-se.mjs +1337 -582
  29. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  30. package/lib/components/deleteRowRenderer/deleteRowRenderer.component.d.ts +1 -0
  31. package/lib/components/objectURLRenderer/objectURLRenderer.component.d.ts +1 -0
  32. package/lib/components/setFilter/setFilter.component.d.ts +1 -0
  33. package/lib/dialog/dialog.component.d.ts +11 -0
  34. package/lib/directives/collapse.directive.d.ts +7 -4
  35. package/lib/directives/dropdown.directive.d.ts +4 -0
  36. package/lib/directives/formIndex.directive.d.ts +10 -0
  37. package/lib/directives/grid.directive.d.ts +12 -5
  38. package/lib/directives/{disable.directive.d.ts → readonly.directive.d.ts} +7 -4
  39. package/lib/dynamic-fields/dynamic-fields.component.d.ts +27 -4
  40. package/lib/dynamic-form/dynamic-form.component.d.ts +19 -10
  41. package/lib/locale/locale-de.d.ts +1 -0
  42. package/lib/locale/locale-en.d.ts +1 -0
  43. package/lib/locale/locale-es.d.ts +1 -0
  44. package/lib/locale/locale-fr.d.ts +1 -0
  45. package/lib/locale/locale-it.d.ts +1 -0
  46. package/lib/locale/locale-pt.d.ts +1 -0
  47. package/lib/locale/locale.d.ts +7 -0
  48. package/lib/services/chart.service.d.ts +5 -2
  49. package/lib/services/dialog.service.d.ts +1 -1
  50. package/lib/services/feel.service.d.ts +8 -0
  51. package/lib/services/form.service.d.ts +12 -1
  52. package/lib/services/formatter.service.d.ts +8 -6
  53. package/lib/services/grid.service.d.ts +13 -3
  54. package/lib/services/metadata.service.d.ts +0 -3
  55. package/lib/services/programmability.service.d.ts +28 -4
  56. package/lib/utils/groupByRow.d.ts +2 -0
  57. package/package.json +2 -2
  58. package/esm2022/lib/directives/disable.directive.mjs +0 -90
  59. package/esm2022/lib/directives/disable.path.directive.mjs +0 -40
  60. package/lib/directives/disable.path.directive.d.ts +0 -16
@@ -34,6 +34,7 @@ export const Texts = {
34
34
  NotBlank: "Nicht leer",
35
35
  Information: "Informationen",
36
36
  OpenMenu: "Menü öffnen",
37
- CloseMenu: "Menü schließen"
37
+ CloseMenu: "Menü schließen",
38
+ LoadingFailed: "Beim Laden der Daten ist ein Fehler aufgetreten"
38
39
  };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHNCQUFzQjtJQUNwQyxNQUFNLEVBQUUsV0FBVztJQUNuQixVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLElBQUksRUFBRSxVQUFVO0lBQ2hCLE1BQU0sRUFBRSxXQUFXO0lBQ25CLEtBQUssRUFBRSxXQUFXO0lBQ2xCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLEVBQUUsRUFBRSxJQUFJO0lBQ1IsTUFBTSxFQUFFLFdBQVc7SUFDbkIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsS0FBSyxFQUFFLGFBQWE7SUFDcEIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsR0FBRyxFQUFFLElBQUk7SUFDVCxFQUFFLEVBQUUsTUFBTTtJQUNWLEdBQUcsRUFBRSxXQUFXO0lBQ2hCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsS0FBSztJQUNYLE9BQU8sRUFBRSxVQUFVO0lBQ25CLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLE1BQU07SUFDYixRQUFRLEVBQUUsWUFBWTtJQUN0QixXQUFXLEVBQUUsZUFBZTtJQUM1QixRQUFRLEVBQUUsYUFBYTtJQUN2QixTQUFTLEVBQUUsZ0JBQWdCO0NBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVGV4dHMgPSB7XHJcbiAgVHlwZVRvU2VhcmNoOiBcIlp1bSBTdWNoZW4gdGlwcGVuLi4uXCIsXHJcbiAgVXBsb2FkOiBcIkhvY2hsYWRlblwiLFxyXG4gIFNjcm9sbExlZnQ6IFwiTmFjaCBsaW5rcyBzY3JvbGxlblwiLFxyXG4gIFNjcm9sbFJpZ2h0OiBcIk5hY2ggcmVjaHRzIHNjcm9sbGVuXCIsXHJcbiAgQWRkSXRlbTogXCJIaW56dWbDvGdlblwiLFxyXG4gIFJlbW92ZUl0ZW06IFwiRW50ZmVybmVuXCIsXHJcbiAgUHJldmlvdXNTZWN0aW9uOiBcIlZvcmhlcmlnZXIgQWJzY2huaXR0XCIsXHJcbiAgTmV4dFNlY3Rpb246IFwiTsOkY2hzdGVyIEFic2Nobml0dFwiLFxyXG4gIFNob3c6IFwiQW56ZWlnZW5cIixcclxuICBSZW1vdmU6IFwiRW50ZmVybmVuXCIsXHJcbiAgQ2xvc2U6IFwiU2NobGllw59lblwiLFxyXG4gIENvbmZpcm06IFwiQmVzdMOkdGlnZW5cIixcclxuICBPSzogXCJPS1wiLFxyXG4gIENhbmNlbDogXCJBYmJyZWNoZW5cIixcclxuICBBYm9ydDogXCJBYmJyZWNoZW5cIixcclxuICBSZXRyeTogXCJXaWVkZXJob2xlblwiLFxyXG4gIElnbm9yZTogXCJJZ25vcmllcmVuXCIsXHJcbiAgWWVzOiBcIkphXCIsXHJcbiAgTm86IFwiTmVpblwiLFxyXG4gIFRyeTogXCJWZXJzdWNoZW5cIixcclxuICBDb250aW51ZTogXCJGb3J0c2V0emVuXCIsXHJcbiAgTmFtZTogXCJOYW1lXCIsXHJcbiAgU2l6ZTogXCJHcsO2w59lXCIsXHJcbiAgVHlwZTogXCJUeXBcIixcclxuICBBY3Rpb25zOiBcIkFrdGlvbmVuXCIsXHJcbiAgUmVhZE1vcmU6IFwiTWVociBsZXNlblwiLFxyXG4gIFJlYWRMZXNzOiBcIldlbmlnZXIgbGVzZW5cIixcclxuICBTZWxlY3RBbGw6IFwiQWxsZXMgYXVzd8OkaGxlblwiLFxyXG4gIENob29zZU9uZTogXCJXw6RobGUgZWluZSBPcHRpb25cIixcclxuICBUcnVlOiBcIldhaHJcIixcclxuICBGYWxzZTogXCJGYWxzY2hcIixcclxuICBCbGFuazogXCJMZWVyXCIsXHJcbiAgTm90Qmxhbms6IFwiTmljaHQgbGVlclwiLFxyXG4gIEluZm9ybWF0aW9uOiBcIkluZm9ybWF0aW9uZW5cIixcclxuICBPcGVuTWVudTogXCJNZW7DvCDDtmZmbmVuXCIsXHJcbiAgQ2xvc2VNZW51OiBcIk1lbsO8IHNjaGxpZcOfZW5cIlxyXG59O1xyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHNCQUFzQjtJQUNwQyxNQUFNLEVBQUUsV0FBVztJQUNuQixVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLElBQUksRUFBRSxVQUFVO0lBQ2hCLE1BQU0sRUFBRSxXQUFXO0lBQ25CLEtBQUssRUFBRSxXQUFXO0lBQ2xCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLEVBQUUsRUFBRSxJQUFJO0lBQ1IsTUFBTSxFQUFFLFdBQVc7SUFDbkIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsS0FBSyxFQUFFLGFBQWE7SUFDcEIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsR0FBRyxFQUFFLElBQUk7SUFDVCxFQUFFLEVBQUUsTUFBTTtJQUNWLEdBQUcsRUFBRSxXQUFXO0lBQ2hCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsS0FBSztJQUNYLE9BQU8sRUFBRSxVQUFVO0lBQ25CLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLE1BQU07SUFDYixRQUFRLEVBQUUsWUFBWTtJQUN0QixXQUFXLEVBQUUsZUFBZTtJQUM1QixRQUFRLEVBQUUsYUFBYTtJQUN2QixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLGFBQWEsRUFBRSxpREFBaUQ7Q0FDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUZXh0cyA9IHtcclxuICBUeXBlVG9TZWFyY2g6IFwiWnVtIFN1Y2hlbiB0aXBwZW4uLi5cIixcclxuICBVcGxvYWQ6IFwiSG9jaGxhZGVuXCIsXHJcbiAgU2Nyb2xsTGVmdDogXCJOYWNoIGxpbmtzIHNjcm9sbGVuXCIsXHJcbiAgU2Nyb2xsUmlnaHQ6IFwiTmFjaCByZWNodHMgc2Nyb2xsZW5cIixcclxuICBBZGRJdGVtOiBcIkhpbnp1ZsO8Z2VuXCIsXHJcbiAgUmVtb3ZlSXRlbTogXCJFbnRmZXJuZW5cIixcclxuICBQcmV2aW91c1NlY3Rpb246IFwiVm9yaGVyaWdlciBBYnNjaG5pdHRcIixcclxuICBOZXh0U2VjdGlvbjogXCJOw6RjaHN0ZXIgQWJzY2huaXR0XCIsXHJcbiAgU2hvdzogXCJBbnplaWdlblwiLFxyXG4gIFJlbW92ZTogXCJFbnRmZXJuZW5cIixcclxuICBDbG9zZTogXCJTY2hsaWXDn2VuXCIsXHJcbiAgQ29uZmlybTogXCJCZXN0w6R0aWdlblwiLFxyXG4gIE9LOiBcIk9LXCIsXHJcbiAgQ2FuY2VsOiBcIkFiYnJlY2hlblwiLFxyXG4gIEFib3J0OiBcIkFiYnJlY2hlblwiLFxyXG4gIFJldHJ5OiBcIldpZWRlcmhvbGVuXCIsXHJcbiAgSWdub3JlOiBcIklnbm9yaWVyZW5cIixcclxuICBZZXM6IFwiSmFcIixcclxuICBObzogXCJOZWluXCIsXHJcbiAgVHJ5OiBcIlZlcnN1Y2hlblwiLFxyXG4gIENvbnRpbnVlOiBcIkZvcnRzZXR6ZW5cIixcclxuICBOYW1lOiBcIk5hbWVcIixcclxuICBTaXplOiBcIkdyw7bDn2VcIixcclxuICBUeXBlOiBcIlR5cFwiLFxyXG4gIEFjdGlvbnM6IFwiQWt0aW9uZW5cIixcclxuICBSZWFkTW9yZTogXCJNZWhyIGxlc2VuXCIsXHJcbiAgUmVhZExlc3M6IFwiV2VuaWdlciBsZXNlblwiLFxyXG4gIFNlbGVjdEFsbDogXCJBbGxlcyBhdXN3w6RobGVuXCIsXHJcbiAgQ2hvb3NlT25lOiBcIlfDpGhsZSBlaW5lIE9wdGlvblwiLFxyXG4gIFRydWU6IFwiV2FoclwiLFxyXG4gIEZhbHNlOiBcIkZhbHNjaFwiLFxyXG4gIEJsYW5rOiBcIkxlZXJcIixcclxuICBOb3RCbGFuazogXCJOaWNodCBsZWVyXCIsXHJcbiAgSW5mb3JtYXRpb246IFwiSW5mb3JtYXRpb25lblwiLFxyXG4gIE9wZW5NZW51OiBcIk1lbsO8IMO2ZmZuZW5cIixcclxuICBDbG9zZU1lbnU6IFwiTWVuw7wgc2NobGllw59lblwiLFxyXG4gIExvYWRpbmdGYWlsZWQ6IFwiQmVpbSBMYWRlbiBkZXIgRGF0ZW4gaXN0IGVpbiBGZWhsZXIgYXVmZ2V0cmV0ZW5cIlxyXG59O1xyXG4iXX0=
@@ -34,6 +34,7 @@ export const Texts = {
34
34
  NotBlank: "Not blank",
35
35
  Information: "Information",
36
36
  OpenMenu: "Open menu",
37
- CloseMenu: "Close menu"
37
+ CloseMenu: "Close menu",
38
+ LoadingFailed: "An error occurred while loading data"
38
39
  };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLGVBQWUsRUFBRSxrQkFBa0I7SUFDbkMsV0FBVyxFQUFFLGNBQWM7SUFDM0IsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEVBQUUsRUFBRSxJQUFJO0lBQ1IsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsRUFBRSxFQUFFLElBQUk7SUFDUixHQUFHLEVBQUUsS0FBSztJQUNWLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFNBQVMsRUFBRSxZQUFZO0NBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVGV4dHMgPSB7XHJcbiAgVHlwZVRvU2VhcmNoOiBcIlR5cGUgdG8gc2VhcmNoLi4uXCIsXHJcbiAgVXBsb2FkOiBcIlVwbG9hZFwiLFxyXG4gIFNjcm9sbExlZnQ6IFwiU2Nyb2xsIGxlZnRcIixcclxuICBTY3JvbGxSaWdodDogXCJTY3JvbGwgcmlnaHRcIixcclxuICBBZGRJdGVtOiBcIkFkZFwiLFxyXG4gIFJlbW92ZUl0ZW06IFwiUmVtb3ZlXCIsXHJcbiAgUHJldmlvdXNTZWN0aW9uOiBcIlByZXZpb3VzIHNlY3Rpb25cIixcclxuICBOZXh0U2VjdGlvbjogXCJOZXh0IHNlY3Rpb25cIixcclxuICBTaG93OiBcIlNob3dcIixcclxuICBSZW1vdmU6IFwiUmVtb3ZlXCIsXHJcbiAgQ2xvc2U6IFwiQ2xvc2VcIixcclxuICBDb25maXJtOiBcIkNvbmZpcm1cIixcclxuICBPSzogXCJPS1wiLFxyXG4gIENhbmNlbDogXCJDYW5jZWxcIixcclxuICBBYm9ydDogXCJBYm9ydFwiLFxyXG4gIFJldHJ5OiBcIlJldHJ5XCIsXHJcbiAgSWdub3JlOiBcIklnbm9yZVwiLFxyXG4gIFllczogXCJZZXNcIixcclxuICBObzogXCJOb1wiLFxyXG4gIFRyeTogXCJUcnlcIixcclxuICBDb250aW51ZTogXCJDb250aW51ZVwiLFxyXG4gIE5hbWU6IFwiTmFtZVwiLFxyXG4gIFNpemU6IFwiU2l6ZVwiLFxyXG4gIFR5cGU6IFwiVHlwZVwiLFxyXG4gIEFjdGlvbnM6IFwiQWN0aW9uc1wiLFxyXG4gIFJlYWRNb3JlOiBcIlJlYWQgbW9yZVwiLFxyXG4gIFJlYWRMZXNzOiBcIlJlYWQgbGVzc1wiLFxyXG4gIFNlbGVjdEFsbDogXCJTZWxlY3QgYWxsXCIsXHJcbiAgQ2hvb3NlT25lOiBcIkNob29zZSBvbmVcIixcclxuICBUcnVlOiBcIlRydWVcIixcclxuICBGYWxzZTogXCJGYWxzZVwiLFxyXG4gIEJsYW5rOiBcIkJsYW5rXCIsXHJcbiAgTm90Qmxhbms6IFwiTm90IGJsYW5rXCIsXHJcbiAgSW5mb3JtYXRpb246IFwiSW5mb3JtYXRpb25cIixcclxuICBPcGVuTWVudTogXCJPcGVuIG1lbnVcIixcclxuICBDbG9zZU1lbnU6IFwiQ2xvc2UgbWVudVwiXHJcbn07XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLGVBQWUsRUFBRSxrQkFBa0I7SUFDbkMsV0FBVyxFQUFFLGNBQWM7SUFDM0IsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEVBQUUsRUFBRSxJQUFJO0lBQ1IsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsRUFBRSxFQUFFLElBQUk7SUFDUixHQUFHLEVBQUUsS0FBSztJQUNWLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLGFBQWEsRUFBRSxzQ0FBc0M7Q0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUZXh0cyA9IHtcclxuICBUeXBlVG9TZWFyY2g6IFwiVHlwZSB0byBzZWFyY2guLi5cIixcclxuICBVcGxvYWQ6IFwiVXBsb2FkXCIsXHJcbiAgU2Nyb2xsTGVmdDogXCJTY3JvbGwgbGVmdFwiLFxyXG4gIFNjcm9sbFJpZ2h0OiBcIlNjcm9sbCByaWdodFwiLFxyXG4gIEFkZEl0ZW06IFwiQWRkXCIsXHJcbiAgUmVtb3ZlSXRlbTogXCJSZW1vdmVcIixcclxuICBQcmV2aW91c1NlY3Rpb246IFwiUHJldmlvdXMgc2VjdGlvblwiLFxyXG4gIE5leHRTZWN0aW9uOiBcIk5leHQgc2VjdGlvblwiLFxyXG4gIFNob3c6IFwiU2hvd1wiLFxyXG4gIFJlbW92ZTogXCJSZW1vdmVcIixcclxuICBDbG9zZTogXCJDbG9zZVwiLFxyXG4gIENvbmZpcm06IFwiQ29uZmlybVwiLFxyXG4gIE9LOiBcIk9LXCIsXHJcbiAgQ2FuY2VsOiBcIkNhbmNlbFwiLFxyXG4gIEFib3J0OiBcIkFib3J0XCIsXHJcbiAgUmV0cnk6IFwiUmV0cnlcIixcclxuICBJZ25vcmU6IFwiSWdub3JlXCIsXHJcbiAgWWVzOiBcIlllc1wiLFxyXG4gIE5vOiBcIk5vXCIsXHJcbiAgVHJ5OiBcIlRyeVwiLFxyXG4gIENvbnRpbnVlOiBcIkNvbnRpbnVlXCIsXHJcbiAgTmFtZTogXCJOYW1lXCIsXHJcbiAgU2l6ZTogXCJTaXplXCIsXHJcbiAgVHlwZTogXCJUeXBlXCIsXHJcbiAgQWN0aW9uczogXCJBY3Rpb25zXCIsXHJcbiAgUmVhZE1vcmU6IFwiUmVhZCBtb3JlXCIsXHJcbiAgUmVhZExlc3M6IFwiUmVhZCBsZXNzXCIsXHJcbiAgU2VsZWN0QWxsOiBcIlNlbGVjdCBhbGxcIixcclxuICBDaG9vc2VPbmU6IFwiQ2hvb3NlIG9uZVwiLFxyXG4gIFRydWU6IFwiVHJ1ZVwiLFxyXG4gIEZhbHNlOiBcIkZhbHNlXCIsXHJcbiAgQmxhbms6IFwiQmxhbmtcIixcclxuICBOb3RCbGFuazogXCJOb3QgYmxhbmtcIixcclxuICBJbmZvcm1hdGlvbjogXCJJbmZvcm1hdGlvblwiLFxyXG4gIE9wZW5NZW51OiBcIk9wZW4gbWVudVwiLFxyXG4gIENsb3NlTWVudTogXCJDbG9zZSBtZW51XCIsXHJcbiAgTG9hZGluZ0ZhaWxlZDogXCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBsb2FkaW5nIGRhdGFcIlxyXG59O1xyXG4iXX0=
@@ -34,6 +34,7 @@ export const Texts = {
34
34
  NotBlank: "No vacío",
35
35
  Information: "Información",
36
36
  OpenMenu: "Abrir menú",
37
- CloseMenu: "Cerrar menú"
37
+ CloseMenu: "Cerrar menú",
38
+ LoadingFailed: "Error al cargar los datos"
38
39
  };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHdCQUF3QjtJQUN0QyxNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSwwQkFBMEI7SUFDdEMsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxPQUFPLEVBQUUsU0FBUztJQUNsQixVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUUsa0JBQWtCO0lBQ25DLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsSUFBSSxFQUFFLFNBQVM7SUFDZixNQUFNLEVBQUUsVUFBVTtJQUNsQixLQUFLLEVBQUUsUUFBUTtJQUNmLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLEVBQUUsRUFBRSxJQUFJO0lBQ1IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFlBQVk7SUFDbkIsTUFBTSxFQUFFLFNBQVM7SUFDakIsR0FBRyxFQUFFLElBQUk7SUFDVCxFQUFFLEVBQUUsSUFBSTtJQUNSLEdBQUcsRUFBRSxVQUFVO0lBQ2YsUUFBUSxFQUFFLFdBQVc7SUFDckIsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFVBQVU7SUFDbkIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsUUFBUSxFQUFFLFlBQVk7SUFDdEIsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsV0FBVztJQUNqQixLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsUUFBUSxFQUFFLFVBQVU7SUFDcEIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsUUFBUSxFQUFFLFlBQVk7SUFDdEIsU0FBUyxFQUFFLGFBQWE7Q0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUZXh0cyA9IHtcclxuICBUeXBlVG9TZWFyY2g6IFwiRXNjcmliZSBwYXJhIGJ1c2Nhci4uLlwiLFxyXG4gIFVwbG9hZDogXCJTdWJpclwiLFxyXG4gIFNjcm9sbExlZnQ6IFwiRGVzcGxhemFyIGEgbGEgaXpxdWllcmRhXCIsXHJcbiAgU2Nyb2xsUmlnaHQ6IFwiRGVzcGxhemFyIGEgbGEgZGVyZWNoYVwiLFxyXG4gIEFkZEl0ZW06IFwiQWdyZWdhclwiLFxyXG4gIFJlbW92ZUl0ZW06IFwiRWxpbWluYXJcIixcclxuICBQcmV2aW91c1NlY3Rpb246IFwiU2VjY2nDs24gYW50ZXJpb3JcIixcclxuICBOZXh0U2VjdGlvbjogXCJTZWNjacOzbiBzaWd1aWVudGVcIixcclxuICBTaG93OiBcIk1vc3RyYXJcIixcclxuICBSZW1vdmU6IFwiRWxpbWluYXJcIixcclxuICBDbG9zZTogXCJDZXJyYXJcIixcclxuICBDb25maXJtOiBcIkNvbmZpcm1hclwiLFxyXG4gIE9LOiBcIk9LXCIsXHJcbiAgQ2FuY2VsOiBcIkNhbmNlbGFyXCIsXHJcbiAgQWJvcnQ6IFwiQWJvcnRhclwiLFxyXG4gIFJldHJ5OiBcIlJlaW50ZW50YXJcIixcclxuICBJZ25vcmU6IFwiSWdub3JhclwiLFxyXG4gIFllczogXCJTw61cIixcclxuICBObzogXCJOb1wiLFxyXG4gIFRyeTogXCJJbnRlbnRhclwiLFxyXG4gIENvbnRpbnVlOiBcIkNvbnRpbnVhclwiLFxyXG4gIE5hbWU6IFwiTm9tYnJlXCIsXHJcbiAgU2l6ZTogXCJUYW1hw7FvXCIsXHJcbiAgVHlwZTogXCJUaXBvXCIsXHJcbiAgQWN0aW9uczogXCJBY2Npb25lc1wiLFxyXG4gIFJlYWRNb3JlOiBcIkxlZXIgbcOhc1wiLFxyXG4gIFJlYWRMZXNzOiBcIkxlZXIgbWVub3NcIixcclxuICBTZWxlY3RBbGw6IFwiU2VsZWNjaW9uYXIgdG9kb1wiLFxyXG4gIENob29zZU9uZTogXCJFbGlnZSB1bm9cIixcclxuICBUcnVlOiBcIlZlcmRhZGVyb1wiLFxyXG4gIEZhbHNlOiBcIkZhbHNvXCIsXHJcbiAgQmxhbms6IFwiVmFjw61vXCIsXHJcbiAgTm90Qmxhbms6IFwiTm8gdmFjw61vXCIsXHJcbiAgSW5mb3JtYXRpb246IFwiSW5mb3JtYWNpw7NuXCIsXHJcbiAgT3Blbk1lbnU6IFwiQWJyaXIgbWVuw7pcIixcclxuICBDbG9zZU1lbnU6IFwiQ2VycmFyIG1lbsO6XCJcclxufTtcclxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHdCQUF3QjtJQUN0QyxNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSwwQkFBMEI7SUFDdEMsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxPQUFPLEVBQUUsU0FBUztJQUNsQixVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUUsa0JBQWtCO0lBQ25DLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsSUFBSSxFQUFFLFNBQVM7SUFDZixNQUFNLEVBQUUsVUFBVTtJQUNsQixLQUFLLEVBQUUsUUFBUTtJQUNmLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLEVBQUUsRUFBRSxJQUFJO0lBQ1IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFlBQVk7SUFDbkIsTUFBTSxFQUFFLFNBQVM7SUFDakIsR0FBRyxFQUFFLElBQUk7SUFDVCxFQUFFLEVBQUUsSUFBSTtJQUNSLEdBQUcsRUFBRSxVQUFVO0lBQ2YsUUFBUSxFQUFFLFdBQVc7SUFDckIsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFVBQVU7SUFDbkIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsUUFBUSxFQUFFLFlBQVk7SUFDdEIsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsV0FBVztJQUNqQixLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsUUFBUSxFQUFFLFVBQVU7SUFDcEIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsUUFBUSxFQUFFLFlBQVk7SUFDdEIsU0FBUyxFQUFFLGFBQWE7SUFDeEIsYUFBYSxFQUFFLDJCQUEyQjtDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRleHRzID0ge1xyXG4gIFR5cGVUb1NlYXJjaDogXCJFc2NyaWJlIHBhcmEgYnVzY2FyLi4uXCIsXHJcbiAgVXBsb2FkOiBcIlN1YmlyXCIsXHJcbiAgU2Nyb2xsTGVmdDogXCJEZXNwbGF6YXIgYSBsYSBpenF1aWVyZGFcIixcclxuICBTY3JvbGxSaWdodDogXCJEZXNwbGF6YXIgYSBsYSBkZXJlY2hhXCIsXHJcbiAgQWRkSXRlbTogXCJBZ3JlZ2FyXCIsXHJcbiAgUmVtb3ZlSXRlbTogXCJFbGltaW5hclwiLFxyXG4gIFByZXZpb3VzU2VjdGlvbjogXCJTZWNjacOzbiBhbnRlcmlvclwiLFxyXG4gIE5leHRTZWN0aW9uOiBcIlNlY2Npw7NuIHNpZ3VpZW50ZVwiLFxyXG4gIFNob3c6IFwiTW9zdHJhclwiLFxyXG4gIFJlbW92ZTogXCJFbGltaW5hclwiLFxyXG4gIENsb3NlOiBcIkNlcnJhclwiLFxyXG4gIENvbmZpcm06IFwiQ29uZmlybWFyXCIsXHJcbiAgT0s6IFwiT0tcIixcclxuICBDYW5jZWw6IFwiQ2FuY2VsYXJcIixcclxuICBBYm9ydDogXCJBYm9ydGFyXCIsXHJcbiAgUmV0cnk6IFwiUmVpbnRlbnRhclwiLFxyXG4gIElnbm9yZTogXCJJZ25vcmFyXCIsXHJcbiAgWWVzOiBcIlPDrVwiLFxyXG4gIE5vOiBcIk5vXCIsXHJcbiAgVHJ5OiBcIkludGVudGFyXCIsXHJcbiAgQ29udGludWU6IFwiQ29udGludWFyXCIsXHJcbiAgTmFtZTogXCJOb21icmVcIixcclxuICBTaXplOiBcIlRhbWHDsW9cIixcclxuICBUeXBlOiBcIlRpcG9cIixcclxuICBBY3Rpb25zOiBcIkFjY2lvbmVzXCIsXHJcbiAgUmVhZE1vcmU6IFwiTGVlciBtw6FzXCIsXHJcbiAgUmVhZExlc3M6IFwiTGVlciBtZW5vc1wiLFxyXG4gIFNlbGVjdEFsbDogXCJTZWxlY2Npb25hciB0b2RvXCIsXHJcbiAgQ2hvb3NlT25lOiBcIkVsaWdlIHVub1wiLFxyXG4gIFRydWU6IFwiVmVyZGFkZXJvXCIsXHJcbiAgRmFsc2U6IFwiRmFsc29cIixcclxuICBCbGFuazogXCJWYWPDrW9cIixcclxuICBOb3RCbGFuazogXCJObyB2YWPDrW9cIixcclxuICBJbmZvcm1hdGlvbjogXCJJbmZvcm1hY2nDs25cIixcclxuICBPcGVuTWVudTogXCJBYnJpciBtZW7DulwiLFxyXG4gIENsb3NlTWVudTogXCJDZXJyYXIgbWVuw7pcIixcclxuICBMb2FkaW5nRmFpbGVkOiBcIkVycm9yIGFsIGNhcmdhciBsb3MgZGF0b3NcIlxyXG59O1xyXG4iXX0=
@@ -34,6 +34,7 @@ export const Texts = {
34
34
  NotBlank: "Non vide",
35
35
  Information: "Informations",
36
36
  OpenMenu: "Ouvrir le menu",
37
- CloseMenu: "Fermer le menu"
37
+ CloseMenu: "Fermer le menu",
38
+ LoadingFailed: "Erreur lors du chargement des données"
38
39
  };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWZyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1mci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLDBCQUEwQjtJQUN4QyxNQUFNLEVBQUUsWUFBWTtJQUNwQixVQUFVLEVBQUUsOEJBQThCO0lBQzFDLFdBQVcsRUFBRSw4QkFBOEI7SUFDM0MsT0FBTyxFQUFFLFNBQVM7SUFDbEIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLElBQUksRUFBRSxVQUFVO0lBQ2hCLE1BQU0sRUFBRSxXQUFXO0lBQ25CLEtBQUssRUFBRSxRQUFRO0lBQ2YsT0FBTyxFQUFFLFdBQVc7SUFDcEIsRUFBRSxFQUFFLElBQUk7SUFDUixNQUFNLEVBQUUsU0FBUztJQUNqQixLQUFLLEVBQUUsWUFBWTtJQUNuQixLQUFLLEVBQUUsV0FBVztJQUNsQixNQUFNLEVBQUUsU0FBUztJQUNqQixHQUFHLEVBQUUsS0FBSztJQUNWLEVBQUUsRUFBRSxLQUFLO0lBQ1QsR0FBRyxFQUFFLFNBQVM7SUFDZCxRQUFRLEVBQUUsV0FBVztJQUNyQixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixRQUFRLEVBQUUsZUFBZTtJQUN6QixRQUFRLEVBQUUsWUFBWTtJQUN0QixTQUFTLEVBQUUsbUJBQW1CO0lBQzlCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE1BQU07SUFDYixLQUFLLEVBQUUsTUFBTTtJQUNiLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsU0FBUyxFQUFFLGdCQUFnQjtDQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRleHRzID0ge1xyXG4gIFR5cGVUb1NlYXJjaDogXCJUYXBleiBwb3VyIHJlY2hlcmNoZXIuLi5cIixcclxuICBVcGxvYWQ6IFwiVMOpbMOpdmVyc2VyXCIsXHJcbiAgU2Nyb2xsTGVmdDogXCJGYWlyZSBkw6lmaWxlciB2ZXJzIGxhIGdhdWNoZVwiLFxyXG4gIFNjcm9sbFJpZ2h0OiBcIkZhaXJlIGTDqWZpbGVyIHZlcnMgbGEgZHJvaXRlXCIsXHJcbiAgQWRkSXRlbTogXCJBam91dGVyXCIsXHJcbiAgUmVtb3ZlSXRlbTogXCJTdXBwcmltZXJcIixcclxuICBQcmV2aW91c1NlY3Rpb246IFwiU2VjdGlvbiBwcsOpY8OpZGVudGVcIixcclxuICBOZXh0U2VjdGlvbjogXCJTZWN0aW9uIHN1aXZhbnRlXCIsXHJcbiAgU2hvdzogXCJBZmZpY2hlclwiLFxyXG4gIFJlbW92ZTogXCJTdXBwcmltZXJcIixcclxuICBDbG9zZTogXCJGZXJtZXJcIixcclxuICBDb25maXJtOiBcIkNvbmZpcm1lclwiLFxyXG4gIE9LOiBcIk9LXCIsXHJcbiAgQ2FuY2VsOiBcIkFubnVsZXJcIixcclxuICBBYm9ydDogXCJBYmFuZG9ubmVyXCIsXHJcbiAgUmV0cnk6IFwiUsOpZXNzYXllclwiLFxyXG4gIElnbm9yZTogXCJJZ25vcmVyXCIsXHJcbiAgWWVzOiBcIk91aVwiLFxyXG4gIE5vOiBcIk5vblwiLFxyXG4gIFRyeTogXCJFc3NheWVyXCIsXHJcbiAgQ29udGludWU6IFwiQ29udGludWVyXCIsXHJcbiAgTmFtZTogXCJOb21cIixcclxuICBTaXplOiBcIlRhaWxsZVwiLFxyXG4gIFR5cGU6IFwiVHlwZVwiLFxyXG4gIEFjdGlvbnM6IFwiQWN0aW9uc1wiLFxyXG4gIFJlYWRNb3JlOiBcIkxpcmUgbGEgc3VpdGVcIixcclxuICBSZWFkTGVzczogXCJMaXJlIG1vaW5zXCIsXHJcbiAgU2VsZWN0QWxsOiBcIlRvdXQgc8OpbGVjdGlvbm5lclwiLFxyXG4gIENob29zZU9uZTogXCJDaG9pc2lyIHVuXCIsXHJcbiAgVHJ1ZTogXCJWcmFpXCIsXHJcbiAgRmFsc2U6IFwiRmF1eFwiLFxyXG4gIEJsYW5rOiBcIlZpZGVcIixcclxuICBOb3RCbGFuazogXCJOb24gdmlkZVwiLFxyXG4gIEluZm9ybWF0aW9uOiBcIkluZm9ybWF0aW9uc1wiLFxyXG4gIE9wZW5NZW51OiBcIk91dnJpciBsZSBtZW51XCIsXHJcbiAgQ2xvc2VNZW51OiBcIkZlcm1lciBsZSBtZW51XCJcclxufTtcclxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWZyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1mci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLDBCQUEwQjtJQUN4QyxNQUFNLEVBQUUsWUFBWTtJQUNwQixVQUFVLEVBQUUsOEJBQThCO0lBQzFDLFdBQVcsRUFBRSw4QkFBOEI7SUFDM0MsT0FBTyxFQUFFLFNBQVM7SUFDbEIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLElBQUksRUFBRSxVQUFVO0lBQ2hCLE1BQU0sRUFBRSxXQUFXO0lBQ25CLEtBQUssRUFBRSxRQUFRO0lBQ2YsT0FBTyxFQUFFLFdBQVc7SUFDcEIsRUFBRSxFQUFFLElBQUk7SUFDUixNQUFNLEVBQUUsU0FBUztJQUNqQixLQUFLLEVBQUUsWUFBWTtJQUNuQixLQUFLLEVBQUUsV0FBVztJQUNsQixNQUFNLEVBQUUsU0FBUztJQUNqQixHQUFHLEVBQUUsS0FBSztJQUNWLEVBQUUsRUFBRSxLQUFLO0lBQ1QsR0FBRyxFQUFFLFNBQVM7SUFDZCxRQUFRLEVBQUUsV0FBVztJQUNyQixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixRQUFRLEVBQUUsZUFBZTtJQUN6QixRQUFRLEVBQUUsWUFBWTtJQUN0QixTQUFTLEVBQUUsbUJBQW1CO0lBQzlCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE1BQU07SUFDYixLQUFLLEVBQUUsTUFBTTtJQUNiLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixhQUFhLEVBQUUsdUNBQXVDO0NBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVGV4dHMgPSB7XHJcbiAgVHlwZVRvU2VhcmNoOiBcIlRhcGV6IHBvdXIgcmVjaGVyY2hlci4uLlwiLFxyXG4gIFVwbG9hZDogXCJUw6lsw6l2ZXJzZXJcIixcclxuICBTY3JvbGxMZWZ0OiBcIkZhaXJlIGTDqWZpbGVyIHZlcnMgbGEgZ2F1Y2hlXCIsXHJcbiAgU2Nyb2xsUmlnaHQ6IFwiRmFpcmUgZMOpZmlsZXIgdmVycyBsYSBkcm9pdGVcIixcclxuICBBZGRJdGVtOiBcIkFqb3V0ZXJcIixcclxuICBSZW1vdmVJdGVtOiBcIlN1cHByaW1lclwiLFxyXG4gIFByZXZpb3VzU2VjdGlvbjogXCJTZWN0aW9uIHByw6ljw6lkZW50ZVwiLFxyXG4gIE5leHRTZWN0aW9uOiBcIlNlY3Rpb24gc3VpdmFudGVcIixcclxuICBTaG93OiBcIkFmZmljaGVyXCIsXHJcbiAgUmVtb3ZlOiBcIlN1cHByaW1lclwiLFxyXG4gIENsb3NlOiBcIkZlcm1lclwiLFxyXG4gIENvbmZpcm06IFwiQ29uZmlybWVyXCIsXHJcbiAgT0s6IFwiT0tcIixcclxuICBDYW5jZWw6IFwiQW5udWxlclwiLFxyXG4gIEFib3J0OiBcIkFiYW5kb25uZXJcIixcclxuICBSZXRyeTogXCJSw6llc3NheWVyXCIsXHJcbiAgSWdub3JlOiBcIklnbm9yZXJcIixcclxuICBZZXM6IFwiT3VpXCIsXHJcbiAgTm86IFwiTm9uXCIsXHJcbiAgVHJ5OiBcIkVzc2F5ZXJcIixcclxuICBDb250aW51ZTogXCJDb250aW51ZXJcIixcclxuICBOYW1lOiBcIk5vbVwiLFxyXG4gIFNpemU6IFwiVGFpbGxlXCIsXHJcbiAgVHlwZTogXCJUeXBlXCIsXHJcbiAgQWN0aW9uczogXCJBY3Rpb25zXCIsXHJcbiAgUmVhZE1vcmU6IFwiTGlyZSBsYSBzdWl0ZVwiLFxyXG4gIFJlYWRMZXNzOiBcIkxpcmUgbW9pbnNcIixcclxuICBTZWxlY3RBbGw6IFwiVG91dCBzw6lsZWN0aW9ubmVyXCIsXHJcbiAgQ2hvb3NlT25lOiBcIkNob2lzaXIgdW5cIixcclxuICBUcnVlOiBcIlZyYWlcIixcclxuICBGYWxzZTogXCJGYXV4XCIsXHJcbiAgQmxhbms6IFwiVmlkZVwiLFxyXG4gIE5vdEJsYW5rOiBcIk5vbiB2aWRlXCIsXHJcbiAgSW5mb3JtYXRpb246IFwiSW5mb3JtYXRpb25zXCIsXHJcbiAgT3Blbk1lbnU6IFwiT3V2cmlyIGxlIG1lbnVcIixcclxuICBDbG9zZU1lbnU6IFwiRmVybWVyIGxlIG1lbnVcIixcclxuICBMb2FkaW5nRmFpbGVkOiBcIkVycmV1ciBsb3JzIGR1IGNoYXJnZW1lbnQgZGVzIGRvbm7DqWVzXCJcclxufTtcclxuIl19
@@ -34,6 +34,7 @@ export const Texts = {
34
34
  NotBlank: "Non vuoto",
35
35
  Information: "Informazioni",
36
36
  OpenMenu: "Apri Menu",
37
- CloseMenu: "Chiudi Menu"
37
+ CloseMenu: "Chiudi Menu",
38
+ LoadingFailed: "Si è verificato un errore durante il caricamento dei dati"
38
39
  };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxRQUFRO0lBQ2YsT0FBTyxFQUFFLFVBQVU7SUFDbkIsRUFBRSxFQUFFLElBQUk7SUFDUixNQUFNLEVBQUUsU0FBUztJQUNqQixLQUFLLEVBQUUsWUFBWTtJQUNuQixLQUFLLEVBQUUsU0FBUztJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixHQUFHLEVBQUUsSUFBSTtJQUNULEVBQUUsRUFBRSxJQUFJO0lBQ1IsR0FBRyxFQUFFLE9BQU87SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxZQUFZO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFFBQVE7SUFDakIsUUFBUSxFQUFFLGNBQWM7SUFDeEIsUUFBUSxFQUFFLGVBQWU7SUFDekIsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixTQUFTLEVBQUUsWUFBWTtJQUN2QixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxRQUFRLEVBQUUsV0FBVztJQUNyQixXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsV0FBVztJQUNyQixTQUFTLEVBQUUsYUFBYTtDQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRleHRzID0ge1xyXG4gIFR5cGVUb1NlYXJjaDogXCJEaWdpdGEgcGVyIGNlcmNhcmUuLi5cIixcclxuICBVcGxvYWQ6IFwiVXBsb2FkXCIsXHJcbiAgU2Nyb2xsTGVmdDogXCJTY29ycmkgYSBzaW5pc3RyYVwiLFxyXG4gIFNjcm9sbFJpZ2h0OiBcIlNjb3JyaSBhIGRlc3RyYVwiLFxyXG4gIEFkZEl0ZW06IFwiQWdnaXVuZ2lcIixcclxuICBSZW1vdmVJdGVtOiBcIlJpbXVvdmlcIixcclxuICBQcmV2aW91c1NlY3Rpb246IFwiU2V6aW9uZSBwcmVjZWRlbnRlXCIsXHJcbiAgTmV4dFNlY3Rpb246IFwiU2V6aW9uZSBzdWNjZXNzaXZhXCIsXHJcbiAgU2hvdzogXCJWaXN1YWxpenphXCIsXHJcbiAgUmVtb3ZlOiBcIlJpbXVvdmlcIixcclxuICBDbG9zZTogXCJDaGl1ZGlcIixcclxuICBDb25maXJtOiBcIkNvbmZlcm1hXCIsXHJcbiAgT0s6IFwiT0tcIixcclxuICBDYW5jZWw6IFwiQW5udWxsYVwiLFxyXG4gIEFib3J0OiBcIkludGVycm9tcGlcIixcclxuICBSZXRyeTogXCJSaXByb3ZhXCIsXHJcbiAgSWdub3JlOiBcIklnbm9yYVwiLFxyXG4gIFllczogXCJTw6xcIixcclxuICBObzogXCJOb1wiLFxyXG4gIFRyeTogXCJQcm92YVwiLFxyXG4gIENvbnRpbnVlOiBcIkNvbnRpbnVhXCIsXHJcbiAgTmFtZTogXCJOb21lXCIsXHJcbiAgU2l6ZTogXCJEaW1lbnNpb25lXCIsXHJcbiAgVHlwZTogXCJUaXBvXCIsXHJcbiAgQWN0aW9uczogXCJBemlvbmlcIixcclxuICBSZWFkTW9yZTogXCJMZWdnaSBkaSBwacO5XCIsXHJcbiAgUmVhZExlc3M6IFwiTGVnZ2kgZGkgbWVub1wiLFxyXG4gIFNlbGVjdEFsbDogXCJTZWxlemlvbmEgdHV0dG9cIixcclxuICBDaG9vc2VPbmU6IFwiU2NlZ2xpIHVub1wiLFxyXG4gIFRydWU6IFwiVmVyb1wiLFxyXG4gIEZhbHNlOiBcIkZhbHNvXCIsXHJcbiAgQmxhbms6IFwiVnVvdG9cIixcclxuICBOb3RCbGFuazogXCJOb24gdnVvdG9cIixcclxuICBJbmZvcm1hdGlvbjogXCJJbmZvcm1hemlvbmlcIixcclxuICBPcGVuTWVudTogXCJBcHJpIE1lbnVcIixcclxuICBDbG9zZU1lbnU6IFwiQ2hpdWRpIE1lbnVcIlxyXG59O1xyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxRQUFRO0lBQ2YsT0FBTyxFQUFFLFVBQVU7SUFDbkIsRUFBRSxFQUFFLElBQUk7SUFDUixNQUFNLEVBQUUsU0FBUztJQUNqQixLQUFLLEVBQUUsWUFBWTtJQUNuQixLQUFLLEVBQUUsU0FBUztJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixHQUFHLEVBQUUsSUFBSTtJQUNULEVBQUUsRUFBRSxJQUFJO0lBQ1IsR0FBRyxFQUFFLE9BQU87SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxZQUFZO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFFBQVE7SUFDakIsUUFBUSxFQUFFLGNBQWM7SUFDeEIsUUFBUSxFQUFFLGVBQWU7SUFDekIsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixTQUFTLEVBQUUsWUFBWTtJQUN2QixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxRQUFRLEVBQUUsV0FBVztJQUNyQixXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsV0FBVztJQUNyQixTQUFTLEVBQUUsYUFBYTtJQUN4QixhQUFhLEVBQUUsMkRBQTJEO0NBQzNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVGV4dHMgPSB7XHJcbiAgVHlwZVRvU2VhcmNoOiBcIkRpZ2l0YSBwZXIgY2VyY2FyZS4uLlwiLFxyXG4gIFVwbG9hZDogXCJVcGxvYWRcIixcclxuICBTY3JvbGxMZWZ0OiBcIlNjb3JyaSBhIHNpbmlzdHJhXCIsXHJcbiAgU2Nyb2xsUmlnaHQ6IFwiU2NvcnJpIGEgZGVzdHJhXCIsXHJcbiAgQWRkSXRlbTogXCJBZ2dpdW5naVwiLFxyXG4gIFJlbW92ZUl0ZW06IFwiUmltdW92aVwiLFxyXG4gIFByZXZpb3VzU2VjdGlvbjogXCJTZXppb25lIHByZWNlZGVudGVcIixcclxuICBOZXh0U2VjdGlvbjogXCJTZXppb25lIHN1Y2Nlc3NpdmFcIixcclxuICBTaG93OiBcIlZpc3VhbGl6emFcIixcclxuICBSZW1vdmU6IFwiUmltdW92aVwiLFxyXG4gIENsb3NlOiBcIkNoaXVkaVwiLFxyXG4gIENvbmZpcm06IFwiQ29uZmVybWFcIixcclxuICBPSzogXCJPS1wiLFxyXG4gIENhbmNlbDogXCJBbm51bGxhXCIsXHJcbiAgQWJvcnQ6IFwiSW50ZXJyb21waVwiLFxyXG4gIFJldHJ5OiBcIlJpcHJvdmFcIixcclxuICBJZ25vcmU6IFwiSWdub3JhXCIsXHJcbiAgWWVzOiBcIlPDrFwiLFxyXG4gIE5vOiBcIk5vXCIsXHJcbiAgVHJ5OiBcIlByb3ZhXCIsXHJcbiAgQ29udGludWU6IFwiQ29udGludWFcIixcclxuICBOYW1lOiBcIk5vbWVcIixcclxuICBTaXplOiBcIkRpbWVuc2lvbmVcIixcclxuICBUeXBlOiBcIlRpcG9cIixcclxuICBBY3Rpb25zOiBcIkF6aW9uaVwiLFxyXG4gIFJlYWRNb3JlOiBcIkxlZ2dpIGRpIHBpw7lcIixcclxuICBSZWFkTGVzczogXCJMZWdnaSBkaSBtZW5vXCIsXHJcbiAgU2VsZWN0QWxsOiBcIlNlbGV6aW9uYSB0dXR0b1wiLFxyXG4gIENob29zZU9uZTogXCJTY2VnbGkgdW5vXCIsXHJcbiAgVHJ1ZTogXCJWZXJvXCIsXHJcbiAgRmFsc2U6IFwiRmFsc29cIixcclxuICBCbGFuazogXCJWdW90b1wiLFxyXG4gIE5vdEJsYW5rOiBcIk5vbiB2dW90b1wiLFxyXG4gIEluZm9ybWF0aW9uOiBcIkluZm9ybWF6aW9uaVwiLFxyXG4gIE9wZW5NZW51OiBcIkFwcmkgTWVudVwiLFxyXG4gIENsb3NlTWVudTogXCJDaGl1ZGkgTWVudVwiLFxyXG4gIExvYWRpbmdGYWlsZWQ6IFwiU2kgw6ggdmVyaWZpY2F0byB1biBlcnJvcmUgZHVyYW50ZSBpbCBjYXJpY2FtZW50byBkZWkgZGF0aVwiXHJcbn07XHJcbiJdfQ==
@@ -34,6 +34,7 @@ export const Texts = {
34
34
  NotBlank: "Não vazio",
35
35
  Information: "Informações",
36
36
  OpenMenu: "Abrir menu",
37
- CloseMenu: "Fechar menu"
37
+ CloseMenu: "Fechar menu",
38
+ LoadingFailed: "Erro ao carregar os dados"
38
39
  };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1wdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLDBCQUEwQjtJQUN4QyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsT0FBTyxFQUFFLFdBQVc7SUFDcEIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxXQUFXLEVBQUUsZUFBZTtJQUM1QixJQUFJLEVBQUUsU0FBUztJQUNmLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxRQUFRO0lBQ2YsT0FBTyxFQUFFLFdBQVc7SUFDcEIsRUFBRSxFQUFFLElBQUk7SUFDUixNQUFNLEVBQUUsVUFBVTtJQUNsQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsRUFBRSxFQUFFLEtBQUs7SUFDVCxHQUFHLEVBQUUsUUFBUTtJQUNiLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsSUFBSSxFQUFFLFlBQVk7SUFDbEIsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFNBQVMsRUFBRSxhQUFhO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVGV4dHMgPSB7XHJcbiAgVHlwZVRvU2VhcmNoOiBcIkRpZ2l0ZSBwYXJhIHBlc3F1aXNhci4uLlwiLFxyXG4gIFVwbG9hZDogXCJFbnZpYXJcIixcclxuICBTY3JvbGxMZWZ0OiBcIlJvbGFyIHBhcmEgYSBlc3F1ZXJkYVwiLFxyXG4gIFNjcm9sbFJpZ2h0OiBcIlJvbGFyIHBhcmEgYSBkaXJlaXRhXCIsXHJcbiAgQWRkSXRlbTogXCJBZGljaW9uYXJcIixcclxuICBSZW1vdmVJdGVtOiBcIlJlbW92ZXJcIixcclxuICBQcmV2aW91c1NlY3Rpb246IFwiU2XDp8OjbyBhbnRlcmlvclwiLFxyXG4gIE5leHRTZWN0aW9uOiBcIlByw7N4aW1hIHNlw6fDo29cIixcclxuICBTaG93OiBcIk1vc3RyYXJcIixcclxuICBSZW1vdmU6IFwiUmVtb3ZlclwiLFxyXG4gIENsb3NlOiBcIkZlY2hhclwiLFxyXG4gIENvbmZpcm06IFwiQ29uZmlybWFyXCIsXHJcbiAgT0s6IFwiT0tcIixcclxuICBDYW5jZWw6IFwiQ2FuY2VsYXJcIixcclxuICBBYm9ydDogXCJBYm9ydGFyXCIsXHJcbiAgUmV0cnk6IFwiVGVudGFyIG5vdmFtZW50ZVwiLFxyXG4gIElnbm9yZTogXCJJZ25vcmFyXCIsXHJcbiAgWWVzOiBcIlNpbVwiLFxyXG4gIE5vOiBcIk7Do29cIixcclxuICBUcnk6IFwiVGVudGFyXCIsXHJcbiAgQ29udGludWU6IFwiQ29udGludWFyXCIsXHJcbiAgTmFtZTogXCJOb21lXCIsXHJcbiAgU2l6ZTogXCJUYW1hbmhvXCIsXHJcbiAgVHlwZTogXCJUaXBvXCIsXHJcbiAgQWN0aW9uczogXCJBw6fDtWVzXCIsXHJcbiAgUmVhZE1vcmU6IFwiTGVpYSBtYWlzXCIsXHJcbiAgUmVhZExlc3M6IFwiTGVpYSBtZW5vc1wiLFxyXG4gIFNlbGVjdEFsbDogXCJTZWxlY2lvbmFyIHR1ZG9cIixcclxuICBDaG9vc2VPbmU6IFwiRXNjb2xoYSB1bVwiLFxyXG4gIFRydWU6IFwiVmVyZGFkZWlyb1wiLFxyXG4gIEZhbHNlOiBcIkZhbHNvXCIsXHJcbiAgQmxhbms6IFwiVmF6aW9cIixcclxuICBOb3RCbGFuazogXCJOw6NvIHZhemlvXCIsXHJcbiAgSW5mb3JtYXRpb246IFwiSW5mb3JtYcOnw7Vlc1wiLFxyXG4gIE9wZW5NZW51OiBcIkFicmlyIG1lbnVcIixcclxuICBDbG9zZU1lbnU6IFwiRmVjaGFyIG1lbnVcIlxyXG59O1xyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1wdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLDBCQUEwQjtJQUN4QyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsT0FBTyxFQUFFLFdBQVc7SUFDcEIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxXQUFXLEVBQUUsZUFBZTtJQUM1QixJQUFJLEVBQUUsU0FBUztJQUNmLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxRQUFRO0lBQ2YsT0FBTyxFQUFFLFdBQVc7SUFDcEIsRUFBRSxFQUFFLElBQUk7SUFDUixNQUFNLEVBQUUsVUFBVTtJQUNsQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsRUFBRSxFQUFFLEtBQUs7SUFDVCxHQUFHLEVBQUUsUUFBUTtJQUNiLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsSUFBSSxFQUFFLFlBQVk7SUFDbEIsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLGFBQWEsRUFBRSwyQkFBMkI7Q0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUZXh0cyA9IHtcclxuICBUeXBlVG9TZWFyY2g6IFwiRGlnaXRlIHBhcmEgcGVzcXVpc2FyLi4uXCIsXHJcbiAgVXBsb2FkOiBcIkVudmlhclwiLFxyXG4gIFNjcm9sbExlZnQ6IFwiUm9sYXIgcGFyYSBhIGVzcXVlcmRhXCIsXHJcbiAgU2Nyb2xsUmlnaHQ6IFwiUm9sYXIgcGFyYSBhIGRpcmVpdGFcIixcclxuICBBZGRJdGVtOiBcIkFkaWNpb25hclwiLFxyXG4gIFJlbW92ZUl0ZW06IFwiUmVtb3ZlclwiLFxyXG4gIFByZXZpb3VzU2VjdGlvbjogXCJTZcOnw6NvIGFudGVyaW9yXCIsXHJcbiAgTmV4dFNlY3Rpb246IFwiUHLDs3hpbWEgc2XDp8Ojb1wiLFxyXG4gIFNob3c6IFwiTW9zdHJhclwiLFxyXG4gIFJlbW92ZTogXCJSZW1vdmVyXCIsXHJcbiAgQ2xvc2U6IFwiRmVjaGFyXCIsXHJcbiAgQ29uZmlybTogXCJDb25maXJtYXJcIixcclxuICBPSzogXCJPS1wiLFxyXG4gIENhbmNlbDogXCJDYW5jZWxhclwiLFxyXG4gIEFib3J0OiBcIkFib3J0YXJcIixcclxuICBSZXRyeTogXCJUZW50YXIgbm92YW1lbnRlXCIsXHJcbiAgSWdub3JlOiBcIklnbm9yYXJcIixcclxuICBZZXM6IFwiU2ltXCIsXHJcbiAgTm86IFwiTsOjb1wiLFxyXG4gIFRyeTogXCJUZW50YXJcIixcclxuICBDb250aW51ZTogXCJDb250aW51YXJcIixcclxuICBOYW1lOiBcIk5vbWVcIixcclxuICBTaXplOiBcIlRhbWFuaG9cIixcclxuICBUeXBlOiBcIlRpcG9cIixcclxuICBBY3Rpb25zOiBcIkHDp8O1ZXNcIixcclxuICBSZWFkTW9yZTogXCJMZWlhIG1haXNcIixcclxuICBSZWFkTGVzczogXCJMZWlhIG1lbm9zXCIsXHJcbiAgU2VsZWN0QWxsOiBcIlNlbGVjaW9uYXIgdHVkb1wiLFxyXG4gIENob29zZU9uZTogXCJFc2NvbGhhIHVtXCIsXHJcbiAgVHJ1ZTogXCJWZXJkYWRlaXJvXCIsXHJcbiAgRmFsc2U6IFwiRmFsc29cIixcclxuICBCbGFuazogXCJWYXppb1wiLFxyXG4gIE5vdEJsYW5rOiBcIk7Do28gdmF6aW9cIixcclxuICBJbmZvcm1hdGlvbjogXCJJbmZvcm1hw6fDtWVzXCIsXHJcbiAgT3Blbk1lbnU6IFwiQWJyaXIgbWVudVwiLFxyXG4gIENsb3NlTWVudTogXCJGZWNoYXIgbWVudVwiLFxyXG4gIExvYWRpbmdGYWlsZWQ6IFwiRXJybyBhbyBjYXJyZWdhciBvcyBkYWRvc1wiXHJcbn07XHJcbiJdfQ==
@@ -4,16 +4,19 @@ import { observableAll } from '../utils/observableAll';
4
4
  import { localize } from '../locale/localize';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../services/programmability.service";
7
+ import * as i2 from "@wemake4u/interact";
7
8
  export class ChartService {
8
9
  programmability;
9
- constructor(programmability) {
10
+ languageService;
11
+ constructor(programmability, languageService) {
10
12
  this.programmability = programmability;
13
+ this.languageService = languageService;
11
14
  }
12
- getOptions(component, formGroup, language) {
15
+ getOptions(component, formGroup) {
13
16
  const expression = this.getDataExpression(component);
14
17
  const data = this.programmability.evaluate(formGroup, expression);
15
18
  return observableAll(data).pipe(map((chartData) => {
16
- const series = this.getSeries(component, formGroup, language);
19
+ const series = this.getSeries(component, formGroup);
17
20
  const options = {
18
21
  theme: this.getTheme(),
19
22
  series: series,
@@ -48,8 +51,11 @@ export class ChartService {
48
51
  });
49
52
  }
50
53
  }
51
- locale(component, key, language) {
52
- return localize(language, component, key);
54
+ get language() {
55
+ return this.languageService.getLanguage();
56
+ }
57
+ locale(component, key) {
58
+ return localize(this.language, component, key);
53
59
  }
54
60
  getTheme() {
55
61
  return {
@@ -70,24 +76,24 @@ export class ChartService {
70
76
  }
71
77
  };
72
78
  }
73
- getSeries(component, formGroup, language) {
79
+ getSeries(component, formGroup) {
74
80
  if (Array.isArray(component.series)) {
75
81
  const series = component.series.map((serie) => {
76
82
  switch (serie.type) {
77
83
  case "bar":
78
- return this.getBarSeriesOptions(serie, formGroup, language);
84
+ return this.getBarSeriesOptions(serie, formGroup);
79
85
  case "line":
80
- return this.getLineSeriesOptions(serie, formGroup, language);
86
+ return this.getLineSeriesOptions(serie, formGroup);
81
87
  case "area":
82
- return this.getAreaSeriesOptions(serie, formGroup, language);
88
+ return this.getAreaSeriesOptions(serie, formGroup);
83
89
  case "scatter":
84
- return this.getScatterSeriesOptions(serie, formGroup, language);
90
+ return this.getScatterSeriesOptions(serie, formGroup);
85
91
  case "bubble":
86
- return this.getBubbleSeriesOptions(serie, formGroup, language);
92
+ return this.getBubbleSeriesOptions(serie, formGroup);
87
93
  case "pie":
88
- return this.getPieSeriesOptions(serie, formGroup, language);
94
+ return this.getPieSeriesOptions(serie, formGroup);
89
95
  case "donut":
90
- return this.getDonutSeriesOptions(serie, formGroup, language);
96
+ return this.getDonutSeriesOptions(serie, formGroup);
91
97
  default:
92
98
  return {};
93
99
  }
@@ -98,14 +104,14 @@ export class ChartService {
98
104
  return [];
99
105
  }
100
106
  }
101
- getSeriesOptionsNames(serie, language) {
107
+ getSeriesOptionsNames(serie) {
102
108
  const options = {};
103
109
  if (this.isString(serie.xName))
104
- options.xName = this.locale(serie, "xName", language);
110
+ options.xName = this.locale(serie, "xName");
105
111
  if (this.isString(serie.yName))
106
- options.yName = this.locale(serie, "yName", language);
112
+ options.yName = this.locale(serie, "yName");
107
113
  if (this.isString(serie.legendItemName))
108
- options.legendItemName = this.locale(serie, "legendItemName", language);
114
+ options.legendItemName = this.locale(serie, "legendItemName");
109
115
  return options;
110
116
  }
111
117
  getBaseSeriesOptions(serie, formGroup) {
@@ -114,13 +120,13 @@ export class ChartService {
114
120
  options.visible = serie.visible;
115
121
  return options;
116
122
  }
117
- getBarSeriesOptions(serie, formGroup, language) {
123
+ getBarSeriesOptions(serie, formGroup) {
118
124
  const options = {
119
125
  type: "bar",
120
126
  xKey: serie.xKey,
121
127
  yKey: serie.yKey,
122
128
  ...this.getBaseSeriesOptions(serie, formGroup),
123
- ...this.getSeriesOptionsNames(serie, language)
129
+ ...this.getSeriesOptionsNames(serie)
124
130
  };
125
131
  if (this.isDirection(serie.direction))
126
132
  options.direction = serie.direction;
@@ -132,13 +138,13 @@ export class ChartService {
132
138
  options.stackGroup = serie.stackGroup;
133
139
  return options;
134
140
  }
135
- getLineSeriesOptions(serie, formGroup, language) {
141
+ getLineSeriesOptions(serie, formGroup) {
136
142
  const options = {
137
143
  type: "line",
138
144
  xKey: serie.xKey,
139
145
  yKey: serie.yKey,
140
146
  ...this.getBaseSeriesOptions(serie, formGroup),
141
- ...this.getSeriesOptionsNames(serie, language)
147
+ ...this.getSeriesOptionsNames(serie)
142
148
  };
143
149
  if (this.isInterpolation(serie.interpolation)) {
144
150
  options.interpolation = {
@@ -147,13 +153,13 @@ export class ChartService {
147
153
  }
148
154
  return options;
149
155
  }
150
- getAreaSeriesOptions(serie, formGroup, language) {
156
+ getAreaSeriesOptions(serie, formGroup) {
151
157
  const options = {
152
158
  type: "area",
153
159
  xKey: serie.xKey,
154
160
  yKey: serie.yKey,
155
161
  ...this.getBaseSeriesOptions(serie, formGroup),
156
- ...this.getAreaSeriesOptionsNames(serie, language)
162
+ ...this.getAreaSeriesOptionsNames(serie)
157
163
  };
158
164
  if (this.isBoolean(serie.stacked))
159
165
  options.stacked = serie.stacked;
@@ -161,35 +167,35 @@ export class ChartService {
161
167
  options.normalizedTo = serie.normalizedTo;
162
168
  return options;
163
169
  }
164
- getAreaSeriesOptionsNames(serie, language) {
170
+ getAreaSeriesOptionsNames(serie) {
165
171
  const options = {};
166
172
  if (serie.xName)
167
- options.xName = this.locale(serie, "xName", language);
173
+ options.xName = this.locale(serie, "xName");
168
174
  if (serie.yName)
169
- options.yName = this.locale(serie, "yName", language);
175
+ options.yName = this.locale(serie, "yName");
170
176
  return options;
171
177
  }
172
- getScatterSeriesOptions(serie, formGroup, language) {
178
+ getScatterSeriesOptions(serie, formGroup) {
173
179
  return {
174
180
  type: "scatter",
175
181
  xKey: serie.xKey,
176
182
  yKey: serie.yKey,
177
183
  labelKey: serie.labelKey,
178
184
  ...this.getBaseSeriesOptions(serie, formGroup),
179
- ...this.getScatterSeriesOptionsNames(serie, language)
185
+ ...this.getScatterSeriesOptionsNames(serie)
180
186
  };
181
187
  }
182
- getScatterSeriesOptionsNames(serie, language) {
188
+ getScatterSeriesOptionsNames(serie) {
183
189
  const options = {};
184
190
  if (serie.xName)
185
- options.xName = this.locale(serie, "xName", language);
191
+ options.xName = this.locale(serie, "xName");
186
192
  if (serie.yName)
187
- options.yName = this.locale(serie, "yName", language);
193
+ options.yName = this.locale(serie, "yName");
188
194
  if (serie.labelName)
189
- options.labelName = this.locale(serie, "labelName", language);
195
+ options.labelName = this.locale(serie, "labelName");
190
196
  return options;
191
197
  }
192
- getBubbleSeriesOptions(serie, formGroup, language) {
198
+ getBubbleSeriesOptions(serie, formGroup) {
193
199
  return {
194
200
  type: "bubble",
195
201
  xKey: serie.xKey,
@@ -197,27 +203,27 @@ export class ChartService {
197
203
  sizeKey: serie.sizeKey,
198
204
  labelKey: serie.labelKey,
199
205
  ...this.getBaseSeriesOptions(serie, formGroup),
200
- ...this.getBubbleSeriesOptionsNames(serie, language)
206
+ ...this.getBubbleSeriesOptionsNames(serie)
201
207
  };
202
208
  }
203
- getBubbleSeriesOptionsNames(serie, language) {
209
+ getBubbleSeriesOptionsNames(serie) {
204
210
  const options = {};
205
211
  if (serie.xName)
206
- options.xName = this.locale(serie, "xName", language);
212
+ options.xName = this.locale(serie, "xName");
207
213
  if (serie.yName)
208
- options.yName = this.locale(serie, "yName", language);
214
+ options.yName = this.locale(serie, "yName");
209
215
  if (serie.sizeName)
210
- options.sizeName = this.locale(serie, "sizeName", language);
216
+ options.sizeName = this.locale(serie, "sizeName");
211
217
  if (serie.labelName)
212
- options.labelName = this.locale(serie, "labelName", language);
218
+ options.labelName = this.locale(serie, "labelName");
213
219
  return options;
214
220
  }
215
- getPieSeriesOptions(serie, formGroup, language) {
221
+ getPieSeriesOptions(serie, formGroup) {
216
222
  const options = {
217
223
  type: "pie",
218
224
  angleKey: serie.angleKey,
219
225
  ...this.getBaseSeriesOptions(serie, formGroup),
220
- ...this.getPieSeriesOptionsNames(serie, language)
226
+ ...this.getPieSeriesOptionsNames(serie)
221
227
  };
222
228
  if (this.isString(serie.radiusKey))
223
229
  options.radiusKey = serie.radiusKey;
@@ -229,24 +235,24 @@ export class ChartService {
229
235
  options.legendItemKey = serie.legendItemKey;
230
236
  return options;
231
237
  }
232
- getPieSeriesOptionsNames(serie, language) {
238
+ getPieSeriesOptionsNames(serie) {
233
239
  const options = {};
234
240
  if (serie.angleName)
235
- options.angleName = this.locale(serie, "angleName", language);
241
+ options.angleName = this.locale(serie, "angleName");
236
242
  if (serie.radiusName)
237
- options.radiusName = this.locale(serie, "radiusName", language);
243
+ options.radiusName = this.locale(serie, "radiusName");
238
244
  if (serie.calloutLabelName)
239
- options.calloutLabelName = this.locale(serie, "calloutLabelName", language);
245
+ options.calloutLabelName = this.locale(serie, "calloutLabelName");
240
246
  if (serie.sectorLabelName)
241
- options.sectorLabelName = this.locale(serie, "sectorLabelName", language);
247
+ options.sectorLabelName = this.locale(serie, "sectorLabelName");
242
248
  return options;
243
249
  }
244
- getDonutSeriesOptions(serie, formGroup, language) {
250
+ getDonutSeriesOptions(serie, formGroup) {
245
251
  const options = {
246
252
  type: "donut",
247
253
  angleKey: serie.angleKey,
248
254
  ...this.getBaseSeriesOptions(serie, formGroup),
249
- ...this.getDonutSeriesOptionsNames(serie, language)
255
+ ...this.getDonutSeriesOptionsNames(serie)
250
256
  };
251
257
  if (this.isString(serie.radiusKey))
252
258
  options.radiusKey = serie.radiusKey;
@@ -258,16 +264,16 @@ export class ChartService {
258
264
  options.legendItemKey = serie.legendItemKey;
259
265
  return options;
260
266
  }
261
- getDonutSeriesOptionsNames(serie, language) {
267
+ getDonutSeriesOptionsNames(serie) {
262
268
  const options = {};
263
269
  if (serie.angleName)
264
- options.angleName = this.locale(serie, "angleName", language);
270
+ options.angleName = this.locale(serie, "angleName");
265
271
  if (serie.radiusName)
266
- options.radiusName = this.locale(serie, "radiusName", language);
272
+ options.radiusName = this.locale(serie, "radiusName");
267
273
  if (serie.calloutLabelName)
268
- options.calloutLabelName = this.locale(serie, "calloutLabelName", language);
274
+ options.calloutLabelName = this.locale(serie, "calloutLabelName");
269
275
  if (serie.sectorLabelName)
270
- options.sectorLabelName = this.locale(serie, "sectorLabelName", language);
276
+ options.sectorLabelName = this.locale(serie, "sectorLabelName");
271
277
  return options;
272
278
  }
273
279
  getProps(component) {
@@ -295,10 +301,10 @@ export class ChartService {
295
301
  isInterpolation(value) {
296
302
  return value === 'linear' || value === 'smooth' || value === 'step';
297
303
  }
298
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartService, deps: [{ token: i1.ProgrammabilityService }], target: i0.ɵɵFactoryTarget.Injectable });
304
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartService, deps: [{ token: i1.ProgrammabilityService }, { token: i2.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
299
305
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartService });
300
306
  }
301
307
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartService, decorators: [{
302
308
  type: Injectable
303
- }], ctorParameters: () => [{ type: i1.ProgrammabilityService }] });
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL2NoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBV3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRzlDLE1BQU0sT0FBTyxZQUFZO0lBR2I7SUFEVixZQUNVLGVBQXVDO1FBQXZDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtJQUNqRCxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWMsRUFBRSxTQUFvQixFQUFFLFFBQWdCO1FBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEUsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTtZQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUQsTUFBTSxPQUFPLEdBQW1CO2dCQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDdEIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQzthQUM1QixDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxP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LENBQUM7WUFDakMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoRCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQVU7UUFDMUIsT0FBTyxPQUFPLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxZQUFZLE9BQU8sQ0FBQztJQUNoRSxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQVU7UUFDekIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxZQUFZLE1BQU0sQ0FBQztJQUM5RCxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQVU7UUFDekIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxXQUFXLENBQUMsS0FBVTtRQUM1QixPQUFPLEtBQUssS0FBSyxZQUFZLElBQUksS0FBSyxLQUFLLFVBQVUsQ0FBQztJQUN4RCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQVU7UUFDaEMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLE1BQU0sQ0FBQztJQUN0RSxDQUFDO3dHQXpYVSxZQUFZOzRHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUHJvZ3JhbW1hYmlsaXR5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2dyYW1tYWJpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IG9ic2VydmFibGVBbGwgfSBmcm9tICcuLi91dGlscy9vYnNlcnZhYmxlQWxsJztcclxuaW1wb3J0IHtcclxuICBBZ0NoYXJ0T3B0aW9ucywgQWdDaGFydFRoZW1lLCBBZ0Jhc2VTZXJpZXNPcHRpb25zLFxyXG4gIEFnQmFyU2VyaWVzT3B0aW9ucywgQWdCYXJTZXJpZXNPcHRpb25zTmFtZXMsIFxyXG4gIEFnTGluZVNlcmllc09wdGlvbnMsIEFnTGluZVNlcmllc09wdGlvbnNOYW1lcyxcclxuICBBZ0FyZWFTZXJpZXNPcHRpb25zLCBBZ0FyZWFTZXJpZXNPcHRpb25zTmFtZXMsXHJcbiAgQWdTY2F0dGVyU2VyaWVzT3B0aW9ucywgQWdTY2F0dGVyU2VyaWVzT3B0aW9uc05hbWVzLFxyXG4gIEFnQnViYmxlU2VyaWVzT3B0aW9ucywgQWdCdWJibGVTZXJpZXNPcHRpb25zTmFtZXMsXHJcbiAgQWdQaWVTZXJpZXNPcHRpb25zLCBBZ1BpZVNlcmllc09wdGlvbnNOYW1lcyxcclxuICBBZ0RvbnV0U2VyaWVzT3B0aW9ucywgQWdEb251dFNlcmllc09wdGlvbnNOYW1lc1xyXG59IGZyb20gJ2FnLWNoYXJ0cy1jb21tdW5pdHknO1xyXG5pbXBvcnQgeyBsb2NhbGl6ZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGl6ZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDaGFydFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcHJvZ3JhbW1hYmlsaXR5OiBQcm9ncmFtbWFiaWxpdHlTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBnZXRPcHRpb25zKGNvbXBvbmVudDogYW55LCBmb3JtR3JvdXA6IEZvcm1Hcm91cCwgbGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8QWdDaGFydE9wdGlvbnM+IHtcclxuICAgIGNvbnN0IGV4cHJlc3Npb24gPSB0aGlzLmdldERhdGFFeHByZXNzaW9uKGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5wcm9ncmFtbWFiaWxpdHkuZXZhbHVhdGUoZm9ybUdyb3VwLCBleHByZXNzaW9uKTtcclxuICAgIHJldHVybiBvYnNlcnZhYmxlQWxsKGRhdGEpLnBpcGUoXHJcbiAgICAgIG1hcCgoY2hhcnREYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBzZXJpZXMgPSB0aGlzLmdldFNlcmllcyhjb21wb25lbnQsIGZvcm1Hcm91cCwgbGFuZ3VhZ2UpO1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IEFnQ2hhcnRPcHRpb25zID0ge1xyXG4gICAgICAgICAgdGhlbWU6IHRoaXMuZ2V0VGhlbWUoKSxcclxuICAgICAgICAgIHNlcmllczogc2VyaWVzLFxyXG4gICAgICAgICAgLi4udGhpcy5nZXRQcm9wcyhjb21wb25lbnQpXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmJpbmREYXRhKG9wdGlvbnMsIGNoYXJ0RGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgICAgIH0pXHJcbiAgICApOyAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YUV4cHJlc3Npb24oY29tcG9uZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGdldEV4cHJlc3Npb24gPSAoZXhwcmVzc2lvbjogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnByb2dyYW1tYWJpbGl0eS5pc0V4cHJlc3Npb24oZXhwcmVzc2lvbilcclxuICAgICAgICA/IHRoaXMucHJvZ3JhbW1hYmlsaXR5LmdldEV4cHJlc3Npb24oZXhwcmVzc2lvbilcclxuICAgICAgICA6IFwibnVsbFwiXHJcbiAgICB9XHJcbiAgICBjb25zdCBkYXRhRXhwciA9IGdldEV4cHJlc3Npb24oY29tcG9uZW50LmRhdGEpO1xyXG4gICAgY29uc3Qgc2VyaWVzRXhwcnMgPSAoY29tcG9uZW50LnNlcmllcyA/PyBbXSlcclxuICAgICAgLm1hcCgoc2VyaWU6IGFueSkgPT4gZ2V0RXhwcmVzc2lvbihzZXJpZS5kYXRhKSlcclxuICAgICAgLm1hcCgoZXhwcjogc3RyaW5nKSA9PiBgKCR7ZXhwcn0pYClcclxuICAgICAgLmpvaW4oXCIsIFwiKTtcclxuXHJcbiAgICByZXR1cm4gYD17IGRhdGE6ICgke2RhdGFFeHByfSksIHNlcmllczogWyR7c2VyaWVzRXhwcnN9XSB9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmluZERhdGEob3B0aW9uczogQWdDaGFydE9wdGlvbnMsIGNoYXJ0RGF0YTogYW55KSB7XHJcbiAgICBpZiAoY2hhcnREYXRhLmRhdGEpIHtcclxuICAgICAgb3B0aW9ucy5kYXRhID0gY2hhcnREYXRhLmRhdGE7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLnNlcmllcykpIHtcclxuICAgICAgb3B0aW9ucy5zZXJpZXMuZm9yRWFjaCgoc2VyaWU6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGlmIChjaGFydERhdGEuc2VyaWVzW2luZGV4XSkge1xyXG4gICAgICAgICAgc2VyaWUuZGF0YSA9IGNoYXJ0RGF0YS5zZXJpZXNbaW5kZXhdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsZShjb21wb25lbnQ6IGFueSwga2V5OiBzdHJpbmcsIGxhbmd1YWdlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxvY2FsaXplKGxhbmd1YWdlLCBjb21wb25lbnQsIGtleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFRoZW1lKCk6IEFnQ2hhcnRUaGVtZSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBiYXNlVGhlbWU6IFwiYWctZGVmYXVsdFwiLFxyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBmb250RmFtaWx5OiBcImluaGVyaXRcIixcclxuICAgICAgICB0ZXh0Q29sb3I6IFwiIzAwMTIxQVwiLFxyXG4gICAgICAgIGNocm9tZUZvbnRGYW1pbHk6IFwiaW5oZXJpdFwiLFxyXG4gICAgICAgIGNocm9tZVRleHRDb2xvcjogXCIjMDAxMjFBXCJcclxuICAgICAgfSxcclxuICAgICAgb3ZlcnJpZGVzOiB7XHJcbiAgICAgICAgY29tbW9uOiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB7XHJcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgIGZpbGw6IFwidHJhbnNwYXJlbnRcIixcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNlcmllcyhjb21wb25lbnQ6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGxhbmd1YWdlOiBzdHJpbmcpOiBhbnlbXSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjb21wb25lbnQuc2VyaWVzKSkge1xyXG4gICAgICBjb25zdCBzZXJpZXMgPSBjb21wb25lbnQuc2VyaWVzLm1hcCgoc2VyaWU6IGFueSkgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAoc2VyaWUudHlwZSkge1xyXG4gICAgICAgICAgY2FzZSBcImJhclwiOlxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCYXJTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXAsIGxhbmd1YWdlKTtcclxuICAgICAgICAgIGNhc2UgXCJsaW5lXCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldExpbmVTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXAsIGxhbmd1YWdlKTtcclxuICAgICAgICAgIGNhc2UgXCJhcmVhXCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEFyZWFTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXAsIGxhbmd1YWdlKTtcclxuICAgICAgICAgIGNhc2UgXCJzY2F0dGVyXCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNjYXR0ZXJTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXAsIGxhbmd1YWdlKTtcclxuICAgICAgICAgIGNhc2UgXCJidWJibGVcIjpcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QnViYmxlU2VyaWVzT3B0aW9ucyhzZXJpZSwgZm9ybUdyb3VwLCBsYW5ndWFnZSk7XHJcbiAgICAgICAgICBjYXNlIFwicGllXCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFBpZVNlcmllc09wdGlvbnMoc2VyaWUsIGZvcm1Hcm91cCwgbGFuZ3VhZ2UpO1xyXG4gICAgICAgICAgY2FzZSBcImRvbnV0XCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERvbnV0U2VyaWVzT3B0aW9ucyhzZXJpZSwgZm9ybUdyb3VwLCBsYW5ndWFnZSk7XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZXR1cm4ge307XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHNlcmllcztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNlcmllc09wdGlvbnNOYW1lcyhzZXJpZTogYW55LCBsYW5ndWFnZTogc3RyaW5nKVxyXG4gICAgOiBBZ0JhclNlcmllc09wdGlvbnNOYW1lcyB8IEFnTGluZVNlcmllc09wdGlvbnNOYW1lcyAge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdCYXJTZXJpZXNPcHRpb25zTmFtZXMgfCBBZ0xpbmVTZXJpZXNPcHRpb25zTmFtZXMgPSB7fTtcclxuXHJcbiAgICBpZiAodGhpcy5pc1N0cmluZyhzZXJpZS54TmFtZSkpXHJcbiAgICAgIG9wdGlvbnMueE5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJ4TmFtZVwiLCBsYW5ndWFnZSk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUueU5hbWUpKVxyXG4gICAgICBvcHRpb25zLnlOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwieU5hbWVcIiwgbGFuZ3VhZ2UpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHNlcmllLmxlZ2VuZEl0ZW1OYW1lKSlcclxuICAgICAgb3B0aW9ucy5sZWdlbmRJdGVtTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcImxlZ2VuZEl0ZW1OYW1lXCIsIGxhbmd1YWdlKTtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcbiAgXHJcbiAgcHJpdmF0ZSBnZXRCYXNlU2VyaWVzT3B0aW9ucyhzZXJpZTogYW55LCBmb3JtR3JvdXA6IEZvcm1Hcm91cCk6IEFnQmFzZVNlcmllc09wdGlvbnM8YW55PlxyXG4gIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEFnQmFzZVNlcmllc09wdGlvbnM8YW55PiA9IHsgfTtcclxuXHJcbiAgICBpZiAodGhpcy5pc0Jvb2xlYW4oc2VyaWUudmlzaWJsZSkpXHJcbiAgICAgIG9wdGlvbnMudmlzaWJsZSA9IHNlcmllLnZpc2libGU7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEJhclNlcmllc09wdGlvbnMoc2VyaWU6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGxhbmd1YWdlOiBzdHJpbmcpOiBBZ0JhclNlcmllc09wdGlvbnMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdCYXJTZXJpZXNPcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiBcImJhclwiLFxyXG4gICAgICB4S2V5OiBzZXJpZS54S2V5LFxyXG4gICAgICB5S2V5OiBzZXJpZS55S2V5LFxyXG4gICAgICAuLi50aGlzLmdldEJhc2VTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApLFxyXG4gICAgICAuLi50aGlzLmdldFNlcmllc09wdGlvbnNOYW1lcyhzZXJpZSwgbGFuZ3VhZ2UpXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLmlzRGlyZWN0aW9uKHNlcmllLmRpcmVjdGlvbikpXHJcbiAgICAgIG9wdGlvbnMuZGlyZWN0aW9uID0gc2VyaWUuZGlyZWN0aW9uO1xyXG5cclxuICAgIGlmICh0aGlzLmlzQm9vbGVhbihzZXJpZS5zdGFja2VkKSlcclxuICAgICAgb3B0aW9ucy5zdGFja2VkID0gc2VyaWUuc3RhY2tlZDtcclxuXHJcbiAgICBpZiAodGhpcy5pc051bWJlcihzZXJpZS5ub3JtYWxpemVkVG8pKVxyXG4gICAgICBvcHRpb25zLm5vcm1hbGl6ZWRUbyA9IHNlcmllLm5vcm1hbGl6ZWRUbztcclxuXHJcbiAgICBpZiAodGhpcy5pc1N0cmluZyhzZXJpZS5zdGFja0dyb3VwKSlcclxuICAgICAgb3B0aW9ucy5zdGFja0dyb3VwID0gc2VyaWUuc3RhY2tHcm91cDtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TGluZVNlcmllc09wdGlvbnMoc2VyaWU6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGxhbmd1YWdlOiBzdHJpbmcpOiBBZ0xpbmVTZXJpZXNPcHRpb25zIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEFnTGluZVNlcmllc09wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6IFwibGluZVwiLFxyXG4gICAgICB4S2V5OiBzZXJpZS54S2V5LFxyXG4gICAgICB5S2V5OiBzZXJpZS55S2V5LFxyXG4gICAgICAuLi50aGlzLmdldEJhc2VTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApLFxyXG4gICAgICAuLi50aGlzLmdldFNlcmllc09wdGlvbnNOYW1lcyhzZXJpZSwgbGFuZ3VhZ2UpXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLmlzSW50ZXJwb2xhdGlvbihzZXJpZS5pbnRlcnBvbGF0aW9uKSkgeyBcclxuICAgICAgb3B0aW9ucy5pbnRlcnBvbGF0aW9uID0ge1xyXG4gICAgICAgIHR5cGU6IHNlcmllLmludGVycG9sYXRpb25cclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QXJlYVNlcmllc09wdGlvbnMoc2VyaWU6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGxhbmd1YWdlOiBzdHJpbmcpOiBBZ0FyZWFTZXJpZXNPcHRpb25zIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEFnQXJlYVNlcmllc09wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6IFwiYXJlYVwiLFxyXG4gICAgICB4S2V5OiBzZXJpZS54S2V5LFxyXG4gICAgICB5S2V5OiBzZXJpZS55S2V5LFxyXG4gICAgICAuLi50aGlzLmdldEJhc2VTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApLFxyXG4gICAgICAuLi50aGlzLmdldEFyZWFTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWUsIGxhbmd1YWdlKVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5pc0Jvb2xlYW4oc2VyaWUuc3RhY2tlZCkpXHJcbiAgICAgIG9wdGlvbnMuc3RhY2tlZCA9IHNlcmllLnN0YWNrZWQ7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNOdW1iZXIoc2VyaWUubm9ybWFsaXplZFRvKSlcclxuICAgICAgb3B0aW9ucy5ub3JtYWxpemVkVG8gPSBzZXJpZS5ub3JtYWxpemVkVG87XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFyZWFTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWU6IGFueSwgbGFuZ3VhZ2U6IHN0cmluZylcclxuICAgIDogQWdBcmVhU2VyaWVzT3B0aW9uc05hbWVzIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEFnQXJlYVNlcmllc09wdGlvbnNOYW1lcyA9IHt9O1xyXG5cclxuICAgIGlmIChzZXJpZS54TmFtZSlcclxuICAgICAgb3B0aW9ucy54TmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcInhOYW1lXCIsIGxhbmd1YWdlKTtcclxuXHJcbiAgICBpZiAoc2VyaWUueU5hbWUpXHJcbiAgICAgIG9wdGlvbnMueU5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJ5TmFtZVwiLCBsYW5ndWFnZSk7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNjYXR0ZXJTZXJpZXNPcHRpb25zKHNlcmllOiBhbnksIGZvcm1Hcm91cDogRm9ybUdyb3VwLCBsYW5ndWFnZTogc3RyaW5nKTogQWdTY2F0dGVyU2VyaWVzT3B0aW9ucyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiBcInNjYXR0ZXJcIixcclxuICAgICAgeEtleTogc2VyaWUueEtleSxcclxuICAgICAgeUtleTogc2VyaWUueUtleSxcclxuICAgICAgbGFiZWxLZXk6IHNlcmllLmxhYmVsS2V5LFxyXG4gICAgICAuLi50aGlzLmdldEJhc2VTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApLFxyXG4gICAgICAuLi50aGlzLmdldFNjYXR0ZXJTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWUsIGxhbmd1YWdlKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2NhdHRlclNlcmllc09wdGlvbnNOYW1lcyhzZXJpZTogYW55LCBsYW5ndWFnZTogc3RyaW5nKVxyXG4gICAgOiBBZ1NjYXR0ZXJTZXJpZXNPcHRpb25zTmFtZXMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdTY2F0dGVyU2VyaWVzT3B0aW9uc05hbWVzID0ge307XHJcblxyXG4gICAgaWYgKHNlcmllLnhOYW1lKVxyXG4gICAgICBvcHRpb25zLnhOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwieE5hbWVcIiwgbGFuZ3VhZ2UpO1xyXG5cclxuICAgIGlmIChzZXJpZS55TmFtZSlcclxuICAgICAgb3B0aW9ucy55TmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcInlOYW1lXCIsIGxhbmd1YWdlKTtcclxuXHJcbiAgICBpZiAoc2VyaWUubGFiZWxOYW1lKVxyXG4gICAgICBvcHRpb25zLmxhYmVsTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcImxhYmVsTmFtZVwiLCBsYW5ndWFnZSk7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEJ1YmJsZVNlcmllc09wdGlvbnMoc2VyaWU6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGxhbmd1YWdlOiBzdHJpbmcpOiBBZ0J1YmJsZVNlcmllc09wdGlvbnMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdHlwZTogXCJidWJibGVcIixcclxuICAgICAgeEtleTogc2VyaWUueEtleSxcclxuICAgICAgeUtleTogc2VyaWUueUtleSxcclxuICAgICAgc2l6ZUtleTogc2VyaWUuc2l6ZUtleSxcclxuICAgICAgbGFiZWxLZXk6IHNlcmllLmxhYmVsS2V5LFxyXG4gICAgICAuLi50aGlzLmdldEJhc2VTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApLFxyXG4gICAgICAuLi50aGlzLmdldEJ1YmJsZVNlcmllc09wdGlvbnNOYW1lcyhzZXJpZSwgbGFuZ3VhZ2UpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCdWJibGVTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWU6IGFueSwgbGFuZ3VhZ2U6IHN0cmluZylcclxuICAgIDogQWdCdWJibGVTZXJpZXNPcHRpb25zTmFtZXMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdCdWJibGVTZXJpZXNPcHRpb25zTmFtZXMgPSB7fTtcclxuXHJcbiAgICBpZiAoc2VyaWUueE5hbWUpXHJcbiAgICAgIG9wdGlvbnMueE5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJ4TmFtZVwiLCBsYW5ndWFnZSk7XHJcblxyXG4gICAgaWYgKHNlcmllLnlOYW1lKVxyXG4gICAgICBvcHRpb25zLnlOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwieU5hbWVcIiwgbGFuZ3VhZ2UpO1xyXG5cclxuICAgIGlmIChzZXJpZS5zaXplTmFtZSlcclxuICAgICAgb3B0aW9ucy5zaXplTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcInNpemVOYW1lXCIsIGxhbmd1YWdlKTtcclxuXHJcbiAgICBpZiAoc2VyaWUubGFiZWxOYW1lKVxyXG4gICAgICBvcHRpb25zLmxhYmVsTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcImxhYmVsTmFtZVwiLCBsYW5ndWFnZSk7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBpZVNlcmllc09wdGlvbnMoc2VyaWU6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGxhbmd1YWdlOiBzdHJpbmcpOiBBZ1BpZVNlcmllc09wdGlvbnMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdQaWVTZXJpZXNPcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiBcInBpZVwiLFxyXG4gICAgICBhbmdsZUtleTogc2VyaWUuYW5nbGVLZXksXHJcbiAgICAgIC4uLnRoaXMuZ2V0QmFzZVNlcmllc09wdGlvbnMoc2VyaWUsIGZvcm1Hcm91cCksXHJcbiAgICAgIC4uLnRoaXMuZ2V0UGllU2VyaWVzT3B0aW9uc05hbWVzKHNlcmllLCBsYW5ndWFnZSlcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUucmFkaXVzS2V5KSlcclxuICAgICAgb3B0aW9ucy5yYWRpdXNLZXkgPSBzZXJpZS5yYWRpdXNLZXk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUuY2FsbG91dExhYmVsS2V5KSlcclxuICAgICAgb3B0aW9ucy5jYWxsb3V0TGFiZWxLZXkgPSBzZXJpZS5jYWxsb3V0TGFiZWxLZXk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUuc2VjdG9yTGFiZWxLZXkpKVxyXG4gICAgICBvcHRpb25zLnNlY3RvckxhYmVsS2V5ID0gc2VyaWUuc2VjdG9yTGFiZWxLZXk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUubGVnZW5kSXRlbUtleSkpXHJcbiAgICAgIG9wdGlvbnMubGVnZW5kSXRlbUtleSA9IHNlcmllLmxlZ2VuZEl0ZW1LZXk7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBpZVNlcmllc09wdGlvbnNOYW1lcyhzZXJpZTogYW55LCBsYW5ndWFnZTogc3RyaW5nKVxyXG4gICAgOiBBZ1BpZVNlcmllc09wdGlvbnNOYW1lcyB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBBZ1BpZVNlcmllc09wdGlvbnNOYW1lcyA9IHt9O1xyXG5cclxuICAgIGlmIChzZXJpZS5hbmdsZU5hbWUpXHJcbiAgICAgIG9wdGlvbnMuYW5nbGVOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwiYW5nbGVOYW1lXCIsIGxhbmd1YWdlKTtcclxuXHJcbiAgICBpZiAoc2VyaWUucmFkaXVzTmFtZSlcclxuICAgICAgb3B0aW9ucy5yYWRpdXNOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwicmFkaXVzTmFtZVwiLCBsYW5ndWFnZSk7XHJcblxyXG4gICAgaWYgKHNlcmllLmNhbGxvdXRMYWJlbE5hbWUpXHJcbiAgICAgIG9wdGlvbnMuY2FsbG91dExhYmVsTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcImNhbGxvdXRMYWJlbE5hbWVcIiwgbGFuZ3VhZ2UpO1xyXG5cclxuICAgIGlmIChzZXJpZS5zZWN0b3JMYWJlbE5hbWUpXHJcbiAgICAgIG9wdGlvbnMuc2VjdG9yTGFiZWxOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwic2VjdG9yTGFiZWxOYW1lXCIsIGxhbmd1YWdlKTtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RG9udXRTZXJpZXNPcHRpb25zKHNlcmllOiBhbnksIGZvcm1Hcm91cDogRm9ybUdyb3VwLCBsYW5ndWFnZTogc3RyaW5nKTogQWdEb251dFNlcmllc09wdGlvbnMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdEb251dFNlcmllc09wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6IFwiZG9udXRcIixcclxuICAgICAgYW5nbGVLZXk6IHNlcmllLmFuZ2xlS2V5LFxyXG4gICAgICAuLi50aGlzLmdldEJhc2VTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApLFxyXG4gICAgICAuLi50aGlzLmdldERvbnV0U2VyaWVzT3B0aW9uc05hbWVzKHNlcmllLCBsYW5ndWFnZSlcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUucmFkaXVzS2V5KSlcclxuICAgICAgb3B0aW9ucy5yYWRpdXNLZXkgPSBzZXJpZS5yYWRpdXNLZXk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUuY2FsbG91dExhYmVsS2V5KSlcclxuICAgICAgb3B0aW9ucy5jYWxsb3V0TGFiZWxLZXkgPSBzZXJpZS5jYWxsb3V0TGFiZWxLZXk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUuc2VjdG9yTGFiZWxLZXkpKVxyXG4gICAgICBvcHRpb25zLnNlY3RvckxhYmVsS2V5ID0gc2VyaWUuc2VjdG9yTGFiZWxLZXk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUubGVnZW5kSXRlbUtleSkpXHJcbiAgICAgIG9wdGlvbnMubGVnZW5kSXRlbUtleSA9IHNlcmllLmxlZ2VuZEl0ZW1LZXk7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldERvbnV0U2VyaWVzT3B0aW9uc05hbWVzKHNlcmllOiBhbnksIGxhbmd1YWdlOiBzdHJpbmcpXHJcbiAgICA6IEFnRG9udXRTZXJpZXNPcHRpb25zTmFtZXMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdEb251dFNlcmllc09wdGlvbnNOYW1lcyA9IHt9O1xyXG5cclxuICAgIGlmIChzZXJpZS5hbmdsZU5hbWUpXHJcbiAgICAgIG9wdGlvbnMuYW5nbGVOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwiYW5nbGVOYW1lXCIsIGxhbmd1YWdlKTtcclxuXHJcbiAgICBpZiAoc2VyaWUucmFkaXVzTmFtZSlcclxuICAgICAgb3B0aW9ucy5yYWRpdXNOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwicmFkaXVzTmFtZVwiLCBsYW5ndWFnZSk7XHJcblxyXG4gICAgaWYgKHNlcmllLmNhbGxvdXRMYWJlbE5hbWUpXHJcbiAgICAgIG9wdGlvbnMuY2FsbG91dExhYmVsTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcImNhbGxvdXRMYWJlbE5hbWVcIiwgbGFuZ3VhZ2UpO1xyXG5cclxuICAgIGlmIChzZXJpZS5zZWN0b3JMYWJlbE5hbWUpXHJcbiAgICAgIG9wdGlvbnMuc2VjdG9yTGFiZWxOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwic2VjdG9yTGFiZWxOYW1lXCIsIGxhbmd1YWdlKTtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UHJvcHMoY29tcG9uZW50OiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgcHJvcHM6IGFueSA9IHt9O1xyXG5cclxuICAgIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50LnRpdGxlKSB7XHJcbiAgICAgIHByb3BzLnRpdGxlID0geyB0ZXh0OiBjb21wb25lbnQudGl0bGUgfTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudC5zdWJ0aXRsZSkge1xyXG4gICAgICBwcm9wcy5zdWJ0aXRsZSA9IHsgdGV4dDogY29tcG9uZW50LnN1YnRpdGxlIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHByb3BzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0Jvb2xlYW4odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8IHZhbHVlIGluc3RhbmNlb2YgQm9vbGVhbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNTdHJpbmcodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdmFsdWUgaW5zdGFuY2VvZiBTdHJpbmc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIGlzRmluaXRlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNEaXJlY3Rpb24odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSAnaG9yaXpvbnRhbCcgfHwgdmFsdWUgPT09ICd2ZXJ0aWNhbCc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzSW50ZXJwb2xhdGlvbih2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdmFsdWUgPT09ICdsaW5lYXInIHx8IHZhbHVlID09PSAnc21vb3RoJyB8fCB2YWx1ZSA9PT0gJ3N0ZXAnO1xyXG4gIH1cclxufVxyXG4iXX0=
309
+ }], ctorParameters: () => [{ type: i1.ProgrammabilityService }, { type: i2.LanguageService }] });
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL2NoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBYXZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUc5QyxNQUFNLE9BQU8sWUFBWTtJQUdiO0lBQ0U7SUFGWixZQUNVLGVBQXVDLEVBQ3JDLGVBQWdDO1FBRGxDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUNyQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDNUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFjLEVBQUUsU0FBb0I7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzdCLEdBQUcsQ0FBQyxDQUFDLFNBQWMsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sT0FBTyxHQUFtQjtnQkFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7YUFDNUIsQ0FBQztZ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SUFDOUQsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFVO1FBQ3pCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQVU7UUFDNUIsT0FBTyxLQUFLLEtBQUssWUFBWSxJQUFJLEtBQUssS0FBSyxVQUFVLENBQUM7SUFDeEQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFVO1FBQ2hDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxNQUFNLENBQUM7SUFDdEUsQ0FBQzt3R0E5WFUsWUFBWTs0R0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFByb2dyYW1tYWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9ncmFtbWFiaWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBvYnNlcnZhYmxlQWxsIH0gZnJvbSAnLi4vdXRpbHMvb2JzZXJ2YWJsZUFsbCc7XHJcbmltcG9ydCB7XHJcbiAgQWdDaGFydE9wdGlvbnMsIEFnQ2hhcnRUaGVtZSwgQWdCYXNlU2VyaWVzT3B0aW9ucyxcclxuICBBZ0JhclNlcmllc09wdGlvbnMsIEFnQmFyU2VyaWVzT3B0aW9uc05hbWVzLCBcclxuICBBZ0xpbmVTZXJpZXNPcHRpb25zLCBBZ0xpbmVTZXJpZXNPcHRpb25zTmFtZXMsXHJcbiAgQWdBcmVhU2VyaWVzT3B0aW9ucywgQWdBcmVhU2VyaWVzT3B0aW9uc05hbWVzLFxyXG4gIEFnU2NhdHRlclNlcmllc09wdGlvbnMsIEFnU2NhdHRlclNlcmllc09wdGlvbnNOYW1lcyxcclxuICBBZ0J1YmJsZVNlcmllc09wdGlvbnMsIEFnQnViYmxlU2VyaWVzT3B0aW9uc05hbWVzLFxyXG4gIEFnUGllU2VyaWVzT3B0aW9ucywgQWdQaWVTZXJpZXNPcHRpb25zTmFtZXMsXHJcbiAgQWdEb251dFNlcmllc09wdGlvbnMsIEFnRG9udXRTZXJpZXNPcHRpb25zTmFtZXNcclxufSBmcm9tICdhZy1jaGFydHMtY29tbXVuaXR5JztcclxuXHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B3ZW1ha2U0dS9pbnRlcmFjdCc7XHJcbmltcG9ydCB7IGxvY2FsaXplIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsaXplJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENoYXJ0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwcm9ncmFtbWFiaWxpdHk6IFByb2dyYW1tYWJpbGl0eVNlcnZpY2VcclxuICAgICwgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgZ2V0T3B0aW9ucyhjb21wb25lbnQ6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXApOiBPYnNlcnZhYmxlPEFnQ2hhcnRPcHRpb25zPiB7XHJcbiAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy5nZXREYXRhRXhwcmVzc2lvbihjb21wb25lbnQpO1xyXG4gICAgY29uc3QgZGF0YSA9IHRoaXMucHJvZ3JhbW1hYmlsaXR5LmV2YWx1YXRlKGZvcm1Hcm91cCwgZXhwcmVzc2lvbik7XHJcbiAgICByZXR1cm4gb2JzZXJ2YWJsZUFsbChkYXRhKS5waXBlKFxyXG4gICAgICBtYXAoKGNoYXJ0RGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2VyaWVzID0gdGhpcy5nZXRTZXJpZXMoY29tcG9uZW50LCBmb3JtR3JvdXApO1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IEFnQ2hhcnRPcHRpb25zID0ge1xyXG4gICAgICAgICAgdGhlbWU6IHRoaXMuZ2V0VGhlbWUoKSxcclxuICAgICAgICAgIHNlcmllczogc2VyaWVzLFxyXG4gICAgICAgICAgLi4udGhpcy5nZXRQcm9wcyhjb21wb25lbnQpXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmJpbmREYXRhKG9wdGlvbnMsIGNoYXJ0RGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgICAgIH0pXHJcbiAgICApOyAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YUV4cHJlc3Npb24oY29tcG9uZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGdldEV4cHJlc3Npb24gPSAoZXhwcmVzc2lvbjogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnByb2dyYW1tYWJpbGl0eS5pc0V4cHJlc3Npb24oZXhwcmVzc2lvbilcclxuICAgICAgICA/IHRoaXMucHJvZ3JhbW1hYmlsaXR5LmdldEV4cHJlc3Npb24oZXhwcmVzc2lvbilcclxuICAgICAgICA6IFwibnVsbFwiXHJcbiAgICB9XHJcbiAgICBjb25zdCBkYXRhRXhwciA9IGdldEV4cHJlc3Npb24oY29tcG9uZW50LmRhdGEpO1xyXG4gICAgY29uc3Qgc2VyaWVzRXhwcnMgPSAoY29tcG9uZW50LnNlcmllcyA/PyBbXSlcclxuICAgICAgLm1hcCgoc2VyaWU6IGFueSkgPT4gZ2V0RXhwcmVzc2lvbihzZXJpZS5kYXRhKSlcclxuICAgICAgLm1hcCgoZXhwcjogc3RyaW5nKSA9PiBgKCR7ZXhwcn0pYClcclxuICAgICAgLmpvaW4oXCIsIFwiKTtcclxuXHJcbiAgICByZXR1cm4gYD17IGRhdGE6ICgke2RhdGFFeHByfSksIHNlcmllczogWyR7c2VyaWVzRXhwcnN9XSB9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmluZERhdGEob3B0aW9uczogQWdDaGFydE9wdGlvbnMsIGNoYXJ0RGF0YTogYW55KSB7XHJcbiAgICBpZiAoY2hhcnREYXRhLmRhdGEpIHtcclxuICAgICAgb3B0aW9ucy5kYXRhID0gY2hhcnREYXRhLmRhdGE7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLnNlcmllcykpIHtcclxuICAgICAgb3B0aW9ucy5zZXJpZXMuZm9yRWFjaCgoc2VyaWU6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGlmIChjaGFydERhdGEuc2VyaWVzW2luZGV4XSkge1xyXG4gICAgICAgICAgc2VyaWUuZGF0YSA9IGNoYXJ0RGF0YS5zZXJpZXNbaW5kZXhdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsZShjb21wb25lbnQ6IGFueSwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxvY2FsaXplKHRoaXMubGFuZ3VhZ2UsIGNvbXBvbmVudCwga2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VGhlbWUoKTogQWdDaGFydFRoZW1lIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGJhc2VUaGVtZTogXCJhZy1kZWZhdWx0XCIsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIGZvbnRGYW1pbHk6IFwiaW5oZXJpdFwiLFxyXG4gICAgICAgIHRleHRDb2xvcjogXCIjMDAxMjFBXCIsXHJcbiAgICAgICAgY2hyb21lRm9udEZhbWlseTogXCJpbmhlcml0XCIsXHJcbiAgICAgICAgY2hyb21lVGV4dENvbG9yOiBcIiMwMDEyMUFcIlxyXG4gICAgICB9LFxyXG4gICAgICBvdmVycmlkZXM6IHtcclxuICAgICAgICBjb21tb246IHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgZmlsbDogXCJ0cmFuc3BhcmVudFwiLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2VyaWVzKGNvbXBvbmVudDogYW55LCBmb3JtR3JvdXA6IEZvcm1Hcm91cCk6IGFueVtdIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNvbXBvbmVudC5zZXJpZXMpKSB7XHJcbiAgICAgIGNvbnN0IHNlcmllcyA9IGNvbXBvbmVudC5zZXJpZXMubWFwKChzZXJpZTogYW55KSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChzZXJpZS50eXBlKSB7XHJcbiAgICAgICAgICBjYXNlIFwiYmFyXCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEJhclNlcmllc09wdGlvbnMoc2VyaWUsIGZvcm1Hcm91cCk7XHJcbiAgICAgICAgICBjYXNlIFwibGluZVwiOlxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaW5lU2VyaWVzT3B0aW9ucyhzZXJpZSwgZm9ybUdyb3VwKTtcclxuICAgICAgICAgIGNhc2UgXCJhcmVhXCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEFyZWFTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApO1xyXG4gICAgICAgICAgY2FzZSBcInNjYXR0ZXJcIjpcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2NhdHRlclNlcmllc09wdGlvbnMoc2VyaWUsIGZvcm1Hcm91cCk7XHJcbiAgICAgICAgICBjYXNlIFwiYnViYmxlXCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEJ1YmJsZVNlcmllc09wdGlvbnMoc2VyaWUsIGZvcm1Hcm91cCk7XHJcbiAgICAgICAgICBjYXNlIFwicGllXCI6XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFBpZVNlcmllc09wdGlvbnMoc2VyaWUsIGZvcm1Hcm91cCk7XHJcbiAgICAgICAgICBjYXNlIFwiZG9udXRcIjpcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RG9udXRTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBzZXJpZXM7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWU6IGFueSlcclxuICAgIDogQWdCYXJTZXJpZXNPcHRpb25zTmFtZXMgfCBBZ0xpbmVTZXJpZXNPcHRpb25zTmFtZXMgIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEFnQmFyU2VyaWVzT3B0aW9uc05hbWVzIHwgQWdMaW5lU2VyaWVzT3B0aW9uc05hbWVzID0ge307XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUueE5hbWUpKVxyXG4gICAgICBvcHRpb25zLnhOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwieE5hbWVcIik7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUueU5hbWUpKVxyXG4gICAgICBvcHRpb25zLnlOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwieU5hbWVcIik7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTdHJpbmcoc2VyaWUubGVnZW5kSXRlbU5hbWUpKVxyXG4gICAgICBvcHRpb25zLmxlZ2VuZEl0ZW1OYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwibGVnZW5kSXRlbU5hbWVcIik7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG4gIFxyXG4gIHByaXZhdGUgZ2V0QmFzZVNlcmllc09wdGlvbnMoc2VyaWU6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXApOiBBZ0Jhc2VTZXJpZXNPcHRpb25zPGFueT5cclxuICB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBBZ0Jhc2VTZXJpZXNPcHRpb25zPGFueT4gPSB7IH07XHJcblxyXG4gICAgaWYgKHRoaXMuaXNCb29sZWFuKHNlcmllLnZpc2libGUpKVxyXG4gICAgICBvcHRpb25zLnZpc2libGUgPSBzZXJpZS52aXNpYmxlO1xyXG5cclxuICAgIHJldHVybiBvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCYXJTZXJpZXNPcHRpb25zKHNlcmllOiBhbnksIGZvcm1Hcm91cDogRm9ybUdyb3VwKTogQWdCYXJTZXJpZXNPcHRpb25zIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEFnQmFyU2VyaWVzT3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogXCJiYXJcIixcclxuICAgICAgeEtleTogc2VyaWUueEtleSxcclxuICAgICAgeUtleTogc2VyaWUueUtleSxcclxuICAgICAgLi4udGhpcy5nZXRCYXNlU2VyaWVzT3B0aW9ucyhzZXJpZSwgZm9ybUdyb3VwKSxcclxuICAgICAgLi4udGhpcy5nZXRTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWUpXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLmlzRGlyZWN0aW9uKHNlcmllLmRpcmVjdGlvbikpXHJcbiAgICAgIG9wdGlvbnMuZGlyZWN0aW9uID0gc2VyaWUuZGlyZWN0aW9uO1xyXG5cclxuICAgIGlmICh0aGlzLmlzQm9vbGVhbihzZXJpZS5zdGFja2VkKSlcclxuICAgICAgb3B0aW9ucy5zdGFja2VkID0gc2VyaWUuc3RhY2tlZDtcclxuXHJcbiAgICBpZiAodGhpcy5pc051bWJlcihzZXJpZS5ub3JtYWxpemVkVG8pKVxyXG4gICAgICBvcHRpb25zLm5vcm1hbGl6ZWRUbyA9IHNlcmllLm5vcm1hbGl6ZWRUbztcclxuXHJcbiAgICBpZiAodGhpcy5pc1N0cmluZyhzZXJpZS5zdGFja0dyb3VwKSlcclxuICAgICAgb3B0aW9ucy5zdGFja0dyb3VwID0gc2VyaWUuc3RhY2tHcm91cDtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TGluZVNlcmllc09wdGlvbnMoc2VyaWU6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXApOiBBZ0xpbmVTZXJpZXNPcHRpb25zIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEFnTGluZVNlcmllc09wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6IFwibGluZVwiLFxyXG4gICAgICB4S2V5OiBzZXJpZS54S2V5LFxyXG4gICAgICB5S2V5OiBzZXJpZS55S2V5LFxyXG4gICAgICAuLi50aGlzLmdldEJhc2VTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApLFxyXG4gICAgICAuLi50aGlzLmdldFNlcmllc09wdGlvbnNOYW1lcyhzZXJpZSlcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuaXNJbnRlcnBvbGF0aW9uKHNlcmllLmludGVycG9sYXRpb24pKSB7IFxyXG4gICAgICBvcHRpb25zLmludGVycG9sYXRpb24gPSB7XHJcbiAgICAgICAgdHlwZTogc2VyaWUuaW50ZXJwb2xhdGlvblxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBcmVhU2VyaWVzT3B0aW9ucyhzZXJpZTogYW55LCBmb3JtR3JvdXA6IEZvcm1Hcm91cCk6IEFnQXJlYVNlcmllc09wdGlvbnMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdBcmVhU2VyaWVzT3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogXCJhcmVhXCIsXHJcbiAgICAgIHhLZXk6IHNlcmllLnhLZXksXHJcbiAgICAgIHlLZXk6IHNlcmllLnlLZXksXHJcbiAgICAgIC4uLnRoaXMuZ2V0QmFzZVNlcmllc09wdGlvbnMoc2VyaWUsIGZvcm1Hcm91cCksXHJcbiAgICAgIC4uLnRoaXMuZ2V0QXJlYVNlcmllc09wdGlvbnNOYW1lcyhzZXJpZSlcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuaXNCb29sZWFuKHNlcmllLnN0YWNrZWQpKVxyXG4gICAgICBvcHRpb25zLnN0YWNrZWQgPSBzZXJpZS5zdGFja2VkO1xyXG5cclxuICAgIGlmICh0aGlzLmlzTnVtYmVyKHNlcmllLm5vcm1hbGl6ZWRUbykpXHJcbiAgICAgIG9wdGlvbnMubm9ybWFsaXplZFRvID0gc2VyaWUubm9ybWFsaXplZFRvO1xyXG5cclxuICAgIHJldHVybiBvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBcmVhU2VyaWVzT3B0aW9uc05hbWVzKHNlcmllOiBhbnkpXHJcbiAgICA6IEFnQXJlYVNlcmllc09wdGlvbnNOYW1lcyB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBBZ0FyZWFTZXJpZXNPcHRpb25zTmFtZXMgPSB7fTtcclxuXHJcbiAgICBpZiAoc2VyaWUueE5hbWUpXHJcbiAgICAgIG9wdGlvbnMueE5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJ4TmFtZVwiKTtcclxuXHJcbiAgICBpZiAoc2VyaWUueU5hbWUpXHJcbiAgICAgIG9wdGlvbnMueU5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJ5TmFtZVwiKTtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2NhdHRlclNlcmllc09wdGlvbnMoc2VyaWU6IGFueSwgZm9ybUdyb3VwOiBGb3JtR3JvdXApOiBBZ1NjYXR0ZXJTZXJpZXNPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6IFwic2NhdHRlclwiLFxyXG4gICAgICB4S2V5OiBzZXJpZS54S2V5LFxyXG4gICAgICB5S2V5OiBzZXJpZS55S2V5LFxyXG4gICAgICBsYWJlbEtleTogc2VyaWUubGFiZWxLZXksXHJcbiAgICAgIC4uLnRoaXMuZ2V0QmFzZVNlcmllc09wdGlvbnMoc2VyaWUsIGZvcm1Hcm91cCksXHJcbiAgICAgIC4uLnRoaXMuZ2V0U2NhdHRlclNlcmllc09wdGlvbnNOYW1lcyhzZXJpZSlcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNjYXR0ZXJTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWU6IGFueSlcclxuICAgIDogQWdTY2F0dGVyU2VyaWVzT3B0aW9uc05hbWVzIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEFnU2NhdHRlclNlcmllc09wdGlvbnNOYW1lcyA9IHt9O1xyXG5cclxuICAgIGlmIChzZXJpZS54TmFtZSlcclxuICAgICAgb3B0aW9ucy54TmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcInhOYW1lXCIpO1xyXG5cclxuICAgIGlmIChzZXJpZS55TmFtZSlcclxuICAgICAgb3B0aW9ucy55TmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcInlOYW1lXCIpO1xyXG5cclxuICAgIGlmIChzZXJpZS5sYWJlbE5hbWUpXHJcbiAgICAgIG9wdGlvbnMubGFiZWxOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwibGFiZWxOYW1lXCIpO1xyXG5cclxuICAgIHJldHVybiBvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCdWJibGVTZXJpZXNPcHRpb25zKHNlcmllOiBhbnksIGZvcm1Hcm91cDogRm9ybUdyb3VwKTogQWdCdWJibGVTZXJpZXNPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6IFwiYnViYmxlXCIsXHJcbiAgICAgIHhLZXk6IHNlcmllLnhLZXksXHJcbiAgICAgIHlLZXk6IHNlcmllLnlLZXksXHJcbiAgICAgIHNpemVLZXk6IHNlcmllLnNpemVLZXksXHJcbiAgICAgIGxhYmVsS2V5OiBzZXJpZS5sYWJlbEtleSxcclxuICAgICAgLi4udGhpcy5nZXRCYXNlU2VyaWVzT3B0aW9ucyhzZXJpZSwgZm9ybUdyb3VwKSxcclxuICAgICAgLi4udGhpcy5nZXRCdWJibGVTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWUpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCdWJibGVTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWU6IGFueSlcclxuICAgIDogQWdCdWJibGVTZXJpZXNPcHRpb25zTmFtZXMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdCdWJibGVTZXJpZXNPcHRpb25zTmFtZXMgPSB7fTtcclxuXHJcbiAgICBpZiAoc2VyaWUueE5hbWUpXHJcbiAgICAgIG9wdGlvbnMueE5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJ4TmFtZVwiKTtcclxuXHJcbiAgICBpZiAoc2VyaWUueU5hbWUpXHJcbiAgICAgIG9wdGlvbnMueU5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJ5TmFtZVwiKTtcclxuXHJcbiAgICBpZiAoc2VyaWUuc2l6ZU5hbWUpXHJcbiAgICAgIG9wdGlvbnMuc2l6ZU5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJzaXplTmFtZVwiKTtcclxuXHJcbiAgICBpZiAoc2VyaWUubGFiZWxOYW1lKVxyXG4gICAgICBvcHRpb25zLmxhYmVsTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcImxhYmVsTmFtZVwiKTtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UGllU2VyaWVzT3B0aW9ucyhzZXJpZTogYW55LCBmb3JtR3JvdXA6IEZvcm1Hcm91cCk6IEFnUGllU2VyaWVzT3B0aW9ucyB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBBZ1BpZVNlcmllc09wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6IFwicGllXCIsXHJcbiAgICAgIGFuZ2xlS2V5OiBzZXJpZS5hbmdsZUtleSxcclxuICAgICAgLi4udGhpcy5nZXRCYXNlU2VyaWVzT3B0aW9ucyhzZXJpZSwgZm9ybUdyb3VwKSxcclxuICAgICAgLi4udGhpcy5nZXRQaWVTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWUpXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHNlcmllLnJhZGl1c0tleSkpXHJcbiAgICAgIG9wdGlvbnMucmFkaXVzS2V5ID0gc2VyaWUucmFkaXVzS2V5O1xyXG5cclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHNlcmllLmNhbGxvdXRMYWJlbEtleSkpXHJcbiAgICAgIG9wdGlvbnMuY2FsbG91dExhYmVsS2V5ID0gc2VyaWUuY2FsbG91dExhYmVsS2V5O1xyXG5cclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHNlcmllLnNlY3RvckxhYmVsS2V5KSlcclxuICAgICAgb3B0aW9ucy5zZWN0b3JMYWJlbEtleSA9IHNlcmllLnNlY3RvckxhYmVsS2V5O1xyXG5cclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHNlcmllLmxlZ2VuZEl0ZW1LZXkpKVxyXG4gICAgICBvcHRpb25zLmxlZ2VuZEl0ZW1LZXkgPSBzZXJpZS5sZWdlbmRJdGVtS2V5O1xyXG5cclxuICAgIHJldHVybiBvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQaWVTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWU6IGFueSlcclxuICAgIDogQWdQaWVTZXJpZXNPcHRpb25zTmFtZXMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdQaWVTZXJpZXNPcHRpb25zTmFtZXMgPSB7fTtcclxuXHJcbiAgICBpZiAoc2VyaWUuYW5nbGVOYW1lKVxyXG4gICAgICBvcHRpb25zLmFuZ2xlTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcImFuZ2xlTmFtZVwiKTtcclxuXHJcbiAgICBpZiAoc2VyaWUucmFkaXVzTmFtZSlcclxuICAgICAgb3B0aW9ucy5yYWRpdXNOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwicmFkaXVzTmFtZVwiKTtcclxuXHJcbiAgICBpZiAoc2VyaWUuY2FsbG91dExhYmVsTmFtZSlcclxuICAgICAgb3B0aW9ucy5jYWxsb3V0TGFiZWxOYW1lID0gdGhpcy5sb2NhbGUoc2VyaWUsIFwiY2FsbG91dExhYmVsTmFtZVwiKTtcclxuXHJcbiAgICBpZiAoc2VyaWUuc2VjdG9yTGFiZWxOYW1lKVxyXG4gICAgICBvcHRpb25zLnNlY3RvckxhYmVsTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcInNlY3RvckxhYmVsTmFtZVwiKTtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RG9udXRTZXJpZXNPcHRpb25zKHNlcmllOiBhbnksIGZvcm1Hcm91cDogRm9ybUdyb3VwKTogQWdEb251dFNlcmllc09wdGlvbnMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogQWdEb251dFNlcmllc09wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6IFwiZG9udXRcIixcclxuICAgICAgYW5nbGVLZXk6IHNlcmllLmFuZ2xlS2V5LFxyXG4gICAgICAuLi50aGlzLmdldEJhc2VTZXJpZXNPcHRpb25zKHNlcmllLCBmb3JtR3JvdXApLFxyXG4gICAgICAuLi50aGlzLmdldERvbnV0U2VyaWVzT3B0aW9uc05hbWVzKHNlcmllKVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5pc1N0cmluZyhzZXJpZS5yYWRpdXNLZXkpKVxyXG4gICAgICBvcHRpb25zLnJhZGl1c0tleSA9IHNlcmllLnJhZGl1c0tleTtcclxuXHJcbiAgICBpZiAodGhpcy5pc1N0cmluZyhzZXJpZS5jYWxsb3V0TGFiZWxLZXkpKVxyXG4gICAgICBvcHRpb25zLmNhbGxvdXRMYWJlbEtleSA9IHNlcmllLmNhbGxvdXRMYWJlbEtleTtcclxuXHJcbiAgICBpZiAodGhpcy5pc1N0cmluZyhzZXJpZS5zZWN0b3JMYWJlbEtleSkpXHJcbiAgICAgIG9wdGlvbnMuc2VjdG9yTGFiZWxLZXkgPSBzZXJpZS5zZWN0b3JMYWJlbEtleTtcclxuXHJcbiAgICBpZiAodGhpcy5pc1N0cmluZyhzZXJpZS5sZWdlbmRJdGVtS2V5KSlcclxuICAgICAgb3B0aW9ucy5sZWdlbmRJdGVtS2V5ID0gc2VyaWUubGVnZW5kSXRlbUtleTtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RG9udXRTZXJpZXNPcHRpb25zTmFtZXMoc2VyaWU6IGFueSlcclxuICAgIDogQWdEb251dFNlcmllc09wdGlvbnNOYW1lcyB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBBZ0RvbnV0U2VyaWVzT3B0aW9uc05hbWVzID0ge307XHJcblxyXG4gICAgaWYgKHNlcmllLmFuZ2xlTmFtZSlcclxuICAgICAgb3B0aW9ucy5hbmdsZU5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJhbmdsZU5hbWVcIik7XHJcblxyXG4gICAgaWYgKHNlcmllLnJhZGl1c05hbWUpXHJcbiAgICAgIG9wdGlvbnMucmFkaXVzTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcInJhZGl1c05hbWVcIik7XHJcblxyXG4gICAgaWYgKHNlcmllLmNhbGxvdXRMYWJlbE5hbWUpXHJcbiAgICAgIG9wdGlvbnMuY2FsbG91dExhYmVsTmFtZSA9IHRoaXMubG9jYWxlKHNlcmllLCBcImNhbGxvdXRMYWJlbE5hbWVcIik7XHJcblxyXG4gICAgaWYgKHNlcmllLnNlY3RvckxhYmVsTmFtZSlcclxuICAgICAgb3B0aW9ucy5zZWN0b3JMYWJlbE5hbWUgPSB0aGlzLmxvY2FsZShzZXJpZSwgXCJzZWN0b3JMYWJlbE5hbWVcIik7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFByb3BzKGNvbXBvbmVudDogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHByb3BzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudC50aXRsZSkge1xyXG4gICAgICBwcm9wcy50aXRsZSA9IHsgdGV4dDogY29tcG9uZW50LnRpdGxlIH07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnQuc3VidGl0bGUpIHtcclxuICAgICAgcHJvcHMuc3VidGl0bGUgPSB7IHRleHQ6IGNvbXBvbmVudC5zdWJ0aXRsZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwcm9wcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNCb29sZWFuKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSBpbnN0YW5jZW9mIEJvb2xlYW47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzU3RyaW5nKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc051bWJlcih2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc0Zpbml0ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGlyZWN0aW9uKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB2YWx1ZSA9PT0gJ2hvcml6b250YWwnIHx8IHZhbHVlID09PSAndmVydGljYWwnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0ludGVycG9sYXRpb24odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSAnbGluZWFyJyB8fCB2YWx1ZSA9PT0gJ3Ntb290aCcgfHwgdmFsdWUgPT09ICdzdGVwJztcclxuICB9XHJcbn1cclxuIl19