@agnos-ui/angular-headless 0.0.1-alpha.7 → 0.0.1-alpha.9

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.
@@ -109,4 +109,4 @@ export const widgetsConfigFactory = (widgetsConfigInjectionToken = new Injection
109
109
  };
110
110
  };
111
111
  export const { widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory } = widgetsConfigFactory();
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFakQsT0FBTyxFQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsY0FBYyx1QkFBdUIsQ0FBQztBQU90Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbkMsOEJBQThCLElBQUksY0FBYyxDQUE2QixlQUFlLENBQUMsRUFDNUYsRUFBRTtJQUNIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtERztJQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxpQkFBNkMsRUFBbUIsRUFBRSxDQUFDLENBQUM7UUFDakcsT0FBTyxFQUFFLDJCQUEyQjtRQUNwQyxVQUFVLEVBQUUsQ0FBQyxNQUF5QyxFQUFFLEVBQUU7WUFDekQsSUFBSSxpQkFBaUIsRUFBRTtnQkFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLHlCQUF5QixHQUFHLGlCQUFpQixDQUFDO2dCQUNwRCxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDdkc7WUFDRCxPQUFPLG1CQUFtQixDQUFDLE1BQU0sSUFBSSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztLQUNyRSxDQUFDLENBQUM7SUFFSDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXRFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBeUIsVUFBYSxFQUFrRCxFQUFFO1FBQ3BILE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUM7SUFFRixNQUFNLGlCQUFpQixHQUFHLENBQW1CLEVBQzVDLE9BQU8sRUFDUCxVQUFVLEdBQUcsSUFBSSxFQUNqQixhQUFhLEdBQUcsRUFBRSxFQUNsQixNQUFNLEVBQ04sU0FBUyxHQU9ULEVBQW9CLEVBQUUsQ0FDdEIsMkJBQTJCLENBQUM7UUFDM0IsT0FBTztRQUNQLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFFLGtCQUFrQixDQUFDLFVBQVUsQ0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ3pFLGFBQWE7UUFDYixNQUFNO1FBQ04sU0FBUztLQUNULENBQUMsQ0FBQztJQUVKLE9BQU87UUFDTjs7V0FFRztRQUNILDJCQUEyQjtRQUMzQixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixpQkFBaUI7S0FDakIsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEVBQUMsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUMsR0FDM0gsb0JBQW9CLEVBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7V2lkZ2V0LCBXaWRnZXRGYWN0b3J5LCBXaWRnZXRQcm9wc30gZnJvbSAnQGFnbm9zLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1BhcnRpYWwyTGV2ZWxzLCBXaWRnZXRzQ29uZmlnU3RvcmUsIFdpZGdldHNDb25maWcgYXMgQ29yZVdpZGdldHNDb25maWd9IGZyb20gJ0BhZ25vcy11aS9jb3JlL2NvbmZpZyc7XG5pbXBvcnQge2NyZWF0ZVdpZGdldHNDb25maWd9IGZyb20gJ0BhZ25vcy11aS9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgdHlwZSB7UmVhZGFibGVTaWduYWx9IGZyb20gJ0BhbWFkZXVzLWl0LWdyb3VwL3RhbnN1JztcbmltcG9ydCB7Y29tcHV0ZWR9IGZyb20gJ0BhbWFkZXVzLWl0LWdyb3VwL3RhbnN1JztcbmltcG9ydCB0eXBlIHtGYWN0b3J5UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIE9wdGlvbmFsLCBTa2lwU2VsZiwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge0FkYXB0UHJvcHNTbG90cywgQW5ndWxhcldpZGdldH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge2NhbGxXaWRnZXRGYWN0b3J5V2l0aENvbmZpZ30gZnJvbSAnLi91dGlscy93aWRnZXQnO1xuXG5leHBvcnQgKiBmcm9tICdAYWdub3MtdWkvY29yZS9jb25maWcnO1xuXG5leHBvcnQgdHlwZSBXaWRnZXRzQ29uZmlnID0ge1xuXHRbV2lkZ2V0TmFtZSBpbiBrZXlvZiBDb3JlV2lkZ2V0c0NvbmZpZ106IEFkYXB0UHJvcHNTbG90czxDb3JlV2lkZ2V0c0NvbmZpZ1tXaWRnZXROYW1lXT47XG59O1xudHlwZSBBZGFwdFBhcmVudENvbmZpZzxDb25maWc+ID0gKGNvbmZpZzogUGFydGlhbDJMZXZlbHM8Q29uZmlnPikgPT4gUGFydGlhbDJMZXZlbHM8Q29uZmlnPjtcblxuLyoqXG4gKiBBIGZhY3RvcnkgdG8gY3JlYXRlIHRoZSB1dGlsaXRpZXMgdG8gYWxsb3cgd2lkZ2V0cyB0byBiZSBjb250ZXh0LWF3YXJlLlxuICpcbiAqIEl0IGNhbiBiZSB1c2VkIHdoZW4gZXh0ZW5kaW5nIHRoZSBjb3JlIGFuZCBjcmVhdGluZyBuZXcgd2lkZ2V0cy5cbiAqXG4gKiBAcGFyYW0gd2lkZ2V0c0NvbmZpZ0luamVjdGlvblRva2VuIC0gdGhlIHdpZGdldHMgY29uZmlnIGluamVjdGlvbiB0b2tlblxuICogQHJldHVybnMgdGhlIHV0aWxpdGllcyB0byBjcmVhdGUgLyBtYW5hZ2Ugd2lkZ2V0cyBhbmQgY29udGV4dHNcbiAqL1xuZXhwb3J0IGNvbnN0IHdpZGdldHNDb25maWdGYWN0b3J5ID0gPENvbmZpZyBleHRlbmRzIHtbd2lkZ2V0TmFtZTogc3RyaW5nXTogb2JqZWN0fSA9IFdpZGdldHNDb25maWc+KFxuXHR3aWRnZXRzQ29uZmlnSW5qZWN0aW9uVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48V2lkZ2V0c0NvbmZpZ1N0b3JlPENvbmZpZz4+KCd3aWRnZXRzQ29uZmlnJyksXG4pID0+IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBwcm92aWRlciBvZiB3aWRnZXRzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGF0IGluaGVyaXRzIGZyb20gYW55IHdpZGdldHMgZGVmYXVsdCBjb25maWd1cmF0aW9uIGFscmVhZHkgZGVmaW5lZCBhdCBhbiB1cHBlciBsZXZlbFxuXHQgKiBpbiB0aGUgQW5ndWxhciBkZXBlbmRlbmN5IGluamVjdGlvbiBzeXN0ZW0uIEl0IGNvbnRhaW5zIGl0cyBvd24gc2V0IG9mIHdpZGdldHMgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIHRoYXQgb3ZlcnJpZGUgdGhlIHNhbWUgcHJvcGVydGllcyBmb3JtXG5cdCAqIHRoZSBwYXJlbnQgY29uZmlndXJhdGlvbi5cblx0ICpcblx0ICogQHJlbWFya3Ncblx0ICogVGhlIGNvbmZpZ3VyYXRpb24gaXMgY29tcHV0ZWQgZnJvbSB0aGUgcGFyZW50IGNvbmZpZ3VyYXRpb24gaW4gdHdvIHN0ZXBzOlxuXHQgKiAtIGZpcnN0IHN0ZXA6IHRoZSBwYXJlbnQgY29uZmlndXJhdGlvbiBpcyB0cmFuc2Zvcm1lZCBieSB0aGUgYWRhcHRQYXJlbnRDb25maWcgZnVuY3Rpb24gKGlmIHNwZWNpZmllZCkuXG5cdCAqIElmIGFkYXB0UGFyZW50Q29uZmlnIGlzIG5vdCBzcGVjaWZpZWQsIHRoaXMgc3RlcCBpcyBza2lwcGVkLlxuXHQgKiAtIHNlY29uZCBzdGVwOiB0aGUgY29uZmlndXJhdGlvbiBmcm9tIHN0ZXAgMSBpcyBtZXJnZWQgKDItbGV2ZWxzIGRlZXApIHdpdGggdGhlIG93biQgc3RvcmUuIFRoZSBvd24kIHN0b3JlIGluaXRpYWxseSBjb250YWluc1xuXHQgKiBhbiBlbXB0eSBvYmplY3QgKGkuZS4gbm8gcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGlzIG92ZXJyaWRkZW4pLiBJdCBjYW4gYmUgY2hhbmdlZCBieSBjYWxsaW5nIHNldCBvbiB0aGUgc3RvcmUgcmV0dXJuZWQgYnlcblx0ICoge0BsaW5rIGluamVjdFdpZGdldHNDb25maWd9LlxuXHQgKlxuXHQgKiBAcGFyYW0gYWRhcHRQYXJlbnRDb25maWcgLSBvcHRpb25hbCBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGEgMi1sZXZlbHMgY29weSBvZiB0aGUgd2lkZ2V0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cblx0ICogZGVmaW5lZCBhdCBhbiB1cHBlciBsZXZlbCBpbiB0aGUgQW5ndWxhciBkZXBlbmRlbmN5IGluamVjdGlvbiBzeXN0ZW0gKG9yIGFuIGVtcHR5IG9iamVjdCBpZiB0aGVyZSBpcyBub25lKSBhbmQgcmV0dXJucyB0aGUgd2lkZ2V0c1xuXHQgKiBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdG8gYmUgdXNlZC5cblx0ICogSXQgaXMgY2FsbGVkIG9ubHkgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbmVlZGVkLCBhbmQgd2FzIG5vdCB5ZXQgY29tcHV0ZWQgZm9yIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBwYXJlbnQgY29uZmlndXJhdGlvbi5cblx0ICogSXQgaXMgY2FsbGVkIGluIGEgdGFuc3UgcmVhY3RpdmUgY29udGV4dCwgc28gaXQgY2FuIHVzZSBhbnkgdGFuc3Ugc3RvcmUgYW5kIHdpbGwgYmUgY2FsbGVkIGFnYWluIGlmIHRob3NlIHN0b3JlcyBjaGFuZ2UuXG5cdCAqIEl0IGlzIGFsc28gY2FsbGVkIGluIGFuIEFuZ3VsYXIgaW5qZWN0aW9uIGNvbnRleHQsIHNvIGl0IGNhbiBjYWxsIHRoZSBBbmd1bGFyIGluamVjdCBmdW5jdGlvbiB0byBnZXQgYW5kIHVzZSBkZXBlbmRlbmNpZXMgZnJvbSB0aGVcblx0ICogQW5ndWxhciBkZXBlbmRlbmN5IGluamVjdGlvbiBzeXN0ZW0uXG5cdCAqXG5cdCAqIEByZXR1cm5zIERJIHByb3ZpZGVyIHRvIGJlIGluY2x1ZGVkIGEgbGlzdCBvZiBgcHJvdmlkZXJzYCAoZm9yIGV4YW1wbGUgYXQgYSBjb21wb25lbnQgbGV2ZWwgb3Jcblx0ICogYW55IG90aGVyIGxldmVsIG9mIHRoZSBBbmd1bGFyIGRlcGVuZGVuY3kgaW5qZWN0aW9uIHN5c3RlbSlcblx0ICpcblx0ICogQGV4YW1wbGVcblx0ICogYGBgdHlwZXNjcmlwdFxuXHQgKiBAQ29tcG9uZW50KHtcblx0ICogICAvLyAuLi5cblx0ICogICBwcm92aWRlcnM6IFtcblx0ICogICAgIHByb3ZpZGVXaWRnZXRzQ29uZmlnKChwYXJlbnRDb25maWcpID0+IHtcblx0ICogICAgICAgLy8gZmlyc3Qgc3RlcCBjb25maWd1cmF0aW9uOiB0cmFuc2Zvcm1zIHRoZSBwYXJlbnQgY29uZmlndXJhdGlvblxuXHQgKiAgICAgICBwYXJlbnRDb25maWcucmF0aW5nID0gcGFyZW50Q29uZmlnLnJhdGluZyA/PyB7fTtcblx0ICogICAgICAgcGFyZW50Q29uZmlnLnJhdGluZy5jbGFzc05hbWUgPSBgJHtwYXJlbnRDb25maWcucmF0aW5nLmNsYXNzTmFtZSA/PyAnJ30gbXktcmF0aW5nLWV4dHJhLWNsYXNzYFxuXHQgKiAgICAgICByZXR1cm4gcGFyZW50Q29uZmlnO1xuXHQgKiAgICAgfSlcblx0ICogICBdXG5cdCAqIH0pXG5cdCAqIGNsYXNzIE15Q29tcG9uZW50IHtcblx0ICogICB3aWRnZXRzQ29uZmlnID0gaW5qZWN0V2lkZ2V0c0NvbmZpZygpO1xuXHQgKiAgIGNvbnN0cnVjdG9yKCkge1xuXHQgKiAgICAgdGhpcy53aWRnZXRzQ29uZmlnLnNldCh7XG5cdCAqICAgICAgIC8vIHNlY29uZCBzdGVwIGNvbmZpZ3VyYXRpb246IG92ZXJyaWRlcyB0aGUgcGFyZW50IGNvbmZpZ3VyYXRpb25cblx0ICogICAgICAgcmF0aW5nOiB7XG5cdCAqICAgICAgICAgc2xvdFN0YXI6IE15Q3VzdG9tU2xvdFN0YXJcblx0ICogICAgICAgfVxuXHQgKiAgICAgfSk7XG5cdCAqICAgfVxuXHQgKiAgIC8vIC4uLlxuXHQgKiB9XG5cdCAqIGBgYFxuXHQgKi9cblx0Y29uc3QgcHJvdmlkZVdpZGdldHNDb25maWcgPSAoYWRhcHRQYXJlbnRDb25maWc/OiBBZGFwdFBhcmVudENvbmZpZzxDb25maWc+KTogRmFjdG9yeVByb3ZpZGVyID0+ICh7XG5cdFx0cHJvdmlkZTogd2lkZ2V0c0NvbmZpZ0luamVjdGlvblRva2VuLFxuXHRcdHVzZUZhY3Rvcnk6IChwYXJlbnQ6IFdpZGdldHNDb25maWdTdG9yZTxDb25maWc+IHwgbnVsbCkgPT4ge1xuXHRcdFx0aWYgKGFkYXB0UGFyZW50Q29uZmlnKSB7XG5cdFx0XHRcdGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblx0XHRcdFx0Y29uc3Qgb3JpZ2luYWxBZGFwdFBhcmVudENvbmZpZyA9IGFkYXB0UGFyZW50Q29uZmlnO1xuXHRcdFx0XHRhZGFwdFBhcmVudENvbmZpZyA9ICh2YWx1ZSkgPT4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiBvcmlnaW5hbEFkYXB0UGFyZW50Q29uZmlnKHZhbHVlKSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gY3JlYXRlV2lkZ2V0c0NvbmZpZyhwYXJlbnQgPz8gdW5kZWZpbmVkLCBhZGFwdFBhcmVudENvbmZpZyk7XG5cdFx0fSxcblx0XHRkZXBzOiBbW25ldyBTa2lwU2VsZigpLCBuZXcgT3B0aW9uYWwoKSwgd2lkZ2V0c0NvbmZpZ0luamVjdGlvblRva2VuXV0sXG5cdH0pO1xuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSB3aWRnZXRzIGRlZmF1bHQgY29uZmlndXJhdGlvbiBzdG9yZSB0aGF0IHdhcyBwcm92aWRlZCBpbiB0aGUgY3VycmVudCBpbmplY3Rpb24gY29udGV4dC5cblx0ICogVGhyb3dzIGlmIHRoZSBubyB3aWRnZXRzIGRlZmF1bHQgY29uZmlndXJhdGlvbiBzdG9yZSB3YXMgcHJvdmlkZWQuXG5cdCAqXG5cdCAqIEByZW1hcmtzXG5cdCAqIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgZnJvbSBhbiBpbmplY3Rpb24gY29udGV4dCwgc3VjaCBhcyBhIGNvbnN0cnVjdG9yLCBhIGZhY3RvcnkgZnVuY3Rpb24sIGEgZmllbGQgaW5pdGlhbGl6ZXIgb3Jcblx0ICogYSBmdW5jdGlvbiB1c2VkIHdpdGgge0BsaW5rIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9ydW5JbkluamVjdGlvbkNvbnRleHQgfCBydW5JbkluamVjdGlvbkNvbnRleHR9LlxuXHQgKlxuXHQgKiBAcmV0dXJucyB0aGUgd2lkZ2V0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gc3RvcmUuXG5cdCAqL1xuXHRjb25zdCBpbmplY3RXaWRnZXRzQ29uZmlnID0gKCkgPT4gaW5qZWN0KHdpZGdldHNDb25maWdJbmplY3Rpb25Ub2tlbik7XG5cblx0Y29uc3QgaW5qZWN0V2lkZ2V0Q29uZmlnID0gPE4gZXh0ZW5kcyBrZXlvZiBDb25maWc+KHdpZGdldE5hbWU6IE4pOiBSZWFkYWJsZVNpZ25hbDxQYXJ0aWFsPENvbmZpZ1tOXT4gfCB1bmRlZmluZWQ+ID0+IHtcblx0XHRjb25zdCB3aWRnZXRzQ29uZmlnID0gaW5qZWN0KHdpZGdldHNDb25maWdJbmplY3Rpb25Ub2tlbiwge29wdGlvbmFsOiB0cnVlfSk7XG5cdFx0cmV0dXJuIGNvbXB1dGVkKCgpID0+IHdpZGdldHNDb25maWc/LigpW3dpZGdldE5hbWVdKTtcblx0fTtcblxuXHRjb25zdCBjYWxsV2lkZ2V0RmFjdG9yeSA9IDxXIGV4dGVuZHMgV2lkZ2V0Pih7XG5cdFx0ZmFjdG9yeSxcblx0XHR3aWRnZXROYW1lID0gbnVsbCxcblx0XHRkZWZhdWx0Q29uZmlnID0ge30sXG5cdFx0ZXZlbnRzLFxuXHRcdGFmdGVySW5pdCxcblx0fToge1xuXHRcdGZhY3Rvcnk6IFdpZGdldEZhY3Rvcnk8Vz47XG5cdFx0d2lkZ2V0TmFtZT86IG51bGwgfCBrZXlvZiBDb25maWc7XG5cdFx0ZGVmYXVsdENvbmZpZz86IFBhcnRpYWw8V2lkZ2V0UHJvcHM8Vz4+IHwgUmVhZGFibGVTaWduYWw8UGFydGlhbDxXaWRnZXRQcm9wczxXPj4gfCB1bmRlZmluZWQ+O1xuXHRcdGV2ZW50czogUGljazxXaWRnZXRQcm9wczxXPiwga2V5b2YgV2lkZ2V0UHJvcHM8Vz4gJiBgb24ke3N0cmluZ31gPjtcblx0XHRhZnRlckluaXQ/OiAoKSA9PiB2b2lkO1xuXHR9KTogQW5ndWxhcldpZGdldDxXPiA9PlxuXHRcdGNhbGxXaWRnZXRGYWN0b3J5V2l0aENvbmZpZyh7XG5cdFx0XHRmYWN0b3J5LFxuXHRcdFx0d2lkZ2V0Q29uZmlnOiB3aWRnZXROYW1lID8gKGluamVjdFdpZGdldENvbmZpZyh3aWRnZXROYW1lKSBhcyBhbnkpIDogbnVsbCxcblx0XHRcdGRlZmF1bHRDb25maWcsXG5cdFx0XHRldmVudHMsXG5cdFx0XHRhZnRlckluaXQsXG5cdFx0fSk7XG5cblx0cmV0dXJuIHtcblx0XHQvKipcblx0XHQgKiBEZXBlbmRlbmN5IEluamVjdGlvbiB0b2tlbiB3aGljaCBjYW4gYmUgdXNlZCB0byBwcm92aWRlIG9yIGluamVjdCB0aGUgd2lkZ2V0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gc3RvcmUuXG5cdFx0ICovXG5cdFx0d2lkZ2V0c0NvbmZpZ0luamVjdGlvblRva2VuLFxuXHRcdHByb3ZpZGVXaWRnZXRzQ29uZmlnLFxuXHRcdGluamVjdFdpZGdldHNDb25maWcsXG5cdFx0aW5qZWN0V2lkZ2V0Q29uZmlnLFxuXHRcdGNhbGxXaWRnZXRGYWN0b3J5LFxuXHR9O1xufTtcblxuZXhwb3J0IGNvbnN0IHt3aWRnZXRzQ29uZmlnSW5qZWN0aW9uVG9rZW4sIHByb3ZpZGVXaWRnZXRzQ29uZmlnLCBpbmplY3RXaWRnZXRDb25maWcsIGluamVjdFdpZGdldHNDb25maWcsIGNhbGxXaWRnZXRGYWN0b3J5fSA9XG5cdHdpZGdldHNDb25maWdGYWN0b3J5PFdpZGdldHNDb25maWc+KCk7XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFakQsT0FBTyxFQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsY0FBYyx1QkFBdUIsQ0FBQztBQU90Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbkMsOEJBQThCLElBQUksY0FBYyxDQUE2QixlQUFlLENBQUMsRUFDNUYsRUFBRTtJQUNIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtERztJQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxpQkFBNkMsRUFBbUIsRUFBRSxDQUFDLENBQUM7UUFDakcsT0FBTyxFQUFFLDJCQUEyQjtRQUNwQyxVQUFVLEVBQUUsQ0FBQyxNQUF5QyxFQUFFLEVBQUU7WUFDekQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO2dCQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xDLE1BQU0seUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7Z0JBQ3BELGlCQUFpQixHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN4RyxDQUFDO1lBQ0QsT0FBTyxtQkFBbUIsQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLDJCQUEyQixDQUFDLENBQUM7S0FDckUsQ0FBQyxDQUFDO0lBRUg7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUV0RSxNQUFNLGtCQUFrQixHQUFHLENBQXlCLFVBQWEsRUFBa0QsRUFBRTtRQUNwSCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsMkJBQTJCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQyxDQUFDO0lBRUYsTUFBTSxpQkFBaUIsR0FBRyxDQUFtQixFQUM1QyxPQUFPLEVBQ1AsVUFBVSxHQUFHLElBQUksRUFDakIsYUFBYSxHQUFHLEVBQUUsRUFDbEIsTUFBTSxFQUNOLFNBQVMsR0FPVCxFQUFvQixFQUFFLENBQ3RCLDJCQUEyQixDQUFDO1FBQzNCLE9BQU87UUFDUCxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUN6RSxhQUFhO1FBQ2IsTUFBTTtRQUNOLFNBQVM7S0FDVCxDQUFDLENBQUM7SUFFSixPQUFPO1FBQ047O1dBRUc7UUFDSCwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsaUJBQWlCO0tBQ2pCLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFDLEdBQzNILG9CQUFvQixFQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1dpZGdldCwgV2lkZ2V0RmFjdG9yeSwgV2lkZ2V0UHJvcHN9IGZyb20gJ0BhZ25vcy11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB0eXBlIHtQYXJ0aWFsMkxldmVscywgV2lkZ2V0c0NvbmZpZ1N0b3JlLCBXaWRnZXRzQ29uZmlnIGFzIENvcmVXaWRnZXRzQ29uZmlnfSBmcm9tICdAYWdub3MtdWkvY29yZS9jb25maWcnO1xuaW1wb3J0IHtjcmVhdGVXaWRnZXRzQ29uZmlnfSBmcm9tICdAYWdub3MtdWkvY29yZS9jb25maWcnO1xuaW1wb3J0IHR5cGUge1JlYWRhYmxlU2lnbmFsfSBmcm9tICdAYW1hZGV1cy1pdC1ncm91cC90YW5zdSc7XG5pbXBvcnQge2NvbXB1dGVkfSBmcm9tICdAYW1hZGV1cy1pdC1ncm91cC90YW5zdSc7XG5pbXBvcnQgdHlwZSB7RmFjdG9yeVByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBPcHRpb25hbCwgU2tpcFNlbGYsIGluamVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtBZGFwdFByb3BzU2xvdHMsIEFuZ3VsYXJXaWRnZXR9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtjYWxsV2lkZ2V0RmFjdG9yeVdpdGhDb25maWd9IGZyb20gJy4vdXRpbHMvd2lkZ2V0JztcblxuZXhwb3J0ICogZnJvbSAnQGFnbm9zLXVpL2NvcmUvY29uZmlnJztcblxuZXhwb3J0IHR5cGUgV2lkZ2V0c0NvbmZpZyA9IHtcblx0W1dpZGdldE5hbWUgaW4ga2V5b2YgQ29yZVdpZGdldHNDb25maWddOiBBZGFwdFByb3BzU2xvdHM8Q29yZVdpZGdldHNDb25maWdbV2lkZ2V0TmFtZV0+O1xufTtcbnR5cGUgQWRhcHRQYXJlbnRDb25maWc8Q29uZmlnPiA9IChjb25maWc6IFBhcnRpYWwyTGV2ZWxzPENvbmZpZz4pID0+IFBhcnRpYWwyTGV2ZWxzPENvbmZpZz47XG5cbi8qKlxuICogQSBmYWN0b3J5IHRvIGNyZWF0ZSB0aGUgdXRpbGl0aWVzIHRvIGFsbG93IHdpZGdldHMgdG8gYmUgY29udGV4dC1hd2FyZS5cbiAqXG4gKiBJdCBjYW4gYmUgdXNlZCB3aGVuIGV4dGVuZGluZyB0aGUgY29yZSBhbmQgY3JlYXRpbmcgbmV3IHdpZGdldHMuXG4gKlxuICogQHBhcmFtIHdpZGdldHNDb25maWdJbmplY3Rpb25Ub2tlbiAtIHRoZSB3aWRnZXRzIGNvbmZpZyBpbmplY3Rpb24gdG9rZW5cbiAqIEByZXR1cm5zIHRoZSB1dGlsaXRpZXMgdG8gY3JlYXRlIC8gbWFuYWdlIHdpZGdldHMgYW5kIGNvbnRleHRzXG4gKi9cbmV4cG9ydCBjb25zdCB3aWRnZXRzQ29uZmlnRmFjdG9yeSA9IDxDb25maWcgZXh0ZW5kcyB7W3dpZGdldE5hbWU6IHN0cmluZ106IG9iamVjdH0gPSBXaWRnZXRzQ29uZmlnPihcblx0d2lkZ2V0c0NvbmZpZ0luamVjdGlvblRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFdpZGdldHNDb25maWdTdG9yZTxDb25maWc+Pignd2lkZ2V0c0NvbmZpZycpLFxuKSA9PiB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgcHJvdmlkZXIgb2Ygd2lkZ2V0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gdGhhdCBpbmhlcml0cyBmcm9tIGFueSB3aWRnZXRzIGRlZmF1bHQgY29uZmlndXJhdGlvbiBhbHJlYWR5IGRlZmluZWQgYXQgYW4gdXBwZXIgbGV2ZWxcblx0ICogaW4gdGhlIEFuZ3VsYXIgZGVwZW5kZW5jeSBpbmplY3Rpb24gc3lzdGVtLiBJdCBjb250YWlucyBpdHMgb3duIHNldCBvZiB3aWRnZXRzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyB0aGF0IG92ZXJyaWRlIHRoZSBzYW1lIHByb3BlcnRpZXMgZm9ybVxuXHQgKiB0aGUgcGFyZW50IGNvbmZpZ3VyYXRpb24uXG5cdCAqXG5cdCAqIEByZW1hcmtzXG5cdCAqIFRoZSBjb25maWd1cmF0aW9uIGlzIGNvbXB1dGVkIGZyb20gdGhlIHBhcmVudCBjb25maWd1cmF0aW9uIGluIHR3byBzdGVwczpcblx0ICogLSBmaXJzdCBzdGVwOiB0aGUgcGFyZW50IGNvbmZpZ3VyYXRpb24gaXMgdHJhbnNmb3JtZWQgYnkgdGhlIGFkYXB0UGFyZW50Q29uZmlnIGZ1bmN0aW9uIChpZiBzcGVjaWZpZWQpLlxuXHQgKiBJZiBhZGFwdFBhcmVudENvbmZpZyBpcyBub3Qgc3BlY2lmaWVkLCB0aGlzIHN0ZXAgaXMgc2tpcHBlZC5cblx0ICogLSBzZWNvbmQgc3RlcDogdGhlIGNvbmZpZ3VyYXRpb24gZnJvbSBzdGVwIDEgaXMgbWVyZ2VkICgyLWxldmVscyBkZWVwKSB3aXRoIHRoZSBvd24kIHN0b3JlLiBUaGUgb3duJCBzdG9yZSBpbml0aWFsbHkgY29udGFpbnNcblx0ICogYW4gZW1wdHkgb2JqZWN0IChpLmUuIG5vIHByb3BlcnR5IGZyb20gdGhlIHBhcmVudCBpcyBvdmVycmlkZGVuKS4gSXQgY2FuIGJlIGNoYW5nZWQgYnkgY2FsbGluZyBzZXQgb24gdGhlIHN0b3JlIHJldHVybmVkIGJ5XG5cdCAqIHtAbGluayBpbmplY3RXaWRnZXRzQ29uZmlnfS5cblx0ICpcblx0ICogQHBhcmFtIGFkYXB0UGFyZW50Q29uZmlnIC0gb3B0aW9uYWwgZnVuY3Rpb24gdGhhdCByZWNlaXZlcyBhIDItbGV2ZWxzIGNvcHkgb2YgdGhlIHdpZGdldHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG5cdCAqIGRlZmluZWQgYXQgYW4gdXBwZXIgbGV2ZWwgaW4gdGhlIEFuZ3VsYXIgZGVwZW5kZW5jeSBpbmplY3Rpb24gc3lzdGVtIChvciBhbiBlbXB0eSBvYmplY3QgaWYgdGhlcmUgaXMgbm9uZSkgYW5kIHJldHVybnMgdGhlIHdpZGdldHNcblx0ICogZGVmYXVsdCBjb25maWd1cmF0aW9uIHRvIGJlIHVzZWQuXG5cdCAqIEl0IGlzIGNhbGxlZCBvbmx5IGlmIHRoZSBjb25maWd1cmF0aW9uIGlzIG5lZWRlZCwgYW5kIHdhcyBub3QgeWV0IGNvbXB1dGVkIGZvciB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgcGFyZW50IGNvbmZpZ3VyYXRpb24uXG5cdCAqIEl0IGlzIGNhbGxlZCBpbiBhIHRhbnN1IHJlYWN0aXZlIGNvbnRleHQsIHNvIGl0IGNhbiB1c2UgYW55IHRhbnN1IHN0b3JlIGFuZCB3aWxsIGJlIGNhbGxlZCBhZ2FpbiBpZiB0aG9zZSBzdG9yZXMgY2hhbmdlLlxuXHQgKiBJdCBpcyBhbHNvIGNhbGxlZCBpbiBhbiBBbmd1bGFyIGluamVjdGlvbiBjb250ZXh0LCBzbyBpdCBjYW4gY2FsbCB0aGUgQW5ndWxhciBpbmplY3QgZnVuY3Rpb24gdG8gZ2V0IGFuZCB1c2UgZGVwZW5kZW5jaWVzIGZyb20gdGhlXG5cdCAqIEFuZ3VsYXIgZGVwZW5kZW5jeSBpbmplY3Rpb24gc3lzdGVtLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBESSBwcm92aWRlciB0byBiZSBpbmNsdWRlZCBhIGxpc3Qgb2YgYHByb3ZpZGVyc2AgKGZvciBleGFtcGxlIGF0IGEgY29tcG9uZW50IGxldmVsIG9yXG5cdCAqIGFueSBvdGhlciBsZXZlbCBvZiB0aGUgQW5ndWxhciBkZXBlbmRlbmN5IGluamVjdGlvbiBzeXN0ZW0pXG5cdCAqXG5cdCAqIEBleGFtcGxlXG5cdCAqIGBgYHR5cGVzY3JpcHRcblx0ICogQENvbXBvbmVudCh7XG5cdCAqICAgLy8gLi4uXG5cdCAqICAgcHJvdmlkZXJzOiBbXG5cdCAqICAgICBwcm92aWRlV2lkZ2V0c0NvbmZpZygocGFyZW50Q29uZmlnKSA9PiB7XG5cdCAqICAgICAgIC8vIGZpcnN0IHN0ZXAgY29uZmlndXJhdGlvbjogdHJhbnNmb3JtcyB0aGUgcGFyZW50IGNvbmZpZ3VyYXRpb25cblx0ICogICAgICAgcGFyZW50Q29uZmlnLnJhdGluZyA9IHBhcmVudENvbmZpZy5yYXRpbmcgPz8ge307XG5cdCAqICAgICAgIHBhcmVudENvbmZpZy5yYXRpbmcuY2xhc3NOYW1lID0gYCR7cGFyZW50Q29uZmlnLnJhdGluZy5jbGFzc05hbWUgPz8gJyd9IG15LXJhdGluZy1leHRyYS1jbGFzc2Bcblx0ICogICAgICAgcmV0dXJuIHBhcmVudENvbmZpZztcblx0ICogICAgIH0pXG5cdCAqICAgXVxuXHQgKiB9KVxuXHQgKiBjbGFzcyBNeUNvbXBvbmVudCB7XG5cdCAqICAgd2lkZ2V0c0NvbmZpZyA9IGluamVjdFdpZGdldHNDb25maWcoKTtcblx0ICogICBjb25zdHJ1Y3RvcigpIHtcblx0ICogICAgIHRoaXMud2lkZ2V0c0NvbmZpZy5zZXQoe1xuXHQgKiAgICAgICAvLyBzZWNvbmQgc3RlcCBjb25maWd1cmF0aW9uOiBvdmVycmlkZXMgdGhlIHBhcmVudCBjb25maWd1cmF0aW9uXG5cdCAqICAgICAgIHJhdGluZzoge1xuXHQgKiAgICAgICAgIHNsb3RTdGFyOiBNeUN1c3RvbVNsb3RTdGFyXG5cdCAqICAgICAgIH1cblx0ICogICAgIH0pO1xuXHQgKiAgIH1cblx0ICogICAvLyAuLi5cblx0ICogfVxuXHQgKiBgYGBcblx0ICovXG5cdGNvbnN0IHByb3ZpZGVXaWRnZXRzQ29uZmlnID0gKGFkYXB0UGFyZW50Q29uZmlnPzogQWRhcHRQYXJlbnRDb25maWc8Q29uZmlnPik6IEZhY3RvcnlQcm92aWRlciA9PiAoe1xuXHRcdHByb3ZpZGU6IHdpZGdldHNDb25maWdJbmplY3Rpb25Ub2tlbixcblx0XHR1c2VGYWN0b3J5OiAocGFyZW50OiBXaWRnZXRzQ29uZmlnU3RvcmU8Q29uZmlnPiB8IG51bGwpID0+IHtcblx0XHRcdGlmIChhZGFwdFBhcmVudENvbmZpZykge1xuXHRcdFx0XHRjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cdFx0XHRcdGNvbnN0IG9yaWdpbmFsQWRhcHRQYXJlbnRDb25maWcgPSBhZGFwdFBhcmVudENvbmZpZztcblx0XHRcdFx0YWRhcHRQYXJlbnRDb25maWcgPSAodmFsdWUpID0+IHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4gb3JpZ2luYWxBZGFwdFBhcmVudENvbmZpZyh2YWx1ZSkpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGNyZWF0ZVdpZGdldHNDb25maWcocGFyZW50ID8/IHVuZGVmaW5lZCwgYWRhcHRQYXJlbnRDb25maWcpO1xuXHRcdH0sXG5cdFx0ZGVwczogW1tuZXcgU2tpcFNlbGYoKSwgbmV3IE9wdGlvbmFsKCksIHdpZGdldHNDb25maWdJbmplY3Rpb25Ub2tlbl1dLFxuXHR9KTtcblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgd2lkZ2V0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gc3RvcmUgdGhhdCB3YXMgcHJvdmlkZWQgaW4gdGhlIGN1cnJlbnQgaW5qZWN0aW9uIGNvbnRleHQuXG5cdCAqIFRocm93cyBpZiB0aGUgbm8gd2lkZ2V0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gc3RvcmUgd2FzIHByb3ZpZGVkLlxuXHQgKlxuXHQgKiBAcmVtYXJrc1xuXHQgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGZyb20gYW4gaW5qZWN0aW9uIGNvbnRleHQsIHN1Y2ggYXMgYSBjb25zdHJ1Y3RvciwgYSBmYWN0b3J5IGZ1bmN0aW9uLCBhIGZpZWxkIGluaXRpYWxpemVyIG9yXG5cdCAqIGEgZnVuY3Rpb24gdXNlZCB3aXRoIHtAbGluayBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvcmUvcnVuSW5JbmplY3Rpb25Db250ZXh0IHwgcnVuSW5JbmplY3Rpb25Db250ZXh0fS5cblx0ICpcblx0ICogQHJldHVybnMgdGhlIHdpZGdldHMgZGVmYXVsdCBjb25maWd1cmF0aW9uIHN0b3JlLlxuXHQgKi9cblx0Y29uc3QgaW5qZWN0V2lkZ2V0c0NvbmZpZyA9ICgpID0+IGluamVjdCh3aWRnZXRzQ29uZmlnSW5qZWN0aW9uVG9rZW4pO1xuXG5cdGNvbnN0IGluamVjdFdpZGdldENvbmZpZyA9IDxOIGV4dGVuZHMga2V5b2YgQ29uZmlnPih3aWRnZXROYW1lOiBOKTogUmVhZGFibGVTaWduYWw8UGFydGlhbDxDb25maWdbTl0+IHwgdW5kZWZpbmVkPiA9PiB7XG5cdFx0Y29uc3Qgd2lkZ2V0c0NvbmZpZyA9IGluamVjdCh3aWRnZXRzQ29uZmlnSW5qZWN0aW9uVG9rZW4sIHtvcHRpb25hbDogdHJ1ZX0pO1xuXHRcdHJldHVybiBjb21wdXRlZCgoKSA9PiB3aWRnZXRzQ29uZmlnPy4oKVt3aWRnZXROYW1lXSk7XG5cdH07XG5cblx0Y29uc3QgY2FsbFdpZGdldEZhY3RvcnkgPSA8VyBleHRlbmRzIFdpZGdldD4oe1xuXHRcdGZhY3RvcnksXG5cdFx0d2lkZ2V0TmFtZSA9IG51bGwsXG5cdFx0ZGVmYXVsdENvbmZpZyA9IHt9LFxuXHRcdGV2ZW50cyxcblx0XHRhZnRlckluaXQsXG5cdH06IHtcblx0XHRmYWN0b3J5OiBXaWRnZXRGYWN0b3J5PFc+O1xuXHRcdHdpZGdldE5hbWU/OiBudWxsIHwga2V5b2YgQ29uZmlnO1xuXHRcdGRlZmF1bHRDb25maWc/OiBQYXJ0aWFsPFdpZGdldFByb3BzPFc+PiB8IFJlYWRhYmxlU2lnbmFsPFBhcnRpYWw8V2lkZ2V0UHJvcHM8Vz4+IHwgdW5kZWZpbmVkPjtcblx0XHRldmVudHM6IFBpY2s8V2lkZ2V0UHJvcHM8Vz4sIGtleW9mIFdpZGdldFByb3BzPFc+ICYgYG9uJHtzdHJpbmd9YD47XG5cdFx0YWZ0ZXJJbml0PzogKCkgPT4gdm9pZDtcblx0fSk6IEFuZ3VsYXJXaWRnZXQ8Vz4gPT5cblx0XHRjYWxsV2lkZ2V0RmFjdG9yeVdpdGhDb25maWcoe1xuXHRcdFx0ZmFjdG9yeSxcblx0XHRcdHdpZGdldENvbmZpZzogd2lkZ2V0TmFtZSA/IChpbmplY3RXaWRnZXRDb25maWcod2lkZ2V0TmFtZSkgYXMgYW55KSA6IG51bGwsXG5cdFx0XHRkZWZhdWx0Q29uZmlnLFxuXHRcdFx0ZXZlbnRzLFxuXHRcdFx0YWZ0ZXJJbml0LFxuXHRcdH0pO1xuXG5cdHJldHVybiB7XG5cdFx0LyoqXG5cdFx0ICogRGVwZW5kZW5jeSBJbmplY3Rpb24gdG9rZW4gd2hpY2ggY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBvciBpbmplY3QgdGhlIHdpZGdldHMgZGVmYXVsdCBjb25maWd1cmF0aW9uIHN0b3JlLlxuXHRcdCAqL1xuXHRcdHdpZGdldHNDb25maWdJbmplY3Rpb25Ub2tlbixcblx0XHRwcm92aWRlV2lkZ2V0c0NvbmZpZyxcblx0XHRpbmplY3RXaWRnZXRzQ29uZmlnLFxuXHRcdGluamVjdFdpZGdldENvbmZpZyxcblx0XHRjYWxsV2lkZ2V0RmFjdG9yeSxcblx0fTtcbn07XG5cbmV4cG9ydCBjb25zdCB7d2lkZ2V0c0NvbmZpZ0luamVjdGlvblRva2VuLCBwcm92aWRlV2lkZ2V0c0NvbmZpZywgaW5qZWN0V2lkZ2V0Q29uZmlnLCBpbmplY3RXaWRnZXRzQ29uZmlnLCBjYWxsV2lkZ2V0RmFjdG9yeX0gPVxuXHR3aWRnZXRzQ29uZmlnRmFjdG9yeTxXaWRnZXRzQ29uZmlnPigpO1xuIl19
@@ -183,7 +183,7 @@ export class SlotDirective {
183
183
  this._slotHandler = undefined;
184
184
  }
185
185
  static { this.ɵfac = function SlotDirective_Factory(t) { return new (t || SlotDirective)(); }; }
186
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SlotDirective, selectors: [["", "auSlot", ""]], inputs: { slot: ["auSlot", "slot"], props: ["auSlotProps", "props"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
186
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SlotDirective, selectors: [["", "auSlot", ""]], inputs: { slot: [i0.ɵɵInputFlags.None, "auSlot", "slot"], props: [i0.ɵɵInputFlags.None, "auSlotProps", "props"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
187
187
  }
188
188
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SlotDirective, [{
189
189
  type: Directive,
@@ -198,4 +198,4 @@ export class SlotDirective {
198
198
  type: Input,
199
199
  args: ['auSlotProps']
200
200
  }] }); })();
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xvdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxKLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLFNBQVMsQ0FBQzs7QUFFMUMsTUFBZSxXQUFXO0lBQ3pCLFlBQ1EsZ0JBQWtDLEVBQ2xDLFFBQWtCO1FBRGxCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN2QixDQUFDO0lBQ0osVUFBVSxDQUFDLElBQVUsRUFBRSxLQUFZLElBQUcsQ0FBQztJQUN2QyxXQUFXLENBQUMsSUFBVSxFQUFFLEtBQVksSUFBRyxDQUFDO0lBQ3hDLE9BQU8sS0FBSSxDQUFDO0NBQ1o7QUFFRCxNQUFNLGlCQUFxRCxTQUFRLFdBQTBCO0lBQzVGLFFBQVEsQ0FBbUI7SUFDM0IsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUVWLFVBQVUsQ0FBQyxJQUFZO1FBQy9CLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEMsT0FBTztTQUNQO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUNqQzthQUFNO1lBQ04sTUFBTSxvQkFBb0IsR0FBd0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDOUYsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLG9CQUFvQixFQUFFLFVBQVUsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUM7YUFDdkg7U0FDRDtJQUNGLENBQUM7SUFFUSxPQUFPO1FBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUMzQixDQUFDO0NBQ0Q7QUFFRCxNQUFNLG1CQUF1RCxTQUFRLFdBQTRDO0lBQ2hILGtCQUFrQixHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV4RSxVQUFVLENBQUMsSUFBOEIsRUFBRSxLQUFZO1FBQy9ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVRLFdBQVcsQ0FBQyxJQUE4QixFQUFFLEtBQVk7UUFDaEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRVEsT0FBTztRQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0NBQ0Q7QUFFRCxNQUFNLG9CQUF3RCxTQUFRLFdBQWlDO0lBQ3RHLGFBQWEsQ0FBZ0M7SUFDN0MsV0FBVyxDQUFXO0lBRWIsVUFBVSxDQUFDLElBQW1CLEVBQUUsS0FBWTtRQUNwRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFZLEVBQUUsYUFBMkI7UUFDekQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYyxDQUFDO1FBQ3pDLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFO1lBQ2xDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2pELGFBQWEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEM7SUFDRixDQUFDO0lBRVEsV0FBVyxDQUFDLElBQW1CLEVBQUUsS0FBWTtRQUNyRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYyxDQUFDO1FBQ3pDLEtBQUssTUFBTSxRQUFRLElBQUksYUFBYSxFQUFFO1lBQ3JDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzNDO0lBQ0YsQ0FBQztJQUVRLE9BQU87UUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztDQUNEO0FBRUQsTUFBTSxzQkFBMEQsU0FBUSxXQUFzQztJQUM3RyxRQUFRLENBQXFDO0lBQzdDLE1BQU0sQ0FBUTtJQUVMLFVBQVUsQ0FBQyxJQUF3QixFQUFFLEtBQVk7UUFDekQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNmO1FBQ0QsS0FBSyxHQUFHLEVBQUMsR0FBRyxLQUFLLEVBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVRLFdBQVcsQ0FBQyxJQUF3QixFQUFFLEtBQVk7UUFDMUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDbEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQWMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQW9CLEVBQUU7Z0JBQzdELGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDL0I7WUFDRCxLQUFLLE1BQU0sV0FBVyxJQUFJLGFBQWEsRUFBRTtnQkFDeEMsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDbEM7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzdCO0lBQ0YsQ0FBQztJQUVRLE9BQU87UUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztDQUNEO0FBRUQsTUFBTSw0QkFJSixTQUFRLFdBQWtEO0lBQzNELGFBQWEsQ0FBOEI7SUFDM0Msb0JBQW9CLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hGLFlBQVksQ0FBaUM7SUFFcEMsVUFBVSxDQUFDLElBQW9DLEVBQUUsS0FBWTtRQUNyRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3BELGVBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUTtZQUMvQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztTQUM1RSxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVRLFdBQVcsQ0FBQyxJQUFvQyxFQUFFLEtBQVk7UUFDdEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFUSxPQUFPO1FBQ2YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztDQUNEO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQWdHLEVBQUU7SUFDaEksSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM3QixNQUFNLElBQUksR0FBRyxPQUFPLEtBQUssQ0FBQztJQUMxQixRQUFRLElBQUksRUFBRTtRQUNiLEtBQUssUUFBUTtZQUNaLE9BQU8saUJBQWlCLENBQUM7UUFDMUIsS0FBSyxVQUFVO1lBQ2QsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsT0FBTyxvQkFBb0IsQ0FBQzthQUM1QjtZQUNELE9BQU8sbUJBQW1CLENBQUM7UUFDNUIsS0FBSyxRQUFRO1lBQ1osSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFO2dCQUNqQyxPQUFPLHNCQUFzQixDQUFDO2FBQzlCO1lBQ0QsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUU7Z0JBQ3ZDLE9BQU8sNEJBQTRCLENBQUM7YUFDcEM7WUFDRCxNQUFNO0tBQ1A7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFNRixNQUFNLE9BQU8sYUFBYTtJQUoxQjtRQVFTLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdDLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0EyQnJDO0lBdkJBLGtCQUFrQjtJQUNsQixXQUFXLENBQUMsT0FBc0I7UUFDakMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksVUFBVSxFQUFFO1lBQ2YsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3RHLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO2FBQzdCO1lBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoRDthQUFNLElBQUksV0FBVyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakQ7SUFDRixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVc7UUFDVixJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQy9CLENBQUM7OEVBL0JXLGFBQWE7b0VBQWIsYUFBYTs7aUZBQWIsYUFBYTtjQUp6QixTQUFTO2VBQUM7Z0JBQ1YsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2FBQ2hCO2dCQUVpQixJQUFJO2tCQUFwQixLQUFLO21CQUFDLFFBQVE7WUFDTyxLQUFLO2tCQUExQixLQUFLO21CQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0NvbXBvbmVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcywgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RpcmVjdGl2ZSwgRW52aXJvbm1lbnRJbmplY3RvciwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBjcmVhdGVDb21wb25lbnQsIGluamVjdCwgcmVmbGVjdENvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1Nsb3RDb250ZW50fSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7Q29tcG9uZW50VGVtcGxhdGV9IGZyb20gJy4vdHlwZXMnO1xuXG5hYnN0cmFjdCBjbGFzcyBTbG90SGFuZGxlcjxQcm9wcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sIFNsb3QgZXh0ZW5kcyBTbG90Q29udGVudDxQcm9wcz4gPSBTbG90Q29udGVudDxQcm9wcz4+IHtcblx0Y29uc3RydWN0b3IoXG5cdFx0cHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG5cdFx0cHVibGljIGRvY3VtZW50OiBEb2N1bWVudCxcblx0KSB7fVxuXHRzbG90Q2hhbmdlKHNsb3Q6IFNsb3QsIHByb3BzOiBQcm9wcykge31cblx0cHJvcHNDaGFuZ2Uoc2xvdDogU2xvdCwgcHJvcHM6IFByb3BzKSB7fVxuXHRkZXN0cm95KCkge31cbn1cblxuY2xhc3MgU3RyaW5nU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBleHRlbmRzIFNsb3RIYW5kbGVyPFByb3BzLCBzdHJpbmc+IHtcblx0I25vZGVSZWY6IFRleHQgfCB1bmRlZmluZWQ7XG5cdCNwcmV2aW91c1RleHQgPSAnJztcblxuXHRvdmVycmlkZSBzbG90Q2hhbmdlKHNsb3Q6IHN0cmluZyk6IHZvaWQge1xuXHRcdGlmIChzbG90ID09PSB0aGlzLiNwcmV2aW91c1RleHQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy4jcHJldmlvdXNUZXh0ID0gc2xvdDtcblx0XHRpZiAodGhpcy4jbm9kZVJlZikge1xuXHRcdFx0dGhpcy4jbm9kZVJlZi50ZXh0Q29udGVudCA9IHNsb3Q7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IHZpZXdDb250YWluZXJFbGVtZW50OiBDb21tZW50IHwgdW5kZWZpbmVkID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmICh0aGlzLmRvY3VtZW50ICYmIHZpZXdDb250YWluZXJFbGVtZW50Py5wYXJlbnROb2RlKSB7XG5cdFx0XHRcdHRoaXMuI25vZGVSZWYgPSB2aWV3Q29udGFpbmVyRWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHNsb3QpLCB2aWV3Q29udGFpbmVyRWxlbWVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0b3ZlcnJpZGUgZGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLiNub2RlUmVmPy5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZCh0aGlzLiNub2RlUmVmKTtcblx0XHR0aGlzLiNub2RlUmVmID0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNsYXNzIEZ1bmN0aW9uU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBleHRlbmRzIFNsb3RIYW5kbGVyPFByb3BzLCAocHJvcHM6IFByb3BzKSA9PiBzdHJpbmc+IHtcblx0I3N0cmluZ1Nsb3RIYW5kbGVyID0gbmV3IFN0cmluZ1Nsb3RIYW5kbGVyKHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGhpcy5kb2N1bWVudCk7XG5cblx0b3ZlcnJpZGUgc2xvdENoYW5nZShzbG90OiAocHJvcHM6IFByb3BzKSA9PiBzdHJpbmcsIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdHRoaXMuI3N0cmluZ1Nsb3RIYW5kbGVyLnNsb3RDaGFuZ2Uoc2xvdChwcm9wcykpO1xuXHR9XG5cblx0b3ZlcnJpZGUgcHJvcHNDaGFuZ2Uoc2xvdDogKHByb3BzOiBQcm9wcykgPT4gc3RyaW5nLCBwcm9wczogUHJvcHMpOiB2b2lkIHtcblx0XHR0aGlzLiNzdHJpbmdTbG90SGFuZGxlci5zbG90Q2hhbmdlKHNsb3QocHJvcHMpKTtcblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy4jc3RyaW5nU2xvdEhhbmRsZXIuZGVzdHJveSgpO1xuXHR9XG59XG5cbmNsYXNzIENvbXBvbmVudFNsb3RIYW5kbGVyPFByb3BzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgVHlwZTx1bmtub3duPj4ge1xuXHQjY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZDtcblx0I3Byb3BlcnRpZXM6IHN0cmluZ1tdO1xuXG5cdG92ZXJyaWRlIHNsb3RDaGFuZ2Uoc2xvdDogVHlwZTx1bmtub3duPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI2NvbXBvbmVudFJlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoc2xvdCk7XG5cdFx0dGhpcy4jYXBwbHlQcm9wZXJ0aWVzKHByb3BzKTtcblx0fVxuXG5cdCNhcHBseVByb3BlcnRpZXMocHJvcHM6IFByb3BzLCBvbGRQcm9wZXJ0aWVzPzogU2V0PHN0cmluZz4pIHtcblx0XHRjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmtleXMocHJvcHMpO1xuXHRcdHRoaXMuI3Byb3BlcnRpZXMgPSBwcm9wZXJ0aWVzO1xuXHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2NvbXBvbmVudFJlZiE7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb21wb25lbnRSZWYuc2V0SW5wdXQocHJvcGVydHksIHByb3BzW3Byb3BlcnR5XSk7XG5cdFx0XHRvbGRQcm9wZXJ0aWVzPy5kZWxldGUocHJvcGVydHkpO1xuXHRcdH1cblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IFR5cGU8dW5rbm93bj4sIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdGNvbnN0IG9sZFByb3BlcnRpZXMgPSBuZXcgU2V0KHRoaXMuI3Byb3BlcnRpZXMpO1xuXHRcdHRoaXMuI2FwcGx5UHJvcGVydGllcyhwcm9wcywgb2xkUHJvcGVydGllcyk7XG5cdFx0Y29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jY29tcG9uZW50UmVmITtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IG9mIG9sZFByb3BlcnRpZXMpIHtcblx0XHRcdGNvbXBvbmVudFJlZi5zZXRJbnB1dChwcm9wZXJ0eSwgdW5kZWZpbmVkKTtcblx0XHR9XG5cdH1cblxuXHRvdmVycmlkZSBkZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcblx0fVxufVxuXG5jbGFzcyBUZW1wbGF0ZVJlZlNsb3RIYW5kbGVyPFByb3BzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgVGVtcGxhdGVSZWY8UHJvcHM+PiB7XG5cdCN2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8UHJvcHM+IHwgdW5kZWZpbmVkO1xuXHQjcHJvcHM6IFByb3BzO1xuXG5cdG92ZXJyaWRlIHNsb3RDaGFuZ2Uoc2xvdDogVGVtcGxhdGVSZWY8UHJvcHM+LCBwcm9wczogUHJvcHMpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jdmlld1JlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHByb3BzID0gey4uLnByb3BzfTtcblx0XHR0aGlzLiNwcm9wcyA9IHByb3BzO1xuXHRcdHRoaXMuI3ZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHNsb3QsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IFRlbXBsYXRlUmVmPFByb3BzPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI3ZpZXdSZWYpIHtcblx0XHRcdGNvbnN0IHRlbXBsYXRlUHJvcHMgPSB0aGlzLiNwcm9wcztcblx0XHRcdGNvbnN0IG9sZFByb3BlcnRpZXMgPSBuZXcgU2V0PGtleW9mIFByb3BzPihPYmplY3Qua2V5cyh0ZW1wbGF0ZVByb3BzKSk7XG5cdFx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IG9mIE9iamVjdC5rZXlzKHByb3BzKSBhcyAoa2V5b2YgUHJvcHMpW10pIHtcblx0XHRcdFx0dGVtcGxhdGVQcm9wc1twcm9wZXJ0eV0gPSBwcm9wc1twcm9wZXJ0eV07XG5cdFx0XHRcdG9sZFByb3BlcnRpZXMuZGVsZXRlKHByb3BlcnR5KTtcblx0XHRcdH1cblx0XHRcdGZvciAoY29uc3Qgb2xkUHJvcGVydHkgb2Ygb2xkUHJvcGVydGllcykge1xuXHRcdFx0XHRkZWxldGUgdGVtcGxhdGVQcm9wc1tvbGRQcm9wZXJ0eV07XG5cdFx0XHR9XG5cdFx0XHR0aGlzLiN2aWV3UmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cdH1cbn1cblxuY2xhc3MgQ29tcG9uZW50VGVtcGxhdGVTbG90SGFuZGxlcjxcblx0UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuXHRLIGV4dGVuZHMgc3RyaW5nLFxuXHRUIGV4dGVuZHMge1trZXkgaW4gS106IFRlbXBsYXRlUmVmPFByb3BzPn0sXG4+IGV4dGVuZHMgU2xvdEhhbmRsZXI8UHJvcHMsIENvbXBvbmVudFRlbXBsYXRlPFByb3BzLCBLLCBUPj4ge1xuXHQjY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gfCB1bmRlZmluZWQ7XG5cdCN0ZW1wbGF0ZVNsb3RIYW5kbGVyID0gbmV3IFRlbXBsYXRlUmVmU2xvdEhhbmRsZXIodGhpcy52aWV3Q29udGFpbmVyUmVmLCB0aGlzLmRvY3VtZW50KTtcblx0I3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxQcm9wcz4gfCB1bmRlZmluZWQ7XG5cblx0b3ZlcnJpZGUgc2xvdENoYW5nZShzbG90OiBDb21wb25lbnRUZW1wbGF0ZTxQcm9wcywgSywgVD4sIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdGlmICh0aGlzLiNjb21wb25lbnRSZWYpIHtcblx0XHRcdHRoaXMuZGVzdHJveSgpO1xuXHRcdH1cblx0XHR0aGlzLiNjb21wb25lbnRSZWYgPSBjcmVhdGVDb21wb25lbnQoc2xvdC5jb21wb25lbnQsIHtcblx0XHRcdGVsZW1lbnRJbmplY3RvcjogdGhpcy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLFxuXHRcdFx0ZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLmdldChFbnZpcm9ubWVudEluamVjdG9yKSxcblx0XHR9KTtcblx0XHR0aGlzLiN0ZW1wbGF0ZVJlZiA9IHRoaXMuI2NvbXBvbmVudFJlZi5pbnN0YW5jZVtzbG90LnRlbXBsYXRlUHJvcF07XG5cdFx0dGhpcy4jdGVtcGxhdGVTbG90SGFuZGxlci5zbG90Q2hhbmdlKHRoaXMuI3RlbXBsYXRlUmVmLCBwcm9wcyk7XG5cdH1cblxuXHRvdmVycmlkZSBwcm9wc0NoYW5nZShzbG90OiBDb21wb25lbnRUZW1wbGF0ZTxQcm9wcywgSywgVD4sIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdHRoaXMuI3RlbXBsYXRlU2xvdEhhbmRsZXIucHJvcHNDaGFuZ2UodGhpcy4jdGVtcGxhdGVSZWYhLCBwcm9wcyk7XG5cdH1cblxuXHRvdmVycmlkZSBkZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuI3RlbXBsYXRlU2xvdEhhbmRsZXIuZGVzdHJveSgpO1xuXHRcdHRoaXMuI2NvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcblx0fVxufVxuXG5jb25zdCBnZXRTbG90VHlwZSA9ICh2YWx1ZTogYW55KTogdW5kZWZpbmVkIHwge25ldyAodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgZG9jdW1lbnQ6IERvY3VtZW50KTogU2xvdEhhbmRsZXI8YW55Pn0gPT4ge1xuXHRpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuXHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRjYXNlICdzdHJpbmcnOlxuXHRcdFx0cmV0dXJuIFN0cmluZ1Nsb3RIYW5kbGVyO1xuXHRcdGNhc2UgJ2Z1bmN0aW9uJzpcblx0XHRcdGlmIChyZWZsZWN0Q29tcG9uZW50VHlwZSh2YWx1ZSkpIHtcblx0XHRcdFx0cmV0dXJuIENvbXBvbmVudFNsb3RIYW5kbGVyO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIEZ1bmN0aW9uU2xvdEhhbmRsZXI7XG5cdFx0Y2FzZSAnb2JqZWN0Jzpcblx0XHRcdGlmICh2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG5cdFx0XHRcdHJldHVybiBUZW1wbGF0ZVJlZlNsb3RIYW5kbGVyO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHZhbHVlIGluc3RhbmNlb2YgQ29tcG9uZW50VGVtcGxhdGUpIHtcblx0XHRcdFx0cmV0dXJuIENvbXBvbmVudFRlbXBsYXRlU2xvdEhhbmRsZXI7XG5cdFx0XHR9XG5cdFx0XHRicmVhaztcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2F1U2xvdF0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTbG90RGlyZWN0aXZlPFByb3BzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cdEBJbnB1dCgnYXVTbG90Jykgc2xvdDogU2xvdENvbnRlbnQ8UHJvcHM+O1xuXHRASW5wdXQoJ2F1U2xvdFByb3BzJykgcHJvcHM6IFByb3BzO1xuXG5cdHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cdHByaXZhdGUgX2RvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblx0cHJpdmF0ZSBfc2xvdFR5cGU6IFJldHVyblR5cGU8dHlwZW9mIGdldFNsb3RUeXBlPjtcblx0cHJpdmF0ZSBfc2xvdEhhbmRsZXI6IFNsb3RIYW5kbGVyPFByb3BzPiB8IHVuZGVmaW5lZDtcblxuXHQvKiogQGluaGVyaXRkb2MgKi9cblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGNvbnN0IHNsb3RDaGFuZ2UgPSBjaGFuZ2VzWydzbG90J107XG5cdFx0Y29uc3QgcHJvcHNDaGFuZ2UgPSBjaGFuZ2VzWydwcm9wcyddO1xuXHRcdGNvbnN0IHNsb3QgPSB0aGlzLnNsb3Q7XG5cdFx0aWYgKHNsb3RDaGFuZ2UpIHtcblx0XHRcdGNvbnN0IG5ld1Nsb3RUeXBlID0gZ2V0U2xvdFR5cGUoc2xvdCk7XG5cdFx0XHRpZiAobmV3U2xvdFR5cGUgIT09IHRoaXMuX3Nsb3RUeXBlKSB7XG5cdFx0XHRcdHRoaXMuX3Nsb3RIYW5kbGVyPy5kZXN0cm95KCk7XG5cdFx0XHRcdHRoaXMuX3Nsb3RIYW5kbGVyID0gbmV3U2xvdFR5cGUgPyBuZXcgbmV3U2xvdFR5cGUodGhpcy5fdmlld0NvbnRhaW5lclJlZiwgdGhpcy5fZG9jdW1lbnQpIDogdW5kZWZpbmVkO1xuXHRcdFx0XHR0aGlzLl9zbG90VHlwZSA9IG5ld1Nsb3RUeXBlO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5fc2xvdEhhbmRsZXI/LnNsb3RDaGFuZ2Uoc2xvdCwgdGhpcy5wcm9wcyk7XG5cdFx0fSBlbHNlIGlmIChwcm9wc0NoYW5nZSkge1xuXHRcdFx0dGhpcy5fc2xvdEhhbmRsZXI/LnByb3BzQ2hhbmdlKHNsb3QsIHRoaXMucHJvcHMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaW5oZXJpdGRvYyAqL1xuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLl9zbG90SGFuZGxlcj8uZGVzdHJveSgpO1xuXHRcdHRoaXMuX3Nsb3RIYW5kbGVyID0gdW5kZWZpbmVkO1xuXHR9XG59XG4iXX0=
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xvdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxKLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLFNBQVMsQ0FBQzs7QUFFMUMsTUFBZSxXQUFXO0lBQ3pCLFlBQ1EsZ0JBQWtDLEVBQ2xDLFFBQWtCO1FBRGxCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN2QixDQUFDO0lBQ0osVUFBVSxDQUFDLElBQVUsRUFBRSxLQUFZLElBQUcsQ0FBQztJQUN2QyxXQUFXLENBQUMsSUFBVSxFQUFFLEtBQVksSUFBRyxDQUFDO0lBQ3hDLE9BQU8sS0FBSSxDQUFDO0NBQ1o7QUFFRCxNQUFNLGlCQUFxRCxTQUFRLFdBQTBCO0lBQzVGLFFBQVEsQ0FBbUI7SUFDM0IsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUVWLFVBQVUsQ0FBQyxJQUFZO1FBQy9CLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqQyxPQUFPO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNQLE1BQU0sb0JBQW9CLEdBQXdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFB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LEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3RHLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1lBQzlCLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7YUFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNGLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQzs4RUEvQlcsYUFBYTtvRUFBYixhQUFhOztpRkFBYixhQUFhO2NBSnpCLFNBQVM7ZUFBQztnQkFDVixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsVUFBVSxFQUFFLElBQUk7YUFDaEI7Z0JBRWlCLElBQUk7a0JBQXBCLEtBQUs7bUJBQUMsUUFBUTtZQUNPLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7Q29tcG9uZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBFbnZpcm9ubWVudEluamVjdG9yLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIGNyZWF0ZUNvbXBvbmVudCwgaW5qZWN0LCByZWZsZWN0Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7U2xvdENvbnRlbnR9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtDb21wb25lbnRUZW1wbGF0ZX0gZnJvbSAnLi90eXBlcyc7XG5cbmFic3RyYWN0IGNsYXNzIFNsb3RIYW5kbGVyPFByb3BzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiwgU2xvdCBleHRlbmRzIFNsb3RDb250ZW50PFByb3BzPiA9IFNsb3RDb250ZW50PFByb3BzPj4ge1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0XHRwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50LFxuXHQpIHt9XG5cdHNsb3RDaGFuZ2Uoc2xvdDogU2xvdCwgcHJvcHM6IFByb3BzKSB7fVxuXHRwcm9wc0NoYW5nZShzbG90OiBTbG90LCBwcm9wczogUHJvcHMpIHt9XG5cdGRlc3Ryb3koKSB7fVxufVxuXG5jbGFzcyBTdHJpbmdTbG90SGFuZGxlcjxQcm9wcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+IGV4dGVuZHMgU2xvdEhhbmRsZXI8UHJvcHMsIHN0cmluZz4ge1xuXHQjbm9kZVJlZjogVGV4dCB8IHVuZGVmaW5lZDtcblx0I3ByZXZpb3VzVGV4dCA9ICcnO1xuXG5cdG92ZXJyaWRlIHNsb3RDaGFuZ2Uoc2xvdDogc3RyaW5nKTogdm9pZCB7XG5cdFx0aWYgKHNsb3QgPT09IHRoaXMuI3ByZXZpb3VzVGV4dCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLiNwcmV2aW91c1RleHQgPSBzbG90O1xuXHRcdGlmICh0aGlzLiNub2RlUmVmKSB7XG5cdFx0XHR0aGlzLiNub2RlUmVmLnRleHRDb250ZW50ID0gc2xvdDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3Qgdmlld0NvbnRhaW5lckVsZW1lbnQ6IENvbW1lbnQgfCB1bmRlZmluZWQgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXHRcdFx0aWYgKHRoaXMuZG9jdW1lbnQgJiYgdmlld0NvbnRhaW5lckVsZW1lbnQ/LnBhcmVudE5vZGUpIHtcblx0XHRcdFx0dGhpcy4jbm9kZVJlZiA9IHZpZXdDb250YWluZXJFbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc2xvdCksIHZpZXdDb250YWluZXJFbGVtZW50KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRvdmVycmlkZSBkZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuI25vZGVSZWY/LnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKHRoaXMuI25vZGVSZWYpO1xuXHRcdHRoaXMuI25vZGVSZWYgPSB1bmRlZmluZWQ7XG5cdH1cbn1cblxuY2xhc3MgRnVuY3Rpb25TbG90SGFuZGxlcjxQcm9wcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+IGV4dGVuZHMgU2xvdEhhbmRsZXI8UHJvcHMsIChwcm9wczogUHJvcHMpID0+IHN0cmluZz4ge1xuXHQjc3RyaW5nU2xvdEhhbmRsZXIgPSBuZXcgU3RyaW5nU2xvdEhhbmRsZXIodGhpcy52aWV3Q29udGFpbmVyUmVmLCB0aGlzLmRvY3VtZW50KTtcblxuXHRvdmVycmlkZSBzbG90Q2hhbmdlKHNsb3Q6IChwcm9wczogUHJvcHMpID0+IHN0cmluZywgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0dGhpcy4jc3RyaW5nU2xvdEhhbmRsZXIuc2xvdENoYW5nZShzbG90KHByb3BzKSk7XG5cdH1cblxuXHRvdmVycmlkZSBwcm9wc0NoYW5nZShzbG90OiAocHJvcHM6IFByb3BzKSA9PiBzdHJpbmcsIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdHRoaXMuI3N0cmluZ1Nsb3RIYW5kbGVyLnNsb3RDaGFuZ2Uoc2xvdChwcm9wcykpO1xuXHR9XG5cblx0b3ZlcnJpZGUgZGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLiNzdHJpbmdTbG90SGFuZGxlci5kZXN0cm95KCk7XG5cdH1cbn1cblxuY2xhc3MgQ29tcG9uZW50U2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBleHRlbmRzIFNsb3RIYW5kbGVyPFByb3BzLCBUeXBlPHVua25vd24+PiB7XG5cdCNjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXHQjcHJvcGVydGllczogc3RyaW5nW107XG5cblx0b3ZlcnJpZGUgc2xvdENoYW5nZShzbG90OiBUeXBlPHVua25vd24+LCBwcm9wczogUHJvcHMpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jY29tcG9uZW50UmVmKSB7XG5cdFx0XHR0aGlzLmRlc3Ryb3koKTtcblx0XHR9XG5cdFx0dGhpcy4jY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChzbG90KTtcblx0XHR0aGlzLiNhcHBseVByb3BlcnRpZXMocHJvcHMpO1xuXHR9XG5cblx0I2FwcGx5UHJvcGVydGllcyhwcm9wczogUHJvcHMsIG9sZFByb3BlcnRpZXM/OiBTZXQ8c3RyaW5nPikge1xuXHRcdGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhwcm9wcyk7XG5cdFx0dGhpcy4jcHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG5cdFx0Y29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jY29tcG9uZW50UmVmITtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcblx0XHRcdGNvbXBvbmVudFJlZi5zZXRJbnB1dChwcm9wZXJ0eSwgcHJvcHNbcHJvcGVydHldKTtcblx0XHRcdG9sZFByb3BlcnRpZXM/LmRlbGV0ZShwcm9wZXJ0eSk7XG5cdFx0fVxuXHR9XG5cblx0b3ZlcnJpZGUgcHJvcHNDaGFuZ2Uoc2xvdDogVHlwZTx1bmtub3duPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0Y29uc3Qgb2xkUHJvcGVydGllcyA9IG5ldyBTZXQodGhpcy4jcHJvcGVydGllcyk7XG5cdFx0dGhpcy4jYXBwbHlQcm9wZXJ0aWVzKHByb3BzLCBvbGRQcm9wZXJ0aWVzKTtcblx0XHRjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLiNjb21wb25lbnRSZWYhO1xuXHRcdGZvciAoY29uc3QgcHJvcGVydHkgb2Ygb2xkUHJvcGVydGllcykge1xuXHRcdFx0Y29tcG9uZW50UmVmLnNldElucHV0KHByb3BlcnR5LCB1bmRlZmluZWQpO1xuXHRcdH1cblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cdFx0dGhpcy4jY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNsYXNzIFRlbXBsYXRlUmVmU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBleHRlbmRzIFNsb3RIYW5kbGVyPFByb3BzLCBUZW1wbGF0ZVJlZjxQcm9wcz4+IHtcblx0I3ZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxQcm9wcz4gfCB1bmRlZmluZWQ7XG5cdCNwcm9wczogUHJvcHM7XG5cblx0b3ZlcnJpZGUgc2xvdENoYW5nZShzbG90OiBUZW1wbGF0ZVJlZjxQcm9wcz4sIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdGlmICh0aGlzLiN2aWV3UmVmKSB7XG5cdFx0XHR0aGlzLmRlc3Ryb3koKTtcblx0XHR9XG5cdFx0cHJvcHMgPSB7Li4ucHJvcHN9O1xuXHRcdHRoaXMuI3Byb3BzID0gcHJvcHM7XG5cdFx0dGhpcy4jdmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoc2xvdCwgcHJvcHMpO1xuXHR9XG5cblx0b3ZlcnJpZGUgcHJvcHNDaGFuZ2Uoc2xvdDogVGVtcGxhdGVSZWY8UHJvcHM+LCBwcm9wczogUHJvcHMpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jdmlld1JlZikge1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVQcm9wcyA9IHRoaXMuI3Byb3BzO1xuXHRcdFx0Y29uc3Qgb2xkUHJvcGVydGllcyA9IG5ldyBTZXQ8a2V5b2YgUHJvcHM+KE9iamVjdC5rZXlzKHRlbXBsYXRlUHJvcHMpKTtcblx0XHRcdGZvciAoY29uc3QgcHJvcGVydHkgb2YgT2JqZWN0LmtleXMocHJvcHMpIGFzIChrZXlvZiBQcm9wcylbXSkge1xuXHRcdFx0XHR0ZW1wbGF0ZVByb3BzW3Byb3BlcnR5XSA9IHByb3BzW3Byb3BlcnR5XTtcblx0XHRcdFx0b2xkUHJvcGVydGllcy5kZWxldGUocHJvcGVydHkpO1xuXHRcdFx0fVxuXHRcdFx0Zm9yIChjb25zdCBvbGRQcm9wZXJ0eSBvZiBvbGRQcm9wZXJ0aWVzKSB7XG5cdFx0XHRcdGRlbGV0ZSB0ZW1wbGF0ZVByb3BzW29sZFByb3BlcnR5XTtcblx0XHRcdH1cblx0XHRcdHRoaXMuI3ZpZXdSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG5cblx0b3ZlcnJpZGUgZGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcblx0fVxufVxuXG5jbGFzcyBDb21wb25lbnRUZW1wbGF0ZVNsb3RIYW5kbGVyPFxuXHRQcm9wcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG5cdEsgZXh0ZW5kcyBzdHJpbmcsXG5cdFQgZXh0ZW5kcyB7W2tleSBpbiBLXTogVGVtcGxhdGVSZWY8UHJvcHM+fSxcbj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgQ29tcG9uZW50VGVtcGxhdGU8UHJvcHMsIEssIFQ+PiB7XG5cdCNjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiB8IHVuZGVmaW5lZDtcblx0I3RlbXBsYXRlU2xvdEhhbmRsZXIgPSBuZXcgVGVtcGxhdGVSZWZTbG90SGFuZGxlcih0aGlzLnZpZXdDb250YWluZXJSZWYsIHRoaXMuZG9jdW1lbnQpO1xuXHQjdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFByb3BzPiB8IHVuZGVmaW5lZDtcblxuXHRvdmVycmlkZSBzbG90Q2hhbmdlKHNsb3Q6IENvbXBvbmVudFRlbXBsYXRlPFByb3BzLCBLLCBUPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI2NvbXBvbmVudFJlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudChzbG90LmNvbXBvbmVudCwge1xuXHRcdFx0ZWxlbWVudEluamVjdG9yOiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IsXG5cdFx0XHRlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IuZ2V0KEVudmlyb25tZW50SW5qZWN0b3IpLFxuXHRcdH0pO1xuXHRcdHRoaXMuI3RlbXBsYXRlUmVmID0gdGhpcy4jY29tcG9uZW50UmVmLmluc3RhbmNlW3Nsb3QudGVtcGxhdGVQcm9wXTtcblx0XHR0aGlzLiN0ZW1wbGF0ZVNsb3RIYW5kbGVyLnNsb3RDaGFuZ2UodGhpcy4jdGVtcGxhdGVSZWYsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IENvbXBvbmVudFRlbXBsYXRlPFByb3BzLCBLLCBUPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0dGhpcy4jdGVtcGxhdGVTbG90SGFuZGxlci5wcm9wc0NoYW5nZSh0aGlzLiN0ZW1wbGF0ZVJlZiEsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy4jdGVtcGxhdGVTbG90SGFuZGxlci5kZXN0cm95KCk7XG5cdFx0dGhpcy4jY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG5cdFx0dGhpcy4jY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNvbnN0IGdldFNsb3RUeXBlID0gKHZhbHVlOiBhbnkpOiB1bmRlZmluZWQgfCB7bmV3ICh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBkb2N1bWVudDogRG9jdW1lbnQpOiBTbG90SGFuZGxlcjxhbnk+fSA9PiB7XG5cdGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG5cdGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG5cdHN3aXRjaCAodHlwZSkge1xuXHRcdGNhc2UgJ3N0cmluZyc6XG5cdFx0XHRyZXR1cm4gU3RyaW5nU2xvdEhhbmRsZXI7XG5cdFx0Y2FzZSAnZnVuY3Rpb24nOlxuXHRcdFx0aWYgKHJlZmxlY3RDb21wb25lbnRUeXBlKHZhbHVlKSkge1xuXHRcdFx0XHRyZXR1cm4gQ29tcG9uZW50U2xvdEhhbmRsZXI7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gRnVuY3Rpb25TbG90SGFuZGxlcjtcblx0XHRjYXNlICdvYmplY3QnOlxuXHRcdFx0aWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcblx0XHRcdFx0cmV0dXJuIFRlbXBsYXRlUmVmU2xvdEhhbmRsZXI7XG5cdFx0XHR9XG5cdFx0XHRpZiAodmFsdWUgaW5zdGFuY2VvZiBDb21wb25lbnRUZW1wbGF0ZSkge1xuXHRcdFx0XHRyZXR1cm4gQ29tcG9uZW50VGVtcGxhdGVTbG90SGFuZGxlcjtcblx0XHRcdH1cblx0XHRcdGJyZWFrO1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYXVTbG90XScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNsb3REaXJlY3RpdmU8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblx0QElucHV0KCdhdVNsb3QnKSBzbG90OiBTbG90Q29udGVudDxQcm9wcz47XG5cdEBJbnB1dCgnYXVTbG90UHJvcHMnKSBwcm9wczogUHJvcHM7XG5cblx0cHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblx0cHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXHRwcml2YXRlIF9zbG90VHlwZTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2xvdFR5cGU+O1xuXHRwcml2YXRlIF9zbG90SGFuZGxlcjogU2xvdEhhbmRsZXI8UHJvcHM+IHwgdW5kZWZpbmVkO1xuXG5cdC8qKiBAaW5oZXJpdGRvYyAqL1xuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0Y29uc3Qgc2xvdENoYW5nZSA9IGNoYW5nZXNbJ3Nsb3QnXTtcblx0XHRjb25zdCBwcm9wc0NoYW5nZSA9IGNoYW5nZXNbJ3Byb3BzJ107XG5cdFx0Y29uc3Qgc2xvdCA9IHRoaXMuc2xvdDtcblx0XHRpZiAoc2xvdENoYW5nZSkge1xuXHRcdFx0Y29uc3QgbmV3U2xvdFR5cGUgPSBnZXRTbG90VHlwZShzbG90KTtcblx0XHRcdGlmIChuZXdTbG90VHlwZSAhPT0gdGhpcy5fc2xvdFR5cGUpIHtcblx0XHRcdFx0dGhpcy5fc2xvdEhhbmRsZXI/LmRlc3Ryb3koKTtcblx0XHRcdFx0dGhpcy5fc2xvdEhhbmRsZXIgPSBuZXdTbG90VHlwZSA/IG5ldyBuZXdTbG90VHlwZSh0aGlzLl92aWV3Q29udGFpbmVyUmVmLCB0aGlzLl9kb2N1bWVudCkgOiB1bmRlZmluZWQ7XG5cdFx0XHRcdHRoaXMuX3Nsb3RUeXBlID0gbmV3U2xvdFR5cGU7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLl9zbG90SGFuZGxlcj8uc2xvdENoYW5nZShzbG90LCB0aGlzLnByb3BzKTtcblx0XHR9IGVsc2UgaWYgKHByb3BzQ2hhbmdlKSB7XG5cdFx0XHR0aGlzLl9zbG90SGFuZGxlcj8ucHJvcHNDaGFuZ2Uoc2xvdCwgdGhpcy5wcm9wcyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpbmhlcml0ZG9jICovXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuX3Nsb3RIYW5kbGVyPy5kZXN0cm95KCk7XG5cdFx0dGhpcy5fc2xvdEhhbmRsZXIgPSB1bmRlZmluZWQ7XG5cdH1cbn1cbiJdfQ==
@@ -29,4 +29,4 @@ export function auNumberAttribute(value) {
29
29
  }
30
30
  return numberAttribute(value);
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvY29lcmNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFjO0lBQ2hELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUN4QixPQUFPLFNBQVMsQ0FBQztLQUNqQjtJQUNELE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWM7SUFDL0MsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQ3hCLE9BQU8sU0FBUyxDQUFDO0tBQ2pCO0lBQ0QsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgbnVtYmVyQXR0cmlidXRlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIGEgdmFsdWUgKHR5cGljYWxseSBhIHN0cmluZykgdG8gYSBib29sZWFuLlxuICogSW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBhIHRyYW5zZm9ybSBmdW5jdGlvbiBvZiBhbiBpbnB1dC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgQElucHV0KHsgdHJhbnNmb3JtOiBhdUJvb2xlYW5BdHRyaWJ1dGUgfSkgc3RhdHVzOiBib29sZWFuIHwgdW5kZWZpbmVkO2BgYFxuICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdG8gYmUgdHJhbnNmb3JtZWQuXG4gKiBAcmV0dXJucyB0aGUgdmFsdWUgdHJhbnNmb3JtZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1Qm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuXHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpO1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybXMgYSB2YWx1ZSAodHlwaWNhbGx5IGEgc3RyaW5nKSB0byBhIG51bWJlci5cbiAqIEludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gb2YgYW4gaW5wdXQuXG4gKiBAcGFyYW0gdmFsdWUgLSBWYWx1ZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogIGBgYEBJbnB1dCh7IHRyYW5zZm9ybTogYXVOdW1iZXJBdHRyaWJ1dGUgfSkgaWQ6IG51bWJlciB8IHVuZGVmaW5lZDtgYGBcbiAqIEByZXR1cm5zIHRoZSB2YWx1ZSB0cmFuc2Zvcm1lZFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXVOdW1iZXJBdHRyaWJ1dGUodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuXHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIG51bWJlckF0dHJpYnV0ZSh2YWx1ZSk7XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvY29lcmNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFjO0lBQ2hELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFjO0lBQy9DLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtib29sZWFuQXR0cmlidXRlLCBudW1iZXJBdHRyaWJ1dGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRyYW5zZm9ybXMgYSB2YWx1ZSAodHlwaWNhbGx5IGEgc3RyaW5nKSB0byBhIGJvb2xlYW4uXG4gKiBJbnRlbmRlZCB0byBiZSB1c2VkIGFzIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIG9mIGFuIGlucHV0LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBASW5wdXQoeyB0cmFuc2Zvcm06IGF1Qm9vbGVhbkF0dHJpYnV0ZSB9KSBzdGF0dXM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7YGBgXG4gKiBAcGFyYW0gdmFsdWUgLSBWYWx1ZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAqIEByZXR1cm5zIHRoZSB2YWx1ZSB0cmFuc2Zvcm1lZFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXVCb29sZWFuQXR0cmlidXRlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRyZXR1cm4gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSk7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhIHZhbHVlICh0eXBpY2FsbHkgYSBzdHJpbmcpIHRvIGEgbnVtYmVyLlxuICogSW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBhIHRyYW5zZm9ybSBmdW5jdGlvbiBvZiBhbiBpbnB1dC5cbiAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIGJlIHRyYW5zZm9ybWVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiAgYGBgQElucHV0KHsgdHJhbnNmb3JtOiBhdU51bWJlckF0dHJpYnV0ZSB9KSBpZDogbnVtYmVyIHwgdW5kZWZpbmVkO2BgYFxuICogQHJldHVybnMgdGhlIHZhbHVlIHRyYW5zZm9ybWVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdU51bWJlckF0dHJpYnV0ZSh2YWx1ZTogdW5rbm93bik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG5cdGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRyZXR1cm4gbnVtYmVyQXR0cmlidXRlKHZhbHVlKTtcbn1cbiJdfQ==
@@ -1,10 +1,6 @@
1
- import { DestroyRef, Directive, ElementRef, Input, inject } from '@angular/core';
1
+ import { DestroyRef, Directive, ElementRef, Injector, Input, afterNextRender, inject, runInInjectionContext } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export * from '@agnos-ui/core/utils/directive';
4
- // All calls of the directive in this class are done asynchronously (with await 0)
5
- // in order to avoid ExpressionChangedAfterItHasBeenCheckedError
6
- // or the corresponding issue with signals (https://github.com/angular/angular/issues/50320)
7
- // This is relevant especially if calling the directive changes variables used in a template.
8
4
  /**
9
5
  * Set up an agnos-ui directive as an angular host directive.
10
6
  *
@@ -13,47 +9,52 @@ export * from '@agnos-ui/core/utils/directive';
13
9
  * @returns the update function to change the directive or params
14
10
  */
15
11
  export const useDirectiveForHost = (directive, params) => {
12
+ const injector = inject(Injector);
16
13
  const ref = inject(ElementRef);
17
- let instance = directive?.(ref.nativeElement, params);
18
- async function destroyDirectiveInstance() {
14
+ let instance;
15
+ let plannedCallDirective = false;
16
+ const callDirective = () => {
17
+ if (plannedCallDirective || !directive) {
18
+ return;
19
+ }
20
+ plannedCallDirective = true;
21
+ runInInjectionContext(injector, () => {
22
+ afterNextRender(() => {
23
+ plannedCallDirective = false;
24
+ instance = directive?.(ref.nativeElement, params);
25
+ });
26
+ });
27
+ };
28
+ function destroyDirectiveInstance() {
19
29
  const oldInstance = instance;
20
30
  instance = undefined;
21
31
  directive = undefined;
22
- if (oldInstance?.destroy) {
23
- await 0;
24
- oldInstance.destroy?.();
25
- }
32
+ oldInstance?.destroy?.();
26
33
  }
27
34
  inject(DestroyRef).onDestroy(destroyDirectiveInstance);
28
- async function update(newDirective, newParams) {
35
+ function update(newDirective, newParams) {
29
36
  if (newDirective !== directive) {
30
37
  void destroyDirectiveInstance();
31
38
  directive = newDirective;
32
39
  params = newParams;
33
- if (newDirective) {
34
- await 0;
35
- // checks that the directive did not change while waiting:
36
- if (directive === newDirective && !instance) {
37
- instance = directive(ref.nativeElement, params);
38
- }
39
- }
40
+ callDirective();
40
41
  }
41
42
  else if (newParams != params) {
42
43
  params = newParams;
43
- await 0;
44
44
  instance?.update?.(params);
45
45
  }
46
46
  }
47
+ callDirective();
47
48
  return { update };
48
49
  };
49
50
  export class UseDirective {
50
51
  #useDirective = useDirectiveForHost();
51
52
  /** @inheritdoc */
52
53
  ngOnChanges() {
53
- void this.#useDirective.update(this.use, this.params);
54
+ this.#useDirective.update(this.use, this.params);
54
55
  }
55
56
  static { this.ɵfac = function UseDirective_Factory(t) { return new (t || UseDirective)(); }; }
56
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UseDirective, selectors: [["", "auUse", ""]], inputs: { use: ["auUse", "use"], params: ["auUseParams", "params"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
57
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UseDirective, selectors: [["", "auUse", ""]], inputs: { use: [i0.ɵɵInputFlags.None, "auUse", "use"], params: [i0.ɵɵInputFlags.None, "auUseParams", "params"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
57
58
  }
58
59
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UseDirective, [{
59
60
  type: Directive,
@@ -68,4 +69,4 @@ export class UseDirective {
68
69
  type: Input,
69
70
  args: ['auUseParams']
70
71
  }] }); })();
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFL0UsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxrRkFBa0Y7QUFDbEYsZ0VBQWdFO0FBQ2hFLDRGQUE0RjtBQUM1Riw2RkFBNkY7QUFFN0Y7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBSSxTQUErQixFQUFFLE1BQVUsRUFBRSxFQUFFO0lBQ3JGLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUvQixJQUFJLFFBQVEsR0FBRyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE1BQVcsQ0FBQyxDQUFDO0lBRTNELEtBQUssVUFBVSx3QkFBd0I7UUFDdEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQzdCLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixJQUFJLFdBQVcsRUFBRSxPQUFPLEVBQUU7WUFDekIsTUFBTSxDQUFDLENBQUM7WUFDUixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztTQUN4QjtJQUNGLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFdkQsS0FBSyxVQUFVLE1BQU0sQ0FBQyxZQUFrQyxFQUFFLFNBQWE7UUFDdEUsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQy9CLEtBQUssd0JBQXdCLEVBQUUsQ0FBQztZQUNoQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1lBQ3pCLE1BQU0sR0FBRyxTQUFTLENBQUM7WUFDbkIsSUFBSSxZQUFZLEVBQUU7Z0JBQ2pCLE1BQU0sQ0FBQyxDQUFDO2dCQUNSLDBEQUEwRDtnQkFDMUQsSUFBSSxTQUFTLEtBQUssWUFBWSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUM1QyxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsTUFBVyxDQUFDLENBQUM7aUJBQ3JEO2FBQ0Q7U0FDRDthQUFNLElBQUksU0FBUyxJQUFJLE1BQU0sRUFBRTtZQUMvQixNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxDQUFDO1lBQ1IsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQVcsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0YsQ0FBQztJQUVELE9BQU8sRUFBQyxNQUFNLEVBQUMsQ0FBQztBQUNqQixDQUFDLENBQUM7QUFNRixNQUFNLE9BQU8sWUFBWTtJQU94QixhQUFhLEdBQUcsbUJBQW1CLEVBQUssQ0FBQztJQUV6QyxrQkFBa0I7SUFDbEIsV0FBVztRQUNWLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs2RUFaVyxZQUFZO29FQUFaLFlBQVk7O2lGQUFaLFlBQVk7Y0FKeEIsU0FBUztlQUFDO2dCQUNWLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixRQUFRLEVBQUUsU0FBUzthQUNuQjtnQkFHQSxHQUFHO2tCQURGLEtBQUs7bUJBQUMsT0FBTztZQUlkLE1BQU07a0JBREwsS0FBSzttQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0RpcmVjdGl2ZSBhcyBBZ25vc1VJRGlyZWN0aXZlfSBmcm9tICdAYWdub3MtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7T25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0ICogZnJvbSAnQGFnbm9zLXVpL2NvcmUvdXRpbHMvZGlyZWN0aXZlJztcblxuLy8gQWxsIGNhbGxzIG9mIHRoZSBkaXJlY3RpdmUgaW4gdGhpcyBjbGFzcyBhcmUgZG9uZSBhc3luY2hyb25vdXNseSAod2l0aCBhd2FpdCAwKVxuLy8gaW4gb3JkZXIgdG8gYXZvaWQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuLy8gb3IgdGhlIGNvcnJlc3BvbmRpbmcgaXNzdWUgd2l0aCBzaWduYWxzIChodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy81MDMyMClcbi8vIFRoaXMgaXMgcmVsZXZhbnQgZXNwZWNpYWxseSBpZiBjYWxsaW5nIHRoZSBkaXJlY3RpdmUgY2hhbmdlcyB2YXJpYWJsZXMgdXNlZCBpbiBhIHRlbXBsYXRlLlxuXG4vKipcbiAqIFNldCB1cCBhbiBhZ25vcy11aSBkaXJlY3RpdmUgYXMgYW4gYW5ndWxhciBob3N0IGRpcmVjdGl2ZS5cbiAqXG4gKiBAcGFyYW0gZGlyZWN0aXZlIC0gdGhlIGRpcmVjdGl2ZVxuICogQHBhcmFtIHBhcmFtcyAtIHRoZSBwYXJhbXMgdG8gcGFzcyB0byB0aGUgZGlyZWN0aXZlXG4gKiBAcmV0dXJucyB0aGUgdXBkYXRlIGZ1bmN0aW9uIHRvIGNoYW5nZSB0aGUgZGlyZWN0aXZlIG9yIHBhcmFtc1xuICovXG5leHBvcnQgY29uc3QgdXNlRGlyZWN0aXZlRm9ySG9zdCA9IDxUPihkaXJlY3RpdmU/OiBBZ25vc1VJRGlyZWN0aXZlPFQ+LCBwYXJhbXM/OiBUKSA9PiB7XG5cdGNvbnN0IHJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuXHRsZXQgaW5zdGFuY2UgPSBkaXJlY3RpdmU/LihyZWYubmF0aXZlRWxlbWVudCwgcGFyYW1zIGFzIFQpO1xuXG5cdGFzeW5jIGZ1bmN0aW9uIGRlc3Ryb3lEaXJlY3RpdmVJbnN0YW5jZSgpIHtcblx0XHRjb25zdCBvbGRJbnN0YW5jZSA9IGluc3RhbmNlO1xuXHRcdGluc3RhbmNlID0gdW5kZWZpbmVkO1xuXHRcdGRpcmVjdGl2ZSA9IHVuZGVmaW5lZDtcblx0XHRpZiAob2xkSW5zdGFuY2U/LmRlc3Ryb3kpIHtcblx0XHRcdGF3YWl0IDA7XG5cdFx0XHRvbGRJbnN0YW5jZS5kZXN0cm95Py4oKTtcblx0XHR9XG5cdH1cblxuXHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KGRlc3Ryb3lEaXJlY3RpdmVJbnN0YW5jZSk7XG5cblx0YXN5bmMgZnVuY3Rpb24gdXBkYXRlKG5ld0RpcmVjdGl2ZT86IEFnbm9zVUlEaXJlY3RpdmU8VD4sIG5ld1BhcmFtcz86IFQpIHtcblx0XHRpZiAobmV3RGlyZWN0aXZlICE9PSBkaXJlY3RpdmUpIHtcblx0XHRcdHZvaWQgZGVzdHJveURpcmVjdGl2ZUluc3RhbmNlKCk7XG5cdFx0XHRkaXJlY3RpdmUgPSBuZXdEaXJlY3RpdmU7XG5cdFx0XHRwYXJhbXMgPSBuZXdQYXJhbXM7XG5cdFx0XHRpZiAobmV3RGlyZWN0aXZlKSB7XG5cdFx0XHRcdGF3YWl0IDA7XG5cdFx0XHRcdC8vIGNoZWNrcyB0aGF0IHRoZSBkaXJlY3RpdmUgZGlkIG5vdCBjaGFuZ2Ugd2hpbGUgd2FpdGluZzpcblx0XHRcdFx0aWYgKGRpcmVjdGl2ZSA9PT0gbmV3RGlyZWN0aXZlICYmICFpbnN0YW5jZSkge1xuXHRcdFx0XHRcdGluc3RhbmNlID0gZGlyZWN0aXZlKHJlZi5uYXRpdmVFbGVtZW50LCBwYXJhbXMgYXMgVCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKG5ld1BhcmFtcyAhPSBwYXJhbXMpIHtcblx0XHRcdHBhcmFtcyA9IG5ld1BhcmFtcztcblx0XHRcdGF3YWl0IDA7XG5cdFx0XHRpbnN0YW5jZT8udXBkYXRlPy4ocGFyYW1zIGFzIFQpO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiB7dXBkYXRlfTtcbn07XG5cbkBEaXJlY3RpdmUoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzZWxlY3RvcjogJ1thdVVzZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXHRASW5wdXQoJ2F1VXNlJylcblx0dXNlOiBBZ25vc1VJRGlyZWN0aXZlPFQ+IHwgdW5kZWZpbmVkO1xuXG5cdEBJbnB1dCgnYXVVc2VQYXJhbXMnKVxuXHRwYXJhbXM6IFQgfCB1bmRlZmluZWQ7XG5cblx0I3VzZURpcmVjdGl2ZSA9IHVzZURpcmVjdGl2ZUZvckhvc3Q8VD4oKTtcblxuXHQvKiogQGluaGVyaXRkb2MgKi9cblx0bmdPbkNoYW5nZXMoKSB7XG5cdFx0dm9pZCB0aGlzLiN1c2VEaXJlY3RpdmUudXBkYXRlKHRoaXMudXNlLCB0aGlzLnBhcmFtcyk7XG5cdH1cbn1cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUVqSSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUksU0FBK0IsRUFBRSxNQUFVLEVBQUUsRUFBRTtJQUNyRixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9CLElBQUksUUFBcUQsQ0FBQztJQUMxRCxJQUFJLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUVqQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7UUFDMUIsSUFBSSxvQkFBb0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLE9BQU87UUFDUixDQUFDO1FBQ0Qsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQzVCLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDcEMsZUFBZSxDQUFDLEdBQUcsRUFBRTtnQkFDcEIsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixRQUFRLEdBQUcsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxNQUFXLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsU0FBUyx3QkFBd0I7UUFDaEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQzdCLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRXZELFNBQVMsTUFBTSxDQUFDLFlBQWtDLEVBQUUsU0FBYTtRQUNoRSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxLQUFLLHdCQUF3QixFQUFFLENBQUM7WUFDaEMsU0FBUyxHQUFHLFlBQVksQ0FBQztZQUN6QixNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ25CLGFBQWEsRUFBRSxDQUFDO1FBQ2pCLENBQUM7YUFBTSxJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNoQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ25CLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFXLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0YsQ0FBQztJQUVELGFBQWEsRUFBRSxDQUFDO0lBQ2hCLE9BQU8sRUFBQyxNQUFNLEVBQUMsQ0FBQztBQUNqQixDQUFDLENBQUM7QUFNRixNQUFNLE9BQU8sWUFBWTtJQU94QixhQUFhLEdBQUcsbUJBQW1CLEVBQUssQ0FBQztJQUV6QyxrQkFBa0I7SUFDbEIsV0FBVztRQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7NkVBWlcsWUFBWTtvRUFBWixZQUFZOztpRkFBWixZQUFZO2NBSnhCLFNBQVM7ZUFBQztnQkFDVixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsUUFBUSxFQUFFLFNBQVM7YUFDbkI7Z0JBR0EsR0FBRztrQkFERixLQUFLO21CQUFDLE9BQU87WUFJZCxNQUFNO2tCQURMLEtBQUs7bUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtEaXJlY3RpdmUgYXMgQWdub3NVSURpcmVjdGl2ZX0gZnJvbSAnQGFnbm9zLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHR5cGUge09uQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Rlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIElucHV0LCBhZnRlck5leHRSZW5kZXIsIGluamVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0ICogZnJvbSAnQGFnbm9zLXVpL2NvcmUvdXRpbHMvZGlyZWN0aXZlJztcblxuLyoqXG4gKiBTZXQgdXAgYW4gYWdub3MtdWkgZGlyZWN0aXZlIGFzIGFuIGFuZ3VsYXIgaG9zdCBkaXJlY3RpdmUuXG4gKlxuICogQHBhcmFtIGRpcmVjdGl2ZSAtIHRoZSBkaXJlY3RpdmVcbiAqIEBwYXJhbSBwYXJhbXMgLSB0aGUgcGFyYW1zIHRvIHBhc3MgdG8gdGhlIGRpcmVjdGl2ZVxuICogQHJldHVybnMgdGhlIHVwZGF0ZSBmdW5jdGlvbiB0byBjaGFuZ2UgdGhlIGRpcmVjdGl2ZSBvciBwYXJhbXNcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZURpcmVjdGl2ZUZvckhvc3QgPSA8VD4oZGlyZWN0aXZlPzogQWdub3NVSURpcmVjdGl2ZTxUPiwgcGFyYW1zPzogVCkgPT4ge1xuXHRjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cdGNvbnN0IHJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuXHRsZXQgaW5zdGFuY2U6IHVuZGVmaW5lZCB8IFJldHVyblR5cGU8QWdub3NVSURpcmVjdGl2ZTxUPj47XG5cdGxldCBwbGFubmVkQ2FsbERpcmVjdGl2ZSA9IGZhbHNlO1xuXG5cdGNvbnN0IGNhbGxEaXJlY3RpdmUgPSAoKSA9PiB7XG5cdFx0aWYgKHBsYW5uZWRDYWxsRGlyZWN0aXZlIHx8ICFkaXJlY3RpdmUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0cGxhbm5lZENhbGxEaXJlY3RpdmUgPSB0cnVlO1xuXHRcdHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuXHRcdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdFx0cGxhbm5lZENhbGxEaXJlY3RpdmUgPSBmYWxzZTtcblx0XHRcdFx0aW5zdGFuY2UgPSBkaXJlY3RpdmU/LihyZWYubmF0aXZlRWxlbWVudCwgcGFyYW1zIGFzIFQpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH07XG5cblx0ZnVuY3Rpb24gZGVzdHJveURpcmVjdGl2ZUluc3RhbmNlKCkge1xuXHRcdGNvbnN0IG9sZEluc3RhbmNlID0gaW5zdGFuY2U7XG5cdFx0aW5zdGFuY2UgPSB1bmRlZmluZWQ7XG5cdFx0ZGlyZWN0aXZlID0gdW5kZWZpbmVkO1xuXHRcdG9sZEluc3RhbmNlPy5kZXN0cm95Py4oKTtcblx0fVxuXG5cdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koZGVzdHJveURpcmVjdGl2ZUluc3RhbmNlKTtcblxuXHRmdW5jdGlvbiB1cGRhdGUobmV3RGlyZWN0aXZlPzogQWdub3NVSURpcmVjdGl2ZTxUPiwgbmV3UGFyYW1zPzogVCkge1xuXHRcdGlmIChuZXdEaXJlY3RpdmUgIT09IGRpcmVjdGl2ZSkge1xuXHRcdFx0dm9pZCBkZXN0cm95RGlyZWN0aXZlSW5zdGFuY2UoKTtcblx0XHRcdGRpcmVjdGl2ZSA9IG5ld0RpcmVjdGl2ZTtcblx0XHRcdHBhcmFtcyA9IG5ld1BhcmFtcztcblx0XHRcdGNhbGxEaXJlY3RpdmUoKTtcblx0XHR9IGVsc2UgaWYgKG5ld1BhcmFtcyAhPSBwYXJhbXMpIHtcblx0XHRcdHBhcmFtcyA9IG5ld1BhcmFtcztcblx0XHRcdGluc3RhbmNlPy51cGRhdGU/LihwYXJhbXMgYXMgVCk7XG5cdFx0fVxuXHR9XG5cblx0Y2FsbERpcmVjdGl2ZSgpO1xuXHRyZXR1cm4ge3VwZGF0ZX07XG59O1xuXG5ARGlyZWN0aXZlKHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdbYXVVc2VdJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblx0QElucHV0KCdhdVVzZScpXG5cdHVzZTogQWdub3NVSURpcmVjdGl2ZTxUPiB8IHVuZGVmaW5lZDtcblxuXHRASW5wdXQoJ2F1VXNlUGFyYW1zJylcblx0cGFyYW1zOiBUIHwgdW5kZWZpbmVkO1xuXG5cdCN1c2VEaXJlY3RpdmUgPSB1c2VEaXJlY3RpdmVGb3JIb3N0PFQ+KCk7XG5cblx0LyoqIEBpbmhlcml0ZG9jICovXG5cdG5nT25DaGFuZ2VzKCkge1xuXHRcdHRoaXMuI3VzZURpcmVjdGl2ZS51cGRhdGUodGhpcy51c2UsIHRoaXMucGFyYW1zKTtcblx0fVxufVxuIl19
@@ -128,4 +128,4 @@ export class BaseWidgetDirective {
128
128
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseWidgetDirective, [{
129
129
  type: Directive
130
130
  }], null, null); })();
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3dpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRixPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUNOLG1CQUFtQixHQU9uQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQUVuQyxNQUFNLGdCQUFnQixHQUFHLENBQW1CLEdBQWlDLEVBQUUsRUFBRTtJQUNoRixJQUFJLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDL0IsT0FBTyxDQUFDLE1BQVMsRUFBRSxFQUFFO1FBQ3BCLE1BQU0sUUFBUSxHQUFlLEVBQUUsQ0FBQztRQUNoQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUIsRUFBRTtZQUM5RCxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkMsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO2dCQUN0Qix5QkFBeUI7Z0JBQ3pCLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7YUFDMUI7WUFDRCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDakI7U0FDRDtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2QsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUNyQixHQUFHLENBQUMsUUFBUSxDQUFD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cHV0ZWQsIHdyaXRhYmxlLCB0eXBlIFJlYWRhYmxlU2lnbmFsfSBmcm9tICdAYW1hZGV1cy1pdC1ncm91cC90YW5zdSc7XG5pbXBvcnQgdHlwZSB7T25DaGFuZ2VzLCBPbkluaXQsIFNpZ25hbCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0b3IsIGluamVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdHRvU2xvdENvbnRleHRXaWRnZXQsXG5cdHR5cGUgQW5ndWxhcldpZGdldCxcblx0dHlwZSBDb250ZXh0V2lkZ2V0LFxuXHR0eXBlIFdpZGdldCxcblx0dHlwZSBXaWRnZXRGYWN0b3J5LFxuXHR0eXBlIFdpZGdldFByb3BzLFxuXHR0eXBlIFdpZGdldFN0YXRlLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge3RvQW5ndWxhclNpZ25hbCwgdG9SZWFkYWJsZVN0b3JlfSBmcm9tICcuL3N0b3Jlcyc7XG5pbXBvcnQge1pvbmVXcmFwcGVyfSBmcm9tICcuL3pvbmUnO1xuXG5jb25zdCBjcmVhdGVQYXRjaFNsb3RzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNldDogKG9iamVjdDogUGFydGlhbDxUPikgPT4gdm9pZCkgPT4ge1xuXHRsZXQgbGFzdFZhbHVlOiBQYXJ0aWFsPFQ+ID0ge307XG5cdHJldHVybiAob2JqZWN0OiBUKSA9PiB7XG5cdFx0Y29uc3QgbmV3VmFsdWU6IFBhcnRpYWw8VD4gPSB7fTtcblx0XHRsZXQgaGFzQ2hhbmdlID0gZmFsc2U7XG5cdFx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqZWN0KSBhcyAoc3RyaW5nICYga2V5b2YgVClbXSkge1xuXHRcdFx0Y29uc3Qgb2JqZWN0S2V5ID0gKG9iamVjdCBhcyBhbnkpW2tleV07XG5cdFx0XHRpZiAob2JqZWN0S2V5ICE9IG51bGwpIHtcblx0XHRcdFx0Ly8gb25seSB1c2UgZGVmaW5lZCBzbG90c1xuXHRcdFx0XHRuZXdWYWx1ZVtrZXldID0gb2JqZWN0S2V5O1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9iamVjdEtleSAhPSBsYXN0VmFsdWVba2V5XSkge1xuXHRcdFx0XHRoYXNDaGFuZ2UgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoaGFzQ2hhbmdlKSB7XG5cdFx0XHRsYXN0VmFsdWUgPSBuZXdWYWx1ZTtcblx0XHRcdHNldChuZXdWYWx1ZSk7XG5cdFx0fVxuXHR9O1xufTtcblxuLyoqXG4gKiBDYWxsIGEgd2lkZ2V0IGZhY3RvcnkgdXNpbmcgcHJvdmlkZWQgY29uZmlncy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1ldGVyIC0gdGhlIHBhcmFtZXRlclxuICogQHBhcmFtIHBhcmFtZXRlci5mYWN0b3J5IC0gdGhlIHdpZGdldCBmYWN0b3J5IHRvIGNhbGxcbiAqIEBwYXJhbSBwYXJhbWV0ZXIuZGVmYXVsdENvbmZpZyAtIHRoZSBkZWZhdWx0IGNvbmZpZyBvZiB0aGUgd2lkZ2V0XG4gKiBAcGFyYW0gcGFyYW1ldGVyLndpZGdldENvbmZpZyAtIHRoZSBjb25maWcgb2YgdGhlIHdpZGdldCwgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdENvbmZpZ1xuICogQHBhcmFtIHBhcmFtZXRlci5ldmVudHMgLSB0aGUgZXZlbnRzIG9mIHRoZSB3aWRnZXRcbiAqIEBwYXJhbSBwYXJhbWV0ZXIuYWZ0ZXJJbml0IC0gYSBjYWxsYmFjayB0byBjYWxsIGFmdGVyIHN1Y2Nlc3NmdWwgc2V0dXAgb2YgdGhlIHdpZGdldFxuICogQHJldHVybnMgdGhlIHdpZGdldFxuICovXG5leHBvcnQgY29uc3QgY2FsbFdpZGdldEZhY3RvcnlXaXRoQ29uZmlnID0gPFcgZXh0ZW5kcyBXaWRnZXQ+KHtcblx0ZmFjdG9yeSxcblx0ZGVmYXVsdENvbmZpZyxcblx0d2lkZ2V0Q29uZmlnLFxuXHRldmVudHMsXG5cdGFmdGVySW5pdCxcbn06IHtcblx0ZmFjdG9yeTogV2lkZ2V0RmFjdG9yeTxXPjtcblx0ZGVmYXVsdENvbmZpZz86IFBhcnRpYWw8V2lkZ2V0UHJvcHM8Vz4+IHwgUmVhZGFibGVTaWduYWw8UGFydGlhbDxXaWRnZXRQcm9wczxXPj4gfCB1bmRlZmluZWQ+O1xuXHR3aWRnZXRDb25maWc/OiBudWxsIHwgdW5kZWZpbmVkIHwgUmVhZGFibGVTaWduYWw8UGFydGlhbDxXaWRnZXRQcm9wczxXPj4gfCB1bmRlZmluZWQ+O1xuXHRldmVudHM6IFBpY2s8V2lkZ2V0UHJvcHM8Vz4sIGtleW9mIFdpZGdldFByb3BzPFc+ICYgYG9uJHtzdHJpbmd9YD47XG5cdGFmdGVySW5pdD86ICgpID0+IHZvaWQ7XG59KTogQW5ndWxhcldpZGdldDxXPiA9PiB7XG5cdGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblx0Y29uc3Qgc2xvdHMkID0gd3JpdGFibGUoe30pO1xuXHRjb25zdCBwcm9wcyA9IHt9O1xuXHRsZXQgaW5pdERvbmU6ICgpID0+IHZvaWQ7XG5cdGNvbnN0IHJlcyA9IHtcblx0XHRpbml0aWFsaXplZDogbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdGluaXREb25lID0gcmVzb2x2ZTtcblx0XHR9KSxcblx0XHRwYXRjaFNsb3RzOiBjcmVhdGVQYXRjaFNsb3RzKHNsb3RzJC5zZXQpLFxuXHRcdHBhdGNoKG5ld1Byb3BzKSB7XG5cdFx0XHQvLyB0ZW1wb3JhcnkgZnVuY3Rpb24gcmVwbGFjZWQgaW4gbmdJbml0XG5cdFx0XHRPYmplY3QuYXNzaWduKHByb3BzLCBuZXdQcm9wcyk7XG5cdFx0fSxcblx0XHRuZ0luaXQoKSB7XG5cdFx0XHRydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRcdFx0Y29uc3Qgem9uZVdyYXBwZXIgPSBpbmplY3QoWm9uZVdyYXBwZXIpO1xuXHRcdFx0XHRmYWN0b3J5ID0gem9uZVdyYXBwZXIub3V0c2lkZU5nWm9uZShmYWN0b3J5KTtcblx0XHRcdFx0Y29uc3QgZGVmYXVsdENvbmZpZyQgPSB0b1JlYWRhYmxlU3RvcmUoZGVmYXVsdENvbmZpZyk7XG5cdFx0XHRcdGV2ZW50cyA9IHpvbmVXcmFwcGVyLmluc2lkZU5nWm9uZVdyYXBGdW5jdGlvbnNPYmplY3QoZXZlbnRzKTtcblx0XHRcdFx0Y29uc3Qgd2lkZ2V0ID0gZmFjdG9yeSh7XG5cdFx0XHRcdFx0Y29uZmlnOiBjb21wdXRlZCgoKSA9PiAoey4uLmRlZmF1bHRDb25maWckKCksIC4uLndpZGdldENvbmZpZz8uKCksIC4uLnNsb3RzJCgpLCAuLi4oZXZlbnRzIGFzIFBhcnRpYWw8V2lkZ2V0UHJvcHM8Vz4+KX0pKSxcblx0XHRcdFx0XHRwcm9wcyxcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGNvbnN0IHdyYXBwZWRXaWRnZXQ6IFcgPSB7XG5cdFx0XHRcdFx0Li4ud2lkZ2V0LFxuXHRcdFx0XHRcdHBhdGNoOiB6b25lV3JhcHBlci5vdXRzaWRlTmdab25lKHdpZGdldC5wYXRjaCksXG5cdFx0XHRcdFx0ZGlyZWN0aXZlczogem9uZVdyYXBwZXIub3V0c2lkZU5nWm9uZVdyYXBEaXJlY3RpdmVzT2JqZWN0KHdpZGdldC5kaXJlY3RpdmVzKSxcblx0XHRcdFx0XHRhY3Rpb25zOiB6b25lV3JhcHBlci5vdXRzaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdCh3aWRnZXQuYWN0aW9ucyksXG5cdFx0XHRcdFx0YXBpOiB6b25lV3JhcHBlci5vdXRzaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdCh3aWRnZXQuYXBpKSxcblx0XHRcdFx0fTtcblx0XHRcdFx0T2JqZWN0LmFzc2lnbihyZXMsIHdyYXBwZWRXaWRnZXQsIHtcblx0XHRcdFx0XHR3aWRnZXQ6IHRvU2xvdENvbnRleHRXaWRnZXQod3JhcHBlZFdpZGdldCksXG5cdFx0XHRcdFx0bmdTdGF0ZTogdG9Bbmd1bGFyU2lnbmFsKHdyYXBwZWRXaWRnZXQuc3RhdGUkIGFzIFJlYWRhYmxlU2lnbmFsPFdpZGdldFN0YXRlPFc+PiksXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRhZnRlckluaXQ/LigpO1xuXHRcdFx0XHRpbml0RG9uZSgpO1xuXHRcdFx0fSk7XG5cdFx0fSxcblx0fSBhcyBBbmd1bGFyV2lkZ2V0PFc+O1xuXG5cdHJldHVybiByZXM7XG59O1xuXG5mdW5jdGlvbiBwYXRjaFNpbXBsZUNoYW5nZXMocGF0Y2hGbjogKG9iajogYW55KSA9PiB2b2lkLCBjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cdGNvbnN0IG9iajogYW55ID0ge307XG5cdGZvciAoY29uc3QgW2tleSwgc2ltcGxlQ2hhbmdlXSBvZiBPYmplY3QuZW50cmllcyhjaGFuZ2VzKSkge1xuXHRcdGlmIChzaW1wbGVDaGFuZ2UgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0b2JqW2tleV0gPSBzaW1wbGVDaGFuZ2UuY3VycmVudFZhbHVlO1xuXHRcdH1cblx0fVxuXHRwYXRjaEZuKG9iaik7XG59XG5cbi8qKlxuICogU3RvcmVzIHRoZSByZXN1bHQgb2YgdGhlIGZpcnN0IGNhbGwgdG8gdGhlIGdldHRlciBhbmQgcmV0dXJucyB0aGF0IHJlc3VsdCBkaXJlY3RseSBmb3Igc3Vic2VxdWVudCBjYWxsc1xuICpcbiAqIEFwcGxpZXMgdG86IGNsYXNzIGdldHRlcnNcbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gdGhlIHRhcmdldFxuICogQHBhcmFtIHByb3BlcnR5IC0gdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0gZGVzY3JpcHRvciAtIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yXG4gKi9cbmV4cG9ydCBjb25zdCBDYWNoZWRQcm9wZXJ0eSA9ICh0YXJnZXQ6IGFueSwgcHJvcGVydHk6IFByb3BlcnR5S2V5LCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpID0+IHtcblx0Y29uc3Qgb3JpZ2luYWxHZXQgPSBkZXNjcmlwdG9yLmdldDtcblx0ZGVzY3JpcHRvci5nZXQgPSBmdW5jdGlvbiAodGhpczogYW55KSB7XG5cdFx0Y29uc3QgdmFsdWUgPSBvcmlnaW5hbEdldD8uY2FsbCh0aGlzKTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHksIHt2YWx1ZSwgd3JpdGFibGU6IGZhbHNlfSk7XG5cdFx0cmV0dXJuIHZhbHVlO1xuXHR9O1xufTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVdpZGdldERpcmVjdGl2ZTxXIGV4dGVuZHMgV2lkZ2V0PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblx0cHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IF93aWRnZXQ6IEFuZ3VsYXJXaWRnZXQ8Vz47XG5cblx0Z2V0IGFwaSgpOiBXWydhcGknXSB7XG5cdFx0cmV0dXJuIHRoaXMuX3dpZGdldC5hcGk7XG5cdH1cblxuXHRnZXQgc3RhdGUoKTogU2lnbmFsPFdpZGdldFN0YXRlPFc+PiB7XG5cdFx0cmV0dXJuIHRoaXMuX3dpZGdldC5uZ1N0YXRlO1xuXHR9XG5cblx0Z2V0IHdpZGdldCgpOiBDb250ZXh0V2lkZ2V0PFc+IHtcblx0XHRyZXR1cm4gdGhpcy5fd2lkZ2V0LndpZGdldDtcblx0fVxuXG5cdC8qKiBAaW5oZXJpdGRvYyAqL1xuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0cGF0Y2hTaW1wbGVDaGFuZ2VzKHRoaXMuX3dpZGdldC5wYXRjaCwgY2hhbmdlcyk7XG5cdH1cblxuXHQvKiogQGluaGVyaXRkb2MgKi9cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5fd2lkZ2V0Lm5nSW5pdCgpO1xuXHR9XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3dpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRixPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUNOLG1CQUFtQixHQU9uQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQUVuQyxNQUFNLGdCQUFnQixHQUFHLENBQW1CLEdBQWlDLEVBQUUsRUFBRTtJQUNoRixJQUFJLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDL0IsT0FBTyxDQUFDLE1BQVMsRUFBRSxFQUFFO1FBQ3BCLE1BQU0sUUFBUSxHQUFlLEVBQUUsQ0FBQztRQUNoQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUIsRUFBRSxDQUFDO1lBQy9ELE1BQU0sU0FBUyxHQUFJLE1BQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QyxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkIseUJBQXlCO2dCQUN6QixRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDO1lBQzNCLENBQUM7WUFDRCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDO1FBQ0YsQ0FBQztRQUNELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZixTQUFTLEdBQUcs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bUI7O2lGQUFuQixtQkFBbUI7Y0FEeEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIHdyaXRhYmxlLCB0eXBlIFJlYWRhYmxlU2lnbmFsfSBmcm9tICdAYW1hZGV1cy1pdC1ncm91cC90YW5zdSc7XG5pbXBvcnQgdHlwZSB7T25DaGFuZ2VzLCBPbkluaXQsIFNpZ25hbCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0b3IsIGluamVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdHRvU2xvdENvbnRleHRXaWRnZXQsXG5cdHR5cGUgQW5ndWxhcldpZGdldCxcblx0dHlwZSBDb250ZXh0V2lkZ2V0LFxuXHR0eXBlIFdpZGdldCxcblx0dHlwZSBXaWRnZXRGYWN0b3J5LFxuXHR0eXBlIFdpZGdldFByb3BzLFxuXHR0eXBlIFdpZGdldFN0YXRlLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge3RvQW5ndWxhclNpZ25hbCwgdG9SZWFkYWJsZVN0b3JlfSBmcm9tICcuL3N0b3Jlcyc7XG5pbXBvcnQge1pvbmVXcmFwcGVyfSBmcm9tICcuL3pvbmUnO1xuXG5jb25zdCBjcmVhdGVQYXRjaFNsb3RzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNldDogKG9iamVjdDogUGFydGlhbDxUPikgPT4gdm9pZCkgPT4ge1xuXHRsZXQgbGFzdFZhbHVlOiBQYXJ0aWFsPFQ+ID0ge307XG5cdHJldHVybiAob2JqZWN0OiBUKSA9PiB7XG5cdFx0Y29uc3QgbmV3VmFsdWU6IFBhcnRpYWw8VD4gPSB7fTtcblx0XHRsZXQgaGFzQ2hhbmdlID0gZmFsc2U7XG5cdFx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqZWN0KSBhcyAoc3RyaW5nICYga2V5b2YgVClbXSkge1xuXHRcdFx0Y29uc3Qgb2JqZWN0S2V5ID0gKG9iamVjdCBhcyBhbnkpW2tleV07XG5cdFx0XHRpZiAob2JqZWN0S2V5ICE9IG51bGwpIHtcblx0XHRcdFx0Ly8gb25seSB1c2UgZGVmaW5lZCBzbG90c1xuXHRcdFx0XHRuZXdWYWx1ZVtrZXldID0gb2JqZWN0S2V5O1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9iamVjdEtleSAhPSBsYXN0VmFsdWVba2V5XSkge1xuXHRcdFx0XHRoYXNDaGFuZ2UgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoaGFzQ2hhbmdlKSB7XG5cdFx0XHRsYXN0VmFsdWUgPSBuZXdWYWx1ZTtcblx0XHRcdHNldChuZXdWYWx1ZSk7XG5cdFx0fVxuXHR9O1xufTtcblxuLyoqXG4gKiBDYWxsIGEgd2lkZ2V0IGZhY3RvcnkgdXNpbmcgcHJvdmlkZWQgY29uZmlncy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1ldGVyIC0gdGhlIHBhcmFtZXRlclxuICogQHBhcmFtIHBhcmFtZXRlci5mYWN0b3J5IC0gdGhlIHdpZGdldCBmYWN0b3J5IHRvIGNhbGxcbiAqIEBwYXJhbSBwYXJhbWV0ZXIuZGVmYXVsdENvbmZpZyAtIHRoZSBkZWZhdWx0IGNvbmZpZyBvZiB0aGUgd2lkZ2V0XG4gKiBAcGFyYW0gcGFyYW1ldGVyLndpZGdldENvbmZpZyAtIHRoZSBjb25maWcgb2YgdGhlIHdpZGdldCwgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdENvbmZpZ1xuICogQHBhcmFtIHBhcmFtZXRlci5ldmVudHMgLSB0aGUgZXZlbnRzIG9mIHRoZSB3aWRnZXRcbiAqIEBwYXJhbSBwYXJhbWV0ZXIuYWZ0ZXJJbml0IC0gYSBjYWxsYmFjayB0byBjYWxsIGFmdGVyIHN1Y2Nlc3NmdWwgc2V0dXAgb2YgdGhlIHdpZGdldFxuICogQHJldHVybnMgdGhlIHdpZGdldFxuICovXG5leHBvcnQgY29uc3QgY2FsbFdpZGdldEZhY3RvcnlXaXRoQ29uZmlnID0gPFcgZXh0ZW5kcyBXaWRnZXQ+KHtcblx0ZmFjdG9yeSxcblx0ZGVmYXVsdENvbmZpZyxcblx0d2lkZ2V0Q29uZmlnLFxuXHRldmVudHMsXG5cdGFmdGVySW5pdCxcbn06IHtcblx0ZmFjdG9yeTogV2lkZ2V0RmFjdG9yeTxXPjtcblx0ZGVmYXVsdENvbmZpZz86IFBhcnRpYWw8V2lkZ2V0UHJvcHM8Vz4+IHwgUmVhZGFibGVTaWduYWw8UGFydGlhbDxXaWRnZXRQcm9wczxXPj4gfCB1bmRlZmluZWQ+O1xuXHR3aWRnZXRDb25maWc/OiBudWxsIHwgdW5kZWZpbmVkIHwgUmVhZGFibGVTaWduYWw8UGFydGlhbDxXaWRnZXRQcm9wczxXPj4gfCB1bmRlZmluZWQ+O1xuXHRldmVudHM6IFBpY2s8V2lkZ2V0UHJvcHM8Vz4sIGtleW9mIFdpZGdldFByb3BzPFc+ICYgYG9uJHtzdHJpbmd9YD47XG5cdGFmdGVySW5pdD86ICgpID0+IHZvaWQ7XG59KTogQW5ndWxhcldpZGdldDxXPiA9PiB7XG5cdGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblx0Y29uc3Qgc2xvdHMkID0gd3JpdGFibGUoe30pO1xuXHRjb25zdCBwcm9wcyA9IHt9O1xuXHRsZXQgaW5pdERvbmU6ICgpID0+IHZvaWQ7XG5cdGNvbnN0IHJlcyA9IHtcblx0XHRpbml0aWFsaXplZDogbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdGluaXREb25lID0gcmVzb2x2ZTtcblx0XHR9KSxcblx0XHRwYXRjaFNsb3RzOiBjcmVhdGVQYXRjaFNsb3RzKHNsb3RzJC5zZXQpLFxuXHRcdHBhdGNoKG5ld1Byb3BzKSB7XG5cdFx0XHQvLyB0ZW1wb3JhcnkgZnVuY3Rpb24gcmVwbGFjZWQgaW4gbmdJbml0XG5cdFx0XHRPYmplY3QuYXNzaWduKHByb3BzLCBuZXdQcm9wcyk7XG5cdFx0fSxcblx0XHRuZ0luaXQoKSB7XG5cdFx0XHRydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRcdFx0Y29uc3Qgem9uZVdyYXBwZXIgPSBpbmplY3QoWm9uZVdyYXBwZXIpO1xuXHRcdFx0XHRmYWN0b3J5ID0gem9uZVdyYXBwZXIub3V0c2lkZU5nWm9uZShmYWN0b3J5KTtcblx0XHRcdFx0Y29uc3QgZGVmYXVsdENvbmZpZyQgPSB0b1JlYWRhYmxlU3RvcmUoZGVmYXVsdENvbmZpZyk7XG5cdFx0XHRcdGV2ZW50cyA9IHpvbmVXcmFwcGVyLmluc2lkZU5nWm9uZVdyYXBGdW5jdGlvbnNPYmplY3QoZXZlbnRzKTtcblx0XHRcdFx0Y29uc3Qgd2lkZ2V0ID0gZmFjdG9yeSh7XG5cdFx0XHRcdFx0Y29uZmlnOiBjb21wdXRlZCgoKSA9PiAoey4uLmRlZmF1bHRDb25maWckKCksIC4uLndpZGdldENvbmZpZz8uKCksIC4uLnNsb3RzJCgpLCAuLi4oZXZlbnRzIGFzIFBhcnRpYWw8V2lkZ2V0UHJvcHM8Vz4+KX0pKSxcblx0XHRcdFx0XHRwcm9wcyxcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGNvbnN0IHdyYXBwZWRXaWRnZXQ6IFcgPSB7XG5cdFx0XHRcdFx0Li4ud2lkZ2V0LFxuXHRcdFx0XHRcdHBhdGNoOiB6b25lV3JhcHBlci5vdXRzaWRlTmdab25lKHdpZGdldC5wYXRjaCksXG5cdFx0XHRcdFx0ZGlyZWN0aXZlczogem9uZVdyYXBwZXIub3V0c2lkZU5nWm9uZVdyYXBEaXJlY3RpdmVzT2JqZWN0KHdpZGdldC5kaXJlY3RpdmVzKSxcblx0XHRcdFx0XHRhY3Rpb25zOiB6b25lV3JhcHBlci5vdXRzaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdCh3aWRnZXQuYWN0aW9ucyksXG5cdFx0XHRcdFx0YXBpOiB6b25lV3JhcHBlci5vdXRzaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdCh3aWRnZXQuYXBpKSxcblx0XHRcdFx0fTtcblx0XHRcdFx0T2JqZWN0LmFzc2lnbihyZXMsIHdyYXBwZWRXaWRnZXQsIHtcblx0XHRcdFx0XHR3aWRnZXQ6IHRvU2xvdENvbnRleHRXaWRnZXQod3JhcHBlZFdpZGdldCksXG5cdFx0XHRcdFx0bmdTdGF0ZTogdG9Bbmd1bGFyU2lnbmFsKHdyYXBwZWRXaWRnZXQuc3RhdGUkIGFzIFJlYWRhYmxlU2lnbmFsPFdpZGdldFN0YXRlPFc+PiksXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRhZnRlckluaXQ/LigpO1xuXHRcdFx0XHRpbml0RG9uZSgpO1xuXHRcdFx0fSk7XG5cdFx0fSxcblx0fSBhcyBBbmd1bGFyV2lkZ2V0PFc+O1xuXG5cdHJldHVybiByZXM7XG59O1xuXG5mdW5jdGlvbiBwYXRjaFNpbXBsZUNoYW5nZXMocGF0Y2hGbjogKG9iajogYW55KSA9PiB2b2lkLCBjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cdGNvbnN0IG9iajogYW55ID0ge307XG5cdGZvciAoY29uc3QgW2tleSwgc2ltcGxlQ2hhbmdlXSBvZiBPYmplY3QuZW50cmllcyhjaGFuZ2VzKSkge1xuXHRcdGlmIChzaW1wbGVDaGFuZ2UgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0b2JqW2tleV0gPSBzaW1wbGVDaGFuZ2UuY3VycmVudFZhbHVlO1xuXHRcdH1cblx0fVxuXHRwYXRjaEZuKG9iaik7XG59XG5cbi8qKlxuICogU3RvcmVzIHRoZSByZXN1bHQgb2YgdGhlIGZpcnN0IGNhbGwgdG8gdGhlIGdldHRlciBhbmQgcmV0dXJucyB0aGF0IHJlc3VsdCBkaXJlY3RseSBmb3Igc3Vic2VxdWVudCBjYWxsc1xuICpcbiAqIEFwcGxpZXMgdG86IGNsYXNzIGdldHRlcnNcbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gdGhlIHRhcmdldFxuICogQHBhcmFtIHByb3BlcnR5IC0gdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0gZGVzY3JpcHRvciAtIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yXG4gKi9cbmV4cG9ydCBjb25zdCBDYWNoZWRQcm9wZXJ0eSA9ICh0YXJnZXQ6IGFueSwgcHJvcGVydHk6IFByb3BlcnR5S2V5LCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpID0+IHtcblx0Y29uc3Qgb3JpZ2luYWxHZXQgPSBkZXNjcmlwdG9yLmdldDtcblx0ZGVzY3JpcHRvci5nZXQgPSBmdW5jdGlvbiAodGhpczogYW55KSB7XG5cdFx0Y29uc3QgdmFsdWUgPSBvcmlnaW5hbEdldD8uY2FsbCh0aGlzKTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHksIHt2YWx1ZSwgd3JpdGFibGU6IGZhbHNlfSk7XG5cdFx0cmV0dXJuIHZhbHVlO1xuXHR9O1xufTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVdpZGdldERpcmVjdGl2ZTxXIGV4dGVuZHMgV2lkZ2V0PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblx0cHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IF93aWRnZXQ6IEFuZ3VsYXJXaWRnZXQ8Vz47XG5cblx0Z2V0IGFwaSgpOiBXWydhcGknXSB7XG5cdFx0cmV0dXJuIHRoaXMuX3dpZGdldC5hcGk7XG5cdH1cblxuXHRnZXQgc3RhdGUoKTogU2lnbmFsPFdpZGdldFN0YXRlPFc+PiB7XG5cdFx0cmV0dXJuIHRoaXMuX3dpZGdldC5uZ1N0YXRlO1xuXHR9XG5cblx0Z2V0IHdpZGdldCgpOiBDb250ZXh0V2lkZ2V0PFc+IHtcblx0XHRyZXR1cm4gdGhpcy5fd2lkZ2V0LndpZGdldDtcblx0fVxuXG5cdC8qKiBAaW5oZXJpdGRvYyAqL1xuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0cGF0Y2hTaW1wbGVDaGFuZ2VzKHRoaXMuX3dpZGdldC5wYXRjaCwgY2hhbmdlcyk7XG5cdH1cblxuXHQvKiogQGluaGVyaXRkb2MgKi9cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5fd2lkZ2V0Lm5nSW5pdCgpO1xuXHR9XG59XG4iXX0=
@@ -70,4 +70,4 @@ export class ZoneWrapper {
70
70
  providedIn: 'root',
71
71
  }]
72
72
  }], null, null); })();
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy96b25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFekQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sUUFBUSxHQUFHLENBQUksQ0FBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFJaEMsTUFBTSxtQkFBbUIsR0FDeEIsQ0FBQyxJQUFhLEVBQVcsRUFBRSxDQUMzQixDQUFDLE1BQU0sRUFBRSxFQUFFO0lBQ1YsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDMUMsT0FBTyxNQUFNLENBQUM7S0FDZDtJQUNELE1BQU0sR0FBRyxHQUFHLEVBQVMsQ0FBQztJQUN0QixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBRSxNQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUN0QztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ1osQ0FBQyxDQUFDO0FBRUgsTUFBTSx3QkFBd0IsR0FDN0IsQ0FBQyxlQUF3QixFQUFFLFVBQW1CLEVBQVcsRUFBRSxDQUMzRCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ04sVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUsxRyxNQUFNLE9BQU8sV0FBVztJQUh4QjtRQUlVLFVBQUss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IGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcbmNvbnN0IGlkZW50aXR5ID0gPFQ+KGE6IFQpID0+IGE7XG5cbnR5cGUgV3JhcHBlciA9IDxUPihmbjogVCkgPT4gVDtcblxuY29uc3QgY3JlYXRlT2JqZWN0V3JhcHBlciA9XG5cdCh3cmFwOiBXcmFwcGVyKTogV3JhcHBlciA9PlxuXHQob2JqZWN0KSA9PiB7XG5cdFx0aWYgKCFvYmplY3QgfHwgdHlwZW9mIG9iamVjdCAhPT0gJ29iamVjdCcpIHtcblx0XHRcdHJldHVybiBvYmplY3Q7XG5cdFx0fVxuXHRcdGNvbnN0IHJlcyA9IHt9IGFzIGFueTtcblx0XHRmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmplY3QpKSB7XG5cdFx0XHRyZXNba2V5XSA9IHdyYXAoKG9iamVjdCBhcyBhbnkpW2tleV0pO1xuXHRcdH1cblx0XHRyZXR1cm4gcmVzO1xuXHR9O1xuXG5jb25zdCBjcmVhdGVSZXR1cm5WYWx1ZVdyYXBwZXIgPVxuXHQod3JhcFJldHVyblZhbHVlOiBXcmFwcGVyLCB3cmFwUmVzdWx0OiBXcmFwcGVyKTogV3JhcHBlciA9PlxuXHQoZm4pID0+XG5cdFx0d3JhcFJlc3VsdCh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicgPyAoKCguLi5hcmdzOiBhbnlbXSkgPT4gd3JhcFJldHVyblZhbHVlKGZuKC4uLmFyZ3MpKSkgYXMgYW55KSA6IGZuKTtcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFpvbmVXcmFwcGVyIHtcblx0cmVhZG9ubHkgI3pvbmUgPSBpbmplY3QoTmdab25lKTtcblx0cmVhZG9ubHkgI2hhc1pvbmUgPSB0aGlzLiN6b25lLnJ1bigoKSA9PiBOZ1pvbmUuaXNJbkFuZ3VsYXJab25lKCkpOyAvLyBjaGVjayBpZiB6b25lIGlzIGVuYWJsZWQgKGNhbiBiZSBOb29wWm9uZSwgY2YgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL3pvbmUjbm9vcHpvbmUpXG5cdCNydW5OZWVkZWQgPSBmYWxzZTtcblx0I3J1blBsYW5uZWQgPSBmYWxzZTtcblxuXHRwbGFuTmdab25lUnVuID0gdGhpcy4jaGFzWm9uZVxuXHRcdD8gKCkgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy4jem9uZS5pc1N0YWJsZSkge1xuXHRcdFx0XHRcdHRoaXMuI3J1bk5lZWRlZCA9IHRydWU7XG5cdFx0XHRcdFx0aWYgKCF0aGlzLiNydW5QbGFubmVkKSB7XG5cdFx0XHRcdFx0XHR0aGlzLiNydW5QbGFubmVkID0gdHJ1ZTtcblx0XHRcdFx0XHRcdHZvaWQgKGFzeW5jICgpID0+IHtcblx0XHRcdFx0XHRcdFx0YXdhaXQgMDtcblx0XHRcdFx0XHRcdFx0dGhpcy4jcnVuUGxhbm5lZCA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy4jcnVuTmVlZGVkKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5uZ1pvbmVSdW4obm9vcCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0OiBub29wO1xuXG5cdC8qKlxuXHQgKiBSdW4gdGhlIGlucHV0IGZ1bmN0aW9uIHN5bmNocm9ub3VzbHkgd2l0aGluIHRoZSBBbmd1bGFyIHpvbmVcblx0ICpcblx0ICogQHBhcmFtIGZuIC0gYSBmdW5jdGlvbiB0byBydW5cblx0ICogQHJldHVybnMgdGhlIHZhbHVlIHJldHVybmVkIGJ5IHRoZSBmdW5jdGlvblxuXHQgKi9cblx0bmdab25lUnVuPFQ+KGZuOiAoKSA9PiBUKTogVCB7XG5cdFx0dGhpcy4jcnVuTmVlZGVkID0gZmFsc2U7XG5cdFx0cmV0dXJuIHRoaXMuI3pvbmUucnVuKGZuKTtcblx0fVxuXG5cdGluc2lkZU5nWm9uZTogV3JhcHBlciA9IHRoaXMuI2hhc1pvbmVcblx0XHQ/IChmbikgPT4gKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJyA/ICgoKC4uLmFyZ3M6IGFueVtdKSA9PiB0aGlzLm5nWm9uZVJ1bigoKSA9PiBmbiguLi5hcmdzKSkpIGFzIGFueSkgOiBmbilcblx0XHQ6IGlkZW50aXR5O1xuXHRpbnNpZGVOZ1pvbmVXcmFwRnVuY3Rpb25zT2JqZWN0ID0gY3JlYXRlT2JqZWN0V3JhcHBlcih0aGlzLmluc2lkZU5nWm9uZSk7XG5cblx0b3V0c2lkZU5nWm9uZTogV3JhcHBlciA9IHRoaXMuI2hhc1pvbmVcblx0XHQ/IChmbikgPT4gKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJyA/ICgoKC4uLmFyZ3M6IGFueVtdKSA9PiB0aGlzLiN6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGZuKC4uLmFyZ3MpKSkgYXMgYW55KSA6IGZuKVxuXHRcdDogaWRlbnRpdHk7XG5cblx0b3V0c2lkZU5nWm9uZVdyYXBGdW5jdGlvbnNPYmplY3QgPSBjcmVhdGVPYmplY3RXcmFwcGVyKHRoaXMub3V0c2lkZU5nWm9uZSk7XG5cdG91dHNpZGVOZ1pvbmVXcmFwRGlyZWN0aXZlID0gY3JlYXRlUmV0dXJuVmFsdWVXcmFwcGVyKHRoaXMub3V0c2lkZU5nWm9uZVdyYXBGdW5jdGlvbnNPYmplY3QsIHRoaXMub3V0c2lkZU5nWm9uZSk7XG5cdG91dHNpZGVOZ1pvbmVXcmFwRGlyZWN0aXZlc09iamVjdCA9IGNyZWF0ZU9iamVjdFdyYXBwZXIodGhpcy5vdXRzaWRlTmdab25lV3JhcERpcmVjdGl2ZSk7XG59XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy96b25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFekQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sUUFBUSxHQUFHLENBQUksQ0FBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFJaEMsTUFBTSxtQkFBbUIsR0FDeEIsQ0FBQyxJQUFhLEVBQVcsRUFBRSxDQUMzQixDQUFDLE1BQU0sRUFBRSxFQUFFO0lBQ1YsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxFQUFTLENBQUM7SUFDdEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBRSxNQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDWixDQUFDLENBQUM7QUFFSCxNQUFNLHdCQUF3QixHQUM3QixDQUFDLGVBQXdCLEVBQUUsVUFBbUIsRUFBVyxFQUFFLENBQzNELENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDTixVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBSzFHLE1BQU0sT0FBTyxXQUFXO0lBSHhCO1FBSVUsVUFBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixhQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyx3RkFBd0Y7UUFDNUosZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixrQkFBYSxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQzVCLENBQUMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztvQkFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7d0JBQ3hCLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRTs0QkFDaEIsTUFBTSxDQUFDLENBQUM7NEJBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7NEJBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dDQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUN0QixDQUFDO3dCQUNGLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ04sQ0FBQztnQkFDRixDQUFDO1lBQ0YsQ0FBQztZQUNGLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFhUixpQkFBWSxHQUFZLElBQUksQ0FBQyxRQUFRO1lBQ3BDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ1osb0NBQStCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXpFLGtCQUFhLEdBQVksSUFBSSxDQUFDLFFBQVE7WUFDckMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFILENBQUMsQ0FBQyxRQUFRLENBQUM7UUFFWixxQ0FBZ0MsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0UsK0JBQTBCLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqSCxzQ0FBaUMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztLQUN6RjtJQTlDUyxLQUFLLENBQWtCO0lBQ3ZCLFFBQVEsQ0FBa0QsQ0FBQyx3RkFBd0Y7SUFDNUosVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBUztJQW9CcEI7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUksRUFBVztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7NEVBakNXLFdBQVc7dUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlgsTUFBTTs7aUZBRU4sV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1gsVUFBVSxFQUFFLE1BQU07YUFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE5nWm9uZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuY29uc3QgaWRlbnRpdHkgPSA8VD4oYTogVCkgPT4gYTtcblxudHlwZSBXcmFwcGVyID0gPFQ+KGZuOiBUKSA9PiBUO1xuXG5jb25zdCBjcmVhdGVPYmplY3RXcmFwcGVyID1cblx0KHdyYXA6IFdyYXBwZXIpOiBXcmFwcGVyID0+XG5cdChvYmplY3QpID0+IHtcblx0XHRpZiAoIW9iamVjdCB8fCB0eXBlb2Ygb2JqZWN0ICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0cmV0dXJuIG9iamVjdDtcblx0XHR9XG5cdFx0Y29uc3QgcmVzID0ge30gYXMgYW55O1xuXHRcdGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iamVjdCkpIHtcblx0XHRcdHJlc1trZXldID0gd3JhcCgob2JqZWN0IGFzIGFueSlba2V5XSk7XG5cdFx0fVxuXHRcdHJldHVybiByZXM7XG5cdH07XG5cbmNvbnN0IGNyZWF0ZVJldHVyblZhbHVlV3JhcHBlciA9XG5cdCh3cmFwUmV0dXJuVmFsdWU6IFdyYXBwZXIsIHdyYXBSZXN1bHQ6IFdyYXBwZXIpOiBXcmFwcGVyID0+XG5cdChmbikgPT5cblx0XHR3cmFwUmVzdWx0KHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJyA/ICgoKC4uLmFyZ3M6IGFueVtdKSA9PiB3cmFwUmV0dXJuVmFsdWUoZm4oLi4uYXJncykpKSBhcyBhbnkpIDogZm4pO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgWm9uZVdyYXBwZXIge1xuXHRyZWFkb25seSAjem9uZSA9IGluamVjdChOZ1pvbmUpO1xuXHRyZWFkb25seSAjaGFzWm9uZSA9IHRoaXMuI3pvbmUucnVuKCgpID0+IE5nWm9uZS5pc0luQW5ndWxhclpvbmUoKSk7IC8vIGNoZWNrIGlmIHpvbmUgaXMgZW5hYmxlZCAoY2FuIGJlIE5vb3Bab25lLCBjZiBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvem9uZSNub29wem9uZSlcblx0I3J1bk5lZWRlZCA9IGZhbHNlO1xuXHQjcnVuUGxhbm5lZCA9IGZhbHNlO1xuXG5cdHBsYW5OZ1pvbmVSdW4gPSB0aGlzLiNoYXNab25lXG5cdFx0PyAoKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLiN6b25lLmlzU3RhYmxlKSB7XG5cdFx0XHRcdFx0dGhpcy4jcnVuTmVlZGVkID0gdHJ1ZTtcblx0XHRcdFx0XHRpZiAoIXRoaXMuI3J1blBsYW5uZWQpIHtcblx0XHRcdFx0XHRcdHRoaXMuI3J1blBsYW5uZWQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0dm9pZCAoYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRhd2FpdCAwO1xuXHRcdFx0XHRcdFx0XHR0aGlzLiNydW5QbGFubmVkID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLiNydW5OZWVkZWQpIHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLm5nWm9uZVJ1bihub29wKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSkoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQ6IG5vb3A7XG5cblx0LyoqXG5cdCAqIFJ1biB0aGUgaW5wdXQgZnVuY3Rpb24gc3luY2hyb25vdXNseSB3aXRoaW4gdGhlIEFuZ3VsYXIgem9uZVxuXHQgKlxuXHQgKiBAcGFyYW0gZm4gLSBhIGZ1bmN0aW9uIHRvIHJ1blxuXHQgKiBAcmV0dXJucyB0aGUgdmFsdWUgcmV0dXJuZWQgYnkgdGhlIGZ1bmN0aW9uXG5cdCAqL1xuXHRuZ1pvbmVSdW48VD4oZm46ICgpID0+IFQpOiBUIHtcblx0XHR0aGlzLiNydW5OZWVkZWQgPSBmYWxzZTtcblx0XHRyZXR1cm4gdGhpcy4jem9uZS5ydW4oZm4pO1xuXHR9XG5cblx0aW5zaWRlTmdab25lOiBXcmFwcGVyID0gdGhpcy4jaGFzWm9uZVxuXHRcdD8gKGZuKSA9PiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nID8gKCgoLi4uYXJnczogYW55W10pID0+IHRoaXMubmdab25lUnVuKCgpID0+IGZuKC4uLmFyZ3MpKSkgYXMgYW55KSA6IGZuKVxuXHRcdDogaWRlbnRpdHk7XG5cdGluc2lkZU5nWm9uZVdyYXBGdW5jdGlvbnNPYmplY3QgPSBjcmVhdGVPYmplY3RXcmFwcGVyKHRoaXMuaW5zaWRlTmdab25lKTtcblxuXHRvdXRzaWRlTmdab25lOiBXcmFwcGVyID0gdGhpcy4jaGFzWm9uZVxuXHRcdD8gKGZuKSA9PiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nID8gKCgoLi4uYXJnczogYW55W10pID0+IHRoaXMuI3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gZm4oLi4uYXJncykpKSBhcyBhbnkpIDogZm4pXG5cdFx0OiBpZGVudGl0eTtcblxuXHRvdXRzaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdCA9IGNyZWF0ZU9iamVjdFdyYXBwZXIodGhpcy5vdXRzaWRlTmdab25lKTtcblx0b3V0c2lkZU5nWm9uZVdyYXBEaXJlY3RpdmUgPSBjcmVhdGVSZXR1cm5WYWx1ZVdyYXBwZXIodGhpcy5vdXRzaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdCwgdGhpcy5vdXRzaWRlTmdab25lKTtcblx0b3V0c2lkZU5nWm9uZVdyYXBEaXJlY3RpdmVzT2JqZWN0ID0gY3JlYXRlT2JqZWN0V3JhcHBlcih0aGlzLm91dHNpZGVOZ1pvbmVXcmFwRGlyZWN0aXZlKTtcbn1cbiJdfQ==
@@ -27,7 +27,7 @@ export * from '@agnos-ui/core/services/transitions/bootstrap';
27
27
  export * from '@agnos-ui/core/services/transitions/baseTransitions';
28
28
  export * from '@agnos-ui/core/utils/writables';
29
29
  import * as i0 from '@angular/core';
30
- import { NgZone, inject, Injectable, signal, DestroyRef, ElementRef, Directive, Input, Injector, runInInjectionContext, SkipSelf, Optional, InjectionToken, booleanAttribute, numberAttribute, TemplateRef, EnvironmentInjector, createComponent, reflectComponentType, ViewContainerRef } from '@angular/core';
30
+ import { inject, NgZone, Injectable, signal, DestroyRef, Injector, ElementRef, runInInjectionContext, afterNextRender, Directive, Input, SkipSelf, Optional, InjectionToken, booleanAttribute, numberAttribute, TemplateRef, createComponent, EnvironmentInjector, reflectComponentType, ViewContainerRef } from '@angular/core';
31
31
  import { toReadableStore } from '@agnos-ui/core/utils/stores';
32
32
  export * from '@agnos-ui/core/utils/stores';
33
33
  export * from '@agnos-ui/core/utils/directive';
@@ -143,10 +143,6 @@ const toAngularSignal = (tansuSignal) => {
143
143
  return res;
144
144
  };
145
145
 
146
- // All calls of the directive in this class are done asynchronously (with await 0)
147
- // in order to avoid ExpressionChangedAfterItHasBeenCheckedError
148
- // or the corresponding issue with signals (https://github.com/angular/angular/issues/50320)
149
- // This is relevant especially if calling the directive changes variables used in a template.
150
146
  /**
151
147
  * Set up an agnos-ui directive as an angular host directive.
152
148
  *
@@ -155,47 +151,52 @@ const toAngularSignal = (tansuSignal) => {
155
151
  * @returns the update function to change the directive or params
156
152
  */
157
153
  const useDirectiveForHost = (directive, params) => {
154
+ const injector = inject(Injector);
158
155
  const ref = inject(ElementRef);
159
- let instance = directive?.(ref.nativeElement, params);
160
- async function destroyDirectiveInstance() {
156
+ let instance;
157
+ let plannedCallDirective = false;
158
+ const callDirective = () => {
159
+ if (plannedCallDirective || !directive) {
160
+ return;
161
+ }
162
+ plannedCallDirective = true;
163
+ runInInjectionContext(injector, () => {
164
+ afterNextRender(() => {
165
+ plannedCallDirective = false;
166
+ instance = directive?.(ref.nativeElement, params);
167
+ });
168
+ });
169
+ };
170
+ function destroyDirectiveInstance() {
161
171
  const oldInstance = instance;
162
172
  instance = undefined;
163
173
  directive = undefined;
164
- if (oldInstance?.destroy) {
165
- await 0;
166
- oldInstance.destroy?.();
167
- }
174
+ oldInstance?.destroy?.();
168
175
  }
169
176
  inject(DestroyRef).onDestroy(destroyDirectiveInstance);
170
- async function update(newDirective, newParams) {
177
+ function update(newDirective, newParams) {
171
178
  if (newDirective !== directive) {
172
179
  void destroyDirectiveInstance();
173
180
  directive = newDirective;
174
181
  params = newParams;
175
- if (newDirective) {
176
- await 0;
177
- // checks that the directive did not change while waiting:
178
- if (directive === newDirective && !instance) {
179
- instance = directive(ref.nativeElement, params);
180
- }
181
- }
182
+ callDirective();
182
183
  }
183
184
  else if (newParams != params) {
184
185
  params = newParams;
185
- await 0;
186
186
  instance?.update?.(params);
187
187
  }
188
188
  }
189
+ callDirective();
189
190
  return { update };
190
191
  };
191
192
  class UseDirective {
192
193
  #useDirective = useDirectiveForHost();
193
194
  /** @inheritdoc */
194
195
  ngOnChanges() {
195
- void this.#useDirective.update(this.use, this.params);
196
+ this.#useDirective.update(this.use, this.params);
196
197
  }
197
198
  static { this.ɵfac = function UseDirective_Factory(t) { return new (t || UseDirective)(); }; }
198
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UseDirective, selectors: [["", "auUse", ""]], inputs: { use: ["auUse", "use"], params: ["auUseParams", "params"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
199
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: UseDirective, selectors: [["", "auUse", ""]], inputs: { use: [i0.ɵɵInputFlags.None, "auUse", "use"], params: [i0.ɵɵInputFlags.None, "auUseParams", "params"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
199
200
  }
200
201
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UseDirective, [{
201
202
  type: Directive,
@@ -692,7 +693,7 @@ class SlotDirective {
692
693
  this._slotHandler = undefined;
693
694
  }
694
695
  static { this.ɵfac = function SlotDirective_Factory(t) { return new (t || SlotDirective)(); }; }
695
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SlotDirective, selectors: [["", "auSlot", ""]], inputs: { slot: ["auSlot", "slot"], props: ["auSlotProps", "props"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
696
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SlotDirective, selectors: [["", "auSlot", ""]], inputs: { slot: [i0.ɵɵInputFlags.None, "auSlot", "slot"], props: [i0.ɵɵInputFlags.None, "auSlotProps", "props"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
696
697
  }
697
698
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SlotDirective, [{
698
699
  type: Directive,
@@ -1 +1 @@
1
- {"version":3,"file":"agnos-ui-angular-headless.mjs","sources":["../../src/components/accordion/accordion.ts","../../src/components/alert/alert.ts","../../src/components/modal/modal.ts","../../src/components/pagination/pagination.ts","../../src/components/progressbar/progressbar.ts","../../src/components/rating/rating.ts","../../src/components/select/select.ts","../../src/utils/zone.ts","../../src/utils/stores.ts","../../src/utils/directive.ts","../../src/types.ts","../../src/utils/widget.ts","../../src/config.ts","../../src/utils/coercion.ts","../../src/slotDefault.directive.ts","../../src/slot.directive.ts","../../src/index.ts","../../src/agnos-ui-angular-headless.ts"],"sourcesContent":["import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, WidgetFactory} from '../../types';\nimport {createAccordion as coreCreateAccordion} from '@agnos-ui/core/components/accordion';\n\nexport * from '@agnos-ui/core/components/accordion';\n\nexport type AccordionWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/accordion').AccordionWidget>;\nexport type AccordionProps = WidgetProps<AccordionWidget>;\nexport type AccordionState = WidgetState<AccordionWidget>;\nexport type AccordionApi = AccordionWidget['api'];\nexport type AccordionItemWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/accordion').AccordionItemWidget>;\nexport type AccordionItemProps = WidgetProps<AccordionItemWidget>;\nexport type AccordionItemState = WidgetState<AccordionItemWidget>;\nexport type AccordionItemContext = AdaptSlotContentProps<import('@agnos-ui/core/components/accordion').AccordionItemContext>;\nexport const createAccordion: WidgetFactory<AccordionWidget> = coreCreateAccordion as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, WidgetFactory} from '../../types';\nimport {createAlert as coreCreateAlert} from '@agnos-ui/core/components/alert';\n\nexport * from '@agnos-ui/core/components/alert';\n\nexport type AlertWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/alert').AlertWidget>;\nexport type AlertProps = WidgetProps<AlertWidget>;\nexport type AlertState = WidgetState<AlertWidget>;\nexport type AlertContext = AdaptSlotContentProps<import('@agnos-ui/core/components/alert').AlertContext>;\nexport const createAlert: WidgetFactory<AlertWidget> = coreCreateAlert as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, PropsConfig} from '../../types';\nimport {createModal as coreCreateModal} from '@agnos-ui/core/components/modal';\n\nexport * from '@agnos-ui/core/components/modal';\n\nexport type ModalWidget<Data> = AdaptWidgetSlots<import('@agnos-ui/core/components/modal').ModalWidget<Data>>;\nexport type ModalProps<Data> = WidgetProps<ModalWidget<Data>>;\nexport type ModalState<Data> = WidgetState<ModalWidget<Data>>;\nexport type ModalContext<Data> = AdaptSlotContentProps<import('@agnos-ui/core/components/modal').ModalContext<Data>>;\nexport const createModal: <Data>(props?: PropsConfig<ModalProps<Data>>) => ModalWidget<Data> = coreCreateModal as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, WidgetFactory} from '../../types';\nimport {createPagination as coreCreatePagination} from '@agnos-ui/core/components/pagination';\n\nexport * from '@agnos-ui/core/components/pagination';\n\nexport type PaginationWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/pagination').PaginationWidget>;\nexport type PaginationProps = WidgetProps<PaginationWidget>;\nexport type PaginationState = WidgetState<PaginationWidget>;\nexport type PaginationContext = AdaptSlotContentProps<import('@agnos-ui/core/components/pagination').PaginationContext>;\nexport type PaginationNumberContext = AdaptSlotContentProps<import('@agnos-ui/core/components/pagination').PaginationNumberContext>;\nexport const createPagination: WidgetFactory<PaginationWidget> = coreCreatePagination as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, WidgetFactory} from '../../types';\nimport {createProgressbar as coreCreateProgressbar} from '@agnos-ui/core/components/progressbar';\n\nexport * from '@agnos-ui/core/components/progressbar';\n\nexport type ProgressbarWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/progressbar').ProgressbarWidget>;\nexport type ProgressbarProps = WidgetProps<ProgressbarWidget>;\nexport type ProgressbarState = WidgetState<ProgressbarWidget>;\nexport type ProgressbarContext = AdaptSlotContentProps<import('@agnos-ui/core/components/progressbar').ProgressbarContext>;\nexport const createProgressbar: WidgetFactory<ProgressbarWidget> = coreCreateProgressbar as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, WidgetFactory} from '../../types';\nimport {createRating as coreCreateRating} from '@agnos-ui/core/components/rating';\n\nexport * from '@agnos-ui/core/components/rating';\n\nexport type RatingWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/rating').RatingWidget>;\nexport type RatingProps = WidgetProps<RatingWidget>;\nexport type RatingState = WidgetState<RatingWidget>;\nexport const createRating: WidgetFactory<RatingWidget> = coreCreateRating as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, PropsConfig} from '../../types';\nimport {createSelect as coreCreateSelect} from '@agnos-ui/core/components/select';\n\nexport * from '@agnos-ui/core/components/select';\n\nexport type SelectWidget<Item> = AdaptWidgetSlots<import('@agnos-ui/core/components/select').SelectWidget<Item>>;\nexport type SelectProps<Item> = WidgetProps<SelectWidget<Item>>;\nexport type SelectState<Item> = WidgetState<SelectWidget<Item>>;\nexport type SelectContext<Item> = AdaptSlotContentProps<import('@agnos-ui/core/components/select').SelectContext<Item>>;\nexport type SelectItemContext<Item> = AdaptSlotContentProps<import('@agnos-ui/core/components/select').SelectItemContext<Item>>;\nexport const createSelect: <Item>(propsConfig?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item> = coreCreateSelect as any;\n","import {Injectable, NgZone, inject} from '@angular/core';\n\nconst noop = () => {};\nconst identity = <T>(a: T) => a;\n\ntype Wrapper = <T>(fn: T) => T;\n\nconst createObjectWrapper =\n\t(wrap: Wrapper): Wrapper =>\n\t(object) => {\n\t\tif (!object || typeof object !== 'object') {\n\t\t\treturn object;\n\t\t}\n\t\tconst res = {} as any;\n\t\tfor (const key of Object.keys(object)) {\n\t\t\tres[key] = wrap((object as any)[key]);\n\t\t}\n\t\treturn res;\n\t};\n\nconst createReturnValueWrapper =\n\t(wrapReturnValue: Wrapper, wrapResult: Wrapper): Wrapper =>\n\t(fn) =>\n\t\twrapResult(typeof fn === 'function' ? (((...args: any[]) => wrapReturnValue(fn(...args))) as any) : fn);\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ZoneWrapper {\n\treadonly #zone = inject(NgZone);\n\treadonly #hasZone = this.#zone.run(() => NgZone.isInAngularZone()); // check if zone is enabled (can be NoopZone, cf https://angular.io/guide/zone#noopzone)\n\t#runNeeded = false;\n\t#runPlanned = false;\n\n\tplanNgZoneRun = this.#hasZone\n\t\t? () => {\n\t\t\t\tif (this.#zone.isStable) {\n\t\t\t\t\tthis.#runNeeded = true;\n\t\t\t\t\tif (!this.#runPlanned) {\n\t\t\t\t\t\tthis.#runPlanned = true;\n\t\t\t\t\t\tvoid (async () => {\n\t\t\t\t\t\t\tawait 0;\n\t\t\t\t\t\t\tthis.#runPlanned = false;\n\t\t\t\t\t\t\tif (this.#runNeeded) {\n\t\t\t\t\t\t\t\tthis.ngZoneRun(noop);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t: noop;\n\n\t/**\n\t * Run the input function synchronously within the Angular zone\n\t *\n\t * @param fn - a function to run\n\t * @returns the value returned by the function\n\t */\n\tngZoneRun<T>(fn: () => T): T {\n\t\tthis.#runNeeded = false;\n\t\treturn this.#zone.run(fn);\n\t}\n\n\tinsideNgZone: Wrapper = this.#hasZone\n\t\t? (fn) => (typeof fn === 'function' ? (((...args: any[]) => this.ngZoneRun(() => fn(...args))) as any) : fn)\n\t\t: identity;\n\tinsideNgZoneWrapFunctionsObject = createObjectWrapper(this.insideNgZone);\n\n\toutsideNgZone: Wrapper = this.#hasZone\n\t\t? (fn) => (typeof fn === 'function' ? (((...args: any[]) => this.#zone.runOutsideAngular(() => fn(...args))) as any) : fn)\n\t\t: identity;\n\n\toutsideNgZoneWrapFunctionsObject = createObjectWrapper(this.outsideNgZone);\n\toutsideNgZoneWrapDirective = createReturnValueWrapper(this.outsideNgZoneWrapFunctionsObject, this.outsideNgZone);\n\toutsideNgZoneWrapDirectivesObject = createObjectWrapper(this.outsideNgZoneWrapDirective);\n}\n","import type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport type {Signal} from '@angular/core';\nimport {DestroyRef, inject, signal} from '@angular/core';\nimport {ZoneWrapper} from './zone';\n\nexport * from '@agnos-ui/core/utils/stores';\n\n/**\n * Convert a tansu readable signal into an Angular signal.\n *\n * @param tansuSignal - a tansu readable signal\n * @returns an angular signal\n *\n * @remarks\n * Note that as it uses Angular's `inject`, this can only be called at component construction time.\n */\nexport const toAngularSignal = <T>(tansuSignal: ReadableSignal<T>): Signal<T> => {\n\tconst zoneWrapper = inject(ZoneWrapper);\n\tconst res = signal(undefined as any as T);\n\tconst subscription = zoneWrapper.outsideNgZone(tansuSignal.subscribe)((value) => {\n\t\tres.set(value);\n\t\tzoneWrapper.planNgZoneRun();\n\t});\n\tinject(DestroyRef).onDestroy(zoneWrapper.outsideNgZone(subscription));\n\treturn res;\n};\n","import type {Directive as AgnosUIDirective} from '@agnos-ui/core/types';\nimport type {OnChanges} from '@angular/core';\nimport {DestroyRef, Directive, ElementRef, Input, inject} from '@angular/core';\n\nexport * from '@agnos-ui/core/utils/directive';\n\n// All calls of the directive in this class are done asynchronously (with await 0)\n// in order to avoid ExpressionChangedAfterItHasBeenCheckedError\n// or the corresponding issue with signals (https://github.com/angular/angular/issues/50320)\n// This is relevant especially if calling the directive changes variables used in a template.\n\n/**\n * Set up an agnos-ui directive as an angular host directive.\n *\n * @param directive - the directive\n * @param params - the params to pass to the directive\n * @returns the update function to change the directive or params\n */\nexport const useDirectiveForHost = <T>(directive?: AgnosUIDirective<T>, params?: T) => {\n\tconst ref = inject(ElementRef);\n\n\tlet instance = directive?.(ref.nativeElement, params as T);\n\n\tasync function destroyDirectiveInstance() {\n\t\tconst oldInstance = instance;\n\t\tinstance = undefined;\n\t\tdirective = undefined;\n\t\tif (oldInstance?.destroy) {\n\t\t\tawait 0;\n\t\t\toldInstance.destroy?.();\n\t\t}\n\t}\n\n\tinject(DestroyRef).onDestroy(destroyDirectiveInstance);\n\n\tasync function update(newDirective?: AgnosUIDirective<T>, newParams?: T) {\n\t\tif (newDirective !== directive) {\n\t\t\tvoid destroyDirectiveInstance();\n\t\t\tdirective = newDirective;\n\t\t\tparams = newParams;\n\t\t\tif (newDirective) {\n\t\t\t\tawait 0;\n\t\t\t\t// checks that the directive did not change while waiting:\n\t\t\t\tif (directive === newDirective && !instance) {\n\t\t\t\t\tinstance = directive(ref.nativeElement, params as T);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (newParams != params) {\n\t\t\tparams = newParams;\n\t\t\tawait 0;\n\t\t\tinstance?.update?.(params as T);\n\t\t}\n\t}\n\n\treturn {update};\n};\n\n@Directive({\n\tstandalone: true,\n\tselector: '[auUse]',\n})\nexport class UseDirective<T> implements OnChanges {\n\t@Input('auUse')\n\tuse: AgnosUIDirective<T> | undefined;\n\n\t@Input('auUseParams')\n\tparams: T | undefined;\n\n\t#useDirective = useDirectiveForHost<T>();\n\n\t/** @inheritdoc */\n\tngOnChanges() {\n\t\tvoid this.#useDirective.update(this.use, this.params);\n\t}\n}\n","import type {\n\tContextWidget,\n\tSlotContent as CoreSlotContent,\n\tWidget,\n\tWidgetFactory,\n\tWidgetProps,\n\tWidgetSlotContext,\n\tWidgetState,\n} from '@agnos-ui/core/types';\nimport type {Signal, TemplateRef, Type} from '@angular/core';\nimport {Directive, Input} from '@angular/core';\n\nexport * from '@agnos-ui/core/types';\n\nexport class ComponentTemplate<Props, K extends string, T extends {[key in K]: TemplateRef<Props>}> {\n\tconstructor(\n\t\tpublic readonly component: Type<T>,\n\t\tpublic readonly templateProp: K,\n\t) {}\n}\n\nexport type SlotContent<Props extends object = object> =\n\t| CoreSlotContent<Props>\n\t| TemplateRef<Props>\n\t| Type<unknown>\n\t| ComponentTemplate<Props, any, any>;\n\nexport type AdaptSlotContentProps<Props extends Record<string, any>> =\n\tProps extends WidgetSlotContext<infer U>\n\t\t? WidgetSlotContext<AdaptWidgetSlots<U>> & AdaptPropsSlots<Omit<Props, keyof WidgetSlotContext<any>>>\n\t\t: AdaptPropsSlots<Props>;\n\nexport type AdaptPropsSlots<Props> = Omit<Props, `slot${string}`> & {\n\t[K in keyof Props & `slot${string}`]: Props[K] extends CoreSlotContent<infer U> ? SlotContent<AdaptSlotContentProps<U>> : Props[K];\n};\n\nexport type AdaptWidgetFactories<T> = {\n\t[K in keyof T]: T[K] extends WidgetFactory<infer U> ? WidgetFactory<AdaptWidgetSlots<U>> : T[K];\n};\n\nexport type AdaptWidgetSlots<W extends Widget> = Widget<\n\tAdaptPropsSlots<WidgetProps<W>>,\n\tAdaptPropsSlots<WidgetState<W>>,\n\tAdaptWidgetFactories<W['api']>,\n\tW['actions'],\n\tW['directives']\n>;\n\n@Directive()\nexport abstract class SlotComponent<W extends Widget> {\n\t@Input()\n\tstate!: WidgetState<W>;\n\t@Input()\n\twidget!: ContextWidget<W>;\n}\n\nexport type AngularWidget<W extends Widget> = W & {\n\tinitialized: Promise<void>;\n\twidget: ContextWidget<W>;\n\tngState: Signal<WidgetState<W>>;\n\tngInit: () => void;\n\tpatchSlots(slots: {\n\t\t[K in keyof WidgetProps<W> & `slot${string}`]: WidgetProps<W>[K] extends SlotContent<infer U> ? TemplateRef<U> | undefined : never;\n\t}): void;\n};\n","import {computed, writable, type ReadableSignal} from '@amadeus-it-group/tansu';\nimport type {OnChanges, OnInit, Signal, SimpleChanges} from '@angular/core';\nimport {Directive, Injector, inject, runInInjectionContext} from '@angular/core';\nimport {\n\ttoSlotContextWidget,\n\ttype AngularWidget,\n\ttype ContextWidget,\n\ttype Widget,\n\ttype WidgetFactory,\n\ttype WidgetProps,\n\ttype WidgetState,\n} from '../types';\nimport {toAngularSignal, toReadableStore} from './stores';\nimport {ZoneWrapper} from './zone';\n\nconst createPatchSlots = <T extends object>(set: (object: Partial<T>) => void) => {\n\tlet lastValue: Partial<T> = {};\n\treturn (object: T) => {\n\t\tconst newValue: Partial<T> = {};\n\t\tlet hasChange = false;\n\t\tfor (const key of Object.keys(object) as (string & keyof T)[]) {\n\t\t\tconst objectKey = (object as any)[key];\n\t\t\tif (objectKey != null) {\n\t\t\t\t// only use defined slots\n\t\t\t\tnewValue[key] = objectKey;\n\t\t\t}\n\t\t\tif (objectKey != lastValue[key]) {\n\t\t\t\thasChange = true;\n\t\t\t}\n\t\t}\n\t\tif (hasChange) {\n\t\t\tlastValue = newValue;\n\t\t\tset(newValue);\n\t\t}\n\t};\n};\n\n/**\n * Call a widget factory using provided configs.\n *\n * @param parameter - the parameter\n * @param parameter.factory - the widget factory to call\n * @param parameter.defaultConfig - the default config of the widget\n * @param parameter.widgetConfig - the config of the widget, overriding the defaultConfig\n * @param parameter.events - the events of the widget\n * @param parameter.afterInit - a callback to call after successful setup of the widget\n * @returns the widget\n */\nexport const callWidgetFactoryWithConfig = <W extends Widget>({\n\tfactory,\n\tdefaultConfig,\n\twidgetConfig,\n\tevents,\n\tafterInit,\n}: {\n\tfactory: WidgetFactory<W>;\n\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\twidgetConfig?: null | undefined | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\tevents: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n\tafterInit?: () => void;\n}): AngularWidget<W> => {\n\tconst injector = inject(Injector);\n\tconst slots$ = writable({});\n\tconst props = {};\n\tlet initDone: () => void;\n\tconst res = {\n\t\tinitialized: new Promise((resolve) => {\n\t\t\tinitDone = resolve;\n\t\t}),\n\t\tpatchSlots: createPatchSlots(slots$.set),\n\t\tpatch(newProps) {\n\t\t\t// temporary function replaced in ngInit\n\t\t\tObject.assign(props, newProps);\n\t\t},\n\t\tngInit() {\n\t\t\trunInInjectionContext(injector, () => {\n\t\t\t\tconst zoneWrapper = inject(ZoneWrapper);\n\t\t\t\tfactory = zoneWrapper.outsideNgZone(factory);\n\t\t\t\tconst defaultConfig$ = toReadableStore(defaultConfig);\n\t\t\t\tevents = zoneWrapper.insideNgZoneWrapFunctionsObject(events);\n\t\t\t\tconst widget = factory({\n\t\t\t\t\tconfig: computed(() => ({...defaultConfig$(), ...widgetConfig?.(), ...slots$(), ...(events as Partial<WidgetProps<W>>)})),\n\t\t\t\t\tprops,\n\t\t\t\t});\n\t\t\t\tconst wrappedWidget: W = {\n\t\t\t\t\t...widget,\n\t\t\t\t\tpatch: zoneWrapper.outsideNgZone(widget.patch),\n\t\t\t\t\tdirectives: zoneWrapper.outsideNgZoneWrapDirectivesObject(widget.directives),\n\t\t\t\t\tactions: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.actions),\n\t\t\t\t\tapi: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.api),\n\t\t\t\t};\n\t\t\t\tObject.assign(res, wrappedWidget, {\n\t\t\t\t\twidget: toSlotContextWidget(wrappedWidget),\n\t\t\t\t\tngState: toAngularSignal(wrappedWidget.state$ as ReadableSignal<WidgetState<W>>),\n\t\t\t\t});\n\t\t\t\tafterInit?.();\n\t\t\t\tinitDone();\n\t\t\t});\n\t\t},\n\t} as AngularWidget<W>;\n\n\treturn res;\n};\n\nfunction patchSimpleChanges(patchFn: (obj: any) => void, changes: SimpleChanges) {\n\tconst obj: any = {};\n\tfor (const [key, simpleChange] of Object.entries(changes)) {\n\t\tif (simpleChange !== undefined) {\n\t\t\tobj[key] = simpleChange.currentValue;\n\t\t}\n\t}\n\tpatchFn(obj);\n}\n\n/**\n * Stores the result of the first call to the getter and returns that result directly for subsequent calls\n *\n * Applies to: class getters\n *\n * @param target - the target\n * @param property - the property\n * @param descriptor - the property descriptor\n */\nexport const CachedProperty = (target: any, property: PropertyKey, descriptor: PropertyDescriptor) => {\n\tconst originalGet = descriptor.get;\n\tdescriptor.get = function (this: any) {\n\t\tconst value = originalGet?.call(this);\n\t\tObject.defineProperty(this, property, {value, writable: false});\n\t\treturn value;\n\t};\n};\n\n@Directive()\nexport abstract class BaseWidgetDirective<W extends Widget> implements OnChanges, OnInit {\n\tprotected abstract readonly _widget: AngularWidget<W>;\n\n\tget api(): W['api'] {\n\t\treturn this._widget.api;\n\t}\n\n\tget state(): Signal<WidgetState<W>> {\n\t\treturn this._widget.ngState;\n\t}\n\n\tget widget(): ContextWidget<W> {\n\t\treturn this._widget.widget;\n\t}\n\n\t/** @inheritdoc */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tpatchSimpleChanges(this._widget.patch, changes);\n\t}\n\n\t/** @inheritdoc */\n\tngOnInit(): void {\n\t\tthis._widget.ngInit();\n\t}\n}\n","import type {Widget, WidgetFactory, WidgetProps} from '@agnos-ui/core/types';\nimport type {Partial2Levels, WidgetsConfigStore, WidgetsConfig as CoreWidgetsConfig} from '@agnos-ui/core/config';\nimport {createWidgetsConfig} from '@agnos-ui/core/config';\nimport type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport {computed} from '@amadeus-it-group/tansu';\nimport type {FactoryProvider} from '@angular/core';\nimport {InjectionToken, Injector, Optional, SkipSelf, inject, runInInjectionContext} from '@angular/core';\nimport type {AdaptPropsSlots, AngularWidget} from './types';\nimport {callWidgetFactoryWithConfig} from './utils/widget';\n\nexport * from '@agnos-ui/core/config';\n\nexport type WidgetsConfig = {\n\t[WidgetName in keyof CoreWidgetsConfig]: AdaptPropsSlots<CoreWidgetsConfig[WidgetName]>;\n};\ntype AdaptParentConfig<Config> = (config: Partial2Levels<Config>) => Partial2Levels<Config>;\n\n/**\n * A factory to create the utilities to allow widgets to be context-aware.\n *\n * It can be used when extending the core and creating new widgets.\n *\n * @param widgetsConfigInjectionToken - the widgets config injection token\n * @returns the utilities to create / manage widgets and contexts\n */\nexport const widgetsConfigFactory = <Config extends {[widgetName: string]: object} = WidgetsConfig>(\n\twidgetsConfigInjectionToken = new InjectionToken<WidgetsConfigStore<Config>>('widgetsConfig'),\n) => {\n\t/**\n\t * Creates a provider of widgets default configuration that inherits from any widgets default configuration already defined at an upper level\n\t * in the Angular dependency injection system. It contains its own set of widgets configuration properties that override the same properties form\n\t * the parent configuration.\n\t *\n\t * @remarks\n\t * The configuration is computed from the parent configuration in two steps:\n\t * - first step: the parent configuration is transformed by the adaptParentConfig function (if specified).\n\t * If adaptParentConfig is not specified, this step is skipped.\n\t * - second step: the configuration from step 1 is merged (2-levels deep) with the own$ store. The own$ store initially contains\n\t * an empty object (i.e. no property from the parent is overridden). It can be changed by calling set on the store returned by\n\t * {@link injectWidgetsConfig}.\n\t *\n\t * @param adaptParentConfig - optional function that receives a 2-levels copy of the widgets default configuration\n\t * defined at an upper level in the Angular dependency injection system (or an empty object if there is none) and returns the widgets\n\t * default configuration to be used.\n\t * It is called only if the configuration is needed, and was not yet computed for the current value of the parent configuration.\n\t * It is called in a tansu reactive context, so it can use any tansu store and will be called again if those stores change.\n\t * It is also called in an Angular injection context, so it can call the Angular inject function to get and use dependencies from the\n\t * Angular dependency injection system.\n\t *\n\t * @returns DI provider to be included a list of `providers` (for example at a component level or\n\t * any other level of the Angular dependency injection system)\n\t *\n\t * @example\n\t * ```typescript\n\t * @Component({\n\t * // ...\n\t * providers: [\n\t * provideWidgetsConfig((parentConfig) => {\n\t * // first step configuration: transforms the parent configuration\n\t * parentConfig.rating = parentConfig.rating ?? {};\n\t * parentConfig.rating.className = `${parentConfig.rating.className ?? ''} my-rating-extra-class`\n\t * return parentConfig;\n\t * })\n\t * ]\n\t * })\n\t * class MyComponent {\n\t * widgetsConfig = injectWidgetsConfig();\n\t * constructor() {\n\t * this.widgetsConfig.set({\n\t * // second step configuration: overrides the parent configuration\n\t * rating: {\n\t * slotStar: MyCustomSlotStar\n\t * }\n\t * });\n\t * }\n\t * // ...\n\t * }\n\t * ```\n\t */\n\tconst provideWidgetsConfig = (adaptParentConfig?: AdaptParentConfig<Config>): FactoryProvider => ({\n\t\tprovide: widgetsConfigInjectionToken,\n\t\tuseFactory: (parent: WidgetsConfigStore<Config> | null) => {\n\t\t\tif (adaptParentConfig) {\n\t\t\t\tconst injector = inject(Injector);\n\t\t\t\tconst originalAdaptParentConfig = adaptParentConfig;\n\t\t\t\tadaptParentConfig = (value) => runInInjectionContext(injector, () => originalAdaptParentConfig(value));\n\t\t\t}\n\t\t\treturn createWidgetsConfig(parent ?? undefined, adaptParentConfig);\n\t\t},\n\t\tdeps: [[new SkipSelf(), new Optional(), widgetsConfigInjectionToken]],\n\t});\n\n\t/**\n\t * Returns the widgets default configuration store that was provided in the current injection context.\n\t * Throws if the no widgets default configuration store was provided.\n\t *\n\t * @remarks\n\t * This function must be called from an injection context, such as a constructor, a factory function, a field initializer or\n\t * a function used with {@link https://angular.io/api/core/runInInjectionContext | runInInjectionContext}.\n\t *\n\t * @returns the widgets default configuration store.\n\t */\n\tconst injectWidgetsConfig = () => inject(widgetsConfigInjectionToken);\n\n\tconst injectWidgetConfig = <N extends keyof Config>(widgetName: N): ReadableSignal<Partial<Config[N]> | undefined> => {\n\t\tconst widgetsConfig = inject(widgetsConfigInjectionToken, {optional: true});\n\t\treturn computed(() => widgetsConfig?.()[widgetName]);\n\t};\n\n\tconst callWidgetFactory = <W extends Widget>({\n\t\tfactory,\n\t\twidgetName = null,\n\t\tdefaultConfig = {},\n\t\tevents,\n\t\tafterInit,\n\t}: {\n\t\tfactory: WidgetFactory<W>;\n\t\twidgetName?: null | keyof Config;\n\t\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\t\tevents: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n\t\tafterInit?: () => void;\n\t}): AngularWidget<W> =>\n\t\tcallWidgetFactoryWithConfig({\n\t\t\tfactory,\n\t\t\twidgetConfig: widgetName ? (injectWidgetConfig(widgetName) as any) : null,\n\t\t\tdefaultConfig,\n\t\t\tevents,\n\t\t\tafterInit,\n\t\t});\n\n\treturn {\n\t\t/**\n\t\t * Dependency Injection token which can be used to provide or inject the widgets default configuration store.\n\t\t */\n\t\twidgetsConfigInjectionToken,\n\t\tprovideWidgetsConfig,\n\t\tinjectWidgetsConfig,\n\t\tinjectWidgetConfig,\n\t\tcallWidgetFactory,\n\t};\n};\n\nexport const {widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory} =\n\twidgetsConfigFactory<WidgetsConfig>();\n","import {booleanAttribute, numberAttribute} from '@angular/core';\n\n/**\n * Transforms a value (typically a string) to a boolean.\n * Intended to be used as a transform function of an input.\n *\n * @example\n * ```@Input({ transform: auBooleanAttribute }) status: boolean | undefined;```\n * @param value - Value to be transformed.\n * @returns the value transformed\n */\nexport function auBooleanAttribute(value: unknown): boolean | undefined {\n\tif (value === undefined) {\n\t\treturn undefined;\n\t}\n\treturn booleanAttribute(value);\n}\n\n/**\n * Transforms a value (typically a string) to a number.\n * Intended to be used as a transform function of an input.\n * @param value - Value to be transformed.\n *\n * @example\n * ```@Input({ transform: auNumberAttribute }) id: number | undefined;```\n * @returns the value transformed\n */\nexport function auNumberAttribute(value: unknown): number | undefined {\n\tif (value === undefined) {\n\t\treturn undefined;\n\t}\n\treturn numberAttribute(value);\n}\n","import type {WritableSignal} from '@amadeus-it-group/tansu';\nimport type {OnInit} from '@angular/core';\nimport {Directive, Input, TemplateRef, inject} from '@angular/core';\nimport type {SlotContent} from './types';\n\n@Directive({selector: '[auSlotDefault]', standalone: true})\nexport class SlotDefaultDirective<T extends object> implements OnInit {\n\t@Input('auSlotDefault') auSlotDefault: WritableSignal<{slotDefault?: SlotContent<T>}>;\n\n\ttemplateRef = inject(TemplateRef<T>);\n\n\t/** @inheritdoc */\n\tngOnInit(): void {\n\t\tthis.auSlotDefault.update((value) => ({...value, slotDefault: this.templateRef}));\n\t}\n}\n","import {DOCUMENT} from '@angular/common';\nimport type {ComponentRef, EmbeddedViewRef, OnChanges, OnDestroy, SimpleChanges, Type} from '@angular/core';\nimport {Directive, EnvironmentInjector, Input, TemplateRef, ViewContainerRef, createComponent, inject, reflectComponentType} from '@angular/core';\nimport type {SlotContent} from './types';\nimport {ComponentTemplate} from './types';\n\nabstract class SlotHandler<Props extends Record<string, any>, Slot extends SlotContent<Props> = SlotContent<Props>> {\n\tconstructor(\n\t\tpublic viewContainerRef: ViewContainerRef,\n\t\tpublic document: Document,\n\t) {}\n\tslotChange(slot: Slot, props: Props) {}\n\tpropsChange(slot: Slot, props: Props) {}\n\tdestroy() {}\n}\n\nclass StringSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, string> {\n\t#nodeRef: Text | undefined;\n\t#previousText = '';\n\n\toverride slotChange(slot: string): void {\n\t\tif (slot === this.#previousText) {\n\t\t\treturn;\n\t\t}\n\t\tthis.#previousText = slot;\n\t\tif (this.#nodeRef) {\n\t\t\tthis.#nodeRef.textContent = slot;\n\t\t} else {\n\t\t\tconst viewContainerElement: Comment | undefined = this.viewContainerRef.element.nativeElement;\n\t\t\tif (this.document && viewContainerElement?.parentNode) {\n\t\t\t\tthis.#nodeRef = viewContainerElement.parentNode.insertBefore(this.document.createTextNode(slot), viewContainerElement);\n\t\t\t}\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#nodeRef?.parentNode?.removeChild(this.#nodeRef);\n\t\tthis.#nodeRef = undefined;\n\t}\n}\n\nclass FunctionSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, (props: Props) => string> {\n\t#stringSlotHandler = new StringSlotHandler(this.viewContainerRef, this.document);\n\n\toverride slotChange(slot: (props: Props) => string, props: Props): void {\n\t\tthis.#stringSlotHandler.slotChange(slot(props));\n\t}\n\n\toverride propsChange(slot: (props: Props) => string, props: Props): void {\n\t\tthis.#stringSlotHandler.slotChange(slot(props));\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#stringSlotHandler.destroy();\n\t}\n}\n\nclass ComponentSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, Type<unknown>> {\n\t#componentRef: ComponentRef<any> | undefined;\n\t#properties: string[];\n\n\toverride slotChange(slot: Type<unknown>, props: Props): void {\n\t\tif (this.#componentRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tthis.#componentRef = this.viewContainerRef.createComponent(slot);\n\t\tthis.#applyProperties(props);\n\t}\n\n\t#applyProperties(props: Props, oldProperties?: Set<string>) {\n\t\tconst properties = Object.keys(props);\n\t\tthis.#properties = properties;\n\t\tconst componentRef = this.#componentRef!;\n\t\tfor (const property of properties) {\n\t\t\tcomponentRef.setInput(property, props[property]);\n\t\t\toldProperties?.delete(property);\n\t\t}\n\t}\n\n\toverride propsChange(slot: Type<unknown>, props: Props): void {\n\t\tconst oldProperties = new Set(this.#properties);\n\t\tthis.#applyProperties(props, oldProperties);\n\t\tconst componentRef = this.#componentRef!;\n\t\tfor (const property of oldProperties) {\n\t\t\tcomponentRef.setInput(property, undefined);\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.#componentRef = undefined;\n\t}\n}\n\nclass TemplateRefSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, TemplateRef<Props>> {\n\t#viewRef: EmbeddedViewRef<Props> | undefined;\n\t#props: Props;\n\n\toverride slotChange(slot: TemplateRef<Props>, props: Props): void {\n\t\tif (this.#viewRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tprops = {...props};\n\t\tthis.#props = props;\n\t\tthis.#viewRef = this.viewContainerRef.createEmbeddedView(slot, props);\n\t}\n\n\toverride propsChange(slot: TemplateRef<Props>, props: Props): void {\n\t\tif (this.#viewRef) {\n\t\t\tconst templateProps = this.#props;\n\t\t\tconst oldProperties = new Set<keyof Props>(Object.keys(templateProps));\n\t\t\tfor (const property of Object.keys(props) as (keyof Props)[]) {\n\t\t\t\ttemplateProps[property] = props[property];\n\t\t\t\toldProperties.delete(property);\n\t\t\t}\n\t\t\tfor (const oldProperty of oldProperties) {\n\t\t\t\tdelete templateProps[oldProperty];\n\t\t\t}\n\t\t\tthis.#viewRef.markForCheck();\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.viewContainerRef.clear();\n\t}\n}\n\nclass ComponentTemplateSlotHandler<\n\tProps extends Record<string, any>,\n\tK extends string,\n\tT extends {[key in K]: TemplateRef<Props>},\n> extends SlotHandler<Props, ComponentTemplate<Props, K, T>> {\n\t#componentRef: ComponentRef<T> | undefined;\n\t#templateSlotHandler = new TemplateRefSlotHandler(this.viewContainerRef, this.document);\n\t#templateRef: TemplateRef<Props> | undefined;\n\n\toverride slotChange(slot: ComponentTemplate<Props, K, T>, props: Props): void {\n\t\tif (this.#componentRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tthis.#componentRef = createComponent(slot.component, {\n\t\t\telementInjector: this.viewContainerRef.injector,\n\t\t\tenvironmentInjector: this.viewContainerRef.injector.get(EnvironmentInjector),\n\t\t});\n\t\tthis.#templateRef = this.#componentRef.instance[slot.templateProp];\n\t\tthis.#templateSlotHandler.slotChange(this.#templateRef, props);\n\t}\n\n\toverride propsChange(slot: ComponentTemplate<Props, K, T>, props: Props): void {\n\t\tthis.#templateSlotHandler.propsChange(this.#templateRef!, props);\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#templateSlotHandler.destroy();\n\t\tthis.#componentRef?.destroy();\n\t\tthis.#componentRef = undefined;\n\t}\n}\n\nconst getSlotType = (value: any): undefined | {new (viewContainerRef: ViewContainerRef, document: Document): SlotHandler<any>} => {\n\tif (!value) return undefined;\n\tconst type = typeof value;\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn StringSlotHandler;\n\t\tcase 'function':\n\t\t\tif (reflectComponentType(value)) {\n\t\t\t\treturn ComponentSlotHandler;\n\t\t\t}\n\t\t\treturn FunctionSlotHandler;\n\t\tcase 'object':\n\t\t\tif (value instanceof TemplateRef) {\n\t\t\t\treturn TemplateRefSlotHandler;\n\t\t\t}\n\t\t\tif (value instanceof ComponentTemplate) {\n\t\t\t\treturn ComponentTemplateSlotHandler;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\treturn undefined;\n};\n\n@Directive({\n\tselector: '[auSlot]',\n\tstandalone: true,\n})\nexport class SlotDirective<Props extends Record<string, any>> implements OnChanges, OnDestroy {\n\t@Input('auSlot') slot: SlotContent<Props>;\n\t@Input('auSlotProps') props: Props;\n\n\tprivate _viewContainerRef = inject(ViewContainerRef);\n\tprivate _document = inject(DOCUMENT);\n\tprivate _slotType: ReturnType<typeof getSlotType>;\n\tprivate _slotHandler: SlotHandler<Props> | undefined;\n\n\t/** @inheritdoc */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tconst slotChange = changes['slot'];\n\t\tconst propsChange = changes['props'];\n\t\tconst slot = this.slot;\n\t\tif (slotChange) {\n\t\t\tconst newSlotType = getSlotType(slot);\n\t\t\tif (newSlotType !== this._slotType) {\n\t\t\t\tthis._slotHandler?.destroy();\n\t\t\t\tthis._slotHandler = newSlotType ? new newSlotType(this._viewContainerRef, this._document) : undefined;\n\t\t\t\tthis._slotType = newSlotType;\n\t\t\t}\n\t\t\tthis._slotHandler?.slotChange(slot, this.props);\n\t\t} else if (propsChange) {\n\t\t\tthis._slotHandler?.propsChange(slot, this.props);\n\t\t}\n\t}\n\n\t/** @inheritdoc */\n\tngOnDestroy(): void {\n\t\tthis._slotHandler?.destroy();\n\t\tthis._slotHandler = undefined;\n\t}\n}\n","/*\n * Public API Surface of @agnos-ui/angular-headless\n */\nexport * from './components/accordion';\nexport * from './components/alert';\nexport * from './components/modal';\nexport * from './components/pagination';\nexport * from './components/progressbar';\nexport * from './components/rating';\nexport * from './components/select';\nexport * from './components/slider';\n\nexport * from './generated';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["coreCreateAccordion","coreCreateAlert","coreCreateModal","coreCreatePagination","coreCreateProgressbar","coreCreateRating","coreCreateSelect"],"mappings":"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"}
1
+ {"version":3,"file":"agnos-ui-angular-headless.mjs","sources":["../../src/components/accordion/accordion.ts","../../src/components/alert/alert.ts","../../src/components/modal/modal.ts","../../src/components/pagination/pagination.ts","../../src/components/progressbar/progressbar.ts","../../src/components/rating/rating.ts","../../src/components/select/select.ts","../../src/utils/zone.ts","../../src/utils/stores.ts","../../src/utils/directive.ts","../../src/types.ts","../../src/utils/widget.ts","../../src/config.ts","../../src/utils/coercion.ts","../../src/slotDefault.directive.ts","../../src/slot.directive.ts","../../src/index.ts","../../src/agnos-ui-angular-headless.ts"],"sourcesContent":["import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, WidgetFactory} from '../../types';\nimport {createAccordion as coreCreateAccordion} from '@agnos-ui/core/components/accordion';\n\nexport * from '@agnos-ui/core/components/accordion';\n\nexport type AccordionWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/accordion').AccordionWidget>;\nexport type AccordionProps = WidgetProps<AccordionWidget>;\nexport type AccordionState = WidgetState<AccordionWidget>;\nexport type AccordionApi = AccordionWidget['api'];\nexport type AccordionItemWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/accordion').AccordionItemWidget>;\nexport type AccordionItemProps = WidgetProps<AccordionItemWidget>;\nexport type AccordionItemState = WidgetState<AccordionItemWidget>;\nexport type AccordionItemContext = AdaptSlotContentProps<import('@agnos-ui/core/components/accordion').AccordionItemContext>;\nexport const createAccordion: WidgetFactory<AccordionWidget> = coreCreateAccordion as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, WidgetFactory} from '../../types';\nimport {createAlert as coreCreateAlert} from '@agnos-ui/core/components/alert';\n\nexport * from '@agnos-ui/core/components/alert';\n\nexport type AlertWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/alert').AlertWidget>;\nexport type AlertProps = WidgetProps<AlertWidget>;\nexport type AlertState = WidgetState<AlertWidget>;\nexport type AlertContext = AdaptSlotContentProps<import('@agnos-ui/core/components/alert').AlertContext>;\nexport const createAlert: WidgetFactory<AlertWidget> = coreCreateAlert as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, PropsConfig} from '../../types';\nimport {createModal as coreCreateModal} from '@agnos-ui/core/components/modal';\n\nexport * from '@agnos-ui/core/components/modal';\n\nexport type ModalWidget<Data> = AdaptWidgetSlots<import('@agnos-ui/core/components/modal').ModalWidget<Data>>;\nexport type ModalProps<Data> = WidgetProps<ModalWidget<Data>>;\nexport type ModalState<Data> = WidgetState<ModalWidget<Data>>;\nexport type ModalContext<Data> = AdaptSlotContentProps<import('@agnos-ui/core/components/modal').ModalContext<Data>>;\nexport const createModal: <Data>(props?: PropsConfig<ModalProps<Data>>) => ModalWidget<Data> = coreCreateModal as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, WidgetFactory} from '../../types';\nimport {createPagination as coreCreatePagination} from '@agnos-ui/core/components/pagination';\n\nexport * from '@agnos-ui/core/components/pagination';\n\nexport type PaginationWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/pagination').PaginationWidget>;\nexport type PaginationProps = WidgetProps<PaginationWidget>;\nexport type PaginationState = WidgetState<PaginationWidget>;\nexport type PaginationContext = AdaptSlotContentProps<import('@agnos-ui/core/components/pagination').PaginationContext>;\nexport type PaginationNumberContext = AdaptSlotContentProps<import('@agnos-ui/core/components/pagination').PaginationNumberContext>;\nexport const createPagination: WidgetFactory<PaginationWidget> = coreCreatePagination as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, WidgetFactory} from '../../types';\nimport {createProgressbar as coreCreateProgressbar} from '@agnos-ui/core/components/progressbar';\n\nexport * from '@agnos-ui/core/components/progressbar';\n\nexport type ProgressbarWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/progressbar').ProgressbarWidget>;\nexport type ProgressbarProps = WidgetProps<ProgressbarWidget>;\nexport type ProgressbarState = WidgetState<ProgressbarWidget>;\nexport type ProgressbarContext = AdaptSlotContentProps<import('@agnos-ui/core/components/progressbar').ProgressbarContext>;\nexport const createProgressbar: WidgetFactory<ProgressbarWidget> = coreCreateProgressbar as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, WidgetFactory} from '../../types';\nimport {createRating as coreCreateRating} from '@agnos-ui/core/components/rating';\n\nexport * from '@agnos-ui/core/components/rating';\n\nexport type RatingWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/rating').RatingWidget>;\nexport type RatingProps = WidgetProps<RatingWidget>;\nexport type RatingState = WidgetState<RatingWidget>;\nexport const createRating: WidgetFactory<RatingWidget> = coreCreateRating as any;\n","import type {AdaptWidgetSlots, WidgetProps, WidgetState, AdaptSlotContentProps, PropsConfig} from '../../types';\nimport {createSelect as coreCreateSelect} from '@agnos-ui/core/components/select';\n\nexport * from '@agnos-ui/core/components/select';\n\nexport type SelectWidget<Item> = AdaptWidgetSlots<import('@agnos-ui/core/components/select').SelectWidget<Item>>;\nexport type SelectProps<Item> = WidgetProps<SelectWidget<Item>>;\nexport type SelectState<Item> = WidgetState<SelectWidget<Item>>;\nexport type SelectContext<Item> = AdaptSlotContentProps<import('@agnos-ui/core/components/select').SelectContext<Item>>;\nexport type SelectItemContext<Item> = AdaptSlotContentProps<import('@agnos-ui/core/components/select').SelectItemContext<Item>>;\nexport const createSelect: <Item>(propsConfig?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item> = coreCreateSelect as any;\n","import {Injectable, NgZone, inject} from '@angular/core';\n\nconst noop = () => {};\nconst identity = <T>(a: T) => a;\n\ntype Wrapper = <T>(fn: T) => T;\n\nconst createObjectWrapper =\n\t(wrap: Wrapper): Wrapper =>\n\t(object) => {\n\t\tif (!object || typeof object !== 'object') {\n\t\t\treturn object;\n\t\t}\n\t\tconst res = {} as any;\n\t\tfor (const key of Object.keys(object)) {\n\t\t\tres[key] = wrap((object as any)[key]);\n\t\t}\n\t\treturn res;\n\t};\n\nconst createReturnValueWrapper =\n\t(wrapReturnValue: Wrapper, wrapResult: Wrapper): Wrapper =>\n\t(fn) =>\n\t\twrapResult(typeof fn === 'function' ? (((...args: any[]) => wrapReturnValue(fn(...args))) as any) : fn);\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ZoneWrapper {\n\treadonly #zone = inject(NgZone);\n\treadonly #hasZone = this.#zone.run(() => NgZone.isInAngularZone()); // check if zone is enabled (can be NoopZone, cf https://angular.io/guide/zone#noopzone)\n\t#runNeeded = false;\n\t#runPlanned = false;\n\n\tplanNgZoneRun = this.#hasZone\n\t\t? () => {\n\t\t\t\tif (this.#zone.isStable) {\n\t\t\t\t\tthis.#runNeeded = true;\n\t\t\t\t\tif (!this.#runPlanned) {\n\t\t\t\t\t\tthis.#runPlanned = true;\n\t\t\t\t\t\tvoid (async () => {\n\t\t\t\t\t\t\tawait 0;\n\t\t\t\t\t\t\tthis.#runPlanned = false;\n\t\t\t\t\t\t\tif (this.#runNeeded) {\n\t\t\t\t\t\t\t\tthis.ngZoneRun(noop);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t: noop;\n\n\t/**\n\t * Run the input function synchronously within the Angular zone\n\t *\n\t * @param fn - a function to run\n\t * @returns the value returned by the function\n\t */\n\tngZoneRun<T>(fn: () => T): T {\n\t\tthis.#runNeeded = false;\n\t\treturn this.#zone.run(fn);\n\t}\n\n\tinsideNgZone: Wrapper = this.#hasZone\n\t\t? (fn) => (typeof fn === 'function' ? (((...args: any[]) => this.ngZoneRun(() => fn(...args))) as any) : fn)\n\t\t: identity;\n\tinsideNgZoneWrapFunctionsObject = createObjectWrapper(this.insideNgZone);\n\n\toutsideNgZone: Wrapper = this.#hasZone\n\t\t? (fn) => (typeof fn === 'function' ? (((...args: any[]) => this.#zone.runOutsideAngular(() => fn(...args))) as any) : fn)\n\t\t: identity;\n\n\toutsideNgZoneWrapFunctionsObject = createObjectWrapper(this.outsideNgZone);\n\toutsideNgZoneWrapDirective = createReturnValueWrapper(this.outsideNgZoneWrapFunctionsObject, this.outsideNgZone);\n\toutsideNgZoneWrapDirectivesObject = createObjectWrapper(this.outsideNgZoneWrapDirective);\n}\n","import type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport type {Signal} from '@angular/core';\nimport {DestroyRef, inject, signal} from '@angular/core';\nimport {ZoneWrapper} from './zone';\n\nexport * from '@agnos-ui/core/utils/stores';\n\n/**\n * Convert a tansu readable signal into an Angular signal.\n *\n * @param tansuSignal - a tansu readable signal\n * @returns an angular signal\n *\n * @remarks\n * Note that as it uses Angular's `inject`, this can only be called at component construction time.\n */\nexport const toAngularSignal = <T>(tansuSignal: ReadableSignal<T>): Signal<T> => {\n\tconst zoneWrapper = inject(ZoneWrapper);\n\tconst res = signal(undefined as any as T);\n\tconst subscription = zoneWrapper.outsideNgZone(tansuSignal.subscribe)((value) => {\n\t\tres.set(value);\n\t\tzoneWrapper.planNgZoneRun();\n\t});\n\tinject(DestroyRef).onDestroy(zoneWrapper.outsideNgZone(subscription));\n\treturn res;\n};\n","import type {Directive as AgnosUIDirective} from '@agnos-ui/core/types';\nimport type {OnChanges} from '@angular/core';\nimport {DestroyRef, Directive, ElementRef, Injector, Input, afterNextRender, inject, runInInjectionContext} from '@angular/core';\n\nexport * from '@agnos-ui/core/utils/directive';\n\n/**\n * Set up an agnos-ui directive as an angular host directive.\n *\n * @param directive - the directive\n * @param params - the params to pass to the directive\n * @returns the update function to change the directive or params\n */\nexport const useDirectiveForHost = <T>(directive?: AgnosUIDirective<T>, params?: T) => {\n\tconst injector = inject(Injector);\n\tconst ref = inject(ElementRef);\n\n\tlet instance: undefined | ReturnType<AgnosUIDirective<T>>;\n\tlet plannedCallDirective = false;\n\n\tconst callDirective = () => {\n\t\tif (plannedCallDirective || !directive) {\n\t\t\treturn;\n\t\t}\n\t\tplannedCallDirective = true;\n\t\trunInInjectionContext(injector, () => {\n\t\t\tafterNextRender(() => {\n\t\t\t\tplannedCallDirective = false;\n\t\t\t\tinstance = directive?.(ref.nativeElement, params as T);\n\t\t\t});\n\t\t});\n\t};\n\n\tfunction destroyDirectiveInstance() {\n\t\tconst oldInstance = instance;\n\t\tinstance = undefined;\n\t\tdirective = undefined;\n\t\toldInstance?.destroy?.();\n\t}\n\n\tinject(DestroyRef).onDestroy(destroyDirectiveInstance);\n\n\tfunction update(newDirective?: AgnosUIDirective<T>, newParams?: T) {\n\t\tif (newDirective !== directive) {\n\t\t\tvoid destroyDirectiveInstance();\n\t\t\tdirective = newDirective;\n\t\t\tparams = newParams;\n\t\t\tcallDirective();\n\t\t} else if (newParams != params) {\n\t\t\tparams = newParams;\n\t\t\tinstance?.update?.(params as T);\n\t\t}\n\t}\n\n\tcallDirective();\n\treturn {update};\n};\n\n@Directive({\n\tstandalone: true,\n\tselector: '[auUse]',\n})\nexport class UseDirective<T> implements OnChanges {\n\t@Input('auUse')\n\tuse: AgnosUIDirective<T> | undefined;\n\n\t@Input('auUseParams')\n\tparams: T | undefined;\n\n\t#useDirective = useDirectiveForHost<T>();\n\n\t/** @inheritdoc */\n\tngOnChanges() {\n\t\tthis.#useDirective.update(this.use, this.params);\n\t}\n}\n","import type {\n\tContextWidget,\n\tSlotContent as CoreSlotContent,\n\tWidget,\n\tWidgetFactory,\n\tWidgetProps,\n\tWidgetSlotContext,\n\tWidgetState,\n} from '@agnos-ui/core/types';\nimport type {Signal, TemplateRef, Type} from '@angular/core';\nimport {Directive, Input} from '@angular/core';\n\nexport * from '@agnos-ui/core/types';\n\nexport class ComponentTemplate<Props, K extends string, T extends {[key in K]: TemplateRef<Props>}> {\n\tconstructor(\n\t\tpublic readonly component: Type<T>,\n\t\tpublic readonly templateProp: K,\n\t) {}\n}\n\nexport type SlotContent<Props extends object = object> =\n\t| CoreSlotContent<Props>\n\t| TemplateRef<Props>\n\t| Type<unknown>\n\t| ComponentTemplate<Props, any, any>;\n\nexport type AdaptSlotContentProps<Props extends Record<string, any>> =\n\tProps extends WidgetSlotContext<infer U>\n\t\t? WidgetSlotContext<AdaptWidgetSlots<U>> & AdaptPropsSlots<Omit<Props, keyof WidgetSlotContext<any>>>\n\t\t: AdaptPropsSlots<Props>;\n\nexport type AdaptPropsSlots<Props> = Omit<Props, `slot${string}`> & {\n\t[K in keyof Props & `slot${string}`]: Props[K] extends CoreSlotContent<infer U> ? SlotContent<AdaptSlotContentProps<U>> : Props[K];\n};\n\nexport type AdaptWidgetFactories<T> = {\n\t[K in keyof T]: T[K] extends WidgetFactory<infer U> ? WidgetFactory<AdaptWidgetSlots<U>> : T[K];\n};\n\nexport type AdaptWidgetSlots<W extends Widget> = Widget<\n\tAdaptPropsSlots<WidgetProps<W>>,\n\tAdaptPropsSlots<WidgetState<W>>,\n\tAdaptWidgetFactories<W['api']>,\n\tW['actions'],\n\tW['directives']\n>;\n\n@Directive()\nexport abstract class SlotComponent<W extends Widget> {\n\t@Input()\n\tstate!: WidgetState<W>;\n\t@Input()\n\twidget!: ContextWidget<W>;\n}\n\nexport type AngularWidget<W extends Widget> = W & {\n\tinitialized: Promise<void>;\n\twidget: ContextWidget<W>;\n\tngState: Signal<WidgetState<W>>;\n\tngInit: () => void;\n\tpatchSlots(slots: {\n\t\t[K in keyof WidgetProps<W> & `slot${string}`]: WidgetProps<W>[K] extends SlotContent<infer U> ? TemplateRef<U> | undefined : never;\n\t}): void;\n};\n","import {computed, writable, type ReadableSignal} from '@amadeus-it-group/tansu';\nimport type {OnChanges, OnInit, Signal, SimpleChanges} from '@angular/core';\nimport {Directive, Injector, inject, runInInjectionContext} from '@angular/core';\nimport {\n\ttoSlotContextWidget,\n\ttype AngularWidget,\n\ttype ContextWidget,\n\ttype Widget,\n\ttype WidgetFactory,\n\ttype WidgetProps,\n\ttype WidgetState,\n} from '../types';\nimport {toAngularSignal, toReadableStore} from './stores';\nimport {ZoneWrapper} from './zone';\n\nconst createPatchSlots = <T extends object>(set: (object: Partial<T>) => void) => {\n\tlet lastValue: Partial<T> = {};\n\treturn (object: T) => {\n\t\tconst newValue: Partial<T> = {};\n\t\tlet hasChange = false;\n\t\tfor (const key of Object.keys(object) as (string & keyof T)[]) {\n\t\t\tconst objectKey = (object as any)[key];\n\t\t\tif (objectKey != null) {\n\t\t\t\t// only use defined slots\n\t\t\t\tnewValue[key] = objectKey;\n\t\t\t}\n\t\t\tif (objectKey != lastValue[key]) {\n\t\t\t\thasChange = true;\n\t\t\t}\n\t\t}\n\t\tif (hasChange) {\n\t\t\tlastValue = newValue;\n\t\t\tset(newValue);\n\t\t}\n\t};\n};\n\n/**\n * Call a widget factory using provided configs.\n *\n * @param parameter - the parameter\n * @param parameter.factory - the widget factory to call\n * @param parameter.defaultConfig - the default config of the widget\n * @param parameter.widgetConfig - the config of the widget, overriding the defaultConfig\n * @param parameter.events - the events of the widget\n * @param parameter.afterInit - a callback to call after successful setup of the widget\n * @returns the widget\n */\nexport const callWidgetFactoryWithConfig = <W extends Widget>({\n\tfactory,\n\tdefaultConfig,\n\twidgetConfig,\n\tevents,\n\tafterInit,\n}: {\n\tfactory: WidgetFactory<W>;\n\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\twidgetConfig?: null | undefined | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\tevents: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n\tafterInit?: () => void;\n}): AngularWidget<W> => {\n\tconst injector = inject(Injector);\n\tconst slots$ = writable({});\n\tconst props = {};\n\tlet initDone: () => void;\n\tconst res = {\n\t\tinitialized: new Promise((resolve) => {\n\t\t\tinitDone = resolve;\n\t\t}),\n\t\tpatchSlots: createPatchSlots(slots$.set),\n\t\tpatch(newProps) {\n\t\t\t// temporary function replaced in ngInit\n\t\t\tObject.assign(props, newProps);\n\t\t},\n\t\tngInit() {\n\t\t\trunInInjectionContext(injector, () => {\n\t\t\t\tconst zoneWrapper = inject(ZoneWrapper);\n\t\t\t\tfactory = zoneWrapper.outsideNgZone(factory);\n\t\t\t\tconst defaultConfig$ = toReadableStore(defaultConfig);\n\t\t\t\tevents = zoneWrapper.insideNgZoneWrapFunctionsObject(events);\n\t\t\t\tconst widget = factory({\n\t\t\t\t\tconfig: computed(() => ({...defaultConfig$(), ...widgetConfig?.(), ...slots$(), ...(events as Partial<WidgetProps<W>>)})),\n\t\t\t\t\tprops,\n\t\t\t\t});\n\t\t\t\tconst wrappedWidget: W = {\n\t\t\t\t\t...widget,\n\t\t\t\t\tpatch: zoneWrapper.outsideNgZone(widget.patch),\n\t\t\t\t\tdirectives: zoneWrapper.outsideNgZoneWrapDirectivesObject(widget.directives),\n\t\t\t\t\tactions: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.actions),\n\t\t\t\t\tapi: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.api),\n\t\t\t\t};\n\t\t\t\tObject.assign(res, wrappedWidget, {\n\t\t\t\t\twidget: toSlotContextWidget(wrappedWidget),\n\t\t\t\t\tngState: toAngularSignal(wrappedWidget.state$ as ReadableSignal<WidgetState<W>>),\n\t\t\t\t});\n\t\t\t\tafterInit?.();\n\t\t\t\tinitDone();\n\t\t\t});\n\t\t},\n\t} as AngularWidget<W>;\n\n\treturn res;\n};\n\nfunction patchSimpleChanges(patchFn: (obj: any) => void, changes: SimpleChanges) {\n\tconst obj: any = {};\n\tfor (const [key, simpleChange] of Object.entries(changes)) {\n\t\tif (simpleChange !== undefined) {\n\t\t\tobj[key] = simpleChange.currentValue;\n\t\t}\n\t}\n\tpatchFn(obj);\n}\n\n/**\n * Stores the result of the first call to the getter and returns that result directly for subsequent calls\n *\n * Applies to: class getters\n *\n * @param target - the target\n * @param property - the property\n * @param descriptor - the property descriptor\n */\nexport const CachedProperty = (target: any, property: PropertyKey, descriptor: PropertyDescriptor) => {\n\tconst originalGet = descriptor.get;\n\tdescriptor.get = function (this: any) {\n\t\tconst value = originalGet?.call(this);\n\t\tObject.defineProperty(this, property, {value, writable: false});\n\t\treturn value;\n\t};\n};\n\n@Directive()\nexport abstract class BaseWidgetDirective<W extends Widget> implements OnChanges, OnInit {\n\tprotected abstract readonly _widget: AngularWidget<W>;\n\n\tget api(): W['api'] {\n\t\treturn this._widget.api;\n\t}\n\n\tget state(): Signal<WidgetState<W>> {\n\t\treturn this._widget.ngState;\n\t}\n\n\tget widget(): ContextWidget<W> {\n\t\treturn this._widget.widget;\n\t}\n\n\t/** @inheritdoc */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tpatchSimpleChanges(this._widget.patch, changes);\n\t}\n\n\t/** @inheritdoc */\n\tngOnInit(): void {\n\t\tthis._widget.ngInit();\n\t}\n}\n","import type {Widget, WidgetFactory, WidgetProps} from '@agnos-ui/core/types';\nimport type {Partial2Levels, WidgetsConfigStore, WidgetsConfig as CoreWidgetsConfig} from '@agnos-ui/core/config';\nimport {createWidgetsConfig} from '@agnos-ui/core/config';\nimport type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport {computed} from '@amadeus-it-group/tansu';\nimport type {FactoryProvider} from '@angular/core';\nimport {InjectionToken, Injector, Optional, SkipSelf, inject, runInInjectionContext} from '@angular/core';\nimport type {AdaptPropsSlots, AngularWidget} from './types';\nimport {callWidgetFactoryWithConfig} from './utils/widget';\n\nexport * from '@agnos-ui/core/config';\n\nexport type WidgetsConfig = {\n\t[WidgetName in keyof CoreWidgetsConfig]: AdaptPropsSlots<CoreWidgetsConfig[WidgetName]>;\n};\ntype AdaptParentConfig<Config> = (config: Partial2Levels<Config>) => Partial2Levels<Config>;\n\n/**\n * A factory to create the utilities to allow widgets to be context-aware.\n *\n * It can be used when extending the core and creating new widgets.\n *\n * @param widgetsConfigInjectionToken - the widgets config injection token\n * @returns the utilities to create / manage widgets and contexts\n */\nexport const widgetsConfigFactory = <Config extends {[widgetName: string]: object} = WidgetsConfig>(\n\twidgetsConfigInjectionToken = new InjectionToken<WidgetsConfigStore<Config>>('widgetsConfig'),\n) => {\n\t/**\n\t * Creates a provider of widgets default configuration that inherits from any widgets default configuration already defined at an upper level\n\t * in the Angular dependency injection system. It contains its own set of widgets configuration properties that override the same properties form\n\t * the parent configuration.\n\t *\n\t * @remarks\n\t * The configuration is computed from the parent configuration in two steps:\n\t * - first step: the parent configuration is transformed by the adaptParentConfig function (if specified).\n\t * If adaptParentConfig is not specified, this step is skipped.\n\t * - second step: the configuration from step 1 is merged (2-levels deep) with the own$ store. The own$ store initially contains\n\t * an empty object (i.e. no property from the parent is overridden). It can be changed by calling set on the store returned by\n\t * {@link injectWidgetsConfig}.\n\t *\n\t * @param adaptParentConfig - optional function that receives a 2-levels copy of the widgets default configuration\n\t * defined at an upper level in the Angular dependency injection system (or an empty object if there is none) and returns the widgets\n\t * default configuration to be used.\n\t * It is called only if the configuration is needed, and was not yet computed for the current value of the parent configuration.\n\t * It is called in a tansu reactive context, so it can use any tansu store and will be called again if those stores change.\n\t * It is also called in an Angular injection context, so it can call the Angular inject function to get and use dependencies from the\n\t * Angular dependency injection system.\n\t *\n\t * @returns DI provider to be included a list of `providers` (for example at a component level or\n\t * any other level of the Angular dependency injection system)\n\t *\n\t * @example\n\t * ```typescript\n\t * @Component({\n\t * // ...\n\t * providers: [\n\t * provideWidgetsConfig((parentConfig) => {\n\t * // first step configuration: transforms the parent configuration\n\t * parentConfig.rating = parentConfig.rating ?? {};\n\t * parentConfig.rating.className = `${parentConfig.rating.className ?? ''} my-rating-extra-class`\n\t * return parentConfig;\n\t * })\n\t * ]\n\t * })\n\t * class MyComponent {\n\t * widgetsConfig = injectWidgetsConfig();\n\t * constructor() {\n\t * this.widgetsConfig.set({\n\t * // second step configuration: overrides the parent configuration\n\t * rating: {\n\t * slotStar: MyCustomSlotStar\n\t * }\n\t * });\n\t * }\n\t * // ...\n\t * }\n\t * ```\n\t */\n\tconst provideWidgetsConfig = (adaptParentConfig?: AdaptParentConfig<Config>): FactoryProvider => ({\n\t\tprovide: widgetsConfigInjectionToken,\n\t\tuseFactory: (parent: WidgetsConfigStore<Config> | null) => {\n\t\t\tif (adaptParentConfig) {\n\t\t\t\tconst injector = inject(Injector);\n\t\t\t\tconst originalAdaptParentConfig = adaptParentConfig;\n\t\t\t\tadaptParentConfig = (value) => runInInjectionContext(injector, () => originalAdaptParentConfig(value));\n\t\t\t}\n\t\t\treturn createWidgetsConfig(parent ?? undefined, adaptParentConfig);\n\t\t},\n\t\tdeps: [[new SkipSelf(), new Optional(), widgetsConfigInjectionToken]],\n\t});\n\n\t/**\n\t * Returns the widgets default configuration store that was provided in the current injection context.\n\t * Throws if the no widgets default configuration store was provided.\n\t *\n\t * @remarks\n\t * This function must be called from an injection context, such as a constructor, a factory function, a field initializer or\n\t * a function used with {@link https://angular.io/api/core/runInInjectionContext | runInInjectionContext}.\n\t *\n\t * @returns the widgets default configuration store.\n\t */\n\tconst injectWidgetsConfig = () => inject(widgetsConfigInjectionToken);\n\n\tconst injectWidgetConfig = <N extends keyof Config>(widgetName: N): ReadableSignal<Partial<Config[N]> | undefined> => {\n\t\tconst widgetsConfig = inject(widgetsConfigInjectionToken, {optional: true});\n\t\treturn computed(() => widgetsConfig?.()[widgetName]);\n\t};\n\n\tconst callWidgetFactory = <W extends Widget>({\n\t\tfactory,\n\t\twidgetName = null,\n\t\tdefaultConfig = {},\n\t\tevents,\n\t\tafterInit,\n\t}: {\n\t\tfactory: WidgetFactory<W>;\n\t\twidgetName?: null | keyof Config;\n\t\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\t\tevents: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n\t\tafterInit?: () => void;\n\t}): AngularWidget<W> =>\n\t\tcallWidgetFactoryWithConfig({\n\t\t\tfactory,\n\t\t\twidgetConfig: widgetName ? (injectWidgetConfig(widgetName) as any) : null,\n\t\t\tdefaultConfig,\n\t\t\tevents,\n\t\t\tafterInit,\n\t\t});\n\n\treturn {\n\t\t/**\n\t\t * Dependency Injection token which can be used to provide or inject the widgets default configuration store.\n\t\t */\n\t\twidgetsConfigInjectionToken,\n\t\tprovideWidgetsConfig,\n\t\tinjectWidgetsConfig,\n\t\tinjectWidgetConfig,\n\t\tcallWidgetFactory,\n\t};\n};\n\nexport const {widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory} =\n\twidgetsConfigFactory<WidgetsConfig>();\n","import {booleanAttribute, numberAttribute} from '@angular/core';\n\n/**\n * Transforms a value (typically a string) to a boolean.\n * Intended to be used as a transform function of an input.\n *\n * @example\n * ```@Input({ transform: auBooleanAttribute }) status: boolean | undefined;```\n * @param value - Value to be transformed.\n * @returns the value transformed\n */\nexport function auBooleanAttribute(value: unknown): boolean | undefined {\n\tif (value === undefined) {\n\t\treturn undefined;\n\t}\n\treturn booleanAttribute(value);\n}\n\n/**\n * Transforms a value (typically a string) to a number.\n * Intended to be used as a transform function of an input.\n * @param value - Value to be transformed.\n *\n * @example\n * ```@Input({ transform: auNumberAttribute }) id: number | undefined;```\n * @returns the value transformed\n */\nexport function auNumberAttribute(value: unknown): number | undefined {\n\tif (value === undefined) {\n\t\treturn undefined;\n\t}\n\treturn numberAttribute(value);\n}\n","import type {WritableSignal} from '@amadeus-it-group/tansu';\nimport type {OnInit} from '@angular/core';\nimport {Directive, Input, TemplateRef, inject} from '@angular/core';\nimport type {SlotContent} from './types';\n\n@Directive({selector: '[auSlotDefault]', standalone: true})\nexport class SlotDefaultDirective<T extends object> implements OnInit {\n\t@Input('auSlotDefault') auSlotDefault: WritableSignal<{slotDefault?: SlotContent<T>}>;\n\n\ttemplateRef = inject(TemplateRef<T>);\n\n\t/** @inheritdoc */\n\tngOnInit(): void {\n\t\tthis.auSlotDefault.update((value) => ({...value, slotDefault: this.templateRef}));\n\t}\n}\n","import {DOCUMENT} from '@angular/common';\nimport type {ComponentRef, EmbeddedViewRef, OnChanges, OnDestroy, SimpleChanges, Type} from '@angular/core';\nimport {Directive, EnvironmentInjector, Input, TemplateRef, ViewContainerRef, createComponent, inject, reflectComponentType} from '@angular/core';\nimport type {SlotContent} from './types';\nimport {ComponentTemplate} from './types';\n\nabstract class SlotHandler<Props extends Record<string, any>, Slot extends SlotContent<Props> = SlotContent<Props>> {\n\tconstructor(\n\t\tpublic viewContainerRef: ViewContainerRef,\n\t\tpublic document: Document,\n\t) {}\n\tslotChange(slot: Slot, props: Props) {}\n\tpropsChange(slot: Slot, props: Props) {}\n\tdestroy() {}\n}\n\nclass StringSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, string> {\n\t#nodeRef: Text | undefined;\n\t#previousText = '';\n\n\toverride slotChange(slot: string): void {\n\t\tif (slot === this.#previousText) {\n\t\t\treturn;\n\t\t}\n\t\tthis.#previousText = slot;\n\t\tif (this.#nodeRef) {\n\t\t\tthis.#nodeRef.textContent = slot;\n\t\t} else {\n\t\t\tconst viewContainerElement: Comment | undefined = this.viewContainerRef.element.nativeElement;\n\t\t\tif (this.document && viewContainerElement?.parentNode) {\n\t\t\t\tthis.#nodeRef = viewContainerElement.parentNode.insertBefore(this.document.createTextNode(slot), viewContainerElement);\n\t\t\t}\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#nodeRef?.parentNode?.removeChild(this.#nodeRef);\n\t\tthis.#nodeRef = undefined;\n\t}\n}\n\nclass FunctionSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, (props: Props) => string> {\n\t#stringSlotHandler = new StringSlotHandler(this.viewContainerRef, this.document);\n\n\toverride slotChange(slot: (props: Props) => string, props: Props): void {\n\t\tthis.#stringSlotHandler.slotChange(slot(props));\n\t}\n\n\toverride propsChange(slot: (props: Props) => string, props: Props): void {\n\t\tthis.#stringSlotHandler.slotChange(slot(props));\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#stringSlotHandler.destroy();\n\t}\n}\n\nclass ComponentSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, Type<unknown>> {\n\t#componentRef: ComponentRef<any> | undefined;\n\t#properties: string[];\n\n\toverride slotChange(slot: Type<unknown>, props: Props): void {\n\t\tif (this.#componentRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tthis.#componentRef = this.viewContainerRef.createComponent(slot);\n\t\tthis.#applyProperties(props);\n\t}\n\n\t#applyProperties(props: Props, oldProperties?: Set<string>) {\n\t\tconst properties = Object.keys(props);\n\t\tthis.#properties = properties;\n\t\tconst componentRef = this.#componentRef!;\n\t\tfor (const property of properties) {\n\t\t\tcomponentRef.setInput(property, props[property]);\n\t\t\toldProperties?.delete(property);\n\t\t}\n\t}\n\n\toverride propsChange(slot: Type<unknown>, props: Props): void {\n\t\tconst oldProperties = new Set(this.#properties);\n\t\tthis.#applyProperties(props, oldProperties);\n\t\tconst componentRef = this.#componentRef!;\n\t\tfor (const property of oldProperties) {\n\t\t\tcomponentRef.setInput(property, undefined);\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.#componentRef = undefined;\n\t}\n}\n\nclass TemplateRefSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, TemplateRef<Props>> {\n\t#viewRef: EmbeddedViewRef<Props> | undefined;\n\t#props: Props;\n\n\toverride slotChange(slot: TemplateRef<Props>, props: Props): void {\n\t\tif (this.#viewRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tprops = {...props};\n\t\tthis.#props = props;\n\t\tthis.#viewRef = this.viewContainerRef.createEmbeddedView(slot, props);\n\t}\n\n\toverride propsChange(slot: TemplateRef<Props>, props: Props): void {\n\t\tif (this.#viewRef) {\n\t\t\tconst templateProps = this.#props;\n\t\t\tconst oldProperties = new Set<keyof Props>(Object.keys(templateProps));\n\t\t\tfor (const property of Object.keys(props) as (keyof Props)[]) {\n\t\t\t\ttemplateProps[property] = props[property];\n\t\t\t\toldProperties.delete(property);\n\t\t\t}\n\t\t\tfor (const oldProperty of oldProperties) {\n\t\t\t\tdelete templateProps[oldProperty];\n\t\t\t}\n\t\t\tthis.#viewRef.markForCheck();\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.viewContainerRef.clear();\n\t}\n}\n\nclass ComponentTemplateSlotHandler<\n\tProps extends Record<string, any>,\n\tK extends string,\n\tT extends {[key in K]: TemplateRef<Props>},\n> extends SlotHandler<Props, ComponentTemplate<Props, K, T>> {\n\t#componentRef: ComponentRef<T> | undefined;\n\t#templateSlotHandler = new TemplateRefSlotHandler(this.viewContainerRef, this.document);\n\t#templateRef: TemplateRef<Props> | undefined;\n\n\toverride slotChange(slot: ComponentTemplate<Props, K, T>, props: Props): void {\n\t\tif (this.#componentRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tthis.#componentRef = createComponent(slot.component, {\n\t\t\telementInjector: this.viewContainerRef.injector,\n\t\t\tenvironmentInjector: this.viewContainerRef.injector.get(EnvironmentInjector),\n\t\t});\n\t\tthis.#templateRef = this.#componentRef.instance[slot.templateProp];\n\t\tthis.#templateSlotHandler.slotChange(this.#templateRef, props);\n\t}\n\n\toverride propsChange(slot: ComponentTemplate<Props, K, T>, props: Props): void {\n\t\tthis.#templateSlotHandler.propsChange(this.#templateRef!, props);\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#templateSlotHandler.destroy();\n\t\tthis.#componentRef?.destroy();\n\t\tthis.#componentRef = undefined;\n\t}\n}\n\nconst getSlotType = (value: any): undefined | {new (viewContainerRef: ViewContainerRef, document: Document): SlotHandler<any>} => {\n\tif (!value) return undefined;\n\tconst type = typeof value;\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn StringSlotHandler;\n\t\tcase 'function':\n\t\t\tif (reflectComponentType(value)) {\n\t\t\t\treturn ComponentSlotHandler;\n\t\t\t}\n\t\t\treturn FunctionSlotHandler;\n\t\tcase 'object':\n\t\t\tif (value instanceof TemplateRef) {\n\t\t\t\treturn TemplateRefSlotHandler;\n\t\t\t}\n\t\t\tif (value instanceof ComponentTemplate) {\n\t\t\t\treturn ComponentTemplateSlotHandler;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\treturn undefined;\n};\n\n@Directive({\n\tselector: '[auSlot]',\n\tstandalone: true,\n})\nexport class SlotDirective<Props extends Record<string, any>> implements OnChanges, OnDestroy {\n\t@Input('auSlot') slot: SlotContent<Props>;\n\t@Input('auSlotProps') props: Props;\n\n\tprivate _viewContainerRef = inject(ViewContainerRef);\n\tprivate _document = inject(DOCUMENT);\n\tprivate _slotType: ReturnType<typeof getSlotType>;\n\tprivate _slotHandler: SlotHandler<Props> | undefined;\n\n\t/** @inheritdoc */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tconst slotChange = changes['slot'];\n\t\tconst propsChange = changes['props'];\n\t\tconst slot = this.slot;\n\t\tif (slotChange) {\n\t\t\tconst newSlotType = getSlotType(slot);\n\t\t\tif (newSlotType !== this._slotType) {\n\t\t\t\tthis._slotHandler?.destroy();\n\t\t\t\tthis._slotHandler = newSlotType ? new newSlotType(this._viewContainerRef, this._document) : undefined;\n\t\t\t\tthis._slotType = newSlotType;\n\t\t\t}\n\t\t\tthis._slotHandler?.slotChange(slot, this.props);\n\t\t} else if (propsChange) {\n\t\t\tthis._slotHandler?.propsChange(slot, this.props);\n\t\t}\n\t}\n\n\t/** @inheritdoc */\n\tngOnDestroy(): void {\n\t\tthis._slotHandler?.destroy();\n\t\tthis._slotHandler = undefined;\n\t}\n}\n","/*\n * Public API Surface of @agnos-ui/angular-headless\n */\nexport * from './components/accordion';\nexport * from './components/alert';\nexport * from './components/modal';\nexport * from './components/pagination';\nexport * from './components/progressbar';\nexport * from './components/rating';\nexport * from './components/select';\nexport * from './components/slider';\n\nexport * from './generated';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["coreCreateAccordion","coreCreateAlert","coreCreateModal","coreCreatePagination","coreCreateProgressbar","coreCreateRating","coreCreateSelect"],"mappings":"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"}
package/package.json CHANGED
@@ -15,12 +15,12 @@
15
15
  "@angular/core": "*"
16
16
  },
17
17
  "dependencies": {
18
- "@agnos-ui/core": "0.0.1-alpha.7",
18
+ "@agnos-ui/core": "0.0.1-alpha.9",
19
19
  "@amadeus-it-group/tansu": "1.0.0",
20
20
  "tslib": "^2.6.2"
21
21
  },
22
22
  "sideEffects": false,
23
- "version": "0.0.1-alpha.7",
23
+ "version": "0.0.1-alpha.9",
24
24
  "homepage": "https://amadeusitgroup.github.io/AgnosUI/latest/",
25
25
  "bugs": "https://github.com/AmadeusITGroup/AgnosUI/issues",
26
26
  "license": "MIT",
@@ -10,7 +10,7 @@ export * from '@agnos-ui/core/utils/directive';
10
10
  * @returns the update function to change the directive or params
11
11
  */
12
12
  export declare const useDirectiveForHost: <T>(directive?: AgnosUIDirective<T> | undefined, params?: T | undefined) => {
13
- update: (newDirective?: AgnosUIDirective<T> | undefined, newParams?: T | undefined) => Promise<void>;
13
+ update: (newDirective?: AgnosUIDirective<T> | undefined, newParams?: T | undefined) => void;
14
14
  };
15
15
  export declare class UseDirective<T> implements OnChanges {
16
16
  #private;