@ng-matero/extensions 18.4.1 → 18.5.0

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 (40) hide show
  1. package/checkbox-group/checkbox-group.d.ts +12 -2
  2. package/core/tokens/m2/mtx/_select.scss +1 -0
  3. package/core/tokens/m3/mtx/_datetimepicker.scss +2 -2
  4. package/core/tokens/m3/mtx/_select.scss +4 -0
  5. package/datetimepicker/datetimepicker-content.scss +3 -3
  6. package/esm2022/checkbox-group/checkbox-group.mjs +26 -4
  7. package/esm2022/datetimepicker/calendar.mjs +3 -3
  8. package/esm2022/datetimepicker/datetimepicker.mjs +2 -2
  9. package/esm2022/grid/column-menu.mjs +9 -3
  10. package/esm2022/grid/grid.mjs +11 -3
  11. package/esm2022/grid/interfaces.mjs +1 -1
  12. package/esm2022/popover/popover.mjs +21 -16
  13. package/esm2022/select/select.mjs +4 -4
  14. package/esm2022/tooltip/tooltip.mjs +2 -2
  15. package/fesm2022/mtxCheckboxGroup.mjs +25 -3
  16. package/fesm2022/mtxCheckboxGroup.mjs.map +1 -1
  17. package/fesm2022/mtxDatetimepicker.mjs +4 -4
  18. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  19. package/fesm2022/mtxGrid.mjs +18 -4
  20. package/fesm2022/mtxGrid.mjs.map +1 -1
  21. package/fesm2022/mtxPopover.mjs +20 -15
  22. package/fesm2022/mtxPopover.mjs.map +1 -1
  23. package/fesm2022/mtxSelect.mjs +3 -3
  24. package/fesm2022/mtxSelect.mjs.map +1 -1
  25. package/fesm2022/mtxTooltip.mjs +2 -2
  26. package/grid/column-menu.d.ts +3 -1
  27. package/grid/grid.d.ts +5 -1
  28. package/grid/interfaces.d.ts +2 -0
  29. package/package.json +19 -19
  30. package/popover/popover.d.ts +3 -2
  31. package/prebuilt-themes/azure-blue.css +1 -1
  32. package/prebuilt-themes/cyan-orange.css +1 -1
  33. package/prebuilt-themes/deeppurple-amber.css +1 -1
  34. package/prebuilt-themes/indigo-pink.css +1 -1
  35. package/prebuilt-themes/magenta-violet.css +1 -1
  36. package/prebuilt-themes/pink-bluegrey.css +1 -1
  37. package/prebuilt-themes/purple-green.css +1 -1
  38. package/prebuilt-themes/rose-red.css +1 -1
  39. package/select/select.scss +22 -33
  40. package/tooltip/tooltip.scss +1 -1
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZ3JpZC9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QmFkZ2VQb3NpdGlvbiwgTWF0QmFkZ2VTaXplIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24sIFRvb2x0aXBUb3VjaEdlc3R1cmVzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKiBDb2x1bW4gZGVmaW5pdGlvbiBvZiBncmlkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkQ29sdW1uPFQgPSBhbnk+IHtcbiAgZmllbGQ6IHN0cmluZztcbiAgaGVhZGVyPzogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBoaWRlPzogYm9vbGVhbjtcbiAgc2hvdz86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgcGlubmVkPzogTXR4R3JpZENvbHVtblBpblZhbHVlO1xuICBsZWZ0Pzogc3RyaW5nO1xuICByaWdodD86IHN0cmluZztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICBtYXhXaWR0aD86IG51bWJlcjtcbiAgc29ydGFibGU/OiBib29sZWFuIHwgc3RyaW5nO1xuICBzb3J0UHJvcD86IE10eEdyaWRTb3J0UHJvcDtcbiAgdHlwZT86IE10eEdyaWRDb2x1bW5UeXBlO1xuICB0eXBlUGFyYW1ldGVyPzogTXR4R3JpZENvbHVtblR5cGVQYXJhbWV0ZXI7XG4gIHRhZz86IE10eEdyaWRDb2x1bW5UYWc7XG4gIGJ1dHRvbnM/OiBNdHhHcmlkQ29sdW1uQnV0dG9uPFQ+W10gfCAoKHJvd0RhdGE6IFQpID0+IE10eEdyaWRDb2x1bW5CdXR0b248VD5bXSk7XG4gIGZvcm1hdHRlcj86IChyb3dEYXRhOiBULCBjb2xEZWY/OiBNdHhHcmlkQ29sdW1uKSA9PiBhbnk7XG4gIGNlbGxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBzaG93RXhwYW5kPzogYm9vbGVhbjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHN1bW1hcnk/OiAoKGRhdGE6IFRbXSwgY29sRGVmPzogTXR4R3JpZENvbHVtbikgPT4gYW55KSB8IHN0cmluZztcbiAgY2xhc3M/OiBzdHJpbmcgfCAoKHJvd0RhdGE/OiBULCBjb2xEZWY/OiBNdHhHcmlkQ29sdW1uKSA9PiBzdHJpbmcpO1xufVxuXG4vKiogUG9zc2libGUgY29sdW1uIHBpbiB2YWx1ZXMuICAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBNdHhHcmlkQ29sdW1uUGluVmFsdWUgPSAnbGVmdCcgfCAncmlnaHQnIHwgbnVsbDtcblxuLyoqIENvbHVtbiBwaW4gb3B0aW9uICAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkQ29sdW1uUGluT3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgdmFsdWU6IE10eEdyaWRDb2x1bW5QaW5WYWx1ZTtcbn1cblxuLyoqIFBvc3NpYmxlIGNvbHVtbiB0eXBlIHZhbHVlcy4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgTXR4R3JpZENvbHVtblR5cGUgPVxuICB8ICdidXR0b24nXG4gIHwgJ3RhZydcbiAgfCAnbGluaydcbiAgfCAnaW1hZ2UnXG4gIHwgJ2Jvb2xlYW4nXG4gIHwgJ251bWJlcidcbiAgfCAnY3VycmVuY3knXG4gIHwgJ3BlcmNlbnQnXG4gIHwgJ2RhdGUnO1xuXG4vKiogQ29sdW1uIHR5cGUgcGFyYW1ldGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkQ29sdW1uVHlwZVBhcmFtZXRlciB7XG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcbiAgZGlzcGxheT86IHN0cmluZyB8IGJvb2xlYW47XG4gIGRpZ2l0c0luZm8/OiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZztcbiAgbG9jYWxlPzogc3RyaW5nO1xuICB0aW1lem9uZT86IHN0cmluZztcbn1cblxuLyoqIFRoZSBwcm9wZXJ0aWVzIG9mIGRhdGEgc29ydC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXR4R3JpZFNvcnRQcm9wIHtcbiAgYXJyb3dQb3NpdGlvbj86ICdiZWZvcmUnIHwgJ2FmdGVyJztcbiAgZGlzYWJsZUNsZWFyPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG4gIHN0YXJ0PzogJ2FzYycgfCAnZGVzYyc7XG59XG5cbi8qKiBDb2x1bW4gdGFnIG9mIGdyaWQuICovXG5leHBvcnQgaW50ZXJmYWNlIE10eEdyaWRDb2x1bW5UYWcge1xuICBba2V5OiBudW1iZXJdOiBNdHhHcmlkQ29sdW1uVGFnVmFsdWU7XG4gIFtrZXk6IHN0cmluZ106IE10eEdyaWRDb2x1bW5UYWdWYWx1ZTtcbn1cblxuLyoqIFRoZSBwcm9wZXJ0aWVzIG9mIGNvbHVtbiB0YWcuICovXG5leHBvcnQgaW50ZXJmYWNlIE10eEdyaWRDb2x1bW5UYWdWYWx1ZSB7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xufVxuXG4vKiogVGhlIHByb3BlcnRpZXMgb2YgY29sdW1uIGJ1dHRvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXR4R3JpZENvbHVtbkJ1dHRvbjxUID0gYW55PiB7XG4gIHR5cGU/OiBNdHhHcmlkQnV0dG9uVHlwZTtcbiAgdGV4dD86IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgaWNvbj86IHN0cmluZztcbiAgZm9udEljb24/OiBzdHJpbmc7XG4gIHN2Z0ljb24/OiBzdHJpbmc7XG4gIGNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBjbGFzcz86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcbiAgY2xpY2s/OiAocm93RGF0YTogVCkgPT4gdm9pZDtcbiAgaWlmPzogKHJvd0RhdGE6IFQpID0+IGJvb2xlYW47XG4gIHBvcD86IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPiB8IE10eEdyaWRDb2x1bW5CdXR0b25Qb3A7XG4gIHRvb2x0aXA/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gfCBNdHhHcmlkQ29sdW1uQnV0dG9uVG9vbHRpcDtcbiAgYmFkZ2U/OiBudW1iZXIgfCBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gfCBNdHhHcmlkQ29sdW1uQnV0dG9uQmFkZ2U7XG59XG5cbi8qKiBUaGUgcHJvcGVydGllcyBvZiBjb2x1bW4gYnV0dG9uIHBvcC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXR4R3JpZENvbHVtbkJ1dHRvblBvcCB7XG4gIHRpdGxlOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBva0NvbG9yPzogVGhlbWVQYWxldHRlO1xuICBva1RleHQ/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGNsb3NlQ29sb3I/OiBUaGVtZVBhbGV0dGU7XG4gIGNsb3NlVGV4dD86IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcbn1cblxuLyoqIFRoZSBwcm9wZXJ0aWVzIG9mIGNvbHVtbiBidXR0b24gdG9vbHRpcC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXR4R3JpZENvbHVtbkJ1dHRvblRvb2x0aXAge1xuICBtZXNzYWdlOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHBvc2l0aW9uPzogVG9vbHRpcFBvc2l0aW9uO1xuICBwb3NpdGlvbkF0T3JpZ2luPzogYm9vbGVhbjtcbiAgY2xhc3M/OiBhbnk7XG4gIGhpZGVEZWxheT86IG51bWJlcjtcbiAgc2hvd0RlbGF5PzogbnVtYmVyO1xuICB0b3VjaEdlc3R1cmVzPzogVG9vbHRpcFRvdWNoR2VzdHVyZXM7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIFRoZSBwcm9wZXJ0aWVzIG9mIGNvbHVtbiBidXR0b24gYmFkZ2UuICovXG5leHBvcnQgaW50ZXJmYWNlIE10eEdyaWRDb2x1bW5CdXR0b25CYWRnZSB7XG4gIGNvbnRlbnQ6IG51bWJlciB8IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBwb3NpdGlvbj86IE1hdEJhZGdlUG9zaXRpb247XG4gIHNpemU/OiBNYXRCYWRnZVNpemU7XG4gIG92ZXJsYXA/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGhpZGRlbj86IGJvb2xlYW47XG59XG5cbi8qKiBDZWxsIHRlbXBsYXRlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkQ2VsbFRlbXBsYXRlIHtcbiAgW2tleTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuLyoqIFJvdyBzZWxlY3Rpb24gZm9ybWF0dGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkUm93U2VsZWN0aW9uRm9ybWF0dGVyPFQgPSBhbnk+IHtcbiAgZGlzYWJsZWQ/OiAocm93RGF0YTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbjtcbiAgaGlkZUNoZWNrYm94PzogKHJvd0RhdGE6IFQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW47XG59XG5cbi8qKiBSb3cgY2xhc3MgZm9ybWF0dGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkUm93Q2xhc3NGb3JtYXR0ZXI8VCA9IGFueT4ge1xuICBbY2xhc3NOYW1lOiBzdHJpbmddOiAocm93RGF0YTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbjtcbn1cblxuLyoqIFBvc3NpYmxlIGJ1dHRvbiB0eXBlIHZhbHVlcy4gKi9cbmV4cG9ydCB0eXBlIE10eEdyaWRCdXR0b25UeXBlID1cbiAgfCAnYmFzaWMnXG4gIHwgJ3JhaXNlZCdcbiAgfCAnc3Ryb2tlZCdcbiAgfCAnZmxhdCdcbiAgfCAnaWNvbidcbiAgfCAnZmFiJ1xuICB8ICdtaW5pLWZhYic7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGVmYXVsdCBvcHRpb25zIGZvciB0aGUgZ3JpZCB0aGF0IGNhbiBiZSBjb25maWd1cmVkXG4gKiB1c2luZyB0aGUgYE1UWF9HUklEX0RFRkFVTFRfT1BUSU9OU2AgaW5qZWN0aW9uIHRva2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE10eEdyaWREZWZhdWx0T3B0aW9ucyB7XG4gIGNvbHVtblJlc2l6YWJsZT86IGJvb2xlYW47XG4gIGVtcHR5VmFsdWVQbGFjZWhvbGRlcj86IHN0cmluZztcblxuICBwYWdlT25Gcm9udD86IGJvb2xlYW47XG4gIHNob3dQYWdpbmF0b3I/OiBib29sZWFuO1xuICBwYWdlRGlzYWJsZWQ/OiBib29sZWFuO1xuICBzaG93Rmlyc3RMYXN0QnV0dG9ucz86IGJvb2xlYW47XG4gIHBhZ2VJbmRleD86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHBhZ2VTaXplT3B0aW9ucz86IG51bWJlcltdO1xuICBoaWRlUGFnZVNpemU/OiBib29sZWFuO1xuXG4gIHNvcnRPbkZyb250PzogYm9vbGVhbjtcbiAgc29ydEFjdGl2ZT86IHN0cmluZztcbiAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb247XG4gIHNvcnREaXNhYmxlQ2xlYXI/OiBib29sZWFuO1xuICBzb3J0RGlzYWJsZWQ/OiBib29sZWFuO1xuICBzb3J0U3RhcnQ/OiAnYXNjJyB8ICdkZXNjJztcblxuICByb3dIb3Zlcj86IGJvb2xlYW47XG4gIHJvd1N0cmlwZWQ/OiBib29sZWFuO1xuXG4gIG11bHRpU2VsZWN0YWJsZT86IGJvb2xlYW47XG4gIG11bHRpU2VsZWN0aW9uV2l0aENsaWNrPzogYm9vbGVhbjtcbiAgcm93U2VsZWN0YWJsZT86IGJvb2xlYW47XG4gIGhpZGVSb3dTZWxlY3Rpb25DaGVja2JveD86IGJvb2xlYW47XG4gIGRpc2FibGVSb3dDbGlja1NlbGVjdGlvbj86IGJvb2xlYW47XG5cbiAgY2VsbFNlbGVjdGFibGU/OiBib29sZWFuO1xuXG4gIHNob3dUb29sYmFyPzogYm9vbGVhbjtcbiAgdG9vbGJhclRpdGxlPzogc3RyaW5nO1xuXG4gIGNvbHVtbkhpZGVhYmxlPzogYm9vbGVhbjtcbiAgY29sdW1uSGlkZWFibGVDaGVja2VkPzogJ3Nob3cnIHwgJ2hpZGUnO1xuICBjb2x1bW5Tb3J0YWJsZT86IGJvb2xlYW47XG4gIGNvbHVtblBpbm5hYmxlPzogYm9vbGVhbjtcbiAgY29sdW1uUGluT3B0aW9ucz86IE10eEdyaWRDb2x1bW5QaW5PcHRpb25bXTtcblxuICBzaG93Q29sdW1uTWVudUJ1dHRvbj86IGJvb2xlYW47XG4gIGNvbHVtbk1lbnVCdXR0b25UZXh0Pzogc3RyaW5nO1xuICBjb2x1bW5NZW51QnV0dG9uVHlwZT86IE10eEdyaWRCdXR0b25UeXBlO1xuICBjb2x1bW5NZW51QnV0dG9uQ29sb3I/OiBUaGVtZVBhbGV0dGU7XG4gIGNvbHVtbk1lbnVCdXR0b25DbGFzcz86IHN0cmluZztcbiAgY29sdW1uTWVudUJ1dHRvbkljb24/OiBzdHJpbmc7XG5cbiAgc2hvd0NvbHVtbk1lbnVIZWFkZXI/OiBib29sZWFuO1xuICBjb2x1bW5NZW51SGVhZGVyVGV4dD86IHN0cmluZztcbiAgc2hvd0NvbHVtbk1lbnVGb290ZXI/OiBib29sZWFuO1xuICBjb2x1bW5NZW51Rm9vdGVyVGV4dD86IHN0cmluZztcblxuICBub1Jlc3VsdFRleHQ/OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZ3JpZC9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QmFkZ2VQb3NpdGlvbiwgTWF0QmFkZ2VTaXplIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24sIFRvb2x0aXBUb3VjaEdlc3R1cmVzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKiBDb2x1bW4gZGVmaW5pdGlvbiBvZiBncmlkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkQ29sdW1uPFQgPSBhbnk+IHtcbiAgZmllbGQ6IHN0cmluZztcbiAgaGVhZGVyPzogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBoaWRlPzogYm9vbGVhbjtcbiAgc2hvdz86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgcGlubmVkPzogTXR4R3JpZENvbHVtblBpblZhbHVlO1xuICBsZWZ0Pzogc3RyaW5nO1xuICByaWdodD86IHN0cmluZztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICBtYXhXaWR0aD86IG51bWJlcjtcbiAgc29ydGFibGU/OiBib29sZWFuIHwgc3RyaW5nO1xuICBzb3J0UHJvcD86IE10eEdyaWRTb3J0UHJvcDtcbiAgdHlwZT86IE10eEdyaWRDb2x1bW5UeXBlO1xuICB0eXBlUGFyYW1ldGVyPzogTXR4R3JpZENvbHVtblR5cGVQYXJhbWV0ZXI7XG4gIHRhZz86IE10eEdyaWRDb2x1bW5UYWc7XG4gIGJ1dHRvbnM/OiBNdHhHcmlkQ29sdW1uQnV0dG9uPFQ+W10gfCAoKHJvd0RhdGE6IFQpID0+IE10eEdyaWRDb2x1bW5CdXR0b248VD5bXSk7XG4gIGZvcm1hdHRlcj86IChyb3dEYXRhOiBULCBjb2xEZWY/OiBNdHhHcmlkQ29sdW1uKSA9PiBhbnk7XG4gIGNlbGxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBzaG93RXhwYW5kPzogYm9vbGVhbjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHN1bW1hcnk/OiAoKGRhdGE6IFRbXSwgY29sRGVmPzogTXR4R3JpZENvbHVtbikgPT4gYW55KSB8IHN0cmluZztcbiAgY2xhc3M/OiBzdHJpbmcgfCAoKHJvd0RhdGE/OiBULCBjb2xEZWY/OiBNdHhHcmlkQ29sdW1uKSA9PiBzdHJpbmcpO1xufVxuXG4vKiogUG9zc2libGUgY29sdW1uIHBpbiB2YWx1ZXMuICAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBNdHhHcmlkQ29sdW1uUGluVmFsdWUgPSAnbGVmdCcgfCAncmlnaHQnIHwgbnVsbDtcblxuLyoqIENvbHVtbiBwaW4gb3B0aW9uICAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkQ29sdW1uUGluT3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgdmFsdWU6IE10eEdyaWRDb2x1bW5QaW5WYWx1ZTtcbn1cblxuLyoqIFBvc3NpYmxlIGNvbHVtbiB0eXBlIHZhbHVlcy4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgTXR4R3JpZENvbHVtblR5cGUgPVxuICB8ICdidXR0b24nXG4gIHwgJ3RhZydcbiAgfCAnbGluaydcbiAgfCAnaW1hZ2UnXG4gIHwgJ2Jvb2xlYW4nXG4gIHwgJ251bWJlcidcbiAgfCAnY3VycmVuY3knXG4gIHwgJ3BlcmNlbnQnXG4gIHwgJ2RhdGUnO1xuXG4vKiogQ29sdW1uIHR5cGUgcGFyYW1ldGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkQ29sdW1uVHlwZVBhcmFtZXRlciB7XG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcbiAgZGlzcGxheT86IHN0cmluZyB8IGJvb2xlYW47XG4gIGRpZ2l0c0luZm8/OiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZztcbiAgbG9jYWxlPzogc3RyaW5nO1xuICB0aW1lem9uZT86IHN0cmluZztcbn1cblxuLyoqIFRoZSBwcm9wZXJ0aWVzIG9mIGRhdGEgc29ydC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXR4R3JpZFNvcnRQcm9wIHtcbiAgYXJyb3dQb3NpdGlvbj86ICdiZWZvcmUnIHwgJ2FmdGVyJztcbiAgZGlzYWJsZUNsZWFyPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG4gIHN0YXJ0PzogJ2FzYycgfCAnZGVzYyc7XG59XG5cbi8qKiBDb2x1bW4gdGFnIG9mIGdyaWQuICovXG5leHBvcnQgaW50ZXJmYWNlIE10eEdyaWRDb2x1bW5UYWcge1xuICBba2V5OiBudW1iZXJdOiBNdHhHcmlkQ29sdW1uVGFnVmFsdWU7XG4gIFtrZXk6IHN0cmluZ106IE10eEdyaWRDb2x1bW5UYWdWYWx1ZTtcbn1cblxuLyoqIFRoZSBwcm9wZXJ0aWVzIG9mIGNvbHVtbiB0YWcuICovXG5leHBvcnQgaW50ZXJmYWNlIE10eEdyaWRDb2x1bW5UYWdWYWx1ZSB7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xufVxuXG4vKiogVGhlIHByb3BlcnRpZXMgb2YgY29sdW1uIGJ1dHRvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXR4R3JpZENvbHVtbkJ1dHRvbjxUID0gYW55PiB7XG4gIHR5cGU/OiBNdHhHcmlkQnV0dG9uVHlwZTtcbiAgdGV4dD86IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgaWNvbj86IHN0cmluZztcbiAgZm9udEljb24/OiBzdHJpbmc7XG4gIHN2Z0ljb24/OiBzdHJpbmc7XG4gIGNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBjbGFzcz86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcbiAgY2xpY2s/OiAocm93RGF0YTogVCkgPT4gdm9pZDtcbiAgaWlmPzogKHJvd0RhdGE6IFQpID0+IGJvb2xlYW47XG4gIHBvcD86IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPiB8IE10eEdyaWRDb2x1bW5CdXR0b25Qb3A7XG4gIHRvb2x0aXA/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gfCBNdHhHcmlkQ29sdW1uQnV0dG9uVG9vbHRpcDtcbiAgYmFkZ2U/OiBudW1iZXIgfCBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gfCBNdHhHcmlkQ29sdW1uQnV0dG9uQmFkZ2U7XG59XG5cbi8qKiBUaGUgcHJvcGVydGllcyBvZiBjb2x1bW4gYnV0dG9uIHBvcC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXR4R3JpZENvbHVtbkJ1dHRvblBvcCB7XG4gIHRpdGxlOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBva0NvbG9yPzogVGhlbWVQYWxldHRlO1xuICBva1RleHQ/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGNsb3NlQ29sb3I/OiBUaGVtZVBhbGV0dGU7XG4gIGNsb3NlVGV4dD86IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcbn1cblxuLyoqIFRoZSBwcm9wZXJ0aWVzIG9mIGNvbHVtbiBidXR0b24gdG9vbHRpcC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXR4R3JpZENvbHVtbkJ1dHRvblRvb2x0aXAge1xuICBtZXNzYWdlOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHBvc2l0aW9uPzogVG9vbHRpcFBvc2l0aW9uO1xuICBwb3NpdGlvbkF0T3JpZ2luPzogYm9vbGVhbjtcbiAgY2xhc3M/OiBhbnk7XG4gIGhpZGVEZWxheT86IG51bWJlcjtcbiAgc2hvd0RlbGF5PzogbnVtYmVyO1xuICB0b3VjaEdlc3R1cmVzPzogVG9vbHRpcFRvdWNoR2VzdHVyZXM7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIFRoZSBwcm9wZXJ0aWVzIG9mIGNvbHVtbiBidXR0b24gYmFkZ2UuICovXG5leHBvcnQgaW50ZXJmYWNlIE10eEdyaWRDb2x1bW5CdXR0b25CYWRnZSB7XG4gIGNvbnRlbnQ6IG51bWJlciB8IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBwb3NpdGlvbj86IE1hdEJhZGdlUG9zaXRpb247XG4gIHNpemU/OiBNYXRCYWRnZVNpemU7XG4gIG92ZXJsYXA/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGhpZGRlbj86IGJvb2xlYW47XG59XG5cbi8qKiBDZWxsIHRlbXBsYXRlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkQ2VsbFRlbXBsYXRlIHtcbiAgW2tleTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuLyoqIFJvdyBzZWxlY3Rpb24gZm9ybWF0dGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkUm93U2VsZWN0aW9uRm9ybWF0dGVyPFQgPSBhbnk+IHtcbiAgZGlzYWJsZWQ/OiAocm93RGF0YTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbjtcbiAgaGlkZUNoZWNrYm94PzogKHJvd0RhdGE6IFQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW47XG59XG5cbi8qKiBSb3cgY2xhc3MgZm9ybWF0dGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdHhHcmlkUm93Q2xhc3NGb3JtYXR0ZXI8VCA9IGFueT4ge1xuICBbY2xhc3NOYW1lOiBzdHJpbmddOiAocm93RGF0YTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbjtcbn1cblxuLyoqIFBvc3NpYmxlIGJ1dHRvbiB0eXBlIHZhbHVlcy4gKi9cbmV4cG9ydCB0eXBlIE10eEdyaWRCdXR0b25UeXBlID1cbiAgfCAnYmFzaWMnXG4gIHwgJ3JhaXNlZCdcbiAgfCAnc3Ryb2tlZCdcbiAgfCAnZmxhdCdcbiAgfCAnaWNvbidcbiAgfCAnZmFiJ1xuICB8ICdtaW5pLWZhYic7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGVmYXVsdCBvcHRpb25zIGZvciB0aGUgZ3JpZCB0aGF0IGNhbiBiZSBjb25maWd1cmVkXG4gKiB1c2luZyB0aGUgYE1UWF9HUklEX0RFRkFVTFRfT1BUSU9OU2AgaW5qZWN0aW9uIHRva2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE10eEdyaWREZWZhdWx0T3B0aW9ucyB7XG4gIGNvbHVtblJlc2l6YWJsZT86IGJvb2xlYW47XG4gIGVtcHR5VmFsdWVQbGFjZWhvbGRlcj86IHN0cmluZztcblxuICBwYWdlT25Gcm9udD86IGJvb2xlYW47XG4gIHNob3dQYWdpbmF0b3I/OiBib29sZWFuO1xuICBwYWdlRGlzYWJsZWQ/OiBib29sZWFuO1xuICBzaG93Rmlyc3RMYXN0QnV0dG9ucz86IGJvb2xlYW47XG4gIHBhZ2VJbmRleD86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHBhZ2VTaXplT3B0aW9ucz86IG51bWJlcltdO1xuICBoaWRlUGFnZVNpemU/OiBib29sZWFuO1xuXG4gIHNvcnRPbkZyb250PzogYm9vbGVhbjtcbiAgc29ydEFjdGl2ZT86IHN0cmluZztcbiAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb247XG4gIHNvcnREaXNhYmxlQ2xlYXI/OiBib29sZWFuO1xuICBzb3J0RGlzYWJsZWQ/OiBib29sZWFuO1xuICBzb3J0U3RhcnQ/OiAnYXNjJyB8ICdkZXNjJztcblxuICByb3dIb3Zlcj86IGJvb2xlYW47XG4gIHJvd1N0cmlwZWQ/OiBib29sZWFuO1xuXG4gIG11bHRpU2VsZWN0YWJsZT86IGJvb2xlYW47XG4gIG11bHRpU2VsZWN0aW9uV2l0aENsaWNrPzogYm9vbGVhbjtcbiAgcm93U2VsZWN0YWJsZT86IGJvb2xlYW47XG4gIGhpZGVSb3dTZWxlY3Rpb25DaGVja2JveD86IGJvb2xlYW47XG4gIGRpc2FibGVSb3dDbGlja1NlbGVjdGlvbj86IGJvb2xlYW47XG5cbiAgY2VsbFNlbGVjdGFibGU/OiBib29sZWFuO1xuXG4gIHNob3dUb29sYmFyPzogYm9vbGVhbjtcbiAgdG9vbGJhclRpdGxlPzogc3RyaW5nO1xuXG4gIGNvbHVtbkhpZGVhYmxlPzogYm9vbGVhbjtcbiAgY29sdW1uSGlkZWFibGVDaGVja2VkPzogJ3Nob3cnIHwgJ2hpZGUnO1xuICBjb2x1bW5Tb3J0YWJsZT86IGJvb2xlYW47XG4gIGNvbHVtblBpbm5hYmxlPzogYm9vbGVhbjtcbiAgY29sdW1uUGluT3B0aW9ucz86IE10eEdyaWRDb2x1bW5QaW5PcHRpb25bXTtcblxuICBzaG93Q29sdW1uTWVudUJ1dHRvbj86IGJvb2xlYW47XG4gIGNvbHVtbk1lbnVCdXR0b25UZXh0Pzogc3RyaW5nO1xuICBjb2x1bW5NZW51QnV0dG9uVHlwZT86IE10eEdyaWRCdXR0b25UeXBlO1xuICBjb2x1bW5NZW51QnV0dG9uQ29sb3I/OiBUaGVtZVBhbGV0dGU7XG4gIGNvbHVtbk1lbnVCdXR0b25DbGFzcz86IHN0cmluZztcbiAgY29sdW1uTWVudUJ1dHRvbkljb24/OiBzdHJpbmc7XG4gIGNvbHVtbk1lbnVCdXR0b25Gb250SWNvbj86IHN0cmluZztcbiAgY29sdW1uTWVudUJ1dHRvblN2Z0ljb24/OiBzdHJpbmc7XG5cbiAgc2hvd0NvbHVtbk1lbnVIZWFkZXI/OiBib29sZWFuO1xuICBjb2x1bW5NZW51SGVhZGVyVGV4dD86IHN0cmluZztcbiAgc2hvd0NvbHVtbk1lbnVGb290ZXI/OiBib29sZWFuO1xuICBjb2x1bW5NZW51Rm9vdGVyVGV4dD86IHN0cmluZztcblxuICBub1Jlc3VsdFRleHQ/OiBzdHJpbmc7XG59XG4iXX0=
@@ -70,7 +70,8 @@ export class MtxPopover {
70
70
  set classList(classes) {
71
71
  this.panelClass = classes;
72
72
  }
73
- constructor(_elementRef, _unusedNgZone, _defaultOptions) {
73
+ constructor(_changeDetectorRef, _elementRef, _unusedNgZone, _defaultOptions) {
74
+ this._changeDetectorRef = _changeDetectorRef;
74
75
  this._elementRef = _elementRef;
75
76
  this._unusedNgZone = _unusedNgZone;
76
77
  this._defaultOptions = _defaultOptions;
@@ -191,18 +192,22 @@ export class MtxPopover {
191
192
  * folds out from the correct direction.
192
193
  */
193
194
  setPositionClasses(pos = this.position) {
194
- this._classList['mtx-popover-before-above'] = pos[0] === 'before' && pos[1] === 'above';
195
- this._classList['mtx-popover-before-center'] = pos[0] === 'before' && pos[1] === 'center';
196
- this._classList['mtx-popover-before-below'] = pos[0] === 'before' && pos[1] === 'below';
197
- this._classList['mtx-popover-after-above'] = pos[0] === 'after' && pos[1] === 'above';
198
- this._classList['mtx-popover-after-center'] = pos[0] === 'after' && pos[1] === 'center';
199
- this._classList['mtx-popover-after-below'] = pos[0] === 'after' && pos[1] === 'below';
200
- this._classList['mtx-popover-above-before'] = pos[0] === 'above' && pos[1] === 'before';
201
- this._classList['mtx-popover-above-center'] = pos[0] === 'above' && pos[1] === 'center';
202
- this._classList['mtx-popover-above-after'] = pos[0] === 'above' && pos[1] === 'after';
203
- this._classList['mtx-popover-below-before'] = pos[0] === 'below' && pos[1] === 'before';
204
- this._classList['mtx-popover-below-center'] = pos[0] === 'below' && pos[1] === 'center';
205
- this._classList['mtx-popover-below-after'] = pos[0] === 'below' && pos[1] === 'after';
195
+ this._classList = {
196
+ ...this._classList,
197
+ ['mtx-popover-before-above']: pos[0] === 'before' && pos[1] === 'above',
198
+ ['mtx-popover-before-center']: pos[0] === 'before' && pos[1] === 'center',
199
+ ['mtx-popover-before-below']: pos[0] === 'before' && pos[1] === 'below',
200
+ ['mtx-popover-after-above']: pos[0] === 'after' && pos[1] === 'above',
201
+ ['mtx-popover-after-center']: pos[0] === 'after' && pos[1] === 'center',
202
+ ['mtx-popover-after-below']: pos[0] === 'after' && pos[1] === 'below',
203
+ ['mtx-popover-above-before']: pos[0] === 'above' && pos[1] === 'before',
204
+ ['mtx-popover-above-center']: pos[0] === 'above' && pos[1] === 'center',
205
+ ['mtx-popover-above-after']: pos[0] === 'above' && pos[1] === 'after',
206
+ ['mtx-popover-below-before']: pos[0] === 'below' && pos[1] === 'before',
207
+ ['mtx-popover-below-center']: pos[0] === 'below' && pos[1] === 'center',
208
+ ['mtx-popover-below-after']: pos[0] === 'below' && pos[1] === 'after',
209
+ };
210
+ this._changeDetectorRef.markForCheck();
206
211
  }
207
212
  /** Sets the popover-panel's elevation. */
208
213
  setElevation() {
@@ -250,13 +255,13 @@ export class MtxPopover {
250
255
  _onAnimationStart(event) {
251
256
  this._isAnimating = true;
252
257
  }
253
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxPopover, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MTX_POPOVER_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
258
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxPopover, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: MTX_POPOVER_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
254
259
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: MtxPopover, isStandalone: true, selector: "mtx-popover", inputs: { backdropClass: "backdropClass", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], triggerEvent: "triggerEvent", enterDelay: "enterDelay", leaveDelay: "leaveDelay", position: "position", xOffset: "xOffset", yOffset: "yOffset", arrowWidth: "arrowWidth", arrowHeight: "arrowHeight", arrowOffsetX: "arrowOffsetX", arrowOffsetY: "arrowOffsetY", hideArrow: ["hideArrow", "hideArrow", booleanAttribute], closeOnPanelClick: ["closeOnPanelClick", "closeOnPanelClick", booleanAttribute], closeOnBackdropClick: ["closeOnBackdropClick", "closeOnBackdropClick", booleanAttribute], focusTrapEnabled: ["focusTrapEnabled", "focusTrapEnabled", booleanAttribute], focusTrapAutoCaptureEnabled: ["focusTrapAutoCaptureEnabled", "focusTrapAutoCaptureEnabled", booleanAttribute], hasBackdrop: ["hasBackdrop", "hasBackdrop", booleanAttribute], panelClass: ["class", "panelClass"], classList: "classList" }, outputs: { closed: "closed" }, queries: [{ propertyName: "lazyContent", first: true, predicate: MTX_POPOVER_CONTENT, descendants: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["mtxPopover"], ngImport: i0, template: "<ng-template>\n <!-- eslint-disable @angular-eslint/template/mouse-events-have-key-events -->\n <div\n [id]=\"panelId\"\n class=\"mtx-popover-panel\"\n [class]=\"_classList\"\n [class.mtx-popover-panel-without-arrow]=\"hideArrow\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"_handleClick()\"\n (mouseover)=\"_handleMouseOver()\"\n (mouseleave)=\"_handleMouseLeave()\"\n [@transformPopover]=\"_panelAnimationState\"\n (@transformPopover.start)=\"_onAnimationStart($event)\"\n (@transformPopover.done)=\"_onAnimationDone($event)\"\n tabindex=\"-1\"\n role=\"dialog\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\"\n [cdkTrapFocus]=\"focusTrapEnabled\"\n [cdkTrapFocusAutoCapture]=\"focusTrapAutoCaptureEnabled\">\n <div class=\"mtx-popover-content\">\n <ng-content></ng-content>\n </div>\n @if (!hideArrow) {\n <div class=\"mtx-popover-direction-arrow\" [style]=\"arrowStyles\"></div>\n }\n </div>\n</ng-template>\n", styles: [".mtx-popover-panel{position:relative;max-height:calc(100vh - 48px);padding:8px;font-size:inherit;outline:0;border-radius:var(--mtx-popover-container-shape, var(--mat-app-corner-extra-small));background-color:var(--mtx-popover-background-color, var(--mat-app-surface-container));color:var(--mtx-popover-text-color, var(--mat-app-on-surface))}.mtx-popover-panel[class*=mtx-popover-below]{margin-top:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-above]{margin-bottom:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-before]{margin-right:calc(.5em + 2px)}[dir=rtl] .mtx-popover-panel[class*=mtx-popover-before]{margin-right:auto;margin-left:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-after]{margin-left:calc(.5em + 2px)}[dir=rtl] .mtx-popover-panel[class*=mtx-popover-after]{margin-left:auto;margin-right:calc(.5em + 2px)}.mtx-popover-panel.mtx-popover-panel-without-arrow{margin:0}.mtx-popover-direction-arrow{position:absolute}.mtx-popover-direction-arrow:before,.mtx-popover-direction-arrow:after{position:absolute;display:inline-block;content:\"\";border-width:.5em;border-style:solid}.mtx-popover-direction-arrow:before{border-color:var(--mtx-popover-outline-color, var(--mat-app-surface-container))}.mtx-popover-direction-arrow:after{border-width:calc(.5em - 1px);border-color:var(--mtx-popover-background-color, var(--mat-app-surface-container))}[class*=mtx-popover-below] .mtx-popover-direction-arrow,[class*=mtx-popover-above] .mtx-popover-direction-arrow{width:1em}[class*=mtx-popover-below] .mtx-popover-direction-arrow:before,[class*=mtx-popover-below] .mtx-popover-direction-arrow:after,[class*=mtx-popover-above] .mtx-popover-direction-arrow:before,[class*=mtx-popover-above] .mtx-popover-direction-arrow:after{border-left-color:transparent;border-right-color:transparent}[class*=mtx-popover-below] .mtx-popover-direction-arrow:after,[class*=mtx-popover-above] .mtx-popover-direction-arrow:after{left:1px}[dir=rtl] [class*=mtx-popover-below] .mtx-popover-direction-arrow:after,[dir=rtl] [class*=mtx-popover-above] .mtx-popover-direction-arrow:after{right:1px;left:auto}[class*=mtx-popover-below] .mtx-popover-direction-arrow{top:0}[class*=mtx-popover-below] .mtx-popover-direction-arrow:before,[class*=mtx-popover-below] .mtx-popover-direction-arrow:after{bottom:0;border-top-width:0}[class*=mtx-popover-above] .mtx-popover-direction-arrow{bottom:0}[class*=mtx-popover-above] .mtx-popover-direction-arrow:before,[class*=mtx-popover-above] .mtx-popover-direction-arrow:after{top:0;border-bottom-width:0}[class*=mtx-popover-before] .mtx-popover-direction-arrow,[class*=mtx-popover-after] .mtx-popover-direction-arrow{height:1em}[class*=mtx-popover-before] .mtx-popover-direction-arrow:before,[class*=mtx-popover-before] .mtx-popover-direction-arrow:after,[class*=mtx-popover-after] .mtx-popover-direction-arrow:before,[class*=mtx-popover-after] .mtx-popover-direction-arrow:after{border-top-color:transparent;border-bottom-color:transparent}[class*=mtx-popover-before] .mtx-popover-direction-arrow:after,[class*=mtx-popover-after] .mtx-popover-direction-arrow:after{top:1px}[class*=mtx-popover-before] .mtx-popover-direction-arrow{right:0}[class*=mtx-popover-before] .mtx-popover-direction-arrow:before,[class*=mtx-popover-before] .mtx-popover-direction-arrow:after{left:0;border-right-width:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow{right:auto;left:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:before,[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:after{left:auto;right:0;border-left-width:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:before{border-right-width:.5em}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:after{border-right-width:calc(.5em - 1px)}[class*=mtx-popover-after] .mtx-popover-direction-arrow{left:0}[class*=mtx-popover-after] .mtx-popover-direction-arrow:before,[class*=mtx-popover-after] .mtx-popover-direction-arrow:after{right:0;border-left-width:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow{left:auto;right:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:before,[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:after{right:auto;left:0;border-right-width:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:before{border-left-width:.5em}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:after{border-left-width:calc(.5em - 1px)}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [transformPopover], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
260
  }
256
261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxPopover, decorators: [{
257
262
  type: Component,
258
263
  args: [{ selector: 'mtx-popover', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [transformPopover], exportAs: 'mtxPopover', standalone: true, imports: [CdkTrapFocus], template: "<ng-template>\n <!-- eslint-disable @angular-eslint/template/mouse-events-have-key-events -->\n <div\n [id]=\"panelId\"\n class=\"mtx-popover-panel\"\n [class]=\"_classList\"\n [class.mtx-popover-panel-without-arrow]=\"hideArrow\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"_handleClick()\"\n (mouseover)=\"_handleMouseOver()\"\n (mouseleave)=\"_handleMouseLeave()\"\n [@transformPopover]=\"_panelAnimationState\"\n (@transformPopover.start)=\"_onAnimationStart($event)\"\n (@transformPopover.done)=\"_onAnimationDone($event)\"\n tabindex=\"-1\"\n role=\"dialog\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\"\n [cdkTrapFocus]=\"focusTrapEnabled\"\n [cdkTrapFocusAutoCapture]=\"focusTrapAutoCaptureEnabled\">\n <div class=\"mtx-popover-content\">\n <ng-content></ng-content>\n </div>\n @if (!hideArrow) {\n <div class=\"mtx-popover-direction-arrow\" [style]=\"arrowStyles\"></div>\n }\n </div>\n</ng-template>\n", styles: [".mtx-popover-panel{position:relative;max-height:calc(100vh - 48px);padding:8px;font-size:inherit;outline:0;border-radius:var(--mtx-popover-container-shape, var(--mat-app-corner-extra-small));background-color:var(--mtx-popover-background-color, var(--mat-app-surface-container));color:var(--mtx-popover-text-color, var(--mat-app-on-surface))}.mtx-popover-panel[class*=mtx-popover-below]{margin-top:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-above]{margin-bottom:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-before]{margin-right:calc(.5em + 2px)}[dir=rtl] .mtx-popover-panel[class*=mtx-popover-before]{margin-right:auto;margin-left:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-after]{margin-left:calc(.5em + 2px)}[dir=rtl] .mtx-popover-panel[class*=mtx-popover-after]{margin-left:auto;margin-right:calc(.5em + 2px)}.mtx-popover-panel.mtx-popover-panel-without-arrow{margin:0}.mtx-popover-direction-arrow{position:absolute}.mtx-popover-direction-arrow:before,.mtx-popover-direction-arrow:after{position:absolute;display:inline-block;content:\"\";border-width:.5em;border-style:solid}.mtx-popover-direction-arrow:before{border-color:var(--mtx-popover-outline-color, var(--mat-app-surface-container))}.mtx-popover-direction-arrow:after{border-width:calc(.5em - 1px);border-color:var(--mtx-popover-background-color, var(--mat-app-surface-container))}[class*=mtx-popover-below] .mtx-popover-direction-arrow,[class*=mtx-popover-above] .mtx-popover-direction-arrow{width:1em}[class*=mtx-popover-below] .mtx-popover-direction-arrow:before,[class*=mtx-popover-below] .mtx-popover-direction-arrow:after,[class*=mtx-popover-above] .mtx-popover-direction-arrow:before,[class*=mtx-popover-above] .mtx-popover-direction-arrow:after{border-left-color:transparent;border-right-color:transparent}[class*=mtx-popover-below] .mtx-popover-direction-arrow:after,[class*=mtx-popover-above] .mtx-popover-direction-arrow:after{left:1px}[dir=rtl] [class*=mtx-popover-below] .mtx-popover-direction-arrow:after,[dir=rtl] [class*=mtx-popover-above] .mtx-popover-direction-arrow:after{right:1px;left:auto}[class*=mtx-popover-below] .mtx-popover-direction-arrow{top:0}[class*=mtx-popover-below] .mtx-popover-direction-arrow:before,[class*=mtx-popover-below] .mtx-popover-direction-arrow:after{bottom:0;border-top-width:0}[class*=mtx-popover-above] .mtx-popover-direction-arrow{bottom:0}[class*=mtx-popover-above] .mtx-popover-direction-arrow:before,[class*=mtx-popover-above] .mtx-popover-direction-arrow:after{top:0;border-bottom-width:0}[class*=mtx-popover-before] .mtx-popover-direction-arrow,[class*=mtx-popover-after] .mtx-popover-direction-arrow{height:1em}[class*=mtx-popover-before] .mtx-popover-direction-arrow:before,[class*=mtx-popover-before] .mtx-popover-direction-arrow:after,[class*=mtx-popover-after] .mtx-popover-direction-arrow:before,[class*=mtx-popover-after] .mtx-popover-direction-arrow:after{border-top-color:transparent;border-bottom-color:transparent}[class*=mtx-popover-before] .mtx-popover-direction-arrow:after,[class*=mtx-popover-after] .mtx-popover-direction-arrow:after{top:1px}[class*=mtx-popover-before] .mtx-popover-direction-arrow{right:0}[class*=mtx-popover-before] .mtx-popover-direction-arrow:before,[class*=mtx-popover-before] .mtx-popover-direction-arrow:after{left:0;border-right-width:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow{right:auto;left:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:before,[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:after{left:auto;right:0;border-left-width:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:before{border-right-width:.5em}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:after{border-right-width:calc(.5em - 1px)}[class*=mtx-popover-after] .mtx-popover-direction-arrow{left:0}[class*=mtx-popover-after] .mtx-popover-direction-arrow:before,[class*=mtx-popover-after] .mtx-popover-direction-arrow:after{right:0;border-left-width:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow{left:auto;right:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:before,[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:after{right:auto;left:0;border-right-width:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:before{border-left-width:.5em}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:after{border-left-width:calc(.5em - 1px)}\n"] }]
259
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
264
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
260
265
  type: Inject,
261
266
  args: [MTX_POPOVER_DEFAULT_OPTIONS]
262
267
  }] }], propDecorators: { backdropClass: [{
@@ -322,4 +327,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
322
327
  type: ContentChild,
323
328
  args: [MTX_POPOVER_CONTENT]
324
329
  }] } });
325
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvcG9wb3Zlci9wb3BvdmVyLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9wb3BvdmVyL3BvcG92ZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUlMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyxtQ0FBbUMsR0FDcEMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFJMUIsb0ZBQW9GO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUMzRCw2QkFBNkIsRUFDN0I7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsbUNBQW1DO0NBQzdDLENBQ0YsQ0FBQztBQUVGLG9CQUFvQjtBQUNwQixNQUFNLFVBQVUsbUNBQW1DO0lBQ2pELE9BQU87UUFDTCxhQUFhLEVBQUUsa0NBQWtDO0tBQ2xELENBQUM7QUFDSixDQUFDO0FBRUQsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBYXhCLE1B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RUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS3RDLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVbEMsVUFBVTtzQkFEYixLQUFLO3VCQUFDLE9BQU87Z0JBbUNWLFNBQVM7c0JBRFosS0FBSztnQkFTSSxNQUFNO3NCQUFmLE1BQU07Z0JBR2lCLFdBQVc7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVztnQkFNYSxXQUFXO3NCQUE3QyxZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDZGtUcmFwRm9jdXMgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBFU0NBUEUsIGhhc01vZGlmaWVyS2V5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRyYW5zZm9ybVBvcG92ZXIgfSBmcm9tICcuL3BvcG92ZXItYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNVFhfUE9QT1ZFUl9DT05URU5ULCBNdHhQb3BvdmVyQ29udGVudCB9IGZyb20gJy4vcG9wb3Zlci1jb250ZW50JztcbmltcG9ydCB7XG4gIHRocm93TXR4UG9wb3ZlckludmFsaWRQb3NpdGlvbkVuZCxcbiAgdGhyb3dNdHhQb3BvdmVySW52YWxpZFBvc2l0aW9uU3RhcnQsXG59IGZyb20gJy4vcG9wb3Zlci1lcnJvcnMnO1xuaW1wb3J0IHsgTXR4UG9wb3ZlckRlZmF1bHRPcHRpb25zLCBNdHhQb3BvdmVyUGFuZWwgfSBmcm9tICcuL3BvcG92ZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNdHhQb3BvdmVyUG9zaXRpb24sIE10eFBvcG92ZXJUcmlnZ2VyRXZlbnQsIFBvcG92ZXJDbG9zZVJlYXNvbiB9IGZyb20gJy4vcG9wb3Zlci10eXBlcyc7XG5cbi8qKiBJbmplY3Rpb24gdG9rZW4gdG8gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBvcHRpb25zIGZvciBgbXR4LXBvcG92ZXJgLiAqL1xuZXhwb3J0IGNvbnN0IE1UWF9QT1BPVkVSX0RFRkFVTFRfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNdHhQb3BvdmVyRGVmYXVsdE9wdGlvbnM+KFxuICAnbXR4LXBvcG92ZXItZGVmYXVsdC1vcHRpb25zJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiBNVFhfUE9QT1ZFUl9ERUZBVUxUX09QVElPTlNfRkFDVE9SWSxcbiAgfVxuKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBNVFhfUE9QT1ZFUl9ERUZBVUxUX09QVElPTlNfRkFDVE9SWSgpOiBNdHhQb3BvdmVyRGVmYXVsdE9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gIH07XG59XG5cbmxldCBwb3BvdmVyUGFuZWxVaWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdHgtcG9wb3ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmh0bWwnLFxuICBzdHlsZVVybDogJy4vcG9wb3Zlci5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IFt0cmFuc2Zvcm1Qb3BvdmVyXSxcbiAgZXhwb3J0QXM6ICdtdHhQb3BvdmVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Nka1RyYXBGb2N1c10sXG59KVxuZXhwb3J0IGNsYXNzIE10eFBvcG92ZXIgaW1wbGVtZW50cyBNdHhQb3BvdmVyUGFuZWwsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfcHJldmlvdXNFbGV2YXRpb24/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2VsZXZhdGlvblByZWZpeCA9ICdtYXQtZWxldmF0aW9uLXonO1xuICBwcml2YXRlIF9iYXNlRWxldmF0aW9uOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogQ29uZmlnIG9iamVjdCB0byBiZSBwYXNzZWQgaW50byB0aGUgcG9wb3ZlcidzIGNsYXNzLiAqL1xuICBfY2xhc3NMaXN0OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXG4gIC8qKiBDdXJyZW50IHN0YXRlIG9mIHRoZSBwYW5lbCBhbmltYXRpb24uICovXG4gIF9wYW5lbEFuaW1hdGlvblN0YXRlOiAndm9pZCcgfCAnZW50ZXInID0gJ3ZvaWQnO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciBhbiBhbmltYXRpb24gb24gdGhlIHBvcG92ZXIgY29tcGxldGVzLiAqL1xuICByZWFkb25seSBfYW5pbWF0aW9uRG9uZSA9IG5ldyBTdWJqZWN0PEFuaW1hdGlvbkV2ZW50PigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGlzIGFuaW1hdGluZy4gKi9cbiAgX2lzQW5pbWF0aW5nID0gZmFsc2U7XG5cbiAgLyoqIENsb3NpbmcgZGlzYWJsZWQgb24gcG9wb3ZlciAqL1xuICBjbG9zZURpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqIENvbmZpZyBvYmplY3QgdG8gYmUgcGFzc2VkIGludG8gdGhlIHBvcG92ZXIncyBhcnJvdyBzdHlsZSAqL1xuICBhcnJvd1N0eWxlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIC8qKiBMYXlvdXQgZGlyZWN0aW9uIG9mIHRoZSBwb3BvdmVyLiAqL1xuICBkaXJlY3Rpb24/OiBEaXJlY3Rpb247XG5cbiAgLyoqIENsYXNzIG9yIGxpc3Qgb2YgY2xhc3NlcyB0byBiZSBhZGRlZCB0byB0aGUgb3ZlcmxheSBwYW5lbC4gKi9cbiAgb3ZlcmxheVBhbmVsQ2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMub3ZlcmxheVBhbmVsQ2xhc3MgfHwgJyc7XG5cbiAgLyoqIENsYXNzIHRvIGJlIGFkZGVkIHRvIHRoZSBiYWNrZHJvcCBlbGVtZW50LiAqL1xuICBASW5wdXQoKSBiYWNrZHJvcENsYXNzID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuYmFja2Ryb3BDbGFzcztcblxuICAvKiogYXJpYS1sYWJlbCBmb3IgdGhlIHBvcG92ZXIgcGFuZWwuICovXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbD86IHN0cmluZztcblxuICAvKiogYXJpYS1sYWJlbGxlZGJ5IGZvciB0aGUgcG9wb3ZlciBwYW5lbC4gKi9cbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieT86IHN0cmluZztcblxuICAvKiogYXJpYS1kZXNjcmliZWRieSBmb3IgdGhlIHBvcG92ZXIgcGFuZWwuICovXG4gIEBJbnB1dCgnYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieT86IHN0cmluZztcblxuICAvKiogUG9wb3ZlcidzIHRyaWdnZXIgZXZlbnQuICovXG4gIEBJbnB1dCgpIHRyaWdnZXJFdmVudDogTXR4UG9wb3ZlclRyaWdnZXJFdmVudCA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLnRyaWdnZXJFdmVudCA/PyAnaG92ZXInO1xuXG4gIC8qKiBQb3BvdmVyJ3MgZW50ZXIgZGVsYXkuICovXG4gIEBJbnB1dCgpIGVudGVyRGVsYXkgPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy5lbnRlckRlbGF5ID8/IDEwMDtcblxuICAvKiogUG9wb3ZlcidzIGxlYXZlIGRlbGF5LiAqL1xuICBASW5wdXQoKSBsZWF2ZURlbGF5ID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMubGVhdmVEZWxheSA/PyAxMDA7XG5cbiAgLyoqIFBvcG92ZXIncyBwb3NpdGlvbi4gKi9cbiAgQElucHV0KClcbiAgZ2V0IHBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgfVxuICBzZXQgcG9zaXRpb24odmFsdWU6IE10eFBvcG92ZXJQb3NpdGlvbikge1xuICAgIGlmICghWydiZWZvcmUnLCAnYWZ0ZXInLCAnYWJvdmUnLCAnYmVsb3cnXS5pbmNsdWRlcyh2YWx1ZVswXSkpIHtcbiAgICAgIHRocm93TXR4UG9wb3ZlckludmFsaWRQb3NpdGlvblN0YXJ0KCk7XG4gICAgfVxuICAgIGlmICghWydiZWZvcmUnLCAnYWZ0ZXInLCAnYWJvdmUnLCAnYmVsb3cnLCAnY2VudGVyJ10uaW5jbHVkZXModmFsdWVbMV0pKSB7XG4gICAgICB0aHJvd010eFBvcG92ZXJJbnZhbGlkUG9zaXRpb25FbmQoKTtcbiAgICB9XG4gICAgdGhpcy5fcG9zaXRpb24gPSB2YWx1ZTtcbiAgICB0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpO1xuICB9XG4gIHByaXZhdGUgX3Bvc2l0aW9uID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMucG9zaXRpb24gPz8gWydiZWxvdycsICdhZnRlciddO1xuXG4gIC8qKiBQb3BvdmVyLXBhbmVsJ3MgWCBvZmZzZXQuICovXG4gIEBJbnB1dCgpIHhPZmZzZXQgPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy54T2Zmc2V0ID8/IDA7XG5cbiAgLyoqIFBvcG92ZXItcGFuZWwncyBZIG9mZnNldC4gKi9cbiAgQElucHV0KCkgeU9mZnNldCA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLnlPZmZzZXQgPz8gMDtcblxuICAvKiogUG9wb3Zlci1hcnJvdydzIHdpZHRoLiAqL1xuICBASW5wdXQoKSBhcnJvd1dpZHRoID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuYXJyb3dXaWR0aCA/PyAxNjtcblxuICAvKiogUG9wb3Zlci1hcnJvdydzIGhlaWdodC4gKi9cbiAgQElucHV0KCkgYXJyb3dIZWlnaHQgPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy5hcnJvd0hlaWdodCA/PyAxNjtcblxuICAvKiogUG9wb3Zlci1hcnJvdydzIFggb2Zmc2V0LiAqL1xuICBASW5wdXQoKSBhcnJvd09mZnNldFggPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy5hcnJvd09mZnNldFggPz8gMjA7XG5cbiAgLyoqIFBvcG92ZXItYXJyb3cncyBZIG9mZnNldC4gKi9cbiAgQElucHV0KCkgYXJyb3dPZmZzZXRZID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuYXJyb3dPZmZzZXRZID8/IDIwO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGFycm93IHNob3VsZCBiZSBoaWRkZW4uICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBoaWRlQXJyb3cgPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy5oaWRlQXJyb3cgPz8gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgcG9wb3ZlciBjYW4gYmUgY2xvc2VkIHdoZW4gY2xpY2sgdGhlIHBvcG92ZXItcGFuZWwuICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBjbG9zZU9uUGFuZWxDbGljayA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLmNsb3NlT25QYW5lbENsaWNrID8/IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHBvcG92ZXIgY2FuIGJlIGNsb3NlZCB3aGVuIGNsaWNrIHRoZSBiYWNrZHJvcC4gKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGNsb3NlT25CYWNrZHJvcENsaWNrID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPz8gdHJ1ZTtcblxuICAvKiogV2hldGhlciBlbmFibGUgZm9jdXMgdHJhcCB1c2luZyBgY2RrVHJhcEZvY3VzYC4gKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGZvY3VzVHJhcEVuYWJsZWQgPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy5mb2N1c1RyYXBFbmFibGVkID8/IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIGVuYWJsZSBmb2N1cyB0cmFwIGF1dG8gY2FwdHVyZSB1c2luZyBgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVgLiAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZm9jdXNUcmFwQXV0b0NhcHR1cmVFbmFibGVkID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuZm9jdXNUcmFwQXV0b0NhcHR1cmVFbmFibGVkID8/IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGhhcyBhIGJhY2tkcm9wLiBJdCB3aWxsIGFsd2F5cyBiZSBmYWxzZSBpZiB0aGUgdHJpZ2dlciBldmVudCBpcyBob3Zlci4gKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGhhc0JhY2tkcm9wID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuaGFzQmFja2Ryb3A7XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHRha2VzIGNsYXNzZXMgc2V0IG9uIHRoZSBob3N0IG10eC1wb3BvdmVyIGVsZW1lbnQgYW5kIGFwcGxpZXMgdGhlbSBvbiB0aGVcbiAgICogcG9wb3ZlciB0ZW1wbGF0ZSB0aGF0IGRpc3BsYXlzIGluIHRoZSBvdmVybGF5IGNvbnRhaW5lci4gT3RoZXJ3aXNlLCBpdCdzIGRpZmZpY3VsdFxuICAgKiB0byBzdHlsZSB0aGUgY29udGFpbmluZyBwb3BvdmVyIGZyb20gb3V0c2lkZSB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gY2xhc3NlcyBsaXN0IG9mIGNsYXNzIG5hbWVzXG4gICAqL1xuICBASW5wdXQoJ2NsYXNzJylcbiAgc2V0IHBhbmVsQ2xhc3MoY2xhc3Nlczogc3RyaW5nKSB7XG4gICAgY29uc3QgcHJldmlvdXNQYW5lbENsYXNzID0gdGhpcy5fcHJldmlvdXNQYW5lbENsYXNzO1xuICAgIGNvbnN0IG5ld0NsYXNzTGlzdCA9IHsgLi4udGhpcy5fY2xhc3NMaXN0IH07XG5cbiAgICBpZiAocHJldmlvdXNQYW5lbENsYXNzICYmIHByZXZpb3VzUGFuZWxDbGFzcy5sZW5ndGgpIHtcbiAgICAgIHByZXZpb3VzUGFuZWxDbGFzcy5zcGxpdCgnICcpLmZvckVhY2goKGNsYXNzTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIG5ld0NsYXNzTGlzdFtjbGFzc05hbWVdID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl9wcmV2aW91c1BhbmVsQ2xhc3MgPSBjbGFzc2VzO1xuXG4gICAgaWYgKGNsYXNzZXMgJiYgY2xhc3Nlcy5sZW5ndGgpIHtcbiAgICAgIGNsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBuZXdDbGFzc0xpc3RbY2xhc3NOYW1lXSA9IHRydWU7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZSA9ICcnO1xuXG4gICAgICB0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIHRoaXMuX2NsYXNzTGlzdCA9IG5ld0NsYXNzTGlzdDtcbiAgfVxuICBwcml2YXRlIF9wcmV2aW91c1BhbmVsQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHRha2VzIGNsYXNzZXMgc2V0IG9uIHRoZSBob3N0IG10eC1wb3BvdmVyIGVsZW1lbnQgYW5kIGFwcGxpZXMgdGhlbSBvbiB0aGVcbiAgICogcG9wb3ZlciB0ZW1wbGF0ZSB0aGF0IGRpc3BsYXlzIGluIHRoZSBvdmVybGF5IGNvbnRhaW5lci4gT3RoZXJ3aXNlLCBpdCdzIGRpZmZpY3VsdFxuICAgKiB0byBzdHlsZSB0aGUgY29udGFpbmluZyBwb3BvdmVyIGZyb20gb3V0c2lkZSB0aGUgY29tcG9uZW50LlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHBhbmVsQ2xhc3NgIGluc3RlYWQuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBjbGFzc0xpc3QoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbENsYXNzO1xuICB9XG4gIHNldCBjbGFzc0xpc3QoY2xhc3Nlczogc3RyaW5nKSB7XG4gICAgdGhpcy5wYW5lbENsYXNzID0gY2xhc3NlcztcbiAgfVxuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvcG92ZXIgaXMgY2xvc2VkLiAqL1xuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxQb3BvdmVyQ2xvc2VSZWFzb24+KCk7XG5cbiAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBQb3BvdmVyIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHJlbmRlcmVkIGxhemlseS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChNVFhfUE9QT1ZFUl9DT05URU5UKSBsYXp5Q29udGVudD86IE10eFBvcG92ZXJDb250ZW50O1xuXG4gIHJlYWRvbmx5IHBhbmVsSWQgPSBgbXR4LXBvcG92ZXItcGFuZWwtJHtwb3BvdmVyUGFuZWxVaWQrK31gO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfdW51c2VkTmdab25lOiBOZ1pvbmUsXG4gICAgQEluamVjdChNVFhfUE9QT1ZFUl9ERUZBVUxUX09QVElPTlMpIHByaXZhdGUgX2RlZmF1bHRPcHRpb25zOiBNdHhQb3BvdmVyRGVmYXVsdE9wdGlvbnNcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsb3NlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBhIGtleWJvYXJkIGV2ZW50IGZyb20gdGhlIHBvcG92ZXIsIGRlbGVnYXRpbmcgdG8gdGhlIGFwcHJvcHJpYXRlIGFjdGlvbi4gKi9cbiAgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcblxuICAgIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgICAgY2FzZSBFU0NBUEU6XG4gICAgICAgIGlmICghaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCdrZXlkb3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsb3NlIHBvcG92ZXIgb24gY2xpY2sgaWYgYGNsb3NlT25QYW5lbENsaWNrYCBpcyB0cnVlLiAqL1xuICBfaGFuZGxlQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuY2xvc2VPblBhbmVsQ2xpY2spIHtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2NsaWNrJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIERpc2FibGVzIGNsb3NlIG9mIHBvcG92ZXIgd2hlbiBsZWF2aW5nIHRyaWdnZXIgZWxlbWVudCBhbmQgbW91c2Ugb3ZlciB0aGUgcG9wb3Zlci4gKi9cbiAgX2hhbmRsZU1vdXNlT3ZlcigpIHtcbiAgICBpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicpIHtcbiAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqIEVuYWJsZXMgY2xvc2Ugb2YgcG9wb3ZlciB3aGVuIG1vdXNlIGxlYXZpbmcgcG9wb3ZlciBlbGVtZW50LiAqL1xuICBfaGFuZGxlTW91c2VMZWF2ZSgpIHtcbiAgICBpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICAgICAgfSwgdGhpcy5sZWF2ZURlbGF5KTtcbiAgICB9XG4gIH1cblxuICAvKiogU2V0cyB0aGUgY3VycmVudCBzdHlsZXMgZm9yIHRoZSBwb3BvdmVyIHRvIGFsbG93IGZvciBkeW5hbWljYWxseSBjaGFuZ2luZyBzZXR0aW5ncy4gKi9cbiAgc2V0Q3VycmVudFN0eWxlcyhwb3MgPSB0aGlzLnBvc2l0aW9uKSB7XG4gICAgY29uc3QgbGVmdCA9XG4gICAgICBwb3NbMV0gPT09ICdhZnRlcidcbiAgICAgICAgPyBgJHt0aGlzLmFycm93T2Zmc2V0WCAtIHRoaXMuYXJyb3dXaWR0aCAvIDJ9cHhgXG4gICAgICAgIDogcG9zWzFdID09PSAnY2VudGVyJ1xuICAgICAgICAgID8gYGNhbGMoNTAlIC0gJHt0aGlzLmFycm93V2lkdGggLyAyfXB4KWBcbiAgICAgICAgICA6ICcnO1xuICAgIGNvbnN0IHJpZ2h0ID0gcG9zWzFdID09PSAnYmVmb3JlJyA/IGAke3RoaXMuYXJyb3dPZmZzZXRYIC0gdGhpcy5hcnJvd1dpZHRoIC8gMn1weGAgOiAnJztcblxuICAgIGNvbnN0IGJvdHRvbSA9XG4gICAgICBwb3NbMV0gPT09ICdhYm92ZSdcbiAgICAgICAgPyBgJHt0aGlzLmFycm93T2Zmc2V0WSAtIHRoaXMuYXJyb3dIZWlnaHQgLyAyfXB4YFxuICAgICAgICA6IHBvc1sxXSA9PT0gJ2NlbnRlcidcbiAgICAgICAgICA/IGBjYWxjKDUwJSAtICR7dGhpcy5hcnJvd0hlaWdodCAvIDJ9cHgpYFxuICAgICAgICAgIDogJyc7XG4gICAgY29uc3QgdG9wID0gcG9zWzFdID09PSAnYmVsb3cnID8gYCR7dGhpcy5hcnJvd09mZnNldFkgLSB0aGlzLmFycm93SGVpZ2h0IC8gMn1weGAgOiAnJztcblxuICAgIHRoaXMuYXJyb3dTdHlsZXMgPVxuICAgICAgcG9zWzBdID09PSAnYWJvdmUnIHx8IHBvc1swXSA9PT0gJ2JlbG93J1xuICAgICAgICA/IHtcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJyA/IGxlZnQgOiByaWdodCxcbiAgICAgICAgICAgIHJpZ2h0OiB0aGlzLmRpcmVjdGlvbiA9PT0gJ2x0cicgPyByaWdodCA6IGxlZnQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHsgdG9wLCBib3R0b20gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIG5lY2Vzc2FyeSB0byBzZXQgcG9zaXRpb24tYmFzZWQgY2xhc3NlcyB0byBlbnN1cmUgdGhlIHBvcG92ZXIgcGFuZWwgYW5pbWF0aW9uXG4gICAqIGZvbGRzIG91dCBmcm9tIHRoZSBjb3JyZWN0IGRpcmVjdGlvbi5cbiAgICovXG4gIHNldFBvc2l0aW9uQ2xhc3Nlcyhwb3MgPSB0aGlzLnBvc2l0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fY2xhc3NMaXN0WydtdHgtcG9wb3Zlci1iZWZvcmUtYWJvdmUnXSA9IHBvc1swXSA9PT0gJ2JlZm9yZScgJiYgcG9zWzFdID09PSAnYWJvdmUnO1xuICAgIHRoaXMuX2NsYXNzTGlzdFsnbXR4LXBvcG92ZXItYmVmb3JlLWNlbnRlciddID0gcG9zWzBdID09PSAnYmVmb3JlJyAmJiBwb3NbMV0gPT09ICdjZW50ZXInO1xuICAgIHRoaXMuX2NsYXNzTGlzdFsnbXR4LXBvcG92ZXItYmVmb3JlLWJlbG93J10gPSBwb3NbMF0gPT09ICdiZWZvcmUnICYmIHBvc1sxXSA9PT0gJ2JlbG93JztcbiAgICB0aGlzLl9jbGFzc0xpc3RbJ210eC1wb3BvdmVyLWFmdGVyLWFib3ZlJ10gPSBwb3NbMF0gPT09ICdhZnRlcicgJiYgcG9zWzFdID09PSAnYWJvdmUnO1xuICAgIHRoaXMuX2NsYXNzTGlzdFsnbXR4LXBvcG92ZXItYWZ0ZXItY2VudGVyJ10gPSBwb3NbMF0gPT09ICdhZnRlcicgJiYgcG9zWzFdID09PSAnY2VudGVyJztcbiAgICB0aGlzLl9jbGFzc0xpc3RbJ210eC1wb3BvdmVyLWFmdGVyLWJlbG93J10gPSBwb3NbMF0gPT09ICdhZnRlcicgJiYgcG9zWzFdID09PSAnYmVsb3cnO1xuICAgIHRoaXMuX2NsYXNzTGlzdFsnbXR4LXBvcG92ZXItYWJvdmUtYmVmb3JlJ10gPSBwb3NbMF0gPT09ICdhYm92ZScgJiYgcG9zWzFdID09PSAnYmVmb3JlJztcbiAgICB0aGlzLl9jbGFzc0xpc3RbJ210eC1wb3BvdmVyLWFib3ZlLWNlbnRlciddID0gcG9zWzBdID09PSAnYWJvdmUnICYmIHBvc1sxXSA9PT0gJ2NlbnRlcic7XG4gICAgdGhpcy5fY2xhc3NMaXN0WydtdHgtcG9wb3Zlci1hYm92ZS1hZnRlciddID0gcG9zWzBdID09PSAnYWJvdmUnICYmIHBvc1sxXSA9PT0gJ2FmdGVyJztcbiAgICB0aGlzLl9jbGFzc0xpc3RbJ210eC1wb3BvdmVyLWJlbG93LWJlZm9yZSddID0gcG9zWzBdID09PSAnYmVsb3cnICYmIHBvc1sxXSA9PT0gJ2JlZm9yZSc7XG4gICAgdGhpcy5fY2xhc3NMaXN0WydtdHgtcG9wb3Zlci1iZWxvdy1jZW50ZXInXSA9IHBvc1swXSA9PT0gJ2JlbG93JyAmJiBwb3NbMV0gPT09ICdjZW50ZXInO1xuICAgIHRoaXMuX2NsYXNzTGlzdFsnbXR4LXBvcG92ZXItYmVsb3ctYWZ0ZXInXSA9IHBvc1swXSA9PT0gJ2JlbG93JyAmJiBwb3NbMV0gPT09ICdhZnRlcic7XG4gIH1cblxuICAvKiogU2V0cyB0aGUgcG9wb3Zlci1wYW5lbCdzIGVsZXZhdGlvbi4gKi9cbiAgc2V0RWxldmF0aW9uKCk6IHZvaWQge1xuICAgIC8vIFRoZSBiYXNlIGVsZXZhdGlvbiBkZXBlbmRzIG9uIHdoaWNoIHZlcnNpb24gb2YgdGhlIHNwZWNcbiAgICAvLyB3ZSdyZSBydW5uaW5nIHNvIHdlIGhhdmUgdG8gcmVzb2x2ZSBpdCBhdCBydW50aW1lLlxuICAgIGlmICh0aGlzLl9iYXNlRWxldmF0aW9uID09PSBudWxsKSB7XG4gICAgICBjb25zdCBzdHlsZXMgPVxuICAgICAgICB0eXBlb2YgZ2V0Q29tcHV0ZWRTdHlsZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgID8gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgOiBudWxsO1xuICAgICAgY29uc3QgdmFsdWUgPSBzdHlsZXM/LmdldFByb3BlcnR5VmFsdWUoJy0tbXR4LXBvcG92ZXItYmFzZS1lbGV2YXRpb24tbGV2ZWwnKSB8fCAnOCc7XG4gICAgICB0aGlzLl9iYXNlRWxldmF0aW9uID0gcGFyc2VJbnQodmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFRoZSBlbGV2YXRpb24gc3RhcnRzIGF0IHRoZSBiYXNlIGFuZCBpbmNyZWFzZXMgYnkgb25lIGZvciBlYWNoIGxldmVsLlxuICAgIC8vIENhcHBlZCBhdCAyNCBiZWNhdXNlIHRoYXQncyB0aGUgbWF4aW11bSBlbGV2YXRpb24gZGVmaW5lZCBpbiB0aGUgTWF0ZXJpYWwgZGVzaWduIHNwZWMuXG4gICAgY29uc3QgZWxldmF0aW9uID0gTWF0aC5taW4odGhpcy5fYmFzZUVsZXZhdGlvbiwgMjQpO1xuICAgIGNvbnN0IG5ld0VsZXZhdGlvbiA9IGAke3RoaXMuX2VsZXZhdGlvblByZWZpeH0ke2VsZXZhdGlvbn1gO1xuICAgIGNvbnN0IGN1c3RvbUVsZXZhdGlvbiA9IE9iamVjdC5rZXlzKHRoaXMuX2NsYXNzTGlzdCkuZmluZChjbGFzc05hbWUgPT4ge1xuICAgICAgcmV0dXJuIGNsYXNzTmFtZS5zdGFydHNXaXRoKHRoaXMuX2VsZXZhdGlvblByZWZpeCk7XG4gICAgfSk7XG4gICAgaWYgKCFjdXN0b21FbGV2YXRpb24gfHwgY3VzdG9tRWxldmF0aW9uID09PSB0aGlzLl9wcmV2aW91c0VsZXZhdGlvbikge1xuICAgICAgY29uc3QgbmV3Q2xhc3NMaXN0ID0geyAuLi50aGlzLl9jbGFzc0xpc3QgfTtcbiAgICAgIGlmICh0aGlzLl9wcmV2aW91c0VsZXZhdGlvbikge1xuICAgICAgICBuZXdDbGFzc0xpc3RbdGhpcy5fcHJldmlvdXNFbGV2YXRpb25dID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBuZXdDbGFzc0xpc3RbbmV3RWxldmF0aW9uXSA9IHRydWU7XG4gICAgICB0aGlzLl9wcmV2aW91c0VsZXZhdGlvbiA9IG5ld0VsZXZhdGlvbjtcbiAgICAgIHRoaXMuX2NsYXNzTGlzdCA9IG5ld0NsYXNzTGlzdDtcbiAgICB9XG4gIH1cblxuICAvKiogU3RhcnRzIHRoZSBlbnRlciBhbmltYXRpb24uICovXG4gIF9zdGFydEFuaW1hdGlvbigpIHtcbiAgICAvLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wIENvbWJpbmUgd2l0aCBfcmVzZXRBbmltYXRpb24uXG4gICAgdGhpcy5fcGFuZWxBbmltYXRpb25TdGF0ZSA9ICdlbnRlcic7XG4gIH1cblxuICAvKiogUmVzZXRzIHRoZSBwYW5lbCBhbmltYXRpb24gdG8gaXRzIGluaXRpYWwgc3RhdGUuICovXG4gIF9yZXNldEFuaW1hdGlvbigpIHtcbiAgICAvLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wIENvbWJpbmUgd2l0aCBfc3RhcnRBbmltYXRpb24uXG4gICAgdGhpcy5fcGFuZWxBbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcbiAgfVxuXG4gIC8qKiBDYWxsYmFjayB0aGF0IGlzIGludm9rZWQgd2hlbiB0aGUgcGFuZWwgYW5pbWF0aW9uIGNvbXBsZXRlcy4gKi9cbiAgX29uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICB0aGlzLl9hbmltYXRpb25Eb25lLm5leHQoZXZlbnQpO1xuICAgIHRoaXMuX2lzQW5pbWF0aW5nID0gZmFsc2U7XG4gIH1cblxuICBfb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICB0aGlzLl9pc0FuaW1hdGluZyA9IHRydWU7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPCEtLSBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvdGVtcGxhdGUvbW91c2UtZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAtLT5cbiAgPGRpdlxuICAgIFtpZF09XCJwYW5lbElkXCJcbiAgICBjbGFzcz1cIm10eC1wb3BvdmVyLXBhbmVsXCJcbiAgICBbY2xhc3NdPVwiX2NsYXNzTGlzdFwiXG4gICAgW2NsYXNzLm10eC1wb3BvdmVyLXBhbmVsLXdpdGhvdXQtYXJyb3ddPVwiaGlkZUFycm93XCJcbiAgICAoa2V5ZG93bik9XCJfaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwiX2hhbmRsZUNsaWNrKClcIlxuICAgIChtb3VzZW92ZXIpPVwiX2hhbmRsZU1vdXNlT3ZlcigpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJfaGFuZGxlTW91c2VMZWF2ZSgpXCJcbiAgICBbQHRyYW5zZm9ybVBvcG92ZXJdPVwiX3BhbmVsQW5pbWF0aW9uU3RhdGVcIlxuICAgIChAdHJhbnNmb3JtUG9wb3Zlci5zdGFydCk9XCJfb25BbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAoQHRyYW5zZm9ybVBvcG92ZXIuZG9uZSk9XCJfb25BbmltYXRpb25Eb25lKCRldmVudClcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieSB8fCBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieSB8fCBudWxsXCJcbiAgICBbY2RrVHJhcEZvY3VzXT1cImZvY3VzVHJhcEVuYWJsZWRcIlxuICAgIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJmb2N1c1RyYXBBdXRvQ2FwdHVyZUVuYWJsZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibXR4LXBvcG92ZXItY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIEBpZiAoIWhpZGVBcnJvdykge1xuICAgICAgPGRpdiBjbGFzcz1cIm10eC1wb3BvdmVyLWRpcmVjdGlvbi1hcnJvd1wiIFtzdHlsZV09XCJhcnJvd1N0eWxlc1wiPjwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvcG9wb3Zlci9wb3BvdmVyLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9wb3BvdmVyL3BvcG92ZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUlMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyxtQ0FBbUMsR0FDcEMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFJMUIsb0ZBQW9GO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUMzRCw2QkFBNkIsRUFDN0I7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsbUNBQW1DO0NBQzdDLENBQ0YsQ0FBQztBQUVGLG9CQUFvQjtBQUNwQixNQUFNLFVBQVUsbUNBQW1DO0lBQ2pELE9BQU87UUFDTCxhQUFhLEVBQUUsa0NBQWtDO0tBQ2xELENBQUM7QUFDSixDQUFDO0FBRUQsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBYXhCLE1B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SyxPQUFPO1lBQ3ZFLENBQUMsMkJBQTJCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO1lBQ3pFLENBQUMsMEJBQTBCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPO1lBQ3ZFLENBQUMseUJBQXlCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPO1lBQ3JFLENBQUMsMEJBQTBCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO1lBQ3ZFLENBQUMseUJBQXlCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPO1lBQ3JFLENBQUMsMEJBQTBCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO1lBQ3ZFLENBQUMsMEJBQTBCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO1lBQ3ZFLENBQUMseUJBQXlCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPO1lBQ3JFLENBQUMsMEJBQTBCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO1lBQ3ZFLENBQUMsMEJBQTBCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FB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VUFBVTtzQkFEYixLQUFLO3VCQUFDLE9BQU87Z0JBbUNWLFNBQVM7c0JBRFosS0FBSztnQkFTSSxNQUFNO3NCQUFmLE1BQU07Z0JBR2lCLFdBQVc7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVztnQkFNYSxXQUFXO3NCQUE3QyxZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDZGtUcmFwRm9jdXMgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBFU0NBUEUsIGhhc01vZGlmaWVyS2V5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1Qb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVyLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTVRYX1BPUE9WRVJfQ09OVEVOVCwgTXR4UG9wb3ZlckNvbnRlbnQgfSBmcm9tICcuL3BvcG92ZXItY29udGVudCc7XG5pbXBvcnQge1xuICB0aHJvd010eFBvcG92ZXJJbnZhbGlkUG9zaXRpb25FbmQsXG4gIHRocm93TXR4UG9wb3ZlckludmFsaWRQb3NpdGlvblN0YXJ0LFxufSBmcm9tICcuL3BvcG92ZXItZXJyb3JzJztcbmltcG9ydCB7IE10eFBvcG92ZXJEZWZhdWx0T3B0aW9ucywgTXR4UG9wb3ZlclBhbmVsIH0gZnJvbSAnLi9wb3BvdmVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgTXR4UG9wb3ZlclBvc2l0aW9uLCBNdHhQb3BvdmVyVHJpZ2dlckV2ZW50LCBQb3BvdmVyQ2xvc2VSZWFzb24gfSBmcm9tICcuL3BvcG92ZXItdHlwZXMnO1xuXG4vKiogSW5qZWN0aW9uIHRva2VuIHRvIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgb3B0aW9ucyBmb3IgYG10eC1wb3BvdmVyYC4gKi9cbmV4cG9ydCBjb25zdCBNVFhfUE9QT1ZFUl9ERUZBVUxUX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TXR4UG9wb3ZlckRlZmF1bHRPcHRpb25zPihcbiAgJ210eC1wb3BvdmVyLWRlZmF1bHQtb3B0aW9ucycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogTVRYX1BPUE9WRVJfREVGQVVMVF9PUFRJT05TX0ZBQ1RPUlksXG4gIH1cbik7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgZnVuY3Rpb24gTVRYX1BPUE9WRVJfREVGQVVMVF9PUFRJT05TX0ZBQ1RPUlkoKTogTXR4UG9wb3ZlckRlZmF1bHRPcHRpb25zIHtcbiAgcmV0dXJuIHtcbiAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICB9O1xufVxuXG5sZXQgcG9wb3ZlclBhbmVsVWlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXR4LXBvcG92ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BvcG92ZXIuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbdHJhbnNmb3JtUG9wb3Zlcl0sXG4gIGV4cG9ydEFzOiAnbXR4UG9wb3ZlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDZGtUcmFwRm9jdXNdLFxufSlcbmV4cG9ydCBjbGFzcyBNdHhQb3BvdmVyIGltcGxlbWVudHMgTXR4UG9wb3ZlclBhbmVsLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3ByZXZpb3VzRWxldmF0aW9uPzogc3RyaW5nO1xuICBwcml2YXRlIF9lbGV2YXRpb25QcmVmaXggPSAnbWF0LWVsZXZhdGlvbi16JztcbiAgcHJpdmF0ZSBfYmFzZUVsZXZhdGlvbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIENvbmZpZyBvYmplY3QgdG8gYmUgcGFzc2VkIGludG8gdGhlIHBvcG92ZXIncyBjbGFzcy4gKi9cbiAgX2NsYXNzTGlzdDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcblxuICAvKiogQ3VycmVudCBzdGF0ZSBvZiB0aGUgcGFuZWwgYW5pbWF0aW9uLiAqL1xuICBfcGFuZWxBbmltYXRpb25TdGF0ZTogJ3ZvaWQnIHwgJ2VudGVyJyA9ICd2b2lkJztcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgYW4gYW5pbWF0aW9uIG9uIHRoZSBwb3BvdmVyIGNvbXBsZXRlcy4gKi9cbiAgcmVhZG9ubHkgX2FuaW1hdGlvbkRvbmUgPSBuZXcgU3ViamVjdDxBbmltYXRpb25FdmVudD4oKTtcblxuICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBhbmltYXRpbmcuICovXG4gIF9pc0FuaW1hdGluZyA9IGZhbHNlO1xuXG4gIC8qKiBDbG9zaW5nIGRpc2FibGVkIG9uIHBvcG92ZXIgKi9cbiAgY2xvc2VEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKiBDb25maWcgb2JqZWN0IHRvIGJlIHBhc3NlZCBpbnRvIHRoZSBwb3BvdmVyJ3MgYXJyb3cgc3R5bGUgKi9cbiAgYXJyb3dTdHlsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICAvKiogTGF5b3V0IGRpcmVjdGlvbiBvZiB0aGUgcG9wb3Zlci4gKi9cbiAgZGlyZWN0aW9uPzogRGlyZWN0aW9uO1xuXG4gIC8qKiBDbGFzcyBvciBsaXN0IG9mIGNsYXNzZXMgdG8gYmUgYWRkZWQgdG8gdGhlIG92ZXJsYXkgcGFuZWwuICovXG4gIG92ZXJsYXlQYW5lbENsYXNzOiBzdHJpbmcgfCBzdHJpbmdbXSA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLm92ZXJsYXlQYW5lbENsYXNzIHx8ICcnO1xuXG4gIC8qKiBDbGFzcyB0byBiZSBhZGRlZCB0byB0aGUgYmFja2Ryb3AgZWxlbWVudC4gKi9cbiAgQElucHV0KCkgYmFja2Ryb3BDbGFzcyA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLmJhY2tkcm9wQ2xhc3M7XG5cbiAgLyoqIGFyaWEtbGFiZWwgZm9yIHRoZSBwb3BvdmVyIHBhbmVsLiAqL1xuICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqIGFyaWEtbGFiZWxsZWRieSBmb3IgdGhlIHBvcG92ZXIgcGFuZWwuICovXG4gIEBJbnB1dCgnYXJpYS1sYWJlbGxlZGJ5JykgYXJpYUxhYmVsbGVkYnk/OiBzdHJpbmc7XG5cbiAgLyoqIGFyaWEtZGVzY3JpYmVkYnkgZm9yIHRoZSBwb3BvdmVyIHBhbmVsLiAqL1xuICBASW5wdXQoJ2FyaWEtZGVzY3JpYmVkYnknKSBhcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmc7XG5cbiAgLyoqIFBvcG92ZXIncyB0cmlnZ2VyIGV2ZW50LiAqL1xuICBASW5wdXQoKSB0cmlnZ2VyRXZlbnQ6IE10eFBvcG92ZXJUcmlnZ2VyRXZlbnQgPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy50cmlnZ2VyRXZlbnQgPz8gJ2hvdmVyJztcblxuICAvKiogUG9wb3ZlcidzIGVudGVyIGRlbGF5LiAqL1xuICBASW5wdXQoKSBlbnRlckRlbGF5ID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuZW50ZXJEZWxheSA/PyAxMDA7XG5cbiAgLyoqIFBvcG92ZXIncyBsZWF2ZSBkZWxheS4gKi9cbiAgQElucHV0KCkgbGVhdmVEZWxheSA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLmxlYXZlRGVsYXkgPz8gMTAwO1xuXG4gIC8qKiBQb3BvdmVyJ3MgcG9zaXRpb24uICovXG4gIEBJbnB1dCgpXG4gIGdldCBwb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cbiAgc2V0IHBvc2l0aW9uKHZhbHVlOiBNdHhQb3BvdmVyUG9zaXRpb24pIHtcbiAgICBpZiAoIVsnYmVmb3JlJywgJ2FmdGVyJywgJ2Fib3ZlJywgJ2JlbG93J10uaW5jbHVkZXModmFsdWVbMF0pKSB7XG4gICAgICB0aHJvd010eFBvcG92ZXJJbnZhbGlkUG9zaXRpb25TdGFydCgpO1xuICAgIH1cbiAgICBpZiAoIVsnYmVmb3JlJywgJ2FmdGVyJywgJ2Fib3ZlJywgJ2JlbG93JywgJ2NlbnRlciddLmluY2x1ZGVzKHZhbHVlWzFdKSkge1xuICAgICAgdGhyb3dNdHhQb3BvdmVySW52YWxpZFBvc2l0aW9uRW5kKCk7XG4gICAgfVxuICAgIHRoaXMuX3Bvc2l0aW9uID0gdmFsdWU7XG4gICAgdGhpcy5zZXRQb3NpdGlvbkNsYXNzZXMoKTtcbiAgfVxuICBwcml2YXRlIF9wb3NpdGlvbiA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLnBvc2l0aW9uID8/IFsnYmVsb3cnLCAnYWZ0ZXInXTtcblxuICAvKiogUG9wb3Zlci1wYW5lbCdzIFggb2Zmc2V0LiAqL1xuICBASW5wdXQoKSB4T2Zmc2V0ID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMueE9mZnNldCA/PyAwO1xuXG4gIC8qKiBQb3BvdmVyLXBhbmVsJ3MgWSBvZmZzZXQuICovXG4gIEBJbnB1dCgpIHlPZmZzZXQgPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy55T2Zmc2V0ID8/IDA7XG5cbiAgLyoqIFBvcG92ZXItYXJyb3cncyB3aWR0aC4gKi9cbiAgQElucHV0KCkgYXJyb3dXaWR0aCA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLmFycm93V2lkdGggPz8gMTY7XG5cbiAgLyoqIFBvcG92ZXItYXJyb3cncyBoZWlnaHQuICovXG4gIEBJbnB1dCgpIGFycm93SGVpZ2h0ID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuYXJyb3dIZWlnaHQgPz8gMTY7XG5cbiAgLyoqIFBvcG92ZXItYXJyb3cncyBYIG9mZnNldC4gKi9cbiAgQElucHV0KCkgYXJyb3dPZmZzZXRYID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuYXJyb3dPZmZzZXRYID8/IDIwO1xuXG4gIC8qKiBQb3BvdmVyLWFycm93J3MgWSBvZmZzZXQuICovXG4gIEBJbnB1dCgpIGFycm93T2Zmc2V0WSA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLmFycm93T2Zmc2V0WSA/PyAyMDtcblxuICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBhcnJvdyBzaG91bGQgYmUgaGlkZGVuLiAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgaGlkZUFycm93ID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuaGlkZUFycm93ID8/IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHBvcG92ZXIgY2FuIGJlIGNsb3NlZCB3aGVuIGNsaWNrIHRoZSBwb3BvdmVyLXBhbmVsLiAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgY2xvc2VPblBhbmVsQ2xpY2sgPSB0aGlzLl9kZWZhdWx0T3B0aW9ucy5jbG9zZU9uUGFuZWxDbGljayA/PyBmYWxzZTtcblxuICAvKiogV2hldGhlciBwb3BvdmVyIGNhbiBiZSBjbG9zZWQgd2hlbiBjbGljayB0aGUgYmFja2Ryb3AuICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBjbG9zZU9uQmFja2Ryb3BDbGljayA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLmNsb3NlT25CYWNrZHJvcENsaWNrID8/IHRydWU7XG5cbiAgLyoqIFdoZXRoZXIgZW5hYmxlIGZvY3VzIHRyYXAgdXNpbmcgYGNka1RyYXBGb2N1c2AuICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBmb2N1c1RyYXBFbmFibGVkID0gdGhpcy5fZGVmYXVsdE9wdGlvbnMuZm9jdXNUcmFwRW5hYmxlZCA/PyBmYWxzZTtcblxuICAvKiogV2hldGhlciBlbmFibGUgZm9jdXMgdHJhcCBhdXRvIGNhcHR1cmUgdXNpbmcgYGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlYC4gKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGZvY3VzVHJhcEF1dG9DYXB0dXJlRW5hYmxlZCA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLmZvY3VzVHJhcEF1dG9DYXB0dXJlRW5hYmxlZCA/PyBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBoYXMgYSBiYWNrZHJvcC4gSXQgd2lsbCBhbHdheXMgYmUgZmFsc2UgaWYgdGhlIHRyaWdnZXIgZXZlbnQgaXMgaG92ZXIuICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBoYXNCYWNrZHJvcCA9IHRoaXMuX2RlZmF1bHRPcHRpb25zLmhhc0JhY2tkcm9wO1xuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB0YWtlcyBjbGFzc2VzIHNldCBvbiB0aGUgaG9zdCBtdHgtcG9wb3ZlciBlbGVtZW50IGFuZCBhcHBsaWVzIHRoZW0gb24gdGhlXG4gICAqIHBvcG92ZXIgdGVtcGxhdGUgdGhhdCBkaXNwbGF5cyBpbiB0aGUgb3ZlcmxheSBjb250YWluZXIuIE90aGVyd2lzZSwgaXQncyBkaWZmaWN1bHRcbiAgICogdG8gc3R5bGUgdGhlIGNvbnRhaW5pbmcgcG9wb3ZlciBmcm9tIG91dHNpZGUgdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNsYXNzZXMgbGlzdCBvZiBjbGFzcyBuYW1lc1xuICAgKi9cbiAgQElucHV0KCdjbGFzcycpXG4gIHNldCBwYW5lbENsYXNzKGNsYXNzZXM6IHN0cmluZykge1xuICAgIGNvbnN0IHByZXZpb3VzUGFuZWxDbGFzcyA9IHRoaXMuX3ByZXZpb3VzUGFuZWxDbGFzcztcbiAgICBjb25zdCBuZXdDbGFzc0xpc3QgPSB7IC4uLnRoaXMuX2NsYXNzTGlzdCB9O1xuXG4gICAgaWYgKHByZXZpb3VzUGFuZWxDbGFzcyAmJiBwcmV2aW91c1BhbmVsQ2xhc3MubGVuZ3RoKSB7XG4gICAgICBwcmV2aW91c1BhbmVsQ2xhc3Muc3BsaXQoJyAnKS5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBuZXdDbGFzc0xpc3RbY2xhc3NOYW1lXSA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5fcHJldmlvdXNQYW5lbENsYXNzID0gY2xhc3NlcztcblxuICAgIGlmIChjbGFzc2VzICYmIGNsYXNzZXMubGVuZ3RoKSB7XG4gICAgICBjbGFzc2VzLnNwbGl0KCcgJykuZm9yRWFjaCgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgbmV3Q2xhc3NMaXN0W2NsYXNzTmFtZV0gPSB0cnVlO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgPSAnJztcblxuICAgICAgdGhpcy5zZXRQb3NpdGlvbkNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jbGFzc0xpc3QgPSBuZXdDbGFzc0xpc3Q7XG4gIH1cbiAgcHJpdmF0ZSBfcHJldmlvdXNQYW5lbENsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB0YWtlcyBjbGFzc2VzIHNldCBvbiB0aGUgaG9zdCBtdHgtcG9wb3ZlciBlbGVtZW50IGFuZCBhcHBsaWVzIHRoZW0gb24gdGhlXG4gICAqIHBvcG92ZXIgdGVtcGxhdGUgdGhhdCBkaXNwbGF5cyBpbiB0aGUgb3ZlcmxheSBjb250YWluZXIuIE90aGVyd2lzZSwgaXQncyBkaWZmaWN1bHRcbiAgICogdG8gc3R5bGUgdGhlIGNvbnRhaW5pbmcgcG9wb3ZlciBmcm9tIG91dHNpZGUgdGhlIGNvbXBvbmVudC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBwYW5lbENsYXNzYCBpbnN0ZWFkLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgY2xhc3NMaXN0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxDbGFzcztcbiAgfVxuICBzZXQgY2xhc3NMaXN0KGNsYXNzZXM6IHN0cmluZykge1xuICAgIHRoaXMucGFuZWxDbGFzcyA9IGNsYXNzZXM7XG4gIH1cblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb3BvdmVyIGlzIGNsb3NlZC4gKi9cbiAgQE91dHB1dCgpIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UG9wb3ZlckNsb3NlUmVhc29uPigpO1xuXG4gIC8qKiBAZG9jcy1wcml2YXRlICovXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmITogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogUG9wb3ZlciBjb250ZW50IHRoYXQgd2lsbCBiZSByZW5kZXJlZCBsYXppbHkuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIEBDb250ZW50Q2hpbGQoTVRYX1BPUE9WRVJfQ09OVEVOVCkgbGF6eUNvbnRlbnQ/OiBNdHhQb3BvdmVyQ29udGVudDtcblxuICByZWFkb25seSBwYW5lbElkID0gYG10eC1wb3BvdmVyLXBhbmVsLSR7cG9wb3ZlclBhbmVsVWlkKyt9YDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF91bnVzZWROZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KE1UWF9QT1BPVkVSX0RFRkFVTFRfT1BUSU9OUykgcHJpdmF0ZSBfZGVmYXVsdE9wdGlvbnM6IE10eFBvcG92ZXJEZWZhdWx0T3B0aW9uc1xuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRQb3NpdGlvbkNsYXNzZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiogSGFuZGxlIGEga2V5Ym9hcmQgZXZlbnQgZnJvbSB0aGUgcG9wb3ZlciwgZGVsZWdhdGluZyB0byB0aGUgYXBwcm9wcmlhdGUgYWN0aW9uLiAqL1xuICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuXG4gICAgc3dpdGNoIChrZXlDb2RlKSB7XG4gICAgICBjYXNlIEVTQ0FQRTpcbiAgICAgICAgaWYgKCFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2UgcG9wb3ZlciBvbiBjbGljayBpZiBgY2xvc2VPblBhbmVsQ2xpY2tgIGlzIHRydWUuICovXG4gIF9oYW5kbGVDbGljaygpIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uUGFuZWxDbGljaykge1xuICAgICAgdGhpcy5jbG9zZWQuZW1pdCgnY2xpY2snKTtcbiAgICB9XG4gIH1cblxuICAvKiogRGlzYWJsZXMgY2xvc2Ugb2YgcG9wb3ZlciB3aGVuIGxlYXZpbmcgdHJpZ2dlciBlbGVtZW50IGFuZCBtb3VzZSBvdmVyIHRoZSBwb3BvdmVyLiAqL1xuICBfaGFuZGxlTW91c2VPdmVyKCkge1xuICAgIGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2hvdmVyJykge1xuICAgICAgdGhpcy5jbG9zZURpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKiogRW5hYmxlcyBjbG9zZSBvZiBwb3BvdmVyIHdoZW4gbW91c2UgbGVhdmluZyBwb3BvdmVyIGVsZW1lbnQuICovXG4gIF9oYW5kbGVNb3VzZUxlYXZlKCkge1xuICAgIGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2hvdmVyJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgICB9LCB0aGlzLmxlYXZlRGVsYXkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSBjdXJyZW50IHN0eWxlcyBmb3IgdGhlIHBvcG92ZXIgdG8gYWxsb3cgZm9yIGR5bmFtaWNhbGx5IGNoYW5naW5nIHNldHRpbmdzLiAqL1xuICBzZXRDdXJyZW50U3R5bGVzKHBvcyA9IHRoaXMucG9zaXRpb24pIHtcbiAgICBjb25zdCBsZWZ0ID1cbiAgICAgIHBvc1sxXSA9PT0gJ2FmdGVyJ1xuICAgICAgICA/IGAke3RoaXMuYXJyb3dPZmZzZXRYIC0gdGhpcy5hcnJvd1dpZHRoIC8gMn1weGBcbiAgICAgICAgOiBwb3NbMV0gPT09ICdjZW50ZXInXG4gICAgICAgICAgPyBgY2FsYyg1MCUgLSAke3RoaXMuYXJyb3dXaWR0aCAvIDJ9cHgpYFxuICAgICAgICAgIDogJyc7XG4gICAgY29uc3QgcmlnaHQgPSBwb3NbMV0gPT09ICdiZWZvcmUnID8gYCR7dGhpcy5hcnJvd09mZnNldFggLSB0aGlzLmFycm93V2lkdGggLyAyfXB4YCA6ICcnO1xuXG4gICAgY29uc3QgYm90dG9tID1cbiAgICAgIHBvc1sxXSA9PT0gJ2Fib3ZlJ1xuICAgICAgICA/IGAke3RoaXMuYXJyb3dPZmZzZXRZIC0gdGhpcy5hcnJvd0hlaWdodCAvIDJ9cHhgXG4gICAgICAgIDogcG9zWzFdID09PSAnY2VudGVyJ1xuICAgICAgICAgID8gYGNhbGMoNTAlIC0gJHt0aGlzLmFycm93SGVpZ2h0IC8gMn1weClgXG4gICAgICAgICAgOiAnJztcbiAgICBjb25zdCB0b3AgPSBwb3NbMV0gPT09ICdiZWxvdycgPyBgJHt0aGlzLmFycm93T2Zmc2V0WSAtIHRoaXMuYXJyb3dIZWlnaHQgLyAyfXB4YCA6ICcnO1xuXG4gICAgdGhpcy5hcnJvd1N0eWxlcyA9XG4gICAgICBwb3NbMF0gPT09ICdhYm92ZScgfHwgcG9zWzBdID09PSAnYmVsb3cnXG4gICAgICAgID8ge1xuICAgICAgICAgICAgbGVmdDogdGhpcy5kaXJlY3Rpb24gPT09ICdsdHInID8gbGVmdCA6IHJpZ2h0LFxuICAgICAgICAgICAgcmlnaHQ6IHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJyA/IHJpZ2h0IDogbGVmdCxcbiAgICAgICAgICB9XG4gICAgICAgIDogeyB0b3AsIGJvdHRvbSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEl0J3MgbmVjZXNzYXJ5IHRvIHNldCBwb3NpdGlvbi1iYXNlZCBjbGFzc2VzIHRvIGVuc3VyZSB0aGUgcG9wb3ZlciBwYW5lbCBhbmltYXRpb25cbiAgICogZm9sZHMgb3V0IGZyb20gdGhlIGNvcnJlY3QgZGlyZWN0aW9uLlxuICAgKi9cbiAgc2V0UG9zaXRpb25DbGFzc2VzKHBvcyA9IHRoaXMucG9zaXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9jbGFzc0xpc3QgPSB7XG4gICAgICAuLi50aGlzLl9jbGFzc0xpc3QsXG4gICAgICBbJ210eC1wb3BvdmVyLWJlZm9yZS1hYm92ZSddOiBwb3NbMF0gPT09ICdiZWZvcmUnICYmIHBvc1sxXSA9PT0gJ2Fib3ZlJyxcbiAgICAgIFsnbXR4LXBvcG92ZXItYmVmb3JlLWNlbnRlciddOiBwb3NbMF0gPT09ICdiZWZvcmUnICYmIHBvc1sxXSA9PT0gJ2NlbnRlcicsXG4gICAgICBbJ210eC1wb3BvdmVyLWJlZm9yZS1iZWxvdyddOiBwb3NbMF0gPT09ICdiZWZvcmUnICYmIHBvc1sxXSA9PT0gJ2JlbG93JyxcbiAgICAgIFsnbXR4LXBvcG92ZXItYWZ0ZXItYWJvdmUnXTogcG9zWzBdID09PSAnYWZ0ZXInICYmIHBvc1sxXSA9PT0gJ2Fib3ZlJyxcbiAgICAgIFsnbXR4LXBvcG92ZXItYWZ0ZXItY2VudGVyJ106IHBvc1swXSA9PT0gJ2FmdGVyJyAmJiBwb3NbMV0gPT09ICdjZW50ZXInLFxuICAgICAgWydtdHgtcG9wb3Zlci1hZnRlci1iZWxvdyddOiBwb3NbMF0gPT09ICdhZnRlcicgJiYgcG9zWzFdID09PSAnYmVsb3cnLFxuICAgICAgWydtdHgtcG9wb3Zlci1hYm92ZS1iZWZvcmUnXTogcG9zWzBdID09PSAnYWJvdmUnICYmIHBvc1sxXSA9PT0gJ2JlZm9yZScsXG4gICAgICBbJ210eC1wb3BvdmVyLWFib3ZlLWNlbnRlciddOiBwb3NbMF0gPT09ICdhYm92ZScgJiYgcG9zWzFdID09PSAnY2VudGVyJyxcbiAgICAgIFsnbXR4LXBvcG92ZXItYWJvdmUtYWZ0ZXInXTogcG9zWzBdID09PSAnYWJvdmUnICYmIHBvc1sxXSA9PT0gJ2FmdGVyJyxcbiAgICAgIFsnbXR4LXBvcG92ZXItYmVsb3ctYmVmb3JlJ106IHBvc1swXSA9PT0gJ2JlbG93JyAmJiBwb3NbMV0gPT09ICdiZWZvcmUnLFxuICAgICAgWydtdHgtcG9wb3Zlci1iZWxvdy1jZW50ZXInXTogcG9zWzBdID09PSAnYmVsb3cnICYmIHBvc1sxXSA9PT0gJ2NlbnRlcicsXG4gICAgICBbJ210eC1wb3BvdmVyLWJlbG93LWFmdGVyJ106IHBvc1swXSA9PT0gJ2JlbG93JyAmJiBwb3NbMV0gPT09ICdhZnRlcicsXG4gICAgfTtcblxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqIFNldHMgdGhlIHBvcG92ZXItcGFuZWwncyBlbGV2YXRpb24uICovXG4gIHNldEVsZXZhdGlvbigpOiB2b2lkIHtcbiAgICAvLyBUaGUgYmFzZSBlbGV2YXRpb24gZGVwZW5kcyBvbiB3aGljaCB2ZXJzaW9uIG9mIHRoZSBzcGVjXG4gICAgLy8gd2UncmUgcnVubmluZyBzbyB3ZSBoYXZlIHRvIHJlc29sdmUgaXQgYXQgcnVudGltZS5cbiAgICBpZiAodGhpcy5fYmFzZUVsZXZhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3R5bGVzID1cbiAgICAgICAgdHlwZW9mIGdldENvbXB1dGVkU3R5bGUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICA/IGdldENvbXB1dGVkU3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgIDogbnVsbDtcbiAgICAgIGNvbnN0IHZhbHVlID0gc3R5bGVzPy5nZXRQcm9wZXJ0eVZhbHVlKCctLW10eC1wb3BvdmVyLWJhc2UtZWxldmF0aW9uLWxldmVsJykgfHwgJzgnO1xuICAgICAgdGhpcy5fYmFzZUVsZXZhdGlvbiA9IHBhcnNlSW50KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBUaGUgZWxldmF0aW9uIHN0YXJ0cyBhdCB0aGUgYmFzZSBhbmQgaW5jcmVhc2VzIGJ5IG9uZSBmb3IgZWFjaCBsZXZlbC5cbiAgICAvLyBDYXBwZWQgYXQgMjQgYmVjYXVzZSB0aGF0J3MgdGhlIG1heGltdW0gZWxldmF0aW9uIGRlZmluZWQgaW4gdGhlIE1hdGVyaWFsIGRlc2lnbiBzcGVjLlxuICAgIGNvbnN0IGVsZXZhdGlvbiA9IE1hdGgubWluKHRoaXMuX2Jhc2VFbGV2YXRpb24sIDI0KTtcbiAgICBjb25zdCBuZXdFbGV2YXRpb24gPSBgJHt0aGlzLl9lbGV2YXRpb25QcmVmaXh9JHtlbGV2YXRpb259YDtcbiAgICBjb25zdCBjdXN0b21FbGV2YXRpb24gPSBPYmplY3Qua2V5cyh0aGlzLl9jbGFzc0xpc3QpLmZpbmQoY2xhc3NOYW1lID0+IHtcbiAgICAgIHJldHVybiBjbGFzc05hbWUuc3RhcnRzV2l0aCh0aGlzLl9lbGV2YXRpb25QcmVmaXgpO1xuICAgIH0pO1xuICAgIGlmICghY3VzdG9tRWxldmF0aW9uIHx8IGN1c3RvbUVsZXZhdGlvbiA9PT0gdGhpcy5fcHJldmlvdXNFbGV2YXRpb24pIHtcbiAgICAgIGNvbnN0IG5ld0NsYXNzTGlzdCA9IHsgLi4udGhpcy5fY2xhc3NMaXN0IH07XG4gICAgICBpZiAodGhpcy5fcHJldmlvdXNFbGV2YXRpb24pIHtcbiAgICAgICAgbmV3Q2xhc3NMaXN0W3RoaXMuX3ByZXZpb3VzRWxldmF0aW9uXSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgbmV3Q2xhc3NMaXN0W25ld0VsZXZhdGlvbl0gPSB0cnVlO1xuICAgICAgdGhpcy5fcHJldmlvdXNFbGV2YXRpb24gPSBuZXdFbGV2YXRpb247XG4gICAgICB0aGlzLl9jbGFzc0xpc3QgPSBuZXdDbGFzc0xpc3Q7XG4gICAgfVxuICB9XG5cbiAgLyoqIFN0YXJ0cyB0aGUgZW50ZXIgYW5pbWF0aW9uLiAqL1xuICBfc3RhcnRBbmltYXRpb24oKSB7XG4gICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCBDb21iaW5lIHdpdGggX3Jlc2V0QW5pbWF0aW9uLlxuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnZW50ZXInO1xuICB9XG5cbiAgLyoqIFJlc2V0cyB0aGUgcGFuZWwgYW5pbWF0aW9uIHRvIGl0cyBpbml0aWFsIHN0YXRlLiAqL1xuICBfcmVzZXRBbmltYXRpb24oKSB7XG4gICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCBDb21iaW5lIHdpdGggX3N0YXJ0QW5pbWF0aW9uLlxuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAndm9pZCc7XG4gIH1cblxuICAvKiogQ2FsbGJhY2sgdGhhdCBpcyBpbnZva2VkIHdoZW4gdGhlIHBhbmVsIGFuaW1hdGlvbiBjb21wbGV0ZXMuICovXG4gIF9vbkFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5fYW5pbWF0aW9uRG9uZS5uZXh0KGV2ZW50KTtcbiAgICB0aGlzLl9pc0FuaW1hdGluZyA9IGZhbHNlO1xuICB9XG5cbiAgX29uQW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5faXNBbmltYXRpbmcgPSB0cnVlO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGU+XG4gIDwhLS0gZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L3RlbXBsYXRlL21vdXNlLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgLS0+XG4gIDxkaXZcbiAgICBbaWRdPVwicGFuZWxJZFwiXG4gICAgY2xhc3M9XCJtdHgtcG9wb3Zlci1wYW5lbFwiXG4gICAgW2NsYXNzXT1cIl9jbGFzc0xpc3RcIlxuICAgIFtjbGFzcy5tdHgtcG9wb3Zlci1wYW5lbC13aXRob3V0LWFycm93XT1cImhpZGVBcnJvd1wiXG4gICAgKGtleWRvd24pPVwiX2hhbmRsZUtleWRvd24oJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cIl9oYW5kbGVDbGljaygpXCJcbiAgICAobW91c2VvdmVyKT1cIl9oYW5kbGVNb3VzZU92ZXIoKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwiX2hhbmRsZU1vdXNlTGVhdmUoKVwiXG4gICAgW0B0cmFuc2Zvcm1Qb3BvdmVyXT1cIl9wYW5lbEFuaW1hdGlvblN0YXRlXCJcbiAgICAoQHRyYW5zZm9ybVBvcG92ZXIuc3RhcnQpPVwiX29uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gICAgKEB0cmFuc2Zvcm1Qb3BvdmVyLmRvbmUpPVwiX29uQW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnkgfHwgbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkYnkgfHwgbnVsbFwiXG4gICAgW2Nka1RyYXBGb2N1c109XCJmb2N1c1RyYXBFbmFibGVkXCJcbiAgICBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwiZm9jdXNUcmFwQXV0b0NhcHR1cmVFbmFibGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cIm10eC1wb3BvdmVyLWNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKCFoaWRlQXJyb3cpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJtdHgtcG9wb3Zlci1kaXJlY3Rpb24tYXJyb3dcIiBbc3R5bGVdPVwiYXJyb3dTdHlsZXNcIj48L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==