valtech-components 4.0.1038 → 4.0.1040
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.
- package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +5 -3
- package/esm2022/lib/services/auth/auth.service.mjs +6 -2
- package/esm2022/lib/services/auth/types.mjs +1 -1
- package/esm2022/lib/services/firebase/storage.service.mjs +49 -1
- package/esm2022/lib/services/firebase/types.mjs +1 -1
- package/esm2022/lib/services/i18n/i18n.service.mjs +10 -5
- package/esm2022/lib/services/preferences/preferences.service.mjs +25 -4
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +344 -265
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/phone-display/phone-display.component.d.ts +1 -1
- package/lib/services/auth/types.d.ts +2 -0
- package/lib/services/firebase/storage.service.d.ts +11 -1
- package/lib/services/firebase/types.d.ts +34 -0
- package/lib/services/preferences/preferences.service.d.ts +2 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -15,4 +15,4 @@ export const DEFAULT_EMULATOR_CONFIG = {
|
|
|
15
15
|
storage: { host: 'localhost', port: 9199 },
|
|
16
16
|
auth: { host: 'localhost', port: 9099 },
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ZpcmViYXNlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBMkNIOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQW1CO0lBQ3JELFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtJQUM1QyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7SUFDMUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO0NBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZpcmViYXNlIFR5cGVzXG4gKlxuICogVGlwb3MgZSBpbnRlcmZhY2VzIHBhcmEgbGEgaW50ZWdyYWNpw7NuIGRlIEZpcmViYXNlIGVuIHZhbHRlY2gtY29tcG9uZW50cy5cbiAqIFRvZG9zIGxvcyBtb2RlbG9zIGRlIEZpcmVzdG9yZSBkZWJlbiBleHRlbmRlciBGaXJlc3RvcmVEb2N1bWVudC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFuYWx5dGljc0NvbmZpZyB9IGZyb20gJy4vYW5hbHl0aWNzLXR5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09ORklHVVJBQ0nDk05cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZSBGaXJlYmFzZSAodmFsb3JlcyBkZSBmaXJlYmFzZUNvbmZpZylcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaXJlYmFzZUNvbmZpZyB7XG4gIGFwaUtleTogc3RyaW5nO1xuICBhdXRoRG9tYWluOiBzdHJpbmc7XG4gIHByb2plY3RJZDogc3RyaW5nO1xuICBzdG9yYWdlQnVja2V0OiBzdHJpbmc7XG4gIG1lc3NhZ2luZ1NlbmRlcklkOiBzdHJpbmc7XG4gIGFwcElkOiBzdHJpbmc7XG4gIG1lYXN1cmVtZW50SWQ/OiBzdHJpbmc7XG4gIC8qKiBIYWJpbGl0YXIgRmlyZWJhc2UgQ2xvdWQgTWVzc2FnaW5nIChkZWZhdWx0OiBmYWxzZSkgKi9cbiAgZW5hYmxlTWVzc2FnaW5nPzogYm9vbGVhbjtcbiAgLyoqIFZBUElEIGtleSBwYXJhIEZpcmViYXNlIENsb3VkIE1lc3NhZ2luZyAqL1xuICBtZXNzYWdpbmdWYXBpZEtleT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZSBlbXVsYWRvcmVzIHBhcmEgZGVzYXJyb2xsbyBsb2NhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtdWxhdG9yQ29uZmlnIHtcbiAgZmlyZXN0b3JlPzoge1xuICAgIGhvc3Q6IHN0cmluZztcbiAgICBwb3J0OiBudW1iZXI7XG4gIH07XG4gIGF1dGg/OiB7XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIHBvcnQ6IG51bWJlcjtcbiAgfTtcbiAgc3RvcmFnZT86IHtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgcG9ydDogbnVtYmVyO1xuICB9O1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIHBvciBkZWZlY3RvIGRlIGVtdWxhZG9yZXMuXG4gKiBQdWVydG9zIGVzdMOhbmRhciB1c2Fkb3MgZW4gdG9kb3MgbG9zIHByb3llY3RvcyBmcm9udGVuZC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZmlyZWJhc2UuZ29vZ2xlLmNvbS9kb2NzL2VtdWxhdG9yLXN1aXRlXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0VNVUxBVE9SX0NPTkZJRzogRW11bGF0b3JDb25maWcgPSB7XG4gIGZpcmVzdG9yZTogeyBob3N0OiAnbG9jYWxob3N0JywgcG9ydDogOTA4MCB9LFxuICBzdG9yYWdlOiB7IGhvc3Q6ICdsb2NhbGhvc3QnLCBwb3J0OiA5MTk5IH0sXG4gIGF1dGg6IHsgaG9zdDogJ2xvY2FsaG9zdCcsIHBvcnQ6IDkwOTkgfSxcbn07XG5cbi8qKlxuICogSWRlbnRpZmljYWRvciBkZSBhcGxpY2FjacOzbiBwYXJhIG5hbWVzcGFjaW5nIGF1dG9tw6F0aWNvIGVuIEZpcmVzdG9yZSB5IFN0b3JhZ2UuXG4gKiBQZXJtaXRlIGFpc2xhciBkYXRvcyBkZSBkaWZlcmVudGVzIGFwcHMgZGVudHJvIGRlbCBtaXNtbyBwcm95ZWN0byBGaXJlYmFzZS5cbiAqXG4gKiBDYWRhIGFwcCBjb25zdW1pZG9yYSBkZWZpbmUgc3VzIHByb3Bpb3MgdmFsb3JlcyBkZSBBcHBJZCBlbiBzdSBjb25maWd1cmFjacOzbiBsb2NhbC5cbiAqL1xuZXhwb3J0IHR5cGUgQXBwSWQgPSBzdHJpbmc7XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gY29tcGxldGEgZGUgVmFsdGVjaCBGaXJlYmFzZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hGaXJlYmFzZUNvbmZpZyB7XG4gIC8qKiBDb25maWd1cmFjacOzbiBkZSBGaXJlYmFzZSAqL1xuICBmaXJlYmFzZTogRmlyZWJhc2VDb25maWc7XG4gIC8qKiBDb25maWd1cmFjacOzbiBkZSBlbXVsYWRvcmVzIChvcGNpb25hbCwgcGFyYSBkZXNhcnJvbGxvKSAqL1xuICBlbXVsYXRvcj86IEVtdWxhdG9yQ29uZmlnO1xuICAvKiogSGFiaWxpdGFyIHBlcnNpc3RlbmNpYSBvZmZsaW5lIGRlIEZpcmVzdG9yZSAoZGVmYXVsdDogZmFsc2UpICovXG4gIHBlcnNpc3RlbmNlPzogYm9vbGVhbjtcbiAgLyoqIEhhYmlsaXRhciBGaXJlYmFzZSBDbG91ZCBNZXNzYWdpbmcgKGRlZmF1bHQ6IGZhbHNlKSAtIHJlcXVpZXJlIFNlcnZpY2UgV29ya2VyICovXG4gIGVuYWJsZU1lc3NhZ2luZz86IGJvb2xlYW47XG4gIC8qKiBWQVBJRCBrZXkgcGFyYSBGaXJlYmFzZSBDbG91ZCBNZXNzYWdpbmcgKi9cbiAgbWVzc2FnaW5nVmFwaWRLZXk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJRCBkZSBsYSBhcGxpY2FjacOzbiBwYXJhIG5hbWVzcGFjaW5nIGF1dG9tw6F0aWNvLlxuICAgKiBTaSBzZSBwcm9wb3JjaW9uYTpcbiAgICogLSBGaXJlc3RvcmU6IHByZWZpamEgY29sZWNjaW9uZXMgY29uIGBhcHBzL3thcHBJZH0vYFxuICAgKiAtIFN0b3JhZ2U6IHByZWZpamEgcGF0aHMgY29uIGB7YXBwSWR9L2BcbiAgICogU2kgbm8gc2UgcHJvcG9yY2lvbmEsIGxvcyBwYXRocyBxdWVkYW4gc2luIG1vZGlmaWNhciAoYmFja3dhcmQgY29tcGF0aWJsZSkuXG4gICAqL1xuICBhcHBJZD86IEFwcElkO1xuICAvKipcbiAgICogUGVyc2lzdGUgbWVuc2FqZXMgRkNNIGVuIGxvY2FsU3RvcmFnZSBwYXJhIGRlYnVnZ2luZy5cbiAgICogU29sbyBwYXJhIGRlc2Fycm9sbG8sIHBlcm1pdGUgdmVyIG1lbnNhamVzIGVuIERldlRvb2xzLlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgZGVidWdNZXNzYWdlUGVyc2lzdGVuY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBIYWJpbGl0YXIgRmlyZWJhc2UgQW5hbHl0aWNzIC8gR0E0IChkZWZhdWx0OiBmYWxzZSkuXG4gICAqIFJlcXVpZXJlIG1lYXN1cmVtZW50SWQgZW4gZmlyZWJhc2UgY29uZmlnLlxuICAgKi9cbiAgZW5hYmxlQW5hbHl0aWNzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uZmlndXJhY2nDs24gZGV0YWxsYWRhIGRlIEFuYWx5dGljcy5cbiAgICogU29sbyBhcGxpY2Egc2kgZW5hYmxlQW5hbHl0aWNzIGVzIHRydWUuXG4gICAqL1xuICBhbmFseXRpY3NDb25maWc/OiBBbmFseXRpY3NDb25maWc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZJUkVTVE9SRSAtIERPQ1VNRU5UT1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJbnRlcmZhY2UgYmFzZSBwYXJhIHRvZG9zIGxvcyBkb2N1bWVudG9zIGRlIEZpcmVzdG9yZS5cbiAqIFRvZG9zIGxvcyBtb2RlbG9zIGRlYmVuIGV4dGVuZGVyIGVzdGEgaW50ZXJmYWNlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbnRlcmZhY2UgVXNlciBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50IHtcbiAqICAgbmFtZTogc3RyaW5nO1xuICogICBlbWFpbDogc3RyaW5nO1xuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpcmVzdG9yZURvY3VtZW50IHtcbiAgLyoqIElEIGRlbCBkb2N1bWVudG8gKGFzaWduYWRvIHBvciBGaXJlc3RvcmUpICovXG4gIGlkPzogc3RyaW5nO1xuICAvKiogRmVjaGEgZGUgY3JlYWNpw7NuIChtYW5lamFkYSBhdXRvbcOhdGljYW1lbnRlKSAqL1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICAvKiogRmVjaGEgZGUgw7psdGltYSBhY3R1YWxpemFjacOzbiAobWFuZWphZGEgYXV0b23DoXRpY2FtZW50ZSkgKi9cbiAgdXBkYXRlZEF0PzogRGF0ZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRklSRVNUT1JFIC0gUVVFUklFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE9wZXJhZG9yZXMgZGlzcG9uaWJsZXMgcGFyYSBjbMOhdXN1bGFzIHdoZXJlXG4gKi9cbmV4cG9ydCB0eXBlIFdoZXJlT3BlcmF0b3IgPVxuICB8ICc9PSdcbiAgfCAnIT0nXG4gIHwgJzwnXG4gIHwgJzw9J1xuICB8ICc+J1xuICB8ICc+PSdcbiAgfCAnYXJyYXktY29udGFpbnMnXG4gIHwgJ2FycmF5LWNvbnRhaW5zLWFueSdcbiAgfCAnaW4nXG4gIHwgJ25vdC1pbic7XG5cbi8qKlxuICogQ2zDoXVzdWxhIHdoZXJlIHBhcmEgZmlsdHJhciBkb2N1bWVudG9zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2hlcmVDbGF1c2Uge1xuICAvKiogQ2FtcG8gYSBmaWx0cmFyICovXG4gIGZpZWxkOiBzdHJpbmc7XG4gIC8qKiBPcGVyYWRvciBkZSBjb21wYXJhY2nDs24gKi9cbiAgb3BlcmF0b3I6IFdoZXJlT3BlcmF0b3I7XG4gIC8qKiBWYWxvciBhIGNvbXBhcmFyICovXG4gIHZhbHVlOiB1bmtub3duO1xufVxuXG4vKipcbiAqIERpcmVjY2nDs24gZGUgb3JkZW5hbWllbnRvXG4gKi9cbmV4cG9ydCB0eXBlIE9yZGVyRGlyZWN0aW9uID0gJ2FzYycgfCAnZGVzYyc7XG5cbi8qKlxuICogQ2zDoXVzdWxhIG9yZGVyQnkgcGFyYSBvcmRlbmFyIHJlc3VsdGFkb3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcmRlckJ5Q2xhdXNlIHtcbiAgLyoqIENhbXBvIHBvciBlbCBjdWFsIG9yZGVuYXIgKi9cbiAgZmllbGQ6IHN0cmluZztcbiAgLyoqIERpcmVjY2nDs24gZGVsIG9yZGVuYW1pZW50byAqL1xuICBkaXJlY3Rpb246IE9yZGVyRGlyZWN0aW9uO1xufVxuXG4vKipcbiAqIE9wY2lvbmVzIHBhcmEgcXVlcmllcyBkZSBGaXJlc3RvcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeU9wdGlvbnMge1xuICAvKiogRmlsdHJvcyB3aGVyZSAoQU5EIGVudHJlIHRvZG9zKSAqL1xuICB3aGVyZT86IFdoZXJlQ2xhdXNlW107XG4gIC8qKiBPcmRlbmFtaWVudG8gZGUgcmVzdWx0YWRvcyAqL1xuICBvcmRlckJ5PzogT3JkZXJCeUNsYXVzZVtdO1xuICAvKiogTMOtbWl0ZSBkZSBkb2N1bWVudG9zIGEgcmV0b3JuYXIgKi9cbiAgbGltaXQ/OiBudW1iZXI7XG4gIC8qKiBDdXJzb3IgcGFyYSBwYWdpbmFjacOzbjogZW1wZXphciBkZXNwdcOpcyBkZSBlc3RlIGRvY3VtZW50byAqL1xuICBzdGFydEFmdGVyPzogdW5rbm93bjtcbiAgLyoqIEN1cnNvciBwYXJhIHBhZ2luYWNpw7NuOiBlbXBlemFyIGVuIGVzdGUgZG9jdW1lbnRvICovXG4gIHN0YXJ0QXQ/OiB1bmtub3duO1xuICAvKiogQ3Vyc29yIHBhcmEgcGFnaW5hY2nDs246IHRlcm1pbmFyIGFudGVzIGRlIGVzdGUgZG9jdW1lbnRvICovXG4gIGVuZEJlZm9yZT86IHVua25vd247XG4gIC8qKiBDdXJzb3IgcGFyYSBwYWdpbmFjacOzbjogdGVybWluYXIgZW4gZXN0ZSBkb2N1bWVudG8gKi9cbiAgZW5kQXQ/OiB1bmtub3duO1xufVxuXG4vKipcbiAqIE9wY2lvbmVzIGFkaWNpb25hbGVzIHBhcmEgc3Vic2NyaXBjaW9uZXMgcmVhbC10aW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uT3B0aW9ucyBleHRlbmRzIFF1ZXJ5T3B0aW9ucyB7XG4gIC8qKiBJbmNsdWlyIGNhbWJpb3MgZGUgbWV0YWRhdGEgKGVqOiBwZW5kaW5nV3JpdGVzKSAqL1xuICBpbmNsdWRlTWV0YWRhdGFDaGFuZ2VzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXN1bHRhZG8gZGUgdW5hIHF1ZXJ5IHBhZ2luYWRhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGVkUmVzdWx0PFQ+IHtcbiAgLyoqIERvY3VtZW50b3MgZGUgbGEgcMOhZ2luYSBhY3R1YWwgKi9cbiAgZGF0YTogVFtdO1xuICAvKiogSW5kaWNhIHNpIGhheSBtw6FzIHDDoWdpbmFzIGRpc3BvbmlibGVzICovXG4gIGhhc01vcmU6IGJvb2xlYW47XG4gIC8qKiBDdXJzb3IgcGFyYSBsYSBzaWd1aWVudGUgcMOhZ2luYSAocGFzYXIgYSBzdGFydEFmdGVyKSAqL1xuICBsYXN0RG9jOiB1bmtub3duO1xuICAvKiogVG90YWwgZGUgZG9jdW1lbnRvcyAob3BjaW9uYWwsIHJlcXVpZXJlIHF1ZXJ5IGFkaWNpb25hbCkgKi9cbiAgdG90YWw/OiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNUT1JBR0Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFc3RhZG8gZGUgdW5hIG9wZXJhY2nDs24gZGUgdXBsb2FkXG4gKi9cbmV4cG9ydCB0eXBlIFVwbG9hZFN0YXRlID0gJ3J1bm5pbmcnIHwgJ3BhdXNlZCcgfCAnc3VjY2VzcycgfCAnY2FuY2VsZWQnIHwgJ2Vycm9yJztcblxuLyoqXG4gKiBQcm9ncmVzbyBkZSB1cGxvYWQgZGUgYXJjaGl2b1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZFByb2dyZXNzIHtcbiAgLyoqIEJ5dGVzIHRyYW5zZmVyaWRvcyBoYXN0YSBhaG9yYSAqL1xuICBieXRlc1RyYW5zZmVycmVkOiBudW1iZXI7XG4gIC8qKiBUb3RhbCBkZSBieXRlcyBhIHRyYW5zZmVyaXIgKi9cbiAgdG90YWxCeXRlczogbnVtYmVyO1xuICAvKiogUG9yY2VudGFqZSBjb21wbGV0YWRvICgwLTEwMCkgKi9cbiAgcGVyY2VudGFnZTogbnVtYmVyO1xuICAvKiogRXN0YWRvIGFjdHVhbCBkZWwgdXBsb2FkICovXG4gIHN0YXRlOiBVcGxvYWRTdGF0ZTtcbn1cblxuLyoqXG4gKiBSZXN1bHRhZG8gZGUgdW4gdXBsb2FkIGNvbXBsZXRhZG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRSZXN1bHQge1xuICAvKiogVVJMIGRlIGRlc2NhcmdhIGRlbCBhcmNoaXZvICovXG4gIGRvd25sb2FkVXJsOiBzdHJpbmc7XG4gIC8qKiBSdXRhIGNvbXBsZXRhIGVuIFN0b3JhZ2UgKi9cbiAgZnVsbFBhdGg6IHN0cmluZztcbiAgLyoqIE5vbWJyZSBkZWwgYXJjaGl2byAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBUYW1hw7FvIGVuIGJ5dGVzICovXG4gIHNpemU6IG51bWJlcjtcbiAgLyoqIFRpcG8gTUlNRSBkZWwgYXJjaGl2byAqL1xuICBjb250ZW50VHlwZTogc3RyaW5nO1xuICAvKiogTWV0YWRhdGEgcGVyc29uYWxpemFkYSAqL1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBNZXRhZGF0YSBwYXJhIGFyY2hpdm9zIGVuIFN0b3JhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdG9yYWdlTWV0YWRhdGEge1xuICAvKiogVGlwbyBNSU1FIGRlbCBhcmNoaXZvICovXG4gIGNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICAvKiogTWV0YWRhdGEgcGVyc29uYWxpemFkYSAoa2V5LXZhbHVlKSAqL1xuICBjdXN0b21NZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKiBDb250cm9sIGRlIGNhY2jDqSBIVFRQICovXG4gIGNhY2hlQ29udHJvbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNraXAgdGhlIGFwcElkIHByZWZpeCBmb3Igc2hhcmVkIHBhdGhzLlxuICAgKiBVc2UgdGhpcyBmb3IgY3Jvc3MtYXBwIHBhdGhzIGxpa2UgdXNlciBhdmF0YXJzOiBgdXNlcnMve3VzZXJJZH0vYXZhdGFyLmpwZ2BcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNraXBQcmVmaXg/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc3VsdGFkbyBkZSBsaXN0YXIgYXJjaGl2b3MgZW4gU3RvcmFnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VMaXN0UmVzdWx0IHtcbiAgLyoqIFJ1dGFzIGRlIGxvcyBhcmNoaXZvcyBlbmNvbnRyYWRvcyAqL1xuICBpdGVtczogc3RyaW5nW107XG4gIC8qKiBUb2tlbiBwYXJhIGxhIHNpZ3VpZW50ZSBww6FnaW5hIChzaSBoYXkgbcOhcykgKi9cbiAgbmV4dFBhZ2VUb2tlbj86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUkJBQyAtIFBFUk1JU09TIFkgT1JHQU5JWkFDSU9ORVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJbmZvcm1hY2nDs24gZGUgbWVtYmVyc2hpcCBlbiB1bmEgb3JnYW5pemFjacOzbi5cbiAqIFJlcHJlc2VudGEgZWwgcm9sIHkgcGVybWlzb3MgcXVlIHRpZW5lIHVuIHVzdWFyaW8gZW4gdW5hIG9yZyBlc3BlY8OtZmljYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZW1iZXJzaGlwSW5mbyB7XG4gIC8qKiBJRCBkZWwgcm9sIChlajogJ2FkbWluJywgJ2VkaXRvcicsICd2aWV3ZXInKSAqL1xuICByb2xlSWQ6IHN0cmluZztcbiAgLyoqIE5vbWJyZSBkZWwgcm9sIHBhcmEgZGlzcGxheSAqL1xuICByb2xlTmFtZTogc3RyaW5nO1xuICAvKiogTGlzdGEgZGUgcGVybWlzb3MgZW4gZm9ybWF0byAncmVzb3VyY2U6YWN0aW9uJyAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG59XG5cbi8qKlxuICogRXN0cnVjdHVyYSBjb21wbGV0YSBkZSBjbGFpbXMgY29uIFJCQUMuXG4gKiBFc3RvcyBjbGFpbXMgZXN0w6FuIGRpc3BvbmlibGVzIGVuIHJlcXVlc3QuYXV0aC50b2tlbiBlbiBGaXJlc3RvcmUgUnVsZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUkJBQ0NsYWltcyB7XG4gIC8qKiBFbWFpbCBkZWwgdXN1YXJpbyAqL1xuICBlbWFpbDogc3RyaW5nO1xuICAvKiogTm9tYnJlIGNvbXBsZXRvIGRlbCB1c3VhcmlvICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFNpIGVsIGVtYWlsIGVzdMOhIHZlcmlmaWNhZG8gKi9cbiAgdmVyaWZpZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBNYXBhIGRlIG9yZ2FuaXphY2lvbmVzIGRvbmRlIGVsIHVzdWFyaW8gdGllbmUgcm9sZXMuXG4gICAqIEtleSA9IG9yZ0lkLCBWYWx1ZSA9IGluZm9ybWFjacOzbiBkZWwgcm9sIHkgcGVybWlzb3MgZW4gZXNhIG9yZy5cbiAgICovXG4gIG1lbWJlcnNoaXBzOiBSZWNvcmQ8c3RyaW5nLCBNZW1iZXJzaGlwSW5mbz47XG4gIC8qKiBJRCBkZSBsYSBvcmdhbml6YWNpw7NuIGFjdHVhbG1lbnRlIHNlbGVjY2lvbmFkYSAqL1xuICBhY3RpdmVPcmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbmZvcm1hY2nDs24gZGUgdW5hIG9yZ2FuaXphY2nDs24gcGFyYSBkaXNwbGF5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemF0aW9uSW5mbyB7XG4gIC8qKiBJRCDDum5pY28gZGUgbGEgb3JnYW5pemFjacOzbiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogUm9sIGRlbCB1c3VhcmlvIGVuIGVzdGEgb3JnYW5pemFjacOzbiAqL1xuICByb2xlSWQ6IHN0cmluZztcbiAgLyoqIE5vbWJyZSBkZWwgcm9sIHBhcmEgZGlzcGxheSAqL1xuICByb2xlTmFtZTogc3RyaW5nO1xuICAvKiogUGVybWlzb3MgZGVsIHVzdWFyaW8gZW4gZXN0YSBvcmdhbml6YWNpw7NuICovXG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUSCAvIFNFU1NJT05cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJbmZvcm1hY2nDs24gZGVsIHVzdWFyaW8gZGUgRmlyZWJhc2UgKHNpbXBsaWZpY2FkYSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaXJlYmFzZVVzZXIge1xuICAvKiogVUlEIMO6bmljbyBkZWwgdXN1YXJpbyAqL1xuICB1aWQ6IHN0cmluZztcbiAgLyoqIEVtYWlsIGRlbCB1c3VhcmlvICovXG4gIGVtYWlsOiBzdHJpbmcgfCBudWxsO1xuICAvKiogTm9tYnJlIHBhcmEgbW9zdHJhciAqL1xuICBkaXNwbGF5TmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFVSTCBkZSBmb3RvIGRlIHBlcmZpbCAqL1xuICBwaG90b1VSTDogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIEVtYWlsIHZlcmlmaWNhZG8gKi9cbiAgZW1haWxWZXJpZmllZDogYm9vbGVhbjtcbiAgLyoqIFVzdWFyaW8gYW7Ds25pbW8gKi9cbiAgaXNBbm9ueW1vdXM6IGJvb2xlYW47XG4gIC8qKiBQcm92ZWVkb3IgZGUgYXV0ZW50aWNhY2nDs24gKi9cbiAgcHJvdmlkZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZSBsYSBzZXNpw7NuIGRlIEZpcmViYXNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvblN0YXRlIHtcbiAgLyoqIFVzdWFyaW8gYWN0dWFsIChudWxsIHNpIG5vIGF1dGVudGljYWRvKSAqL1xuICB1c2VyOiBGaXJlYmFzZVVzZXIgfCBudWxsO1xuICAvKiogSW5kaWNhIHNpIGVsIHVzdWFyaW8gZXN0w6EgYXV0ZW50aWNhZG8gKi9cbiAgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuO1xuICAvKiogSW5kaWNhIHNpIHNlIGVzdMOhIGNhcmdhbmRvIGVsIGVzdGFkbyBkZSBhdXRoICovXG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgLyoqIEVycm9yIGRlIGF1dGVudGljYWNpw7NuIChzaSBsbyBoYXkpICovXG4gIGVycm9yOiBFcnJvciB8IG51bGw7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1FU1NBR0lORyAoRkNNKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEVzdGFkbyBkZWwgcGVybWlzbyBkZSBub3RpZmljYWNpb25lc1xuICovXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uID0gJ2dyYW50ZWQnIHwgJ2RlbmllZCcgfCAnZGVmYXVsdCc7XG5cbi8qKlxuICogUGF5bG9hZCBkZSB1bmEgbm90aWZpY2FjacOzbiBwdXNoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uUGF5bG9hZCB7XG4gIC8qKiBUw610dWxvIGRlIGxhIG5vdGlmaWNhY2nDs24gKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBDdWVycG8gZGVsIG1lbnNhamUgKi9cbiAgYm9keT86IHN0cmluZztcbiAgLyoqIFVSTCBkZSBpbWFnZW4gKi9cbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIC8qKiBEYXRvcyBwZXJzb25hbGl6YWRvcyAqL1xuICBkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqIElEIGRlbCBtZW5zYWplIGRlIEZDTSAqL1xuICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWNjacOzbiBkZSBuYXZlZ2FjacOzbiBkZXNkZSB1bmEgbm90aWZpY2FjacOzblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkFjdGlvbiB7XG4gIC8qKiBSdXRhIGludGVybmEgZGUgbGEgYXBwIChlajogJy9vcmRlcnMvMTIzJykgKi9cbiAgcm91dGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgZXh0ZXJuYSAoZWo6ICdodHRwczovL2V4YW1wbGUuY29tJykgKi9cbiAgdXJsPzogc3RyaW5nO1xuICAvKiogUGFyw6FtZXRyb3MgZGUgcXVlcnkgc3RyaW5nICovXG4gIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqIFRpcG8gZGUgYWNjacOzbiBwZXJzb25hbGl6YWRhICovXG4gIGFjdGlvblR5cGU/OiBzdHJpbmc7XG4gIC8qKiBEYXRvcyBhZGljaW9uYWxlcyBwYXJhIGxhIGFjY2nDs24gKi9cbiAgYWN0aW9uRGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIFJlc3VsdGFkbyBkZSBgTWVzc2FnaW5nU2VydmljZS5lbmFibGUoKWAuXG4gKlxuICogVGlwbyBkaXNjcmltaW5hZG8gZGVzY3JpcHRpdm8gKE5PIHNlIGhhY2UgdGhyb3cpOiBsYSBww6FnaW5hIGNvbnN1bWlkb3JhIGxvXG4gKiBpbnNwZWNjaW9uYSBwYXJhIGRlY2lkaXIgcXXDqSB0b2FzdC9VWCBtb3N0cmFyLlxuICpcbiAqIGBzdGF0dXNgOlxuICogLSBgZW5hYmxlZGAgICAgIOKAlCBwZXJtaXNvIG90b3JnYWRvICsgdG9rZW4gRkNNIG9idGVuaWRvIChgdG9rZW5gIHByZXNlbnRlKS5cbiAqIC0gYGRlbmllZGAgICAgICDigJQgZWwgdXN1YXJpbyBkZW5lZ8OzIGVsIHBlcm1pc28gZGVsIG5hdmVnYWRvci5cbiAqIC0gYHVuc3VwcG9ydGVkYCDigJQgZWwgbmF2ZWdhZG9yIG5vIHNvcG9ydGEgRkNNIChpbmNsLiBpT1Mgc2luIHN0YW5kYWxvbmUpLlxuICogLSBgZXJyb3JgICAgICAgIOKAlCBlbCBmbHVqbyBmYWxsw7MgcG9yIG90cmEgY2F1c2EgKHZlciBgcmVhc29uYCkuXG4gKiAtIGB0aW1lb3V0YCAgICAg4oCUIGVsIGZsdWpvIHNlIGNvbGfDsyA+MTVzLiBTaSBgcmVsb2FkZWRgIGVzIHRydWUsIGxhIHDDoWdpbmFcbiAqICAgICAgICAgICAgICAgICAgIGVzdMOhIHBvciByZWNhcmdhcnNlIChhdXRvLXJlbG9hZCwgMcKqIHZleiBlbiBsYSBzZXNpw7NuKTsgc2lcbiAqICAgICAgICAgICAgICAgICAgIGVzIGZhbHNlLCB5YSBzZSBjb25zdW1pw7MgZWwgYXV0by1yZWxvYWQgeSBsYSBww6FnaW5hIGRlYmVcbiAqICAgICAgICAgICAgICAgICAgIG1vc3RyYXIgdW4gZXJyb3Igc2luIHJlY2FyZ2FyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuYWJsZVB1c2hSZXN1bHQge1xuICAvKiogUmVzdWx0YWRvIGRlbCBmbHVqbyBkZSBhY3RpdmFjacOzbiBkZSBwdXNoLiAqL1xuICBzdGF0dXM6ICdlbmFibGVkJyB8ICdkZW5pZWQnIHwgJ3Vuc3VwcG9ydGVkJyB8ICdlcnJvcicgfCAndGltZW91dCc7XG4gIC8qKiBUb2tlbiBGQ00g4oCUIHByZXNlbnRlIHNvbG8gY3VhbmRvIGBzdGF0dXMgPT09ICdlbmFibGVkJ2AuICovXG4gIHRva2VuPzogc3RyaW5nO1xuICAvKiogRGV0YWxsZSBsZWdpYmxlIGRlIGxhIGNhdXNhIOKAlCBwcmVzZW50ZSBlbiBgZXJyb3JgIC8gYHRpbWVvdXRgLiAqL1xuICByZWFzb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTb2xvIHBhcmEgYHN0YXR1cyA9PT0gJ3RpbWVvdXQnYDogdHJ1ZSBzaSBzZSBkaXNwYXLDsyBlbCBhdXRvLXJlbG9hZFxuICAgKiAobGEgcMOhZ2luYSBlc3TDoSBwb3IgcmVjYXJnYXJzZSkuIEZhbHNlIHNpIGVsIGF1dG8tcmVsb2FkIHlhIHNlIGNvbnN1bWnDs1xuICAgKiBlc3RhIHNlc2nDs24geSBsYSBhcHAgZGViZSBtb3N0cmFyIHVuIGVycm9yIGVuIGx1Z2FyIGRlIHJlY2FyZ2FyLlxuICAgKi9cbiAgcmVsb2FkZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV2ZW50byBkZSBjbGljayBlbiB1bmEgbm90aWZpY2FjacOzblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkNsaWNrRXZlbnQge1xuICAvKiogUGF5bG9hZCBvcmlnaW5hbCBkZSBsYSBub3RpZmljYWNpw7NuICovXG4gIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uUGF5bG9hZDtcbiAgLyoqIEFjY2nDs24gZGUgbmF2ZWdhY2nDs24gZXh0cmHDrWRhICovXG4gIGFjdGlvbjogTm90aWZpY2F0aW9uQWN0aW9uO1xuICAvKiogVGltZXN0YW1wIGRlbCBjbGljayAqL1xuICB0aW1lc3RhbXA6IERhdGU7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVSUk9SRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDw7NkaWdvcyBkZSBlcnJvciBkZSBGaXJlYmFzZVxuICovXG5leHBvcnQgdHlwZSBGaXJlYmFzZUVycm9yQ29kZSA9XG4gIHwgJ3Blcm1pc3Npb24tZGVuaWVkJ1xuICB8ICdub3QtZm91bmQnXG4gIHwgJ2FscmVhZHktZXhpc3RzJ1xuICB8ICdyZXNvdXJjZS1leGhhdXN0ZWQnXG4gIHwgJ2NhbmNlbGxlZCdcbiAgfCAndW5rbm93bidcbiAgfCAnaW52YWxpZC1hcmd1bWVudCdcbiAgfCAnZGVhZGxpbmUtZXhjZWVkZWQnXG4gIHwgJ3VuYXV0aGVudGljYXRlZCc7XG5cbi8qKlxuICogRXJyb3IgZGUgRmlyZWJhc2UgdGlwYWRvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlyZWJhc2VFcnJvciB7XG4gIC8qKiBDw7NkaWdvIGRlbCBlcnJvciAqL1xuICBjb2RlOiBGaXJlYmFzZUVycm9yQ29kZTtcbiAgLyoqIE1lbnNhamUgZGUgZXJyb3IgKGVuIGVzcGHDsW9sKSAqL1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIC8qKiBFcnJvciBvcmlnaW5hbCBkZSBGaXJlYmFzZSAqL1xuICBvcmlnaW5hbEVycm9yPzogdW5rbm93bjtcbn1cbiJdfQ==
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ZpcmViYXNlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBNENIOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQW1CO0lBQ3JELFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtJQUM1QyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7SUFDMUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO0NBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZpcmViYXNlIFR5cGVzXG4gKlxuICogVGlwb3MgZSBpbnRlcmZhY2VzIHBhcmEgbGEgaW50ZWdyYWNpw7NuIGRlIEZpcmViYXNlIGVuIHZhbHRlY2gtY29tcG9uZW50cy5cbiAqIFRvZG9zIGxvcyBtb2RlbG9zIGRlIEZpcmVzdG9yZSBkZWJlbiBleHRlbmRlciBGaXJlc3RvcmVEb2N1bWVudC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFuYWx5dGljc0NvbmZpZyB9IGZyb20gJy4vYW5hbHl0aWNzLXR5cGVzJztcbmltcG9ydCB0eXBlIHsgSW1hZ2VDb21wcmVzc09wdGlvbnMgfSBmcm9tICcuLi9pbWFnZS90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTkZJR1VSQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gZGUgRmlyZWJhc2UgKHZhbG9yZXMgZGUgZmlyZWJhc2VDb25maWcpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlyZWJhc2VDb25maWcge1xuICBhcGlLZXk6IHN0cmluZztcbiAgYXV0aERvbWFpbjogc3RyaW5nO1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgc3RvcmFnZUJ1Y2tldDogc3RyaW5nO1xuICBtZXNzYWdpbmdTZW5kZXJJZDogc3RyaW5nO1xuICBhcHBJZDogc3RyaW5nO1xuICBtZWFzdXJlbWVudElkPzogc3RyaW5nO1xuICAvKiogSGFiaWxpdGFyIEZpcmViYXNlIENsb3VkIE1lc3NhZ2luZyAoZGVmYXVsdDogZmFsc2UpICovXG4gIGVuYWJsZU1lc3NhZ2luZz86IGJvb2xlYW47XG4gIC8qKiBWQVBJRCBrZXkgcGFyYSBGaXJlYmFzZSBDbG91ZCBNZXNzYWdpbmcgKi9cbiAgbWVzc2FnaW5nVmFwaWRLZXk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gZGUgZW11bGFkb3JlcyBwYXJhIGRlc2Fycm9sbG8gbG9jYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbXVsYXRvckNvbmZpZyB7XG4gIGZpcmVzdG9yZT86IHtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgcG9ydDogbnVtYmVyO1xuICB9O1xuICBhdXRoPzoge1xuICAgIGhvc3Q6IHN0cmluZztcbiAgICBwb3J0OiBudW1iZXI7XG4gIH07XG4gIHN0b3JhZ2U/OiB7XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIHBvcnQ6IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBwb3IgZGVmZWN0byBkZSBlbXVsYWRvcmVzLlxuICogUHVlcnRvcyBlc3TDoW5kYXIgdXNhZG9zIGVuIHRvZG9zIGxvcyBwcm95ZWN0b3MgZnJvbnRlbmQuXG4gKlxuICogQHNlZSBodHRwczovL2ZpcmViYXNlLmdvb2dsZS5jb20vZG9jcy9lbXVsYXRvci1zdWl0ZVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FTVVMQVRPUl9DT05GSUc6IEVtdWxhdG9yQ29uZmlnID0ge1xuICBmaXJlc3RvcmU6IHsgaG9zdDogJ2xvY2FsaG9zdCcsIHBvcnQ6IDkwODAgfSxcbiAgc3RvcmFnZTogeyBob3N0OiAnbG9jYWxob3N0JywgcG9ydDogOTE5OSB9LFxuICBhdXRoOiB7IGhvc3Q6ICdsb2NhbGhvc3QnLCBwb3J0OiA5MDk5IH0sXG59O1xuXG4vKipcbiAqIElkZW50aWZpY2Fkb3IgZGUgYXBsaWNhY2nDs24gcGFyYSBuYW1lc3BhY2luZyBhdXRvbcOhdGljbyBlbiBGaXJlc3RvcmUgeSBTdG9yYWdlLlxuICogUGVybWl0ZSBhaXNsYXIgZGF0b3MgZGUgZGlmZXJlbnRlcyBhcHBzIGRlbnRybyBkZWwgbWlzbW8gcHJveWVjdG8gRmlyZWJhc2UuXG4gKlxuICogQ2FkYSBhcHAgY29uc3VtaWRvcmEgZGVmaW5lIHN1cyBwcm9waW9zIHZhbG9yZXMgZGUgQXBwSWQgZW4gc3UgY29uZmlndXJhY2nDs24gbG9jYWwuXG4gKi9cbmV4cG9ydCB0eXBlIEFwcElkID0gc3RyaW5nO1xuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIGNvbXBsZXRhIGRlIFZhbHRlY2ggRmlyZWJhc2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoRmlyZWJhc2VDb25maWcge1xuICAvKiogQ29uZmlndXJhY2nDs24gZGUgRmlyZWJhc2UgKi9cbiAgZmlyZWJhc2U6IEZpcmViYXNlQ29uZmlnO1xuICAvKiogQ29uZmlndXJhY2nDs24gZGUgZW11bGFkb3JlcyAob3BjaW9uYWwsIHBhcmEgZGVzYXJyb2xsbykgKi9cbiAgZW11bGF0b3I/OiBFbXVsYXRvckNvbmZpZztcbiAgLyoqIEhhYmlsaXRhciBwZXJzaXN0ZW5jaWEgb2ZmbGluZSBkZSBGaXJlc3RvcmUgKGRlZmF1bHQ6IGZhbHNlKSAqL1xuICBwZXJzaXN0ZW5jZT86IGJvb2xlYW47XG4gIC8qKiBIYWJpbGl0YXIgRmlyZWJhc2UgQ2xvdWQgTWVzc2FnaW5nIChkZWZhdWx0OiBmYWxzZSkgLSByZXF1aWVyZSBTZXJ2aWNlIFdvcmtlciAqL1xuICBlbmFibGVNZXNzYWdpbmc/OiBib29sZWFuO1xuICAvKiogVkFQSUQga2V5IHBhcmEgRmlyZWJhc2UgQ2xvdWQgTWVzc2FnaW5nICovXG4gIG1lc3NhZ2luZ1ZhcGlkS2V5Pzogc3RyaW5nO1xuICAvKipcbiAgICogSUQgZGUgbGEgYXBsaWNhY2nDs24gcGFyYSBuYW1lc3BhY2luZyBhdXRvbcOhdGljby5cbiAgICogU2kgc2UgcHJvcG9yY2lvbmE6XG4gICAqIC0gRmlyZXN0b3JlOiBwcmVmaWphIGNvbGVjY2lvbmVzIGNvbiBgYXBwcy97YXBwSWR9L2BcbiAgICogLSBTdG9yYWdlOiBwcmVmaWphIHBhdGhzIGNvbiBge2FwcElkfS9gXG4gICAqIFNpIG5vIHNlIHByb3BvcmNpb25hLCBsb3MgcGF0aHMgcXVlZGFuIHNpbiBtb2RpZmljYXIgKGJhY2t3YXJkIGNvbXBhdGlibGUpLlxuICAgKi9cbiAgYXBwSWQ/OiBBcHBJZDtcbiAgLyoqXG4gICAqIFBlcnNpc3RlIG1lbnNhamVzIEZDTSBlbiBsb2NhbFN0b3JhZ2UgcGFyYSBkZWJ1Z2dpbmcuXG4gICAqIFNvbG8gcGFyYSBkZXNhcnJvbGxvLCBwZXJtaXRlIHZlciBtZW5zYWplcyBlbiBEZXZUb29scy5cbiAgICogRGVmYXVsdDogZmFsc2VcbiAgICovXG4gIGRlYnVnTWVzc2FnZVBlcnNpc3RlbmNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSGFiaWxpdGFyIEZpcmViYXNlIEFuYWx5dGljcyAvIEdBNCAoZGVmYXVsdDogZmFsc2UpLlxuICAgKiBSZXF1aWVyZSBtZWFzdXJlbWVudElkIGVuIGZpcmViYXNlIGNvbmZpZy5cbiAgICovXG4gIGVuYWJsZUFuYWx5dGljcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYWNpw7NuIGRldGFsbGFkYSBkZSBBbmFseXRpY3MuXG4gICAqIFNvbG8gYXBsaWNhIHNpIGVuYWJsZUFuYWx5dGljcyBlcyB0cnVlLlxuICAgKi9cbiAgYW5hbHl0aWNzQ29uZmlnPzogQW5hbHl0aWNzQ29uZmlnO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGSVJFU1RPUkUgLSBET0NVTUVOVE9TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSW50ZXJmYWNlIGJhc2UgcGFyYSB0b2RvcyBsb3MgZG9jdW1lbnRvcyBkZSBGaXJlc3RvcmUuXG4gKiBUb2RvcyBsb3MgbW9kZWxvcyBkZWJlbiBleHRlbmRlciBlc3RhIGludGVyZmFjZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW50ZXJmYWNlIFVzZXIgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudCB7XG4gKiAgIG5hbWU6IHN0cmluZztcbiAqICAgZW1haWw6IHN0cmluZztcbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaXJlc3RvcmVEb2N1bWVudCB7XG4gIC8qKiBJRCBkZWwgZG9jdW1lbnRvIChhc2lnbmFkbyBwb3IgRmlyZXN0b3JlKSAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIEZlY2hhIGRlIGNyZWFjacOzbiAobWFuZWphZGEgYXV0b23DoXRpY2FtZW50ZSkgKi9cbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgLyoqIEZlY2hhIGRlIMO6bHRpbWEgYWN0dWFsaXphY2nDs24gKG1hbmVqYWRhIGF1dG9tw6F0aWNhbWVudGUpICovXG4gIHVwZGF0ZWRBdD86IERhdGU7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZJUkVTVE9SRSAtIFFVRVJJRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBPcGVyYWRvcmVzIGRpc3BvbmlibGVzIHBhcmEgY2zDoXVzdWxhcyB3aGVyZVxuICovXG5leHBvcnQgdHlwZSBXaGVyZU9wZXJhdG9yID1cbiAgfCAnPT0nXG4gIHwgJyE9J1xuICB8ICc8J1xuICB8ICc8PSdcbiAgfCAnPidcbiAgfCAnPj0nXG4gIHwgJ2FycmF5LWNvbnRhaW5zJ1xuICB8ICdhcnJheS1jb250YWlucy1hbnknXG4gIHwgJ2luJ1xuICB8ICdub3QtaW4nO1xuXG4vKipcbiAqIENsw6F1c3VsYSB3aGVyZSBwYXJhIGZpbHRyYXIgZG9jdW1lbnRvc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFdoZXJlQ2xhdXNlIHtcbiAgLyoqIENhbXBvIGEgZmlsdHJhciAqL1xuICBmaWVsZDogc3RyaW5nO1xuICAvKiogT3BlcmFkb3IgZGUgY29tcGFyYWNpw7NuICovXG4gIG9wZXJhdG9yOiBXaGVyZU9wZXJhdG9yO1xuICAvKiogVmFsb3IgYSBjb21wYXJhciAqL1xuICB2YWx1ZTogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBEaXJlY2Npw7NuIGRlIG9yZGVuYW1pZW50b1xuICovXG5leHBvcnQgdHlwZSBPcmRlckRpcmVjdGlvbiA9ICdhc2MnIHwgJ2Rlc2MnO1xuXG4vKipcbiAqIENsw6F1c3VsYSBvcmRlckJ5IHBhcmEgb3JkZW5hciByZXN1bHRhZG9zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJCeUNsYXVzZSB7XG4gIC8qKiBDYW1wbyBwb3IgZWwgY3VhbCBvcmRlbmFyICovXG4gIGZpZWxkOiBzdHJpbmc7XG4gIC8qKiBEaXJlY2Npw7NuIGRlbCBvcmRlbmFtaWVudG8gKi9cbiAgZGlyZWN0aW9uOiBPcmRlckRpcmVjdGlvbjtcbn1cblxuLyoqXG4gKiBPcGNpb25lcyBwYXJhIHF1ZXJpZXMgZGUgRmlyZXN0b3JlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlPcHRpb25zIHtcbiAgLyoqIEZpbHRyb3Mgd2hlcmUgKEFORCBlbnRyZSB0b2RvcykgKi9cbiAgd2hlcmU/OiBXaGVyZUNsYXVzZVtdO1xuICAvKiogT3JkZW5hbWllbnRvIGRlIHJlc3VsdGFkb3MgKi9cbiAgb3JkZXJCeT86IE9yZGVyQnlDbGF1c2VbXTtcbiAgLyoqIEzDrW1pdGUgZGUgZG9jdW1lbnRvcyBhIHJldG9ybmFyICovXG4gIGxpbWl0PzogbnVtYmVyO1xuICAvKiogQ3Vyc29yIHBhcmEgcGFnaW5hY2nDs246IGVtcGV6YXIgZGVzcHXDqXMgZGUgZXN0ZSBkb2N1bWVudG8gKi9cbiAgc3RhcnRBZnRlcj86IHVua25vd247XG4gIC8qKiBDdXJzb3IgcGFyYSBwYWdpbmFjacOzbjogZW1wZXphciBlbiBlc3RlIGRvY3VtZW50byAqL1xuICBzdGFydEF0PzogdW5rbm93bjtcbiAgLyoqIEN1cnNvciBwYXJhIHBhZ2luYWNpw7NuOiB0ZXJtaW5hciBhbnRlcyBkZSBlc3RlIGRvY3VtZW50byAqL1xuICBlbmRCZWZvcmU/OiB1bmtub3duO1xuICAvKiogQ3Vyc29yIHBhcmEgcGFnaW5hY2nDs246IHRlcm1pbmFyIGVuIGVzdGUgZG9jdW1lbnRvICovXG4gIGVuZEF0PzogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBPcGNpb25lcyBhZGljaW9uYWxlcyBwYXJhIHN1YnNjcmlwY2lvbmVzIHJlYWwtdGltZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbk9wdGlvbnMgZXh0ZW5kcyBRdWVyeU9wdGlvbnMge1xuICAvKiogSW5jbHVpciBjYW1iaW9zIGRlIG1ldGFkYXRhIChlajogcGVuZGluZ1dyaXRlcykgKi9cbiAgaW5jbHVkZU1ldGFkYXRhQ2hhbmdlcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVzdWx0YWRvIGRlIHVuYSBxdWVyeSBwYWdpbmFkYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlZFJlc3VsdDxUPiB7XG4gIC8qKiBEb2N1bWVudG9zIGRlIGxhIHDDoWdpbmEgYWN0dWFsICovXG4gIGRhdGE6IFRbXTtcbiAgLyoqIEluZGljYSBzaSBoYXkgbcOhcyBww6FnaW5hcyBkaXNwb25pYmxlcyAqL1xuICBoYXNNb3JlOiBib29sZWFuO1xuICAvKiogQ3Vyc29yIHBhcmEgbGEgc2lndWllbnRlIHDDoWdpbmEgKHBhc2FyIGEgc3RhcnRBZnRlcikgKi9cbiAgbGFzdERvYzogdW5rbm93bjtcbiAgLyoqIFRvdGFsIGRlIGRvY3VtZW50b3MgKG9wY2lvbmFsLCByZXF1aWVyZSBxdWVyeSBhZGljaW9uYWwpICovXG4gIHRvdGFsPzogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTVE9SQUdFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRXN0YWRvIGRlIHVuYSBvcGVyYWNpw7NuIGRlIHVwbG9hZFxuICovXG5leHBvcnQgdHlwZSBVcGxvYWRTdGF0ZSA9ICdydW5uaW5nJyB8ICdwYXVzZWQnIHwgJ3N1Y2Nlc3MnIHwgJ2NhbmNlbGVkJyB8ICdlcnJvcic7XG5cbi8qKlxuICogUHJvZ3Jlc28gZGUgdXBsb2FkIGRlIGFyY2hpdm9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRQcm9ncmVzcyB7XG4gIC8qKiBCeXRlcyB0cmFuc2Zlcmlkb3MgaGFzdGEgYWhvcmEgKi9cbiAgYnl0ZXNUcmFuc2ZlcnJlZDogbnVtYmVyO1xuICAvKiogVG90YWwgZGUgYnl0ZXMgYSB0cmFuc2ZlcmlyICovXG4gIHRvdGFsQnl0ZXM6IG51bWJlcjtcbiAgLyoqIFBvcmNlbnRhamUgY29tcGxldGFkbyAoMC0xMDApICovXG4gIHBlcmNlbnRhZ2U6IG51bWJlcjtcbiAgLyoqIEVzdGFkbyBhY3R1YWwgZGVsIHVwbG9hZCAqL1xuICBzdGF0ZTogVXBsb2FkU3RhdGU7XG59XG5cbi8qKlxuICogUmVzdWx0YWRvIGRlIHVuIHVwbG9hZCBjb21wbGV0YWRvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkUmVzdWx0IHtcbiAgLyoqIFVSTCBkZSBkZXNjYXJnYSBkZWwgYXJjaGl2byAqL1xuICBkb3dubG9hZFVybDogc3RyaW5nO1xuICAvKiogUnV0YSBjb21wbGV0YSBlbiBTdG9yYWdlICovXG4gIGZ1bGxQYXRoOiBzdHJpbmc7XG4gIC8qKiBOb21icmUgZGVsIGFyY2hpdm8gKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogVGFtYcOxbyBlbiBieXRlcyAqL1xuICBzaXplOiBudW1iZXI7XG4gIC8qKiBUaXBvIE1JTUUgZGVsIGFyY2hpdm8gKi9cbiAgY29udGVudFR5cGU6IHN0cmluZztcbiAgLyoqIE1ldGFkYXRhIHBlcnNvbmFsaXphZGEgKi9cbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogT3BjaW9uZXMgcGFyYSBzdWJpciBpbcOhZ2VuZXMgcHJvY2VzYWRhcyBhbnRlcyBkZSBndWFyZGFybGFzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVXBsb2FkT3B0aW9ucyBleHRlbmRzIFN0b3JhZ2VNZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBDb21wcmltaXIgbGEgaW1hZ2VuIGFudGVzIGRlIHN1YmlybGEuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGNvbXByZXNzPzogYm9vbGVhbjtcbiAgLyoqIE9wY2lvbmVzIGRlIGNvbXByZXNpw7NuIGN1YW5kbyBjb21wcmVzcyBlcyB0cnVlLiAqL1xuICBjb21wcmVzc2lvbj86IEltYWdlQ29tcHJlc3NPcHRpb25zO1xuICAvKiogUGF0aCBvcGNpb25hbCBwYXJhIHN1YmlyIHVuIHRodW1ibmFpbCBhZGljaW9uYWwuICovXG4gIHRodW1ibmFpbFBhdGg/OiBzdHJpbmc7XG4gIC8qKiBUYW1hw7FvIGRlbCB0aHVtYm5haWwgY3VhZHJhZG8gZW4gcHguICovXG4gIHRodW1ibmFpbFNpemU/OiBudW1iZXI7XG4gIC8qKiBNZXRhZGF0YSBlc3BlY8OtZmljYSBwYXJhIGVsIHRodW1ibmFpbC4gKi9cbiAgdGh1bWJuYWlsTWV0YWRhdGE/OiBTdG9yYWdlTWV0YWRhdGE7XG59XG5cbi8qKlxuICogUmVzdWx0YWRvIGRlIHVuYSBzdWJpZGEgZGUgaW1hZ2VuIHByb2Nlc2FkYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZVVwbG9hZFJlc3VsdCBleHRlbmRzIFVwbG9hZFJlc3VsdCB7XG4gIC8qKiBSZXN1bHRhZG8gZGVsIHRodW1ibmFpbCwgc2kgZnVlIHNvbGljaXRhZG8uICovXG4gIHRodW1ibmFpbD86IFVwbG9hZFJlc3VsdDtcbiAgLyoqIERhdG9zIGRlbCBwcm9jZXNhbWllbnRvIGFwbGljYWRvIGFudGVzIGRlIHN1YmlyLiAqL1xuICBwcm9jZXNzZWQ6IHtcbiAgICBvcmlnaW5hbFNpemU6IG51bWJlcjtcbiAgICBzaXplOiBudW1iZXI7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgICBjb21wcmVzc2VkOiBib29sZWFuO1xuICB9O1xufVxuXG4vKipcbiAqIE1ldGFkYXRhIHBhcmEgYXJjaGl2b3MgZW4gU3RvcmFnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VNZXRhZGF0YSB7XG4gIC8qKiBUaXBvIE1JTUUgZGVsIGFyY2hpdm8gKi9cbiAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gIC8qKiBNZXRhZGF0YSBwZXJzb25hbGl6YWRhIChrZXktdmFsdWUpICovXG4gIGN1c3RvbU1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqIENvbnRyb2wgZGUgY2FjaMOpIEhUVFAgKi9cbiAgY2FjaGVDb250cm9sPzogc3RyaW5nO1xuICAvKipcbiAgICogU2tpcCB0aGUgYXBwSWQgcHJlZml4IGZvciBzaGFyZWQgcGF0aHMuXG4gICAqIFVzZSB0aGlzIGZvciBjcm9zcy1hcHAgcGF0aHMgbGlrZSB1c2VyIGF2YXRhcnM6IGB1c2Vycy97dXNlcklkfS9hdmF0YXIuanBnYFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2tpcFByZWZpeD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVzdWx0YWRvIGRlIGxpc3RhciBhcmNoaXZvcyBlbiBTdG9yYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZUxpc3RSZXN1bHQge1xuICAvKiogUnV0YXMgZGUgbG9zIGFyY2hpdm9zIGVuY29udHJhZG9zICovXG4gIGl0ZW1zOiBzdHJpbmdbXTtcbiAgLyoqIFRva2VuIHBhcmEgbGEgc2lndWllbnRlIHDDoWdpbmEgKHNpIGhheSBtw6FzKSAqL1xuICBuZXh0UGFnZVRva2VuPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSQkFDIC0gUEVSTUlTT1MgWSBPUkdBTklaQUNJT05FU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEluZm9ybWFjacOzbiBkZSBtZW1iZXJzaGlwIGVuIHVuYSBvcmdhbml6YWNpw7NuLlxuICogUmVwcmVzZW50YSBlbCByb2wgeSBwZXJtaXNvcyBxdWUgdGllbmUgdW4gdXN1YXJpbyBlbiB1bmEgb3JnIGVzcGVjw61maWNhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lbWJlcnNoaXBJbmZvIHtcbiAgLyoqIElEIGRlbCByb2wgKGVqOiAnYWRtaW4nLCAnZWRpdG9yJywgJ3ZpZXdlcicpICovXG4gIHJvbGVJZDogc3RyaW5nO1xuICAvKiogTm9tYnJlIGRlbCByb2wgcGFyYSBkaXNwbGF5ICovXG4gIHJvbGVOYW1lOiBzdHJpbmc7XG4gIC8qKiBMaXN0YSBkZSBwZXJtaXNvcyBlbiBmb3JtYXRvICdyZXNvdXJjZTphY3Rpb24nICovXG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBFc3RydWN0dXJhIGNvbXBsZXRhIGRlIGNsYWltcyBjb24gUkJBQy5cbiAqIEVzdG9zIGNsYWltcyBlc3TDoW4gZGlzcG9uaWJsZXMgZW4gcmVxdWVzdC5hdXRoLnRva2VuIGVuIEZpcmVzdG9yZSBSdWxlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSQkFDQ2xhaW1zIHtcbiAgLyoqIEVtYWlsIGRlbCB1c3VhcmlvICovXG4gIGVtYWlsOiBzdHJpbmc7XG4gIC8qKiBOb21icmUgY29tcGxldG8gZGVsIHVzdWFyaW8gKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogU2kgZWwgZW1haWwgZXN0w6EgdmVyaWZpY2FkbyAqL1xuICB2ZXJpZmllZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1hcGEgZGUgb3JnYW5pemFjaW9uZXMgZG9uZGUgZWwgdXN1YXJpbyB0aWVuZSByb2xlcy5cbiAgICogS2V5ID0gb3JnSWQsIFZhbHVlID0gaW5mb3JtYWNpw7NuIGRlbCByb2wgeSBwZXJtaXNvcyBlbiBlc2Egb3JnLlxuICAgKi9cbiAgbWVtYmVyc2hpcHM6IFJlY29yZDxzdHJpbmcsIE1lbWJlcnNoaXBJbmZvPjtcbiAgLyoqIElEIGRlIGxhIG9yZ2FuaXphY2nDs24gYWN0dWFsbWVudGUgc2VsZWNjaW9uYWRhICovXG4gIGFjdGl2ZU9yZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEluZm9ybWFjacOzbiBkZSB1bmEgb3JnYW5pemFjacOzbiBwYXJhIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcmdhbml6YXRpb25JbmZvIHtcbiAgLyoqIElEIMO6bmljbyBkZSBsYSBvcmdhbml6YWNpw7NuICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBSb2wgZGVsIHVzdWFyaW8gZW4gZXN0YSBvcmdhbml6YWNpw7NuICovXG4gIHJvbGVJZDogc3RyaW5nO1xuICAvKiogTm9tYnJlIGRlbCByb2wgcGFyYSBkaXNwbGF5ICovXG4gIHJvbGVOYW1lOiBzdHJpbmc7XG4gIC8qKiBQZXJtaXNvcyBkZWwgdXN1YXJpbyBlbiBlc3RhIG9yZ2FuaXphY2nDs24gKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRIIC8gU0VTU0lPTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEluZm9ybWFjacOzbiBkZWwgdXN1YXJpbyBkZSBGaXJlYmFzZSAoc2ltcGxpZmljYWRhKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpcmViYXNlVXNlciB7XG4gIC8qKiBVSUQgw7puaWNvIGRlbCB1c3VhcmlvICovXG4gIHVpZDogc3RyaW5nO1xuICAvKiogRW1haWwgZGVsIHVzdWFyaW8gKi9cbiAgZW1haWw6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBOb21icmUgcGFyYSBtb3N0cmFyICovXG4gIGRpc3BsYXlOYW1lOiBzdHJpbmcgfCBudWxsO1xuICAvKiogVVJMIGRlIGZvdG8gZGUgcGVyZmlsICovXG4gIHBob3RvVVJMOiBzdHJpbmcgfCBudWxsO1xuICAvKiogRW1haWwgdmVyaWZpY2FkbyAqL1xuICBlbWFpbFZlcmlmaWVkOiBib29sZWFuO1xuICAvKiogVXN1YXJpbyBhbsOzbmltbyAqL1xuICBpc0Fub255bW91czogYm9vbGVhbjtcbiAgLyoqIFByb3ZlZWRvciBkZSBhdXRlbnRpY2FjacOzbiAqL1xuICBwcm92aWRlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRXN0YWRvIGRlIGxhIHNlc2nDs24gZGUgRmlyZWJhc2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xuICAvKiogVXN1YXJpbyBhY3R1YWwgKG51bGwgc2kgbm8gYXV0ZW50aWNhZG8pICovXG4gIHVzZXI6IEZpcmViYXNlVXNlciB8IG51bGw7XG4gIC8qKiBJbmRpY2Egc2kgZWwgdXN1YXJpbyBlc3TDoSBhdXRlbnRpY2FkbyAqL1xuICBpc0F1dGhlbnRpY2F0ZWQ6IGJvb2xlYW47XG4gIC8qKiBJbmRpY2Egc2kgc2UgZXN0w6EgY2FyZ2FuZG8gZWwgZXN0YWRvIGRlIGF1dGggKi9cbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICAvKiogRXJyb3IgZGUgYXV0ZW50aWNhY2nDs24gKHNpIGxvIGhheSkgKi9cbiAgZXJyb3I6IEVycm9yIHwgbnVsbDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTUVTU0FHSU5HIChGQ00pXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRXN0YWRvIGRlbCBwZXJtaXNvIGRlIG5vdGlmaWNhY2lvbmVzXG4gKi9cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblBlcm1pc3Npb24gPSAnZ3JhbnRlZCcgfCAnZGVuaWVkJyB8ICdkZWZhdWx0JztcblxuLyoqXG4gKiBQYXlsb2FkIGRlIHVuYSBub3RpZmljYWNpw7NuIHB1c2hcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25QYXlsb2FkIHtcbiAgLyoqIFTDrXR1bG8gZGUgbGEgbm90aWZpY2FjacOzbiAqL1xuICB0aXRsZT86IHN0cmluZztcbiAgLyoqIEN1ZXJwbyBkZWwgbWVuc2FqZSAqL1xuICBib2R5Pzogc3RyaW5nO1xuICAvKiogVVJMIGRlIGltYWdlbiAqL1xuICBpbWFnZT86IHN0cmluZztcbiAgLyoqIERhdG9zIHBlcnNvbmFsaXphZG9zICovXG4gIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogSUQgZGVsIG1lbnNhamUgZGUgRkNNICovXG4gIG1lc3NhZ2VJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBY2Npw7NuIGRlIG5hdmVnYWNpw7NuIGRlc2RlIHVuYSBub3RpZmljYWNpw7NuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uQWN0aW9uIHtcbiAgLyoqIFJ1dGEgaW50ZXJuYSBkZSBsYSBhcHAgKGVqOiAnL29yZGVycy8xMjMnKSAqL1xuICByb3V0ZT86IHN0cmluZztcbiAgLyoqIFVSTCBleHRlcm5hIChlajogJ2h0dHBzOi8vZXhhbXBsZS5jb20nKSAqL1xuICB1cmw/OiBzdHJpbmc7XG4gIC8qKiBQYXLDoW1ldHJvcyBkZSBxdWVyeSBzdHJpbmcgKi9cbiAgcXVlcnlQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogVGlwbyBkZSBhY2Npw7NuIHBlcnNvbmFsaXphZGEgKi9cbiAgYWN0aW9uVHlwZT86IHN0cmluZztcbiAgLyoqIERhdG9zIGFkaWNpb25hbGVzIHBhcmEgbGEgYWNjacOzbiAqL1xuICBhY3Rpb25EYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8qKlxuICogUmVzdWx0YWRvIGRlIGBNZXNzYWdpbmdTZXJ2aWNlLmVuYWJsZSgpYC5cbiAqXG4gKiBUaXBvIGRpc2NyaW1pbmFkbyBkZXNjcmlwdGl2byAoTk8gc2UgaGFjZSB0aHJvdyk6IGxhIHDDoWdpbmEgY29uc3VtaWRvcmEgbG9cbiAqIGluc3BlY2Npb25hIHBhcmEgZGVjaWRpciBxdcOpIHRvYXN0L1VYIG1vc3RyYXIuXG4gKlxuICogYHN0YXR1c2A6XG4gKiAtIGBlbmFibGVkYCAgICAg4oCUIHBlcm1pc28gb3RvcmdhZG8gKyB0b2tlbiBGQ00gb2J0ZW5pZG8gKGB0b2tlbmAgcHJlc2VudGUpLlxuICogLSBgZGVuaWVkYCAgICAgIOKAlCBlbCB1c3VhcmlvIGRlbmVnw7MgZWwgcGVybWlzbyBkZWwgbmF2ZWdhZG9yLlxuICogLSBgdW5zdXBwb3J0ZWRgIOKAlCBlbCBuYXZlZ2Fkb3Igbm8gc29wb3J0YSBGQ00gKGluY2wuIGlPUyBzaW4gc3RhbmRhbG9uZSkuXG4gKiAtIGBlcnJvcmAgICAgICAg4oCUIGVsIGZsdWpvIGZhbGzDsyBwb3Igb3RyYSBjYXVzYSAodmVyIGByZWFzb25gKS5cbiAqIC0gYHRpbWVvdXRgICAgICDigJQgZWwgZmx1am8gc2UgY29sZ8OzID4xNXMuIFNpIGByZWxvYWRlZGAgZXMgdHJ1ZSwgbGEgcMOhZ2luYVxuICogICAgICAgICAgICAgICAgICAgZXN0w6EgcG9yIHJlY2FyZ2Fyc2UgKGF1dG8tcmVsb2FkLCAxwqogdmV6IGVuIGxhIHNlc2nDs24pOyBzaVxuICogICAgICAgICAgICAgICAgICAgZXMgZmFsc2UsIHlhIHNlIGNvbnN1bWnDsyBlbCBhdXRvLXJlbG9hZCB5IGxhIHDDoWdpbmEgZGViZVxuICogICAgICAgICAgICAgICAgICAgbW9zdHJhciB1biBlcnJvciBzaW4gcmVjYXJnYXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5hYmxlUHVzaFJlc3VsdCB7XG4gIC8qKiBSZXN1bHRhZG8gZGVsIGZsdWpvIGRlIGFjdGl2YWNpw7NuIGRlIHB1c2guICovXG4gIHN0YXR1czogJ2VuYWJsZWQnIHwgJ2RlbmllZCcgfCAndW5zdXBwb3J0ZWQnIHwgJ2Vycm9yJyB8ICd0aW1lb3V0JztcbiAgLyoqIFRva2VuIEZDTSDigJQgcHJlc2VudGUgc29sbyBjdWFuZG8gYHN0YXR1cyA9PT0gJ2VuYWJsZWQnYC4gKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBEZXRhbGxlIGxlZ2libGUgZGUgbGEgY2F1c2Eg4oCUIHByZXNlbnRlIGVuIGBlcnJvcmAgLyBgdGltZW91dGAuICovXG4gIHJlYXNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFNvbG8gcGFyYSBgc3RhdHVzID09PSAndGltZW91dCdgOiB0cnVlIHNpIHNlIGRpc3BhcsOzIGVsIGF1dG8tcmVsb2FkXG4gICAqIChsYSBww6FnaW5hIGVzdMOhIHBvciByZWNhcmdhcnNlKS4gRmFsc2Ugc2kgZWwgYXV0by1yZWxvYWQgeWEgc2UgY29uc3VtacOzXG4gICAqIGVzdGEgc2VzacOzbiB5IGxhIGFwcCBkZWJlIG1vc3RyYXIgdW4gZXJyb3IgZW4gbHVnYXIgZGUgcmVjYXJnYXIuXG4gICAqL1xuICByZWxvYWRlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXZlbnRvIGRlIGNsaWNrIGVuIHVuYSBub3RpZmljYWNpw7NuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uQ2xpY2tFdmVudCB7XG4gIC8qKiBQYXlsb2FkIG9yaWdpbmFsIGRlIGxhIG5vdGlmaWNhY2nDs24gKi9cbiAgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25QYXlsb2FkO1xuICAvKiogQWNjacOzbiBkZSBuYXZlZ2FjacOzbiBleHRyYcOtZGEgKi9cbiAgYWN0aW9uOiBOb3RpZmljYXRpb25BY3Rpb247XG4gIC8qKiBUaW1lc3RhbXAgZGVsIGNsaWNrICovXG4gIHRpbWVzdGFtcDogRGF0ZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVJST1JFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEPDs2RpZ29zIGRlIGVycm9yIGRlIEZpcmViYXNlXG4gKi9cbmV4cG9ydCB0eXBlIEZpcmViYXNlRXJyb3JDb2RlID1cbiAgfCAncGVybWlzc2lvbi1kZW5pZWQnXG4gIHwgJ25vdC1mb3VuZCdcbiAgfCAnYWxyZWFkeS1leGlzdHMnXG4gIHwgJ3Jlc291cmNlLWV4aGF1c3RlZCdcbiAgfCAnY2FuY2VsbGVkJ1xuICB8ICd1bmtub3duJ1xuICB8ICdpbnZhbGlkLWFyZ3VtZW50J1xuICB8ICdkZWFkbGluZS1leGNlZWRlZCdcbiAgfCAndW5hdXRoZW50aWNhdGVkJztcblxuLyoqXG4gKiBFcnJvciBkZSBGaXJlYmFzZSB0aXBhZG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaXJlYmFzZUVycm9yIHtcbiAgLyoqIEPDs2RpZ28gZGVsIGVycm9yICovXG4gIGNvZGU6IEZpcmViYXNlRXJyb3JDb2RlO1xuICAvKiogTWVuc2FqZSBkZSBlcnJvciAoZW4gZXNwYcOxb2wpICovXG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgLyoqIEVycm9yIG9yaWdpbmFsIGRlIEZpcmViYXNlICovXG4gIG9yaWdpbmFsRXJyb3I/OiB1bmtub3duO1xufVxuIl19
|
|
@@ -135,13 +135,18 @@ export class I18nService {
|
|
|
135
135
|
console.warn(`[i18n] Language '${lang}' not in supported languages`);
|
|
136
136
|
return;
|
|
137
137
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
// Persistir en localStorage (browser-only)
|
|
138
|
+
// Aunque el signal ya tenga este valor, re-persistimos. Esto corrige
|
|
139
|
+
// estados viejos donde la UI quedó en el idioma correcto por snapshot, pero
|
|
140
|
+
// localStorage conservó otro valor y el siguiente bootstrap volvió al viejo.
|
|
142
141
|
if (this.isBrowser) {
|
|
143
142
|
localStorage.setItem(LANG_STORAGE_KEY, lang);
|
|
144
143
|
}
|
|
144
|
+
if (lang === this._lang()) {
|
|
145
|
+
if (forceReload && this.isBrowser) {
|
|
146
|
+
window.location.reload();
|
|
147
|
+
}
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
145
150
|
// Actualizar signal
|
|
146
151
|
this._lang.set(lang);
|
|
147
152
|
// Fallback: recargar si se solicita
|
|
@@ -286,4 +291,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
286
291
|
type: Inject,
|
|
287
292
|
args: [PLATFORM_ID]
|
|
288
293
|
}] }] });
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBSUwsZ0JBQWdCLEVBQ2hCLG1CQUFtQixHQUNwQixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRTlEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFFSCxNQUFNLE9BQU8sV0FBVztJQTJCdEIsWUFBaUMsVUFBa0I7UUExQm5ELDZCQUE2QjtRQUNaLFVBQUssR0FBRyxNQUFNLENBQVcsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUQsYUFBUSxHQUFHLE1BQU0sQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUNwQyx3QkFBbUIsR0FBRyxNQUFNLENBQWEsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVsRyxvQkFBb0I7UUFDWCxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQix1QkFBa0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFcEUsdUNBQXVDO1FBQzlCLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBSTNEOzs7Ozs7OztXQVFHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBR2xELElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILENBQUMsQ0FBQyxHQUFXLEVBQUUsU0FBa0IsRUFBRSxJQUE2QjtRQUM5RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxRQUFRLENBQUMsSUFBYSxFQUFFLE9BQWEsSUFBSSxJQUFJLEVBQUU7UUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMseUNBQXlDO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBTyxDQUFDLEdBQVcsRUFBRSxTQUFrQixFQUFFLElBQTZCO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxFQUFFLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQztRQUVsQyxpQ0FBaUM7UUFDakMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV0QyxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELGtFQUFrRTtRQUNsRSxxRUFBcUU7UUFDckUsd0VBQXdFO1FBQ3hFLG9FQUFvRTtRQUNwRSx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakMsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxJQUFJLEdBQUcsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLElBQWMsRUFBRSxXQUFXLEdBQUcsS0FBSztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSw4QkFBOEIsQ0FBQyxDQUFDO1lBQ3JFLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUIsT0FBTztRQUNULENBQUM7UUFFRCwyQ0FBMkM7UUFDM0MsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJCLG9DQUFvQztRQUNwQyxJQUFJLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsZUFBZSxDQUFDLFNBQWlCLEVBQUUsT0FBeUI7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLEdBQUcsS0FBSztZQUNSLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTztTQUNyQixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLFNBQWlCLEVBQUUsUUFBMEI7UUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQzFELE1BQU0sTUFBTSxHQUFxQixFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDakQsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBa0MsRUFBRSxDQUFDO2dCQUMxRSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNyQyxNQUFNLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQTJCLENBQUM7Z0JBQ2pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUksT0FBa0MsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1lBQ3hFLENBQUM7WUFDRCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsWUFBMEI7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLEdBQUcsS0FBSztZQUNSLEdBQUcsWUFBWTtTQUNoQixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFNBQXFCO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSyxrQkFBa0I7UUFDeEIscUVBQXFFO1FBQ3JFLHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRELElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFrQixDQUFDLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFFRCxzRUFBc0U7UUFDdEUsMkNBQTJDO1FBQzNDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBYSxDQUFDO1FBQ2pFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlLENBQUMsSUFBWTtRQUNsQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFnQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNLLFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBNEI7UUFDNUQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzFELE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLGFBQWEsR0FBRyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzsrR0F4UlUsV0FBVyxrQkEyQkYsV0FBVzttSEEzQnBCLFdBQVcsY0FERSxNQUFNOzs0RkFDbkIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQTRCbkIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgSTE4bkxhbmcsXG4gIExhbmd1YWdlc0NvbnRlbnQsXG4gIENvbnRlbnRTdG9yZSxcbiAgTEFOR19TVE9SQUdFX0tFWSxcbiAgREVGQVVMVF9JMThOX0NPTkZJRyxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRUaW1lT2ZEYXlLZXkgfSBmcm9tICcuLi8uLi9zaGFyZWQvdXRpbHMvZGF0ZXRpbWUnO1xuXG4vKipcbiAqIFNlcnZpY2lvIGRlIGludGVybmFjaW9uYWxpemFjacOzbiBiYXNhZG8gZW4gQW5ndWxhciBTaWduYWxzLlxuICpcbiAqIENhcmFjdGVyw61zdGljYXM6XG4gKiAtIFNpbiBSeEpTOiB1c2EgU2lnbmFscyBwYXJhIGV2aXRhciBtZW1vcnkgbGVha3MgeSBjb25nZWxhbWllbnRvXG4gKiAtIE5hbWVzcGFjZS1iYXNlZDogb3JnYW5pemEgdHJhZHVjY2lvbmVzIHBvciBjb250ZXh0b1xuICogLSBGYWxsYmFjayBtdWx0aS1uaXZlbDogbmFtZXNwYWNlIOKGkiBfZ2xvYmFsIOKGkiBwbGFjZWhvbGRlclxuICogLSBJbnRlcnBvbGFjacOzbjogc29wb3J0YSB7dmFyaWFibGV9IGVuIHRleHRvc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFbiB1biBjb21wb25lbnRlXG4gKiBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAqXG4gKiAvLyBPYnRlbmVyIHRleHRvXG4gKiBjb25zdCB0aXRsZSA9IHRoaXMuaTE4bi50KCd0aXRsZScsICdMb2dpbicpO1xuICpcbiAqIC8vIENvbiBpbnRlcnBvbGFjacOzblxuICogY29uc3Qgd2VsY29tZSA9IHRoaXMuaTE4bi50KCd3ZWxjb21lJywgJ0xvZ2luJywgeyBuYW1lOiAnSnVhbicgfSk7XG4gKlxuICogLy8gQ2FtYmlhciBpZGlvbWFcbiAqIHRoaXMuaTE4bi5zZXRMYW5ndWFnZSgnZW4nKTtcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJMThuU2VydmljZSB7XG4gIC8vIEVzdGFkbyBpbnRlcm5vIGNvbiBTaWduYWxzXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xhbmcgPSBzaWduYWw8STE4bkxhbmc+KERFRkFVTFRfSTE4Tl9DT05GSUcuZGVmYXVsdExhbmd1YWdlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGVudCA9IHNpZ25hbDxDb250ZW50U3RvcmU+KHt9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3VwcG9ydGVkTGFuZ3VhZ2VzID0gc2lnbmFsPEkxOG5MYW5nW10+KERFRkFVTFRfSTE4Tl9DT05GSUcuc3VwcG9ydGVkTGFuZ3VhZ2VzKTtcblxuICAvLyBQw7pibGljb3MgcmVhZG9ubHlcbiAgcmVhZG9ubHkgbGFuZyA9IHRoaXMuX2xhbmcuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBzdXBwb3J0ZWRMYW5ndWFnZXMgPSB0aGlzLl9zdXBwb3J0ZWRMYW5ndWFnZXMuYXNSZWFkb25seSgpO1xuXG4gIC8vIENvbXB1dGVkIHBhcmEgdmVyaWZpY2FjaW9uZXMgcsOhcGlkYXNcbiAgcmVhZG9ubHkgaXNTcGFuaXNoID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fbGFuZygpID09PSAnZXMnKTtcbiAgcmVhZG9ubHkgaXNFbmdsaXNoID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fbGFuZygpID09PSAnZW4nKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogS2V5cyBmYWx0YW50ZXMgeWEgYWR2ZXJ0aWRhcyAoYG5zLmtleS5sYW5nYCkuIEdhcmFudGl6YSBxdWUgZWwgd2FybmluZyBzZVxuICAgKiBlbWl0YSBVTkEgc29sYSB2ZXogcG9yIGtleSwgbnVuY2EgcG9yIGNhZGEgY2hhbmdlLWRldGVjdGlvbi5cbiAgICpcbiAgICogQ3LDrXRpY286IGBnZXRUZXh0YCBzZSBldmFsw7phIGVuIGJpbmRpbmdzIGRlIHRlbXBsYXRlICh1bmEgdmV6IHBvciBDRCkuIFNpXG4gICAqIGFkdmlydGnDqXJhbW9zIGVuIGNhZGEgbGxhbWFkYSwgdW4gYGNvbnNvbGUud2FybmAgcG9yIENEICsgZWwgYHZhbC1kZWJ1Zy1jb25zb2xlYFxuICAgKiAocXVlIGVzcGVqYSBgY29uc29sZS4qYCBhIHVuIHNpZ25hbCkgY3JlYSB1biBsb29wIGluZmluaXRvIGRlIENEIHF1ZSBjb25nZWxhXG4gICAqIGVsIG5hdmVnYWRvciBlbiBkZXYuIERlZHVwbGljYXIgY29ydGEgZXNlIGxvb3AgZW4gc3Ugb3JpZ2VuLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfd2FybmVkTWlzc2luZyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdCkge1xuICAgIHRoaXMuaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCk7XG4gICAgdGhpcy5sb2FkU3RvcmVkTGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIHRleHRvIHRyYWR1Y2lkbyAoYWxpYXMgY29ydG8gZGUgZ2V0VGV4dClcbiAgICpcbiAgICogQHBhcmFtIGtleSBDbGF2ZSBkZWwgdGV4dG9cbiAgICogQHBhcmFtIG5hbWVzcGFjZSBOYW1lc3BhY2UgKGRlZmF1bHQ6ICdfZ2xvYmFsJylcbiAgICogQHBhcmFtIGRhdGEgVmFyaWFibGVzIHBhcmEgaW50ZXJwb2xhY2nDs25cbiAgICogQHJldHVybnMgVGV4dG8gdHJhZHVjaWRvIG8gcGxhY2Vob2xkZXIgW25hbWVzcGFjZS5rZXldXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGkxOG4udCgnc3VibWl0Jyk7ICAgICAgICAgICAgICAgICAgICAvLyBidXNjYSBlbiBfZ2xvYmFsXG4gICAqIGkxOG4udCgndGl0bGUnLCAnTG9naW4nKTsgICAgICAgICAgICAvLyBidXNjYSBlbiBMb2dpblxuICAgKiBpMThuLnQoJ3dlbGNvbWUnLCAnTG9naW4nLCB7bmFtZX0pOyAgLy8gY29uIGludGVycG9sYWNpw7NuXG4gICAqL1xuICB0KGtleTogc3RyaW5nLCBuYW1lc3BhY2U/OiBzdHJpbmcsIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRUZXh0KGtleSwgbmFtZXNwYWNlLCBkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgdGltZS1vZi1kYXkgZ3JlZXRpbmcgaW4gdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuXG4gICAqXG4gICAqIFVzZXMgYnVuZGxlZCBrZXlzIGBnb29kTW9ybmluZ2AgLyBgZ29vZEFmdGVybm9vbmAgLyBgZ29vZEV2ZW5pbmdgIGZyb20gYF9nbG9iYWxgLlxuICAgKiBSZWFjdGl2ZSB0byBgbGFuZygpYCB3aGVuIGNhbGxlZCBpbnNpZGUgYSBgY29tcHV0ZWQoKWAuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIE9wdGlvbmFsIG5hbWUgdG8gYXBwZW5kOiBcIkJ1ZW5vcyBkw61hcywgSnVhblwiXG4gICAqIEBwYXJhbSBkYXRlIE9wdGlvbmFsIGRhdGUgdG8gZXZhbHVhdGUgKGRlZmF1bHRzIHRvIG5vdylcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogZ3JlZXRpbmcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAqICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICogICByZXR1cm4gdGhpcy5pMThuLmdyZWV0aW5nKHRoaXMuYXV0aC51c2VyKCk/Lm5hbWUpO1xuICAgKiB9KTtcbiAgICovXG4gIGdyZWV0aW5nKG5hbWU/OiBzdHJpbmcsIGRhdGU6IERhdGUgPSBuZXcgRGF0ZSgpKTogc3RyaW5nIHtcbiAgICB0aGlzLl9sYW5nKCk7IC8vIHRyYWNrIGZvciByZWFjdGl2aXR5IGluc2lkZSBjb21wdXRlZCgpXG4gICAgY29uc3QgdGV4dCA9IHRoaXMudChnZXRUaW1lT2ZEYXlLZXkoZGF0ZSkpO1xuICAgIHJldHVybiBuYW1lID8gYCR7dGV4dH0sICR7bmFtZX1gIDogdGV4dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIHRleHRvIHRyYWR1Y2lkb1xuICAgKlxuICAgKiBGYWxsYmFjayBvcmRlcjpcbiAgICogMS4gY29udGVudFtuYW1lc3BhY2VdW2xhbmddW2tleV1cbiAgICogMi4gY29udGVudFsnX2dsb2JhbCddW2xhbmddW2tleV1cbiAgICogMy4gXCJcIiAoc3RyaW5nIHZhY8Otbykg4oCUIG51bmNhIHVuIHBsYWNlaG9sZGVyIHZpc2libGUgbmkgdW4gdmFsb3IgcXVlXG4gICAqICAgIHJvbXBhIGVsIHJlbmRlci4gRWwgY29uc3VtZXIgcHVlZGUgYXBsaWNhciBzdSBwcm9waW8gZmFsbGJhY2sgY29uIGB8fGAuXG4gICAqL1xuICBnZXRUZXh0KGtleTogc3RyaW5nLCBuYW1lc3BhY2U/OiBzdHJpbmcsIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogc3RyaW5nIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5fY29udGVudCgpO1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLl9sYW5nKCk7XG4gICAgY29uc3QgbnMgPSBuYW1lc3BhY2UgfHwgJ19nbG9iYWwnO1xuXG4gICAgLy8gQnVzY2FyIGVuIG5hbWVzcGFjZSBlc3BlY8OtZmljb1xuICAgIGxldCB0ZXh0ID0gY29udGVudFtuc10/LltsYW5nXT8uW2tleV07XG5cbiAgICAvLyBGYWxsYmFjayBhIF9nbG9iYWxcbiAgICBpZiAoIXRleHQgJiYgbnMgIT09ICdfZ2xvYmFsJykge1xuICAgICAgdGV4dCA9IGNvbnRlbnRbJ19nbG9iYWwnXT8uW2xhbmddPy5ba2V5XTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayBzZWd1cm86IHN0cmluZyB2YWPDrW8uIFNlIGFkdmllcnRlIFVOQSB2ZXogcG9yIGtleSAodmVyXG4gICAgLy8gYF93YXJuZWRNaXNzaW5nYCkgcGFyYSBxdWUgdW4gYmluZGluZyBldmFsdWFkbyBwb3IgQ0Qgbm8gZ2VuZXJlIHVuXG4gICAgLy8gY29uc29sZS53YXJuIHBvciBjYWRhIGNoYW5nZS1kZXRlY3Rpb24gKHF1ZSBkaXNwYXJhcsOtYSB1biBsb29wIGNvbiBlbFxuICAgIC8vIGRlYnVnLWNvbnNvbGUpLiBObyBkZXZvbHZlbW9zIGBbbnMua2V5XWAg4oCUIHVuIHBsYWNlaG9sZGVyIHZpc2libGVcbiAgICAvLyBlbnN1Y2lhIGxhIFVJIHksIGFsIHNlciB0cnV0aHksIGFudWxhIGxvcyBgfHwgZmFsbGJhY2tgIGRlbCBjb25zdW1lci5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIGNvbnN0IHdhcm5LZXkgPSBgJHtuc30uJHtrZXl9LiR7bGFuZ31gO1xuICAgICAgaWYgKCF0aGlzLl93YXJuZWRNaXNzaW5nLmhhcyh3YXJuS2V5KSkge1xuICAgICAgICB0aGlzLl93YXJuZWRNaXNzaW5nLmFkZCh3YXJuS2V5KTtcbiAgICAgICAgY29uc29sZS53YXJuKGBbaTE4bl0gTWlzc2luZyB0cmFuc2xhdGlvbjogJHtuc30uJHtrZXl9ICgke2xhbmd9KWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIEFwbGljYXIgaW50ZXJwb2xhY2nDs24gc2kgaGF5IGRhdGFcbiAgICBpZiAoZGF0YSkge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJwb2xhdGUodGV4dCwgZGF0YSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogQ2FtYmlhIGVsIGlkaW9tYSBkZSBsYSBhcGxpY2FjacOzblxuICAgKlxuICAgKiBAcGFyYW0gbGFuZyBOdWV2byBpZGlvbWFcbiAgICogQHBhcmFtIGZvcmNlUmVsb2FkIFNpIHRydWUsIHJlY2FyZ2EgbGEgcMOhZ2luYSAoZmFsbGJhY2sgc2kgcmVhY3RpdmlkYWQgZmFsbGEpXG4gICAqL1xuICBzZXRMYW5ndWFnZShsYW5nOiBJMThuTGFuZywgZm9yY2VSZWxvYWQgPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fc3VwcG9ydGVkTGFuZ3VhZ2VzKCkuaW5jbHVkZXMobGFuZykpIHtcbiAgICAgIGNvbnNvbGUud2FybihgW2kxOG5dIExhbmd1YWdlICcke2xhbmd9JyBub3QgaW4gc3VwcG9ydGVkIGxhbmd1YWdlc2ApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChsYW5nID09PSB0aGlzLl9sYW5nKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBQZXJzaXN0aXIgZW4gbG9jYWxTdG9yYWdlIChicm93c2VyLW9ubHkpXG4gICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMQU5HX1NUT1JBR0VfS0VZLCBsYW5nKTtcbiAgICB9XG5cbiAgICAvLyBBY3R1YWxpemFyIHNpZ25hbFxuICAgIHRoaXMuX2xhbmcuc2V0KGxhbmcpO1xuXG4gICAgLy8gRmFsbGJhY2s6IHJlY2FyZ2FyIHNpIHNlIHNvbGljaXRhXG4gICAgaWYgKGZvcmNlUmVsb2FkICYmIHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdHJhIGNvbnRlbmlkbyBkZSB0cmFkdWNjaW9uZXMgcGFyYSB1biBuYW1lc3BhY2VcbiAgICpcbiAgICogQHBhcmFtIG5hbWVzcGFjZSBOb21icmUgZGVsIG5hbWVzcGFjZVxuICAgKiBAcGFyYW0gY29udGVudCBDb250ZW5pZG8gZGUgdHJhZHVjY2lvbmVzXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGkxOG4ucmVnaXN0ZXJDb250ZW50KCdMb2dpbicsIHtcbiAgICogICBlczogeyB0aXRsZTogJ0luaWNpYXIgc2VzacOzbicgfSxcbiAgICogICBlbjogeyB0aXRsZTogJ1NpZ24gaW4nIH1cbiAgICogfSk7XG4gICAqL1xuICByZWdpc3RlckNvbnRlbnQobmFtZXNwYWNlOiBzdHJpbmcsIGNvbnRlbnQ6IExhbmd1YWdlc0NvbnRlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50LnVwZGF0ZShzdG9yZSA9PiAoe1xuICAgICAgLi4uc3RvcmUsXG4gICAgICBbbmFtZXNwYWNlXTogY29udGVudCxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0cmEgZGVmYXVsdHMgcGFyYSB1biBuYW1lc3BhY2UsIG1lemNsYW5kbyBzb2xvIGxhcyBrZXlzIGF1c2VudGVzIHBvciBpZGlvbWEuXG4gICAqIEEgZGlmZXJlbmNpYSBkZSBgcmVnaXN0ZXJDb250ZW50YCwgbm8gc29icmVlc2NyaWJlIGtleXMgcXVlIGVsIGNvbnN1bWVyIHlhIHJlZ2lzdHLDsy5cbiAgICogw5pzYWxvIGVuIGNvbXBvbmVudGVzIGRlIGxhIGxpYiBwYXJhIHF1ZSBzdXMgZGVmYXVsdHMgZnVuY2lvbmVuIGluY2x1c28gY3VhbmRvIGVsXG4gICAqIGNvbnN1bWVyIHJlZ2lzdHLDsyBlbCBuYW1lc3BhY2UgZGUgZm9ybWEgcGFyY2lhbC5cbiAgICovXG4gIHJlZ2lzdGVyRGVmYXVsdHMobmFtZXNwYWNlOiBzdHJpbmcsIGRlZmF1bHRzOiBMYW5ndWFnZXNDb250ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudC51cGRhdGUoc3RvcmUgPT4ge1xuICAgICAgY29uc3QgZXhpc3RpbmcgPSBzdG9yZVtuYW1lc3BhY2VdO1xuICAgICAgaWYgKCFleGlzdGluZykgcmV0dXJuIHsgLi4uc3RvcmUsIFtuYW1lc3BhY2VdOiBkZWZhdWx0cyB9O1xuICAgICAgY29uc3QgbWVyZ2VkOiBMYW5ndWFnZXNDb250ZW50ID0geyAuLi5leGlzdGluZyB9O1xuICAgICAgZm9yIChjb25zdCBsYW5nIG9mIE9iamVjdC5rZXlzKGRlZmF1bHRzKSBhcyBBcnJheTxrZXlvZiBMYW5ndWFnZXNDb250ZW50Pikge1xuICAgICAgICBjb25zdCBkZWZMYW5nID0gZGVmYXVsdHNbbGFuZ10gPz8ge307XG4gICAgICAgIGNvbnN0IGN1ckxhbmcgPSAoZXhpc3RpbmdbbGFuZ10gPz8ge30pIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgICAgIG1lcmdlZFtsYW5nXSA9IHsgLi4uKGRlZkxhbmcgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPiksIC4uLmN1ckxhbmcgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IC4uLnN0b3JlLCBbbmFtZXNwYWNlXTogbWVyZ2VkIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0cmEgbcO6bHRpcGxlcyBuYW1lc3BhY2VzIGRlIHVuYSB2ZXpcbiAgICpcbiAgICogQHBhcmFtIGNvbnRlbnRTdG9yZSBPYmpldG8gY29uIG5hbWVzcGFjZXMgY29tbyBrZXlzXG4gICAqL1xuICByZWdpc3RlckNvbnRlbnRCdWxrKGNvbnRlbnRTdG9yZTogQ29udGVudFN0b3JlKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudC51cGRhdGUoc3RvcmUgPT4gKHtcbiAgICAgIC4uLnN0b3JlLFxuICAgICAgLi4uY29udGVudFN0b3JlLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmEgbG9zIGlkaW9tYXMgc29wb3J0YWRvc1xuICAgKi9cbiAgc2V0STE4bkxhbmd1YWdlcyhsYW5ndWFnZXM6IEkxOG5MYW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLl9zdXBwb3J0ZWRMYW5ndWFnZXMuc2V0KGxhbmd1YWdlcyk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB0b2RvcyBsb3MgbmFtZXNwYWNlcyByZWdpc3RyYWRvc1xuICAgKi9cbiAgZ2V0TmFtZXNwYWNlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2NvbnRlbnQoKSk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2kgdW4gbmFtZXNwYWNlIHRpZW5lIHRyYWR1Y2Npb25lc1xuICAgKi9cbiAgaGFzTmFtZXNwYWNlKG5hbWVzcGFjZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5hbWVzcGFjZSBpbiB0aGlzLl9jb250ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FyZ2EgZWwgaWRpb21hIGd1YXJkYWRvIGVuIGxvY2FsU3RvcmFnZSwgbyBhZGl2aW5hIGRlc2RlIGVsIG5hdmVnYWRvci5cbiAgICpcbiAgICogTGEgZGV0ZWNjacOzbiBkZSBhY8OhIGVzIFBST1ZJU0lPTkFMIHkgTk8gc2UgcGVyc2lzdGUsIGEgcHJvcMOzc2l0by4gRWxcbiAgICogY29uc3RydWN0b3IgY29ycmUgYW50ZXMgcXVlIGVsIEFQUF9JTklUSUFMSVpFUiBkZSBgcHJvdmlkZVZhbHRlY2hJMThuYCxcbiAgICogcXVlIGVzIHF1aWVuIGNvbm9jZSBsYSBjb25maWcgcmVhbCBkZSBsYSBhcHAuIEN1YW5kbyBlc3RvIHBlcnNpc3TDrWEgZWxcbiAgICogaWRpb21hIGRldGVjdGFkbywgZWwgaW5pdGlhbGl6ZXIgbGXDrWEgZXNhIG1pc21hIGNsYXZlIHVuIGluc3RhbnRlIGRlc3B1w6lzLFxuICAgKiBsYSB0b21hYmEgcG9yIHByZWZlcmVuY2lhIGd1YXJkYWRhIGRlbCB1c3VhcmlvIHkgZW50cmFiYSBwb3IgbGEgcmFtYVxuICAgKiBgc3RvcmVkYCDigJQgYXPDrSBxdWUgYGRldGVjdEJyb3dzZXJMYW5ndWFnZTogZmFsc2VgIG5vIHRlbsOtYSBlZmVjdG8gZW5cbiAgICogbmluZ3VuYSBhcHAgZGVsIGZhY3RvcnkuIEVzY3JpYmlyIGFjw6EgZmFicmljYWJhIHVuYSBwcmVmZXJlbmNpYSBxdWUgZWxcbiAgICogdXN1YXJpbyBudW5jYSBleHByZXPDsy5cbiAgICpcbiAgICogUGVyc2lzdGlyIGVzIHJlc3BvbnNhYmlsaWRhZCBkZSBgc2V0TGFuZ3VhZ2UoKWAsIHF1ZSBzZSBsbGFtYSBjdWFuZG8gbGFcbiAgICogZWxlY2Npw7NuIHPDrSBlcyBkZWwgdXN1YXJpbyAobyBjdWFuZG8gZWwgaW5pdGlhbGl6ZXIgeWEgZGVjaWRpw7MgY29uIGxhXG4gICAqIGNvbmZpZyBhIGxhIHZpc3RhKS5cbiAgICovXG4gIHByaXZhdGUgbG9hZFN0b3JlZExhbmd1YWdlKCk6IHZvaWQge1xuICAgIC8vIFNTUjogc2luIGxvY2FsU3RvcmFnZS9uYXZpZ2F0b3IuIE1hbnRlbmVtb3MgZWwgZGVmYXVsdDsgZWwgYnJvd3NlclxuICAgIC8vIGh5ZHJhdGFyw6EgZWwgbGFuZyByZWFsIGN1YW5kbyBlbCBjbGllbnRlIGFycmFucXVlLlxuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdG9yZWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMQU5HX1NUT1JBR0VfS0VZKTtcblxuICAgIGlmIChzdG9yZWQgJiYgdGhpcy5pc1ZhbGlkTGFuZ3VhZ2Uoc3RvcmVkKSkge1xuICAgICAgdGhpcy5fbGFuZy5zZXQoc3RvcmVkIGFzIEkxOG5MYW5nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBZGl2aW5hbnphIHByb3Zpc2lvbmFsIG1pZW50cmFzIGVsIGluaXRpYWxpemVyIG5vIGhheWEgY29ycmlkby4gU2luXG4gICAgLy8gcGVyc2lzdGlyOiB2ZXIgZWwgY29tZW50YXJpbyBkZWwgbcOpdG9kby5cbiAgICBjb25zdCBicm93c2VyTGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZS5zcGxpdCgnLScpWzBdIGFzIEkxOG5MYW5nO1xuICAgIGlmICh0aGlzLmlzVmFsaWRMYW5ndWFnZShicm93c2VyTGFuZykpIHtcbiAgICAgIHRoaXMuX2xhbmcuc2V0KGJyb3dzZXJMYW5nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhIHNpIHVuIGlkaW9tYSBlc3TDoSBzb3BvcnRhZG9cbiAgICovXG4gIHByaXZhdGUgaXNWYWxpZExhbmd1YWdlKGxhbmc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zdXBwb3J0ZWRMYW5ndWFnZXMoKS5pbmNsdWRlcyhsYW5nIGFzIEkxOG5MYW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWVtcGxhemEge3ZhcmlhYmxlfSBlbiB0ZXh0byBjb24gdmFsb3JlcyBkZSBkYXRhXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGludGVycG9sYXRlKCdIb2xhIHtuYW1lfScsIHsgbmFtZTogJ0p1YW4nIH0pICAgLy8gJ0hvbGEgSnVhbidcbiAgICogaW50ZXJwb2xhdGUoJ0hvbGEge3tuYW1lfX0nLCB7IG5hbWU6ICdKdWFuJyB9KSAvLyAnSG9sYSBKdWFuJ1xuICAgKlxuICAgKiBTZSBhY2VwdGFuIGxhcyBET1Mgbm90YWNpb25lcyBhIHByb3DDs3NpdG8uIENvbiBzb2xvIGB7Y2xhdmV9YCwgdW4gdGV4dG9cbiAgICogZXNjcml0byBjb21vIGB7e2NsYXZlfX1gIHJlZW1wbGF6YWJhIGVsIGludGVyaW9yIHkgZGVqYWJhIGxhcyBsbGF2ZXMgZGVcbiAgICogYWZ1ZXJhIGEgbGEgdmlzdGEgZGVsIHVzdWFyaW8gKFwiRXN0ZSBlcyBtaSBjYXJ0w7NuIHBhcmEge0dhbGEgMjAyNn1cIiksIHNpblxuICAgKiBmYWxsYXIgZW4gbmluZ8O6biBsYWRvLiBFbCBlc3RpbG8gZGUgbGxhdmVzIGRlIHVuIHRleHRvIG5vIGRlYmVyw61hIHNlciB1bmFcbiAgICogdHJhbXBhOiBsYSBsaWIgYWNlcHRhIGFtYm9zIHkgZWwgY29uc3VtaWRvciBlc2NyaWJlIGNvbW8gcHJlZmllcmEuXG4gICAqL1xuICBwcml2YXRlIGludGVycG9sYXRlKHRleHQ6IHN0cmluZywgZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHN0cmluZyB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGRhdGEpLnJlZHVjZSgocmVzdWx0LCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGNvbnN0IGRvYmxlID0gbmV3IFJlZ0V4cChgXFxcXHtcXFxce1xcXFxzKiR7a2V5fVxcXFxzKlxcXFx9XFxcXH1gLCAnZycpO1xuICAgICAgY29uc3Qgc2ltcGxlID0gbmV3IFJlZ0V4cChgXFxcXHtcXFxccyoke2tleX1cXFxccypcXFxcfWAsICdnJyk7XG4gICAgICByZXR1cm4gcmVzdWx0LnJlcGxhY2UoZG9ibGUsIHZhbHVlKS5yZXBsYWNlKHNpbXBsZSwgdmFsdWUpO1xuICAgIH0sIHRleHQpO1xuICB9XG59XG4iXX0=
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBSUwsZ0JBQWdCLEVBQ2hCLG1CQUFtQixHQUNwQixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRTlEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFFSCxNQUFNLE9BQU8sV0FBVztJQTJCdEIsWUFBaUMsVUFBa0I7UUExQm5ELDZCQUE2QjtRQUNaLFVBQUssR0FBRyxNQUFNLENBQVcsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUQsYUFBUSxHQUFHLE1BQU0sQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUNwQyx3QkFBbUIsR0FBRyxNQUFNLENBQWEsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVsRyxvQkFBb0I7UUFDWCxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQix1QkFBa0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFcEUsdUNBQXVDO1FBQzlCLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBSTNEOzs7Ozs7OztXQVFHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBR2xELElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILENBQUMsQ0FBQyxHQUFXLEVBQUUsU0FBa0IsRUFBRSxJQUE2QjtRQUM5RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxRQUFRLENBQUMsSUFBYSxFQUFFLE9BQWEsSUFBSSxJQUFJLEVBQUU7UUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMseUNBQXlDO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBTyxDQUFDLEdBQVcsRUFBRSxTQUFrQixFQUFFLElBQTZCO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxFQUFFLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQztRQUVsQyxpQ0FBaUM7UUFDakMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV0QyxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELGtFQUFrRTtRQUNsRSxxRUFBcUU7UUFDckUsd0VBQXdFO1FBQ3hFLG9FQUFvRTtRQUNwRSx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakMsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxJQUFJLEdBQUcsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLElBQWMsRUFBRSxXQUFXLEdBQUcsS0FBSztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSw4QkFBOEIsQ0FBQyxDQUFDO1lBQ3JFLE9BQU87UUFDVCxDQUFDO1FBRUQscUVBQXFFO1FBQ3JFLDRFQUE0RTtRQUM1RSw2RUFBNkU7UUFDN0UsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUIsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUVELG9CQUFvQjtRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQixvQ0FBb0M7UUFDcEMsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILGVBQWUsQ0FBQyxTQUFpQixFQUFFLE9BQXlCO1FBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QixHQUFHLEtBQUs7WUFDUixDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU87U0FDckIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLFFBQTBCO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBcUIsRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFDO1lBQ2pELEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQWtDLEVBQUUsQ0FBQztnQkFDMUUsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDckMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUEyQixDQUFDO2dCQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFJLE9BQWtDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLFlBQTBCO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QixHQUFHLEtBQUs7WUFDUixHQUFHLFlBQVk7U0FDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxTQUFxQjtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0ssa0JBQWtCO1FBQ3hCLHFFQUFxRTtRQUNyRSxxREFBcUQ7UUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV0RCxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBa0IsQ0FBQyxDQUFDO1lBQ25DLE9BQU87UUFDVCxDQUFDO1FBRUQsc0VBQXNFO1FBQ3RFLDJDQUEyQztRQUMzQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQWEsQ0FBQztRQUNqRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLElBQVk7UUFDbEMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSyxXQUFXLENBQUMsSUFBWSxFQUFFLElBQTRCO1FBQzVELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEdBQUcsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdkQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBN1JVLFdBQVcsa0JBMkJGLFdBQVc7bUhBM0JwQixXQUFXLGNBREUsTUFBTTs7NEZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkE0Qm5CLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIHNpZ25hbCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEkxOG5MYW5nLFxuICBMYW5ndWFnZXNDb250ZW50LFxuICBDb250ZW50U3RvcmUsXG4gIExBTkdfU1RPUkFHRV9LRVksXG4gIERFRkFVTFRfSTE4Tl9DT05GSUcsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0VGltZU9mRGF5S2V5IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3V0aWxzL2RhdGV0aW1lJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBkZSBpbnRlcm5hY2lvbmFsaXphY2nDs24gYmFzYWRvIGVuIEFuZ3VsYXIgU2lnbmFscy5cbiAqXG4gKiBDYXJhY3RlcsOtc3RpY2FzOlxuICogLSBTaW4gUnhKUzogdXNhIFNpZ25hbHMgcGFyYSBldml0YXIgbWVtb3J5IGxlYWtzIHkgY29uZ2VsYW1pZW50b1xuICogLSBOYW1lc3BhY2UtYmFzZWQ6IG9yZ2FuaXphIHRyYWR1Y2Npb25lcyBwb3IgY29udGV4dG9cbiAqIC0gRmFsbGJhY2sgbXVsdGktbml2ZWw6IG5hbWVzcGFjZSDihpIgX2dsb2JhbCDihpIgcGxhY2Vob2xkZXJcbiAqIC0gSW50ZXJwb2xhY2nDs246IHNvcG9ydGEge3ZhcmlhYmxlfSBlbiB0ZXh0b3NcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRW4gdW4gY29tcG9uZW50ZVxuICogaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gKlxuICogLy8gT2J0ZW5lciB0ZXh0b1xuICogY29uc3QgdGl0bGUgPSB0aGlzLmkxOG4udCgndGl0bGUnLCAnTG9naW4nKTtcbiAqXG4gKiAvLyBDb24gaW50ZXJwb2xhY2nDs25cbiAqIGNvbnN0IHdlbGNvbWUgPSB0aGlzLmkxOG4udCgnd2VsY29tZScsICdMb2dpbicsIHsgbmFtZTogJ0p1YW4nIH0pO1xuICpcbiAqIC8vIENhbWJpYXIgaWRpb21hXG4gKiB0aGlzLmkxOG4uc2V0TGFuZ3VhZ2UoJ2VuJyk7XG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSTE4blNlcnZpY2Uge1xuICAvLyBFc3RhZG8gaW50ZXJubyBjb24gU2lnbmFsc1xuICBwcml2YXRlIHJlYWRvbmx5IF9sYW5nID0gc2lnbmFsPEkxOG5MYW5nPihERUZBVUxUX0kxOE5fQ09ORklHLmRlZmF1bHRMYW5ndWFnZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnQgPSBzaWduYWw8Q29udGVudFN0b3JlPih7fSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1cHBvcnRlZExhbmd1YWdlcyA9IHNpZ25hbDxJMThuTGFuZ1tdPihERUZBVUxUX0kxOE5fQ09ORklHLnN1cHBvcnRlZExhbmd1YWdlcyk7XG5cbiAgLy8gUMO6YmxpY29zIHJlYWRvbmx5XG4gIHJlYWRvbmx5IGxhbmcgPSB0aGlzLl9sYW5nLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgc3VwcG9ydGVkTGFuZ3VhZ2VzID0gdGhpcy5fc3VwcG9ydGVkTGFuZ3VhZ2VzLmFzUmVhZG9ubHkoKTtcblxuICAvLyBDb21wdXRlZCBwYXJhIHZlcmlmaWNhY2lvbmVzIHLDoXBpZGFzXG4gIHJlYWRvbmx5IGlzU3BhbmlzaCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2xhbmcoKSA9PT0gJ2VzJyk7XG4gIHJlYWRvbmx5IGlzRW5nbGlzaCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2xhbmcoKSA9PT0gJ2VuJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpc0Jyb3dzZXI6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEtleXMgZmFsdGFudGVzIHlhIGFkdmVydGlkYXMgKGBucy5rZXkubGFuZ2ApLiBHYXJhbnRpemEgcXVlIGVsIHdhcm5pbmcgc2VcbiAgICogZW1pdGEgVU5BIHNvbGEgdmV6IHBvciBrZXksIG51bmNhIHBvciBjYWRhIGNoYW5nZS1kZXRlY3Rpb24uXG4gICAqXG4gICAqIENyw610aWNvOiBgZ2V0VGV4dGAgc2UgZXZhbMO6YSBlbiBiaW5kaW5ncyBkZSB0ZW1wbGF0ZSAodW5hIHZleiBwb3IgQ0QpLiBTaVxuICAgKiBhZHZpcnRpw6lyYW1vcyBlbiBjYWRhIGxsYW1hZGEsIHVuIGBjb25zb2xlLndhcm5gIHBvciBDRCArIGVsIGB2YWwtZGVidWctY29uc29sZWBcbiAgICogKHF1ZSBlc3BlamEgYGNvbnNvbGUuKmAgYSB1biBzaWduYWwpIGNyZWEgdW4gbG9vcCBpbmZpbml0byBkZSBDRCBxdWUgY29uZ2VsYVxuICAgKiBlbCBuYXZlZ2Fkb3IgZW4gZGV2LiBEZWR1cGxpY2FyIGNvcnRhIGVzZSBsb29wIGVuIHN1IG9yaWdlbi5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX3dhcm5lZE1pc3NpbmcgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QpIHtcbiAgICB0aGlzLmlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpO1xuICAgIHRoaXMubG9hZFN0b3JlZExhbmd1YWdlKCk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB0ZXh0byB0cmFkdWNpZG8gKGFsaWFzIGNvcnRvIGRlIGdldFRleHQpXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgQ2xhdmUgZGVsIHRleHRvXG4gICAqIEBwYXJhbSBuYW1lc3BhY2UgTmFtZXNwYWNlIChkZWZhdWx0OiAnX2dsb2JhbCcpXG4gICAqIEBwYXJhbSBkYXRhIFZhcmlhYmxlcyBwYXJhIGludGVycG9sYWNpw7NuXG4gICAqIEByZXR1cm5zIFRleHRvIHRyYWR1Y2lkbyBvIHBsYWNlaG9sZGVyIFtuYW1lc3BhY2Uua2V5XVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBpMThuLnQoJ3N1Ym1pdCcpOyAgICAgICAgICAgICAgICAgICAgLy8gYnVzY2EgZW4gX2dsb2JhbFxuICAgKiBpMThuLnQoJ3RpdGxlJywgJ0xvZ2luJyk7ICAgICAgICAgICAgLy8gYnVzY2EgZW4gTG9naW5cbiAgICogaTE4bi50KCd3ZWxjb21lJywgJ0xvZ2luJywge25hbWV9KTsgIC8vIGNvbiBpbnRlcnBvbGFjacOzblxuICAgKi9cbiAgdChrZXk6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nLCBkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGV4dChrZXksIG5hbWVzcGFjZSwgZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHRpbWUtb2YtZGF5IGdyZWV0aW5nIGluIHRoZSBjdXJyZW50IGxhbmd1YWdlLlxuICAgKlxuICAgKiBVc2VzIGJ1bmRsZWQga2V5cyBgZ29vZE1vcm5pbmdgIC8gYGdvb2RBZnRlcm5vb25gIC8gYGdvb2RFdmVuaW5nYCBmcm9tIGBfZ2xvYmFsYC5cbiAgICogUmVhY3RpdmUgdG8gYGxhbmcoKWAgd2hlbiBjYWxsZWQgaW5zaWRlIGEgYGNvbXB1dGVkKClgLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBPcHRpb25hbCBuYW1lIHRvIGFwcGVuZDogXCJCdWVub3MgZMOtYXMsIEp1YW5cIlxuICAgKiBAcGFyYW0gZGF0ZSBPcHRpb25hbCBkYXRlIHRvIGV2YWx1YXRlIChkZWZhdWx0cyB0byBub3cpXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGdyZWV0aW5nID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgKiAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAqICAgcmV0dXJuIHRoaXMuaTE4bi5ncmVldGluZyh0aGlzLmF1dGgudXNlcigpPy5uYW1lKTtcbiAgICogfSk7XG4gICAqL1xuICBncmVldGluZyhuYW1lPzogc3RyaW5nLCBkYXRlOiBEYXRlID0gbmV3IERhdGUoKSk6IHN0cmluZyB7XG4gICAgdGhpcy5fbGFuZygpOyAvLyB0cmFjayBmb3IgcmVhY3Rpdml0eSBpbnNpZGUgY29tcHV0ZWQoKVxuICAgIGNvbnN0IHRleHQgPSB0aGlzLnQoZ2V0VGltZU9mRGF5S2V5KGRhdGUpKTtcbiAgICByZXR1cm4gbmFtZSA/IGAke3RleHR9LCAke25hbWV9YCA6IHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB0ZXh0byB0cmFkdWNpZG9cbiAgICpcbiAgICogRmFsbGJhY2sgb3JkZXI6XG4gICAqIDEuIGNvbnRlbnRbbmFtZXNwYWNlXVtsYW5nXVtrZXldXG4gICAqIDIuIGNvbnRlbnRbJ19nbG9iYWwnXVtsYW5nXVtrZXldXG4gICAqIDMuIFwiXCIgKHN0cmluZyB2YWPDrW8pIOKAlCBudW5jYSB1biBwbGFjZWhvbGRlciB2aXNpYmxlIG5pIHVuIHZhbG9yIHF1ZVxuICAgKiAgICByb21wYSBlbCByZW5kZXIuIEVsIGNvbnN1bWVyIHB1ZWRlIGFwbGljYXIgc3UgcHJvcGlvIGZhbGxiYWNrIGNvbiBgfHxgLlxuICAgKi9cbiAgZ2V0VGV4dChrZXk6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nLCBkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHN0cmluZyB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuX2NvbnRlbnQoKTtcbiAgICBjb25zdCBsYW5nID0gdGhpcy5fbGFuZygpO1xuICAgIGNvbnN0IG5zID0gbmFtZXNwYWNlIHx8ICdfZ2xvYmFsJztcblxuICAgIC8vIEJ1c2NhciBlbiBuYW1lc3BhY2UgZXNwZWPDrWZpY29cbiAgICBsZXQgdGV4dCA9IGNvbnRlbnRbbnNdPy5bbGFuZ10/LltrZXldO1xuXG4gICAgLy8gRmFsbGJhY2sgYSBfZ2xvYmFsXG4gICAgaWYgKCF0ZXh0ICYmIG5zICE9PSAnX2dsb2JhbCcpIHtcbiAgICAgIHRleHQgPSBjb250ZW50WydfZ2xvYmFsJ10/LltsYW5nXT8uW2tleV07XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2sgc2VndXJvOiBzdHJpbmcgdmFjw61vLiBTZSBhZHZpZXJ0ZSBVTkEgdmV6IHBvciBrZXkgKHZlclxuICAgIC8vIGBfd2FybmVkTWlzc2luZ2ApIHBhcmEgcXVlIHVuIGJpbmRpbmcgZXZhbHVhZG8gcG9yIENEIG5vIGdlbmVyZSB1blxuICAgIC8vIGNvbnNvbGUud2FybiBwb3IgY2FkYSBjaGFuZ2UtZGV0ZWN0aW9uIChxdWUgZGlzcGFyYXLDrWEgdW4gbG9vcCBjb24gZWxcbiAgICAvLyBkZWJ1Zy1jb25zb2xlKS4gTm8gZGV2b2x2ZW1vcyBgW25zLmtleV1gIOKAlCB1biBwbGFjZWhvbGRlciB2aXNpYmxlXG4gICAgLy8gZW5zdWNpYSBsYSBVSSB5LCBhbCBzZXIgdHJ1dGh5LCBhbnVsYSBsb3MgYHx8IGZhbGxiYWNrYCBkZWwgY29uc3VtZXIuXG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICBjb25zdCB3YXJuS2V5ID0gYCR7bnN9LiR7a2V5fS4ke2xhbmd9YDtcbiAgICAgIGlmICghdGhpcy5fd2FybmVkTWlzc2luZy5oYXMod2FybktleSkpIHtcbiAgICAgICAgdGhpcy5fd2FybmVkTWlzc2luZy5hZGQod2FybktleSk7XG4gICAgICAgIGNvbnNvbGUud2FybihgW2kxOG5dIE1pc3NpbmcgdHJhbnNsYXRpb246ICR7bnN9LiR7a2V5fSAoJHtsYW5nfSlgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICAvLyBBcGxpY2FyIGludGVycG9sYWNpw7NuIHNpIGhheSBkYXRhXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVycG9sYXRlKHRleHQsIGRhdGEpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIENhbWJpYSBlbCBpZGlvbWEgZGUgbGEgYXBsaWNhY2nDs25cbiAgICpcbiAgICogQHBhcmFtIGxhbmcgTnVldm8gaWRpb21hXG4gICAqIEBwYXJhbSBmb3JjZVJlbG9hZCBTaSB0cnVlLCByZWNhcmdhIGxhIHDDoWdpbmEgKGZhbGxiYWNrIHNpIHJlYWN0aXZpZGFkIGZhbGxhKVxuICAgKi9cbiAgc2V0TGFuZ3VhZ2UobGFuZzogSTE4bkxhbmcsIGZvcmNlUmVsb2FkID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3N1cHBvcnRlZExhbmd1YWdlcygpLmluY2x1ZGVzKGxhbmcpKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFtpMThuXSBMYW5ndWFnZSAnJHtsYW5nfScgbm90IGluIHN1cHBvcnRlZCBsYW5ndWFnZXNgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBdW5xdWUgZWwgc2lnbmFsIHlhIHRlbmdhIGVzdGUgdmFsb3IsIHJlLXBlcnNpc3RpbW9zLiBFc3RvIGNvcnJpZ2VcbiAgICAvLyBlc3RhZG9zIHZpZWpvcyBkb25kZSBsYSBVSSBxdWVkw7MgZW4gZWwgaWRpb21hIGNvcnJlY3RvIHBvciBzbmFwc2hvdCwgcGVyb1xuICAgIC8vIGxvY2FsU3RvcmFnZSBjb25zZXJ2w7Mgb3RybyB2YWxvciB5IGVsIHNpZ3VpZW50ZSBib290c3RyYXAgdm9sdmnDsyBhbCB2aWVqby5cbiAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExBTkdfU1RPUkFHRV9LRVksIGxhbmcpO1xuICAgIH1cblxuICAgIGlmIChsYW5nID09PSB0aGlzLl9sYW5nKCkpIHtcbiAgICAgIGlmIChmb3JjZVJlbG9hZCAmJiB0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQWN0dWFsaXphciBzaWduYWxcbiAgICB0aGlzLl9sYW5nLnNldChsYW5nKTtcblxuICAgIC8vIEZhbGxiYWNrOiByZWNhcmdhciBzaSBzZSBzb2xpY2l0YVxuICAgIGlmIChmb3JjZVJlbG9hZCAmJiB0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RyYSBjb250ZW5pZG8gZGUgdHJhZHVjY2lvbmVzIHBhcmEgdW4gbmFtZXNwYWNlXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lc3BhY2UgTm9tYnJlIGRlbCBuYW1lc3BhY2VcbiAgICogQHBhcmFtIGNvbnRlbnQgQ29udGVuaWRvIGRlIHRyYWR1Y2Npb25lc1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBpMThuLnJlZ2lzdGVyQ29udGVudCgnTG9naW4nLCB7XG4gICAqICAgZXM6IHsgdGl0bGU6ICdJbmljaWFyIHNlc2nDs24nIH0sXG4gICAqICAgZW46IHsgdGl0bGU6ICdTaWduIGluJyB9XG4gICAqIH0pO1xuICAgKi9cbiAgcmVnaXN0ZXJDb250ZW50KG5hbWVzcGFjZTogc3RyaW5nLCBjb250ZW50OiBMYW5ndWFnZXNDb250ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudC51cGRhdGUoc3RvcmUgPT4gKHtcbiAgICAgIC4uLnN0b3JlLFxuICAgICAgW25hbWVzcGFjZV06IGNvbnRlbnQsXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdHJhIGRlZmF1bHRzIHBhcmEgdW4gbmFtZXNwYWNlLCBtZXpjbGFuZG8gc29sbyBsYXMga2V5cyBhdXNlbnRlcyBwb3IgaWRpb21hLlxuICAgKiBBIGRpZmVyZW5jaWEgZGUgYHJlZ2lzdGVyQ29udGVudGAsIG5vIHNvYnJlZXNjcmliZSBrZXlzIHF1ZSBlbCBjb25zdW1lciB5YSByZWdpc3Ryw7MuXG4gICAqIMOac2FsbyBlbiBjb21wb25lbnRlcyBkZSBsYSBsaWIgcGFyYSBxdWUgc3VzIGRlZmF1bHRzIGZ1bmNpb25lbiBpbmNsdXNvIGN1YW5kbyBlbFxuICAgKiBjb25zdW1lciByZWdpc3Ryw7MgZWwgbmFtZXNwYWNlIGRlIGZvcm1hIHBhcmNpYWwuXG4gICAqL1xuICByZWdpc3RlckRlZmF1bHRzKG5hbWVzcGFjZTogc3RyaW5nLCBkZWZhdWx0czogTGFuZ3VhZ2VzQ29udGVudCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnQudXBkYXRlKHN0b3JlID0+IHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gc3RvcmVbbmFtZXNwYWNlXTtcbiAgICAgIGlmICghZXhpc3RpbmcpIHJldHVybiB7IC4uLnN0b3JlLCBbbmFtZXNwYWNlXTogZGVmYXVsdHMgfTtcbiAgICAgIGNvbnN0IG1lcmdlZDogTGFuZ3VhZ2VzQ29udGVudCA9IHsgLi4uZXhpc3RpbmcgfTtcbiAgICAgIGZvciAoY29uc3QgbGFuZyBvZiBPYmplY3Qua2V5cyhkZWZhdWx0cykgYXMgQXJyYXk8a2V5b2YgTGFuZ3VhZ2VzQ29udGVudD4pIHtcbiAgICAgICAgY29uc3QgZGVmTGFuZyA9IGRlZmF1bHRzW2xhbmddID8/IHt9O1xuICAgICAgICBjb25zdCBjdXJMYW5nID0gKGV4aXN0aW5nW2xhbmddID8/IHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgICAgICBtZXJnZWRbbGFuZ10gPSB7IC4uLihkZWZMYW5nIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pLCAuLi5jdXJMYW5nIH07XG4gICAgICB9XG4gICAgICByZXR1cm4geyAuLi5zdG9yZSwgW25hbWVzcGFjZV06IG1lcmdlZCB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdHJhIG3Dumx0aXBsZXMgbmFtZXNwYWNlcyBkZSB1bmEgdmV6XG4gICAqXG4gICAqIEBwYXJhbSBjb250ZW50U3RvcmUgT2JqZXRvIGNvbiBuYW1lc3BhY2VzIGNvbW8ga2V5c1xuICAgKi9cbiAgcmVnaXN0ZXJDb250ZW50QnVsayhjb250ZW50U3RvcmU6IENvbnRlbnRTdG9yZSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnQudXBkYXRlKHN0b3JlID0+ICh7XG4gICAgICAuLi5zdG9yZSxcbiAgICAgIC4uLmNvbnRlbnRTdG9yZSxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJhIGxvcyBpZGlvbWFzIHNvcG9ydGFkb3NcbiAgICovXG4gIHNldEkxOG5MYW5ndWFnZXMobGFuZ3VhZ2VzOiBJMThuTGFuZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5fc3VwcG9ydGVkTGFuZ3VhZ2VzLnNldChsYW5ndWFnZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgdG9kb3MgbG9zIG5hbWVzcGFjZXMgcmVnaXN0cmFkb3NcbiAgICovXG4gIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLl9jb250ZW50KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNpIHVuIG5hbWVzcGFjZSB0aWVuZSB0cmFkdWNjaW9uZXNcbiAgICovXG4gIGhhc05hbWVzcGFjZShuYW1lc3BhY2U6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBuYW1lc3BhY2UgaW4gdGhpcy5fY29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcmdhIGVsIGlkaW9tYSBndWFyZGFkbyBlbiBsb2NhbFN0b3JhZ2UsIG8gYWRpdmluYSBkZXNkZSBlbCBuYXZlZ2Fkb3IuXG4gICAqXG4gICAqIExhIGRldGVjY2nDs24gZGUgYWPDoSBlcyBQUk9WSVNJT05BTCB5IE5PIHNlIHBlcnNpc3RlLCBhIHByb3DDs3NpdG8uIEVsXG4gICAqIGNvbnN0cnVjdG9yIGNvcnJlIGFudGVzIHF1ZSBlbCBBUFBfSU5JVElBTElaRVIgZGUgYHByb3ZpZGVWYWx0ZWNoSTE4bmAsXG4gICAqIHF1ZSBlcyBxdWllbiBjb25vY2UgbGEgY29uZmlnIHJlYWwgZGUgbGEgYXBwLiBDdWFuZG8gZXN0byBwZXJzaXN0w61hIGVsXG4gICAqIGlkaW9tYSBkZXRlY3RhZG8sIGVsIGluaXRpYWxpemVyIGxlw61hIGVzYSBtaXNtYSBjbGF2ZSB1biBpbnN0YW50ZSBkZXNwdcOpcyxcbiAgICogbGEgdG9tYWJhIHBvciBwcmVmZXJlbmNpYSBndWFyZGFkYSBkZWwgdXN1YXJpbyB5IGVudHJhYmEgcG9yIGxhIHJhbWFcbiAgICogYHN0b3JlZGAg4oCUIGFzw60gcXVlIGBkZXRlY3RCcm93c2VyTGFuZ3VhZ2U6IGZhbHNlYCBubyB0ZW7DrWEgZWZlY3RvIGVuXG4gICAqIG5pbmd1bmEgYXBwIGRlbCBmYWN0b3J5LiBFc2NyaWJpciBhY8OhIGZhYnJpY2FiYSB1bmEgcHJlZmVyZW5jaWEgcXVlIGVsXG4gICAqIHVzdWFyaW8gbnVuY2EgZXhwcmVzw7MuXG4gICAqXG4gICAqIFBlcnNpc3RpciBlcyByZXNwb25zYWJpbGlkYWQgZGUgYHNldExhbmd1YWdlKClgLCBxdWUgc2UgbGxhbWEgY3VhbmRvIGxhXG4gICAqIGVsZWNjacOzbiBzw60gZXMgZGVsIHVzdWFyaW8gKG8gY3VhbmRvIGVsIGluaXRpYWxpemVyIHlhIGRlY2lkacOzIGNvbiBsYVxuICAgKiBjb25maWcgYSBsYSB2aXN0YSkuXG4gICAqL1xuICBwcml2YXRlIGxvYWRTdG9yZWRMYW5ndWFnZSgpOiB2b2lkIHtcbiAgICAvLyBTU1I6IHNpbiBsb2NhbFN0b3JhZ2UvbmF2aWdhdG9yLiBNYW50ZW5lbW9zIGVsIGRlZmF1bHQ7IGVsIGJyb3dzZXJcbiAgICAvLyBoeWRyYXRhcsOhIGVsIGxhbmcgcmVhbCBjdWFuZG8gZWwgY2xpZW50ZSBhcnJhbnF1ZS5cbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oTEFOR19TVE9SQUdFX0tFWSk7XG5cbiAgICBpZiAoc3RvcmVkICYmIHRoaXMuaXNWYWxpZExhbmd1YWdlKHN0b3JlZCkpIHtcbiAgICAgIHRoaXMuX2xhbmcuc2V0KHN0b3JlZCBhcyBJMThuTGFuZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQWRpdmluYW56YSBwcm92aXNpb25hbCBtaWVudHJhcyBlbCBpbml0aWFsaXplciBubyBoYXlhIGNvcnJpZG8uIFNpblxuICAgIC8vIHBlcnNpc3RpcjogdmVyIGVsIGNvbWVudGFyaW8gZGVsIG3DqXRvZG8uXG4gICAgY29uc3QgYnJvd3NlckxhbmcgPSBuYXZpZ2F0b3IubGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXSBhcyBJMThuTGFuZztcbiAgICBpZiAodGhpcy5pc1ZhbGlkTGFuZ3VhZ2UoYnJvd3NlckxhbmcpKSB7XG4gICAgICB0aGlzLl9sYW5nLnNldChicm93c2VyTGFuZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYSBzaSB1biBpZGlvbWEgZXN0w6Egc29wb3J0YWRvXG4gICAqL1xuICBwcml2YXRlIGlzVmFsaWRMYW5ndWFnZShsYW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3VwcG9ydGVkTGFuZ3VhZ2VzKCkuaW5jbHVkZXMobGFuZyBhcyBJMThuTGFuZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVlbXBsYXphIHt2YXJpYWJsZX0gZW4gdGV4dG8gY29uIHZhbG9yZXMgZGUgZGF0YVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBpbnRlcnBvbGF0ZSgnSG9sYSB7bmFtZX0nLCB7IG5hbWU6ICdKdWFuJyB9KSAgIC8vICdIb2xhIEp1YW4nXG4gICAqIGludGVycG9sYXRlKCdIb2xhIHt7bmFtZX19JywgeyBuYW1lOiAnSnVhbicgfSkgLy8gJ0hvbGEgSnVhbidcbiAgICpcbiAgICogU2UgYWNlcHRhbiBsYXMgRE9TIG5vdGFjaW9uZXMgYSBwcm9ww7NzaXRvLiBDb24gc29sbyBge2NsYXZlfWAsIHVuIHRleHRvXG4gICAqIGVzY3JpdG8gY29tbyBge3tjbGF2ZX19YCByZWVtcGxhemFiYSBlbCBpbnRlcmlvciB5IGRlamFiYSBsYXMgbGxhdmVzIGRlXG4gICAqIGFmdWVyYSBhIGxhIHZpc3RhIGRlbCB1c3VhcmlvIChcIkVzdGUgZXMgbWkgY2FydMOzbiBwYXJhIHtHYWxhIDIwMjZ9XCIpLCBzaW5cbiAgICogZmFsbGFyIGVuIG5pbmfDum4gbGFkby4gRWwgZXN0aWxvIGRlIGxsYXZlcyBkZSB1biB0ZXh0byBubyBkZWJlcsOtYSBzZXIgdW5hXG4gICAqIHRyYW1wYTogbGEgbGliIGFjZXB0YSBhbWJvcyB5IGVsIGNvbnN1bWlkb3IgZXNjcmliZSBjb21vIHByZWZpZXJhLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnRlcnBvbGF0ZSh0ZXh0OiBzdHJpbmcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBzdHJpbmcge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhkYXRhKS5yZWR1Y2UoKHJlc3VsdCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBkb2JsZSA9IG5ldyBSZWdFeHAoYFxcXFx7XFxcXHtcXFxccyoke2tleX1cXFxccypcXFxcfVxcXFx9YCwgJ2cnKTtcbiAgICAgIGNvbnN0IHNpbXBsZSA9IG5ldyBSZWdFeHAoYFxcXFx7XFxcXHMqJHtrZXl9XFxcXHMqXFxcXH1gLCAnZycpO1xuICAgICAgcmV0dXJuIHJlc3VsdC5yZXBsYWNlKGRvYmxlLCB2YWx1ZSkucmVwbGFjZShzaW1wbGUsIHZhbHVlKTtcbiAgICB9LCB0ZXh0KTtcbiAgfVxufVxuIl19
|
|
@@ -210,9 +210,13 @@ export class PreferencesService {
|
|
|
210
210
|
.docChanges(`users/${userId}/preferences`, 'main')
|
|
211
211
|
.subscribe(doc => {
|
|
212
212
|
if (!doc) {
|
|
213
|
-
// Doc no existe aún
|
|
214
|
-
//
|
|
215
|
-
//
|
|
213
|
+
// Doc no existe aún para esta app. Antes dejábamos la app con
|
|
214
|
+
// localStorage/navigator, aunque el usuario ya tuviera idioma
|
|
215
|
+
// canónico en auth. Resultado: cuenta en español, app nueva en inglés
|
|
216
|
+
// hasta cambiar manualmente a inglés y volver a español. Hidratar
|
|
217
|
+
// desde perfil canónico corrige ese primer arranque y además crea el
|
|
218
|
+
// mirror de esta app.
|
|
219
|
+
this.hydrateMissingPreferencesFromProfile(userId);
|
|
216
220
|
return;
|
|
217
221
|
}
|
|
218
222
|
// Ignorar emisiones del listener mientras hay un update() en vuelo: un
|
|
@@ -237,8 +241,25 @@ export class PreferencesService {
|
|
|
237
241
|
this.subscription?.unsubscribe();
|
|
238
242
|
this.subscription = undefined;
|
|
239
243
|
this.currentUserId = undefined;
|
|
244
|
+
this.missingDocHydrationUserId = undefined;
|
|
240
245
|
this._synced.set(false);
|
|
241
246
|
}
|
|
247
|
+
hydrateMissingPreferencesFromProfile(userId) {
|
|
248
|
+
if (this.missingDocHydrationUserId === userId)
|
|
249
|
+
return;
|
|
250
|
+
this.missingDocHydrationUserId = userId;
|
|
251
|
+
void firstValueFrom(this.auth.getProfile())
|
|
252
|
+
.then(profile => {
|
|
253
|
+
const language = profile.language;
|
|
254
|
+
if (language === 'es' || language === 'en') {
|
|
255
|
+
this._language.set(language);
|
|
256
|
+
this.i18n?.setLanguage(language);
|
|
257
|
+
this._synced.set(true);
|
|
258
|
+
void this.update({ language }).catch(() => undefined);
|
|
259
|
+
}
|
|
260
|
+
})
|
|
261
|
+
.catch(() => undefined);
|
|
262
|
+
}
|
|
242
263
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PreferencesService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: i1.FirestoreService }, { token: i2.AuthService }, { token: i3.HttpClient }, { token: i4.FirebaseService, optional: true }, { token: i5.ThemeService, optional: true }, { token: i6.FontSizeService, optional: true }, { token: i7.I18nService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
243
264
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PreferencesService, providedIn: 'root' }); }
|
|
244
265
|
}
|
|
@@ -257,4 +278,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
257
278
|
}] }, { type: i7.I18nService, decorators: [{
|
|
258
279
|
type: Optional
|
|
259
280
|
}] }] });
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvcHJlZmVyZW5jZXMvcHJlZmVyZW5jZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFpQnJEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBNkI3QixZQUN1QyxNQUF5QixFQUN0RCxTQUEyQixFQUMzQixJQUFpQixFQUNqQixJQUFnQixFQUNKLFFBQWdDLEVBQ2hDLFlBQWlDLEVBQ2pDLGVBQXVDLEVBQ3ZDLElBQXdCO1FBUFAsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDdEQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0osYUFBUSxHQUFSLFFBQVEsQ0FBd0I7UUFDaEMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFvQjtRQXBDN0IsV0FBTSxHQUFHLE1BQU0sQ0FBbUIsTUFBTSxDQUFDLENBQUM7UUFDMUMsY0FBUyxHQUFHLE1BQU0sQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFDOUMsY0FBUyxHQUFHLE1BQU0sQ0FBc0IsUUFBUSxDQUFDLENBQUM7UUFDbkUsb0ZBQW9GO1FBQ3BGLGdFQUFnRTtRQUMvQyx5QkFBb0IsR0FBRyxNQUFN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LEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sTUFBTTtRQUNaLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0F6T1Usa0JBQWtCLGtCQThCbkIsbUJBQW1CO21IQTlCbEIsa0JBQWtCLGNBREwsTUFBTTs7NEZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQStCN0IsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUkxQixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0FVVEhfQ09ORklHIH0gZnJvbSAnLi4vYXV0aC9jb25maWcnO1xuaW1wb3J0IHsgVmFsdGVjaEF1dGhDb25maWcgfSBmcm9tICcuLi9hdXRoL3R5cGVzJztcbmltcG9ydCB7IEZpcmViYXNlU2VydmljZSB9IGZyb20gJy4uL2ZpcmViYXNlL2ZpcmViYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlyZXN0b3JlU2VydmljZSB9IGZyb20gJy4uL2ZpcmViYXNlL2ZpcmVzdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IEkxOG5MYW5nIH0gZnJvbSAnLi4vaTE4bi90eXBlcyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZW1lT3B0aW9uLCBUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi90aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvbnRTaXplT3B0aW9uLCBGb250U2l6ZVNlcnZpY2UgfSBmcm9tICcuLi9mb250LXNpemUvZm9udC1zaXplLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgUHJlZmVyZW5jZXNEb2N1bWVudCxcbiAgUHJlZmVyZW5jZXNGb250U2l6ZSxcbiAgUHJlZmVyZW5jZXNMYW5ndWFnZSxcbiAgUHJlZmVyZW5jZXNUaGVtZSxcbiAgUHJlZmVyZW5jZXNVcGRhdGUsXG4gIFByZWZlcmVuY2VzVXBkYXRlUmVzcG9uc2UsXG59IGZyb20gJy4vcHJlZmVyZW5jZXMudHlwZXMnO1xuXG4vKipcbiAqIFByZWZlcmVuY2VzU2VydmljZSDigJQgcHJlZmVyZW5jaWFzIGRlbCB1c2VyIGVuIGVsIGRvYyBjYW7Ds25pY28gRmlyZXN0b3JlXG4gKiBgL2FwcHMve2FwcElkfS91c2Vycy97dWlkfS9wcmVmZXJlbmNlcy9tYWluYC5cbiAqXG4gKiBSZWFkIHJlYWN0aXZvIChzaWduYWxzKSB2aWEgbGlzdGVuZXIgRmlyZXN0b3JlLlxuICogV3JpdGUgdmlhIGBQVVQgL3YyL2F1dGgvcHJlZmVyZW5jZXNgIChjbGllbnRlIE5VTkNBIGVzY3JpYmUgRmlyZXN0b3JlIGRpcmVjdG8g4oCUXG4gKiB2ZXIgbWVtb3JpYSBgZmVlZGJhY2tfbm9fZGlyZWN0X2ZpcmVzdG9yZV93cml0ZXNgKS5cbiAqXG4gKiBTaWRlLWVmZmVjdHMgYXV0b23DoXRpY29zOlxuICogLSBDdWFuZG8gYHRoZW1lKClgIGNhbWJpYSDihpIgYFRoZW1lU2VydmljZS5UaGVtZSA9IC4uLmBcbiAqIC0gQ3VhbmRvIGBsYW5ndWFnZSgpYCBjYW1iaWEg4oaSIGBJMThuU2VydmljZS5zZXRMYW5ndWFnZSguLi4pYFxuICpcbiAqIEF1dG8tYmluZCBhbCB1c2VyIGFjdHVhbCB2aWEgYEF1dGhTZXJ2aWNlLnVzZXIoKWAuIFNpbiB1c2VyIChsb2dvdXQpIOKGkiB1bmJpbmQuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUHJlZmVyZW5jZXNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGhlbWUgPSBzaWduYWw8UHJlZmVyZW5jZXNUaGVtZT4oJ2F1dG8nKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbGFuZ3VhZ2UgPSBzaWduYWw8UHJlZmVyZW5jZXNMYW5ndWFnZT4oJ2VzJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZvbnRTaXplID0gc2lnbmFsPFByZWZlcmVuY2VzRm9udFNpemU+KCdtZWRpdW0nKTtcbiAgLy8gRGVmYXVsdCBgZmFsc2VgIChvcHQtaW4pLiBFbCB1c2VyIGRlYmUgYWN0aXZhciBleHBsw61jaXRhbWVudGUgbGFzIG5vdGlmaWNhY2lvbmVzO1xuICAvLyBubyBhc3VtaW1vcyBjb25zZW50aW1pZW50byBpbXBsw61jaXRvLiBCYWNrZW5kIGRlYmUgY29pbmNpZGlyLlxuICBwcml2YXRlIHJlYWRvbmx5IF9ub3RpZmljYXRpb25zTWFzdGVyID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgLyoqIGB0cnVlYCBkZXNwdcOpcyBkZWwgcHJpbWVyIHNuYXBzaG90IEZpcmVzdG9yZS4gQW50ZXMsIGRlZmF1bHRzIHNpbiBzaWRlLWVmZmVjdHMuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N5bmNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgdGhlbWUgPSB0aGlzLl90aGVtZS5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IGxhbmd1YWdlID0gdGhpcy5fbGFuZ3VhZ2UuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBmb250U2l6ZSA9IHRoaXMuX2ZvbnRTaXplLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uc01hc3RlciA9IHRoaXMuX25vdGlmaWNhdGlvbnNNYXN0ZXIuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBzeW5jZWQgPSB0aGlzLl9zeW5jZWQuYXNSZWFkb25seSgpO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGN1cnJlbnRVc2VySWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBgdHJ1ZWAgbWllbnRyYXMgdW4gYHVwZGF0ZSgpYCBlc3TDoSBlbiB2dWVsbyAoUFVUIGFsIGJhY2tlbmQpLlxuICAgKlxuICAgKiBFbCBsaXN0ZW5lciBGaXJlc3RvcmUgKGBiaW5kVG9Vc2VyYCkgZXMgcmVhbC10aW1lIHkgcHVlZGUgZW1pdGlyIHVuIHNuYXBzaG90XG4gICAqICpzdGFsZSog4oCUIGFudGVyaW9yIGFsIHN5bmMgZGVsIGJhY2tlbmQg4oCUIHF1ZSBwaXNhcsOtYSBlbCB2YWxvciBvcHRpbWlzdGEgZGVcbiAgICogYF9ub3RpZmljYXRpb25zTWFzdGVyYCB5IHJldmVydGlyw61hIGVsIHRvZ2dsZS4gTWllbnRyYXMgZXN0ZSBmbGFnIGVzdMOpIGB0cnVlYFxuICAgKiBlbCBsaXN0ZW5lciBpZ25vcmEgbGFzIGVtaXNpb25lczsgZWwgYHVwZGF0ZSgpYCB5YSBhbGluZWEgbGFzIHNlw7FhbGVzIGNvbiBsYVxuICAgKiByZXNwdWVzdGEgZGVsIGJhY2tlbmQgYWwgdGVybWluYXIuXG4gICAqL1xuICBwcml2YXRlIF91cGRhdGVJbkZsaWdodCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoVkFMVEVDSF9BVVRIX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IFZhbHRlY2hBdXRoQ29uZmlnLFxuICAgIHByaXZhdGUgZmlyZXN0b3JlOiBGaXJlc3RvcmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aDogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZmlyZWJhc2U6IEZpcmViYXNlU2VydmljZSB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSB0aGVtZVNlcnZpY2U6IFRoZW1lU2VydmljZSB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBmb250U2l6ZVNlcnZpY2U6IEZvbnRTaXplU2VydmljZSB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBpMThuOiBJMThuU2VydmljZSB8IG51bGxcbiAgKSB7XG4gICAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLnVuYmluZCgpKTtcblxuICAgIC8vIFNlZWQgYF9mb250U2l6ZWAgY29uIGVsIHZhbG9yIHF1ZSBGb250U2l6ZVNlcnZpY2UgeWEgcmVzdGF1csOzIGRlc2RlXG4gICAgLy8gbG9jYWxTdG9yYWdlIGVuIHN1IGNvbnN0cnVjdG9yIChwcm92aWRlZEluIHJvb3Qg4oaSIHlhIGNvcnJpw7MgYWwgaW55ZWN0YXJsb1xuICAgIC8vIGFjw6EpLiBTaW4gZXN0bywgZWwgc2lnbmFsIGFycmFuY2EgZW4gJ21lZGl1bScgeSBlbCBlZmZlY3QgZGUgYWJham8g4oCUcXVlXG4gICAgLy8gZGlzcGFyYSBhbCBtYXJjYXJzZSBgc3luY2VkYOKAlCBmb3J6YXLDrWEgJ21lZGl1bScgcGlzYW5kbyBlbCB0YW1hw7FvXG4gICAgLy8gcmVzdGF1cmFkbyBjdWFuZG8gZWwgc25hcHNob3QgRmlyZXN0b3JlIE5PIHRyYWUgYGZvbnRTaXplYCAodXNlciBzaW4gZXNlXG4gICAgLy8gY2FtcG8gZW4gZWwgbWlycm9yKS4gQnVnOiBjYW1iaWFzIGVsIHRhbWHDsW8sIHJlZnJlc2NhcyB5IHNlIHBpZXJkZS5cbiAgICBpZiAodGhpcy5mb250U2l6ZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuX2ZvbnRTaXplLnNldCh0aGlzLmZvbnRTaXplU2VydmljZS5zaXplKCkgYXMgUHJlZmVyZW5jZXNGb250U2l6ZSk7XG4gICAgfVxuXG4gICAgLy8gTWlzbW8gc2VlZCBwYXJhIHRoZW1lIOKAlCBUaGVtZVNlcnZpY2UgYXBsaWNhIHN1IHZhbG9yIGRlIGxvY2FsU3RvcmFnZSBlblxuICAgIC8vIGJvb3RzdHJhcCAoYGN1cnJlbnRPcHRpb25gKS4gTmVjZXNhcmlvIHBhcmEgZGVzZ2F0ZWFyIGVsIGVmZmVjdCBkZSB0aGVtZVxuICAgIC8vIChhYmFqbykgc2luIHF1ZSBlbCBkZWZhdWx0ICdhdXRvJyBwaXNlIGVsIHRlbWEgcmVzdGF1cmFkby5cbiAgICBpZiAodGhpcy50aGVtZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuX3RoZW1lLnNldCh0aGlzLnRoZW1lU2VydmljZS5jdXJyZW50T3B0aW9uIGFzIFByZWZlcmVuY2VzVGhlbWUpO1xuICAgIH1cblxuICAgIC8vIEF1dG8tYmluZCBhbCB1c2VyIGFjdHVhbC4gZWZmZWN0KCkgY29ycmUgZW4gaW5qZWN0aW9uIGNvbnRleHQgKGNvbnN0cnVjdG9yIE9LKS5cbiAgICAvLyBhbGxvd1NpZ25hbFdyaXRlczogYmluZFRvVXNlci91bmJpbmQgZXNjcmliZW4gYF9zeW5jZWRgIChzZcOxYWwgaW50ZXJuYSBzaW5cbiAgICAvLyBkZXBlbmRlbmNpYXMgZGVsIHByb3BpbyBlZmZlY3QpIOKGkiBzZWd1cm8geSBuZWNlc2FyaW8uXG4gICAgLy8gRWwgZ2F0ZSBkZSBgZmlyZWJhc2VBdXRoUmVhZHlgIG5vIGVzIG9wY2lvbmFsOiBlbCBKV1QgZGVsIGJhY2tlbmQgcXVlZGFcbiAgICAvLyBsaXN0byBjaWVudG9zIGRlIG1zIGFudGVzIHF1ZSBsYSBzZXNpw7NuIGRlIEZpcmViYXNlIEF1dGgsIHkgZW5nYW5jaGFyIGVsXG4gICAgLy8gbGlzdGVuZXIgZW4gZXNhIHZlbnRhbmEgZGEgYHBlcm1pc3Npb24tZGVuaWVkYCAodmVyIEZpcmViYXNlU2VydmljZSkuXG4gICAgLy8gQ29tbyBlbCBlZmZlY3QgbGVlIGxhIHNlw7FhbCwgc2UgcmUtZWplY3V0YSBzb2xvIGN1YW5kbyBGaXJlYmFzZSBjb25maXJtYVxuICAgIC8vIGxhIHNlc2nDs24geSBhaMOtIHJlY2nDqW4gbGlnYSBhbCB1c2VyLlxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IHRoaXMuYXV0aC51c2VyKCk7XG4gICAgICAgIGNvbnN0IGZpcmViYXNlUmVhZHkgPSB0aGlzLmZpcmViYXNlPy5maXJlYmFzZUF1dGhSZWFkeSgpID8/IHRydWU7XG4gICAgICAgIGlmICh1c2VyPy51c2VySWQgJiYgZmlyZWJhc2VSZWFkeSkge1xuICAgICAgICAgIHRoaXMuYmluZFRvVXNlcih1c2VyLnVzZXJJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51bmJpbmQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG5cbiAgICAvLyBTaWRlLWVmZmVjdDogYXBsaWNhciB0aGVtZS4gU0lOIGdhdGUgYF9zeW5jZWRgIChsb2NhbC1maXJzdCwgaWd1YWwgcXVlXG4gICAgLy8gZm9udFNpemUpOiBUaGVtZVNlcnZpY2UvbG9jYWxTdG9yYWdlIGVzIGxhIHZlcmRhZCBkZWwgZGlzcG9zaXRpdm8geVxuICAgIC8vIGBfdGhlbWVgIHZpZW5lIHNlZWRlYWRvIGFycmliYS4gQXBsaWNhciBzaWVtcHJlIHF1ZSBjYW1iaWUgZGEgYXBwbHlcbiAgICAvLyBvcHRpbWlzdGEgYWwgaW5zdGFudGU7IGVsIHN5bmMgY3Jvc3MtZGV2aWNlIHRhbWJpw6luIGFwbGljYSB2w61hIHNuYXBzaG90LlxuICAgIC8vIEdhdGVhcmxvIGVuIGBfc3luY2VkYCBoYWPDrWEgcXVlIGVsIHByaW1lciBjYW1iaW8gZGUgdW4gdXNlciBudWV2byAoc2luIGRvY1xuICAgIC8vIEZpcmVzdG9yZSBhw7puKSBubyBzZSBhcGxpY2FyYTogZWwgc2VsZWN0b3IgbW9zdHJhYmEgXCJEYXJrXCIgcGVybyBlbCB0ZW1hIG5vXG4gICAgLy8gY2FtYmlhYmEuIChFbCBzZWxlY3RvciBkZSBpZGlvbWEgbm8gc3VmcmUgZXN0byBwb3JxdWUgdmFsLWxhbmd1YWdlLXNlbGVjdG9yXG4gICAgLy8gbGxhbWEgaTE4bi5zZXRMYW5ndWFnZSBkaXJlY3RvOyBlbCBkZSB0aGVtZSBkZXBlbmRlIHNvbG8gZGUgZXN0ZSBlZmZlY3QuKVxuICAgIC8vIE9KTzogdXNhciBgdG9nZ2xlVXNlclByZWZlcmVuY2UoKWAgeSBOTyBlbCBzZXR0ZXIgYFRoZW1lID1gLiBFbCBzZXR0ZXIgc29sb1xuICAgIC8vIHBlcnNpc3RlIGxvY2FsU3RvcmFnZSArIGVtaXRlIGVsIEJlaGF2aW9yU3ViamVjdDsgbm8gYXBsaWNhIGxhcyBjbGFzZXNcbiAgICAvLyBgYm9keS5kYXJrYC9gaHRtbC5pb24tcGFsZXR0ZS1kYXJrYCBxdWUgZWwgcGFsZXR0ZSBkZSBJb25pYyBuZWNlc2l0YS5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgdCA9IHRoaXMuX3RoZW1lKCk7XG4gICAgICBpZiAodGhpcy50aGVtZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy50aGVtZVNlcnZpY2UudG9nZ2xlVXNlclByZWZlcmVuY2UodCBhcyBUaGVtZU9wdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBTaWRlLWVmZmVjdDogYXBsaWNhciBsYW5ndWFnZSBsb2NhbCBjdWFuZG8gbGxlZ2Egc25hcHNob3QgcmVhbC5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5fc3luY2VkKCkpIHJldHVybjtcbiAgICAgICAgY29uc3QgbCA9IHRoaXMuX2xhbmd1YWdlKCk7XG4gICAgICAgIGlmICh0aGlzLmkxOG4gJiYgdGhpcy5pMThuLmxhbmcoKSAhPT0gbCkge1xuICAgICAgICAgIHRoaXMuaTE4bi5zZXRMYW5ndWFnZShsIGFzIEkxOG5MYW5nKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG5cbiAgICAvLyBTaWRlLWVmZmVjdDogYXBsaWNhciBmb250U2l6ZS5cbiAgICAvLyBTSU4gZ2F0ZSBgX3N5bmNlZGAgKGlndWFsIHF1ZSB0aGVtZSk6IGVsIHRhbWHDsW8gZXMgdW5hXG4gICAgLy8gcHJlZmVyZW5jaWEgbG9jYWwtZmlyc3Qg4oCUIEZvbnRTaXplU2VydmljZS9sb2NhbFN0b3JhZ2UgZXMgbGEgdmVyZGFkIGRlbFxuICAgIC8vIGRpc3Bvc2l0aXZvIHkgYF9mb250U2l6ZWAgeWEgdmllbmUgc2VlZGVhZG8gZGUgYWjDrSBhcnJpYmEuIEFwbGljYXIgc2llbXByZVxuICAgIC8vIHF1ZSBjYW1iaWUgcGVybWl0ZSBxdWUgZWwgY2FtYmlvIGRlbCB1c3VhcmlvIHN1cnRhIGVmZWN0byBhbCBpbnN0YW50ZVxuICAgIC8vIChvcHRpbWlzdGEsIHNpbiBlc3BlcmFyIGVsIHJvdW5kLXRyaXAgYSBGaXJlc3RvcmUpIHkgcXVlIGVsIHN5bmNcbiAgICAvLyBjcm9zcy1kZXZpY2UgdGFtYmnDqW4gYXBsaXF1ZSBhbCBsbGVnYXIgZWwgc25hcHNob3QuIEdhdGVhcmxvIGVuIGBfc3luY2VkYFxuICAgIC8vIGhhY8OtYSBxdWUgZWwgcHJpbWVyIGNhbWJpbyBkZSB1biB1c2VyIG51ZXZvIChzaW4gZG9jIEZpcmVzdG9yZSBhw7puKSBubyBzZVxuICAgIC8vIGFwbGljYXJhOiBlbCBzZWxlY3RvciBtb3N0cmFiYSBcIkdyYW5kZVwiIHBlcm8gZWwgZm9udC1zaXplIG5vIGNhbWJpYWJhLlxuICAgIC8vIGFsbG93U2lnbmFsV3JpdGVzOiBmb250U2l6ZVNlcnZpY2Uuc2V0U2l6ZSgpIGVzY3JpYmUgdGhpcy5fc2l6ZSAoc2lnbmFsKS5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZzID0gdGhpcy5fZm9udFNpemUoKTtcbiAgICAgICAgaWYgKHRoaXMuZm9udFNpemVTZXJ2aWNlKSB7XG4gICAgICAgICAgdGhpcy5mb250U2l6ZVNlcnZpY2Uuc2V0U2l6ZShmcyBhcyBGb250U2l6ZU9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICB9XG5cbiAgLyoqIEFjdHVhbGl6YSBwcmVmZXJlbmNpYXMgdmlhIGJhY2tlbmQuIE9wdGltaXN0aWMgVUk6IGFwbGljYSBsb2NhbCwgcmV2aWVydGUgc2kgZmFsbGEuICovXG4gIGFzeW5jIHVwZGF0ZShwYXJ0aWFsOiBQcmVmZXJlbmNlc1VwZGF0ZSk6IFByb21pc2U8UHJlZmVyZW5jZXNVcGRhdGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuY29uZmlnLmFwaVVybH0vdjIvYXV0aC9wcmVmZXJlbmNlc2A7XG5cbiAgICBjb25zdCBwcmV2ID0ge1xuICAgICAgdGhlbWU6IHRoaXMuX3RoZW1lKCksXG4gICAgICBsYW5ndWFnZTogdGhpcy5fbGFuZ3VhZ2UoKSxcbiAgICAgIGZvbnRTaXplOiB0aGlzLl9mb250U2l6ZSgpLFxuICAgICAgbWFzdGVyOiB0aGlzLl9ub3RpZmljYXRpb25zTWFzdGVyKCksXG4gICAgfTtcblxuICAgIGlmIChwYXJ0aWFsLnRoZW1lKSB0aGlzLl90aGVtZS5zZXQocGFydGlhbC50aGVtZSk7XG4gICAgaWYgKHBhcnRpYWwubGFuZ3VhZ2UpIHRoaXMuX2xhbmd1YWdlLnNldChwYXJ0aWFsLmxhbmd1YWdlKTtcbiAgICBpZiAocGFydGlhbC5mb250U2l6ZSkgdGhpcy5fZm9udFNpemUuc2V0KHBhcnRpYWwuZm9udFNpemUpO1xuICAgIGlmIChwYXJ0aWFsLm5vdGlmaWNhdGlvbnMgJiYgdHlwZW9mIHBhcnRpYWwubm90aWZpY2F0aW9ucy5tYXN0ZXIgPT09ICdib29sZWFuJykge1xuICAgICAgdGhpcy5fbm90aWZpY2F0aW9uc01hc3Rlci5zZXQocGFydGlhbC5ub3RpZmljYXRpb25zLm1hc3Rlcik7XG4gICAgfVxuXG4gICAgLy8gQmxvcXVlYXIgZWwgbGlzdGVuZXIgRmlyZXN0b3JlIG1pZW50cmFzIGVsIFBVVCBlc3TDoSBlbiB2dWVsbzogdW4gc25hcHNob3RcbiAgICAvLyBzdGFsZSBubyBkZWJlIHBpc2FyIGVsIHZhbG9yIG9wdGltaXN0YSByZWNpw6luIGFwbGljYWRvLlxuICAgIHRoaXMuX3VwZGF0ZUluRmxpZ2h0ID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBFbnZpYXIgYXBwSWQgZXhwbMOtY2l0byDigJQgZWwgYmFja2VuZCBsbyB1c2EgcGFyYSBlc2NyaWJpciBlbCBtaXJyb3JcbiAgICAgIC8vIEZpcmVzdG9yZSBlbiBhcHBzL3thcHBJZH0vLi4uIGNvcnJlY3RvLCBzaW4gZGVwZW5kZXIgZGVsIGhlYWRlciBPcmlnaW5cbiAgICAgIC8vIChxdWUgZW4gUFdBIGlPUyBwdWVkZSBubyByZXNvbHZlciBhbCBBcHBJRCBlc3BlcmFkbykuXG4gICAgICBjb25zdCBib2R5ID0geyAuLi5wYXJ0aWFsLCBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQgfTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wdXQ8UHJlZmVyZW5jZXNVcGRhdGVSZXNwb25zZT4odXJsLCBib2R5KSk7XG4gICAgICAvLyBFbCBsaXN0ZW5lciBGaXJlc3RvcmUgZXMgbGEgZnVlbnRlIGZpbmFsLCBwZXJvIGFsaW5lYXIgeWEgY29uIGxhXG4gICAgICAvLyByZXNwdWVzdGEgZGVsIGJhY2tlbmQgYWNlbGVyYSBVWCAoZXNwZWNpYWxtZW50ZSBzaSBlbCBsaXN0ZW5lclxuICAgICAgLy8gdGFyZGEgZW4gcHJvcGFnYXIpLlxuICAgICAgaWYgKHJlcy50aGVtZSkgdGhpcy5fdGhlbWUuc2V0KHJlcy50aGVtZSBhcyBQcmVmZXJlbmNlc1RoZW1lKTtcbiAgICAgIGlmIChyZXMubGFuZ3VhZ2UpIHRoaXMuX2xhbmd1YWdlLnNldChyZXMubGFuZ3VhZ2UgYXMgUHJlZmVyZW5jZXNMYW5ndWFnZSk7XG4gICAgICBpZiAocmVzLmZvbnRTaXplKSB0aGlzLl9mb250U2l6ZS5zZXQocmVzLmZvbnRTaXplIGFzIFByZWZlcmVuY2VzRm9udFNpemUpO1xuICAgICAgaWYgKHR5cGVvZiByZXMubm90aWZpY2F0aW9ucz8ubWFzdGVyID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uc01hc3Rlci5zZXQocmVzLm5vdGlmaWNhdGlvbnMubWFzdGVyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXM7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyBSZXZlcnQgb3B0aW1pc3RpYy5cbiAgICAgIHRoaXMuX3RoZW1lLnNldChwcmV2LnRoZW1lKTtcbiAgICAgIHRoaXMuX2xhbmd1YWdlLnNldChwcmV2Lmxhbmd1YWdlKTtcbiAgICAgIHRoaXMuX2ZvbnRTaXplLnNldChwcmV2LmZvbnRTaXplKTtcbiAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnNNYXN0ZXIuc2V0KHByZXYubWFzdGVyKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fdXBkYXRlSW5GbGlnaHQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzZXRUaGVtZSh0aGVtZTogUHJlZmVyZW5jZXNUaGVtZSk6IFByb21pc2U8UHJlZmVyZW5jZXNVcGRhdGVSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZSh7IHRoZW1lIH0pO1xuICB9XG5cbiAgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IFByZWZlcmVuY2VzTGFuZ3VhZ2UpOiBQcm9taXNlPFByZWZlcmVuY2VzVXBkYXRlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGUoeyBsYW5ndWFnZSB9KTtcbiAgfVxuXG4gIHNldEZvbnRTaXplKGZvbnRTaXplOiBQcmVmZXJlbmNlc0ZvbnRTaXplKTogUHJvbWlzZTxQcmVmZXJlbmNlc1VwZGF0ZVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlKHsgZm9udFNpemUgfSk7XG4gIH1cblxuICBzZXROb3RpZmljYXRpb25zTWFzdGVyKGVuYWJsZWQ6IGJvb2xlYW4pOiBQcm9taXNlPFByZWZlcmVuY2VzVXBkYXRlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGUoeyBub3RpZmljYXRpb25zOiB7IG1hc3RlcjogZW5hYmxlZCB9IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kVG9Vc2VyKHVzZXJJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFVzZXJJZCA9PT0gdXNlcklkICYmIHRoaXMuc3Vic2NyaXB0aW9uKSByZXR1cm47XG4gICAgdGhpcy51bmJpbmQoKTtcbiAgICB0aGlzLmN1cnJlbnRVc2VySWQgPSB1c2VySWQ7XG4gICAgLy8gRmlyZXN0b3JlU2VydmljZS5kb2NDaGFuZ2VzIHByZWZpamEgYXV0b23DoXRpY2FtZW50ZSBgYXBwcy97YXBwSWR9L2BcbiAgICAvLyBjdWFuZG8gYGNvbmZpZy5hcHBJZGAgZXN0w6Egc2V0ZWFkbyBlbiBWYWx0ZWNoQXV0aENvbmZpZy5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZmlyZXN0b3JlXG4gICAgICAuZG9jQ2hhbmdlczxQcmVmZXJlbmNlc0RvY3VtZW50ICYgeyBpZD86IHN0cmluZyB9PihgdXNlcnMvJHt1c2VySWR9L3ByZWZlcmVuY2VzYCwgJ21haW4nKVxuICAgICAgLnN1YnNjcmliZShkb2MgPT4ge1xuICAgICAgICBpZiAoIWRvYykge1xuICAgICAgICAgIC8vIERvYyBubyBleGlzdGUgYcO6biAodXNlciBudWV2bywgc2luIHByaW1lciBzeW5jKS4gTWFudGVuZW1vc1xuICAgICAgICAgIC8vIGRlZmF1bHRzIGxvY2FsZXMgcGVybyBOTyBtYXJjYW1vcyBzeW5jZWQg4oCUIGxvcyBzaWRlLWVmZmVjdHMgbm9cbiAgICAgICAgICAvLyBwaXNhbiBlbCB0aGVtZS9sYW5nIGxvY2FsZXMgY29uIHZhbG9yZXMgYXJiaXRyYXJpb3MuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIElnbm9yYXIgZW1pc2lvbmVzIGRlbCBsaXN0ZW5lciBtaWVudHJhcyBoYXkgdW4gdXBkYXRlKCkgZW4gdnVlbG86IHVuXG4gICAgICAgIC8vIHNuYXBzaG90IHN0YWxlIChhbnRlcmlvciBhbCBzeW5jIGRlbCBiYWNrZW5kKSByZXZlcnRpcsOtYSBlbCB2YWxvclxuICAgICAgICAvLyBvcHRpbWlzdGEuIEVsIHVwZGF0ZSgpIHlhIGFsaW5lYSBsYXMgc2XDsWFsZXMgY29uIGxhIHJlc3B1ZXN0YSByZWFsLlxuICAgICAgICBpZiAodGhpcy5fdXBkYXRlSW5GbGlnaHQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRvYy50aGVtZSkgdGhpcy5fdGhlbWUuc2V0KGRvYy50aGVtZSk7XG4gICAgICAgIGlmIChkb2MubGFuZ3VhZ2UpIHRoaXMuX2xhbmd1YWdlLnNldChkb2MubGFuZ3VhZ2UpO1xuICAgICAgICBpZiAoZG9jLmZvbnRTaXplKSB0aGlzLl9mb250U2l6ZS5zZXQoZG9jLmZvbnRTaXplKTtcbiAgICAgICAgaWYgKGRvYy5ub3RpZmljYXRpb25zICYmIHR5cGVvZiBkb2Mubm90aWZpY2F0aW9ucy5tYXN0ZXIgPT09ICdib29sZWFuJykge1xuICAgICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnNNYXN0ZXIuc2V0KGRvYy5ub3RpZmljYXRpb25zLm1hc3Rlcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc3luY2VkLnNldCh0cnVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1bmJpbmQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5jdXJyZW50VXNlcklkID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX3N5bmNlZC5zZXQoZmFsc2UpO1xuICB9XG59XG4iXX0=
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvcHJlZmVyZW5jZXMvcHJlZmVyZW5jZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFpQnJEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBOEI3QixZQUN1QyxNQUF5QixFQUN0RCxTQUEyQixFQUMzQixJQUFpQixFQUNqQixJQUFnQixFQUNKLFFBQWdDLEVBQ2hDLFlBQWlDLEVBQ2pDLGVBQXVDLEVBQ3ZDLElBQXdCO1FBUFAsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDdEQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0osYUFBUSxHQUFSLFFBQVEsQ0FBd0I7UUFDaEMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFvQjtRQXJDN0IsV0FBTSxHQUFHLE1BQU0sQ0FBbUIsTUFBTSxDQUFDLENBQUM7UUFDMUMsY0FBUyxHQUFHLE1BQU0sQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFDOUMsY0FBUyxHQUFHLE1BQU0sQ0FBc0IsUUFBUSxDQUFDLENBQUM7UUFDbkUsb0ZBQW9GO1FBQ3BGLGdFQUFnRTtRQUMvQyx5QkFBb0IsR0FBRyxNQUFN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QUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEQsQ0FBQztRQUNILENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQWhRVSxrQkFBa0Isa0JBK0JuQixtQkFBbUI7bUhBL0JsQixrQkFBa0IsY0FETCxNQUFNOzs0RkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBZ0M3QixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBSTFCLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFZBTFRFQ0hfQVVUSF9DT05GSUcgfSBmcm9tICcuLi9hdXRoL2NvbmZpZyc7XG5pbXBvcnQgeyBWYWx0ZWNoQXV0aENvbmZpZyB9IGZyb20gJy4uL2F1dGgvdHlwZXMnO1xuaW1wb3J0IHsgRmlyZWJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vZmlyZWJhc2UvZmlyZWJhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vZmlyZWJhc2UvZmlyZXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4bkxhbmcgfSBmcm9tICcuLi9pMThuL3R5cGVzJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhlbWVPcHRpb24sIFRoZW1lU2VydmljZSB9IGZyb20gJy4uL3RoZW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9udFNpemVPcHRpb24sIEZvbnRTaXplU2VydmljZSB9IGZyb20gJy4uL2ZvbnQtc2l6ZS9mb250LXNpemUuc2VydmljZSc7XG5pbXBvcnQge1xuICBQcmVmZXJlbmNlc0RvY3VtZW50LFxuICBQcmVmZXJlbmNlc0ZvbnRTaXplLFxuICBQcmVmZXJlbmNlc0xhbmd1YWdlLFxuICBQcmVmZXJlbmNlc1RoZW1lLFxuICBQcmVmZXJlbmNlc1VwZGF0ZSxcbiAgUHJlZmVyZW5jZXNVcGRhdGVSZXNwb25zZSxcbn0gZnJvbSAnLi9wcmVmZXJlbmNlcy50eXBlcyc7XG5cbi8qKlxuICogUHJlZmVyZW5jZXNTZXJ2aWNlIOKAlCBwcmVmZXJlbmNpYXMgZGVsIHVzZXIgZW4gZWwgZG9jIGNhbsOzbmljbyBGaXJlc3RvcmVcbiAqIGAvYXBwcy97YXBwSWR9L3VzZXJzL3t1aWR9L3ByZWZlcmVuY2VzL21haW5gLlxuICpcbiAqIFJlYWQgcmVhY3Rpdm8gKHNpZ25hbHMpIHZpYSBsaXN0ZW5lciBGaXJlc3RvcmUuXG4gKiBXcml0ZSB2aWEgYFBVVCAvdjIvYXV0aC9wcmVmZXJlbmNlc2AgKGNsaWVudGUgTlVOQ0EgZXNjcmliZSBGaXJlc3RvcmUgZGlyZWN0byDigJRcbiAqIHZlciBtZW1vcmlhIGBmZWVkYmFja19ub19kaXJlY3RfZmlyZXN0b3JlX3dyaXRlc2ApLlxuICpcbiAqIFNpZGUtZWZmZWN0cyBhdXRvbcOhdGljb3M6XG4gKiAtIEN1YW5kbyBgdGhlbWUoKWAgY2FtYmlhIOKGkiBgVGhlbWVTZXJ2aWNlLlRoZW1lID0gLi4uYFxuICogLSBDdWFuZG8gYGxhbmd1YWdlKClgIGNhbWJpYSDihpIgYEkxOG5TZXJ2aWNlLnNldExhbmd1YWdlKC4uLilgXG4gKlxuICogQXV0by1iaW5kIGFsIHVzZXIgYWN0dWFsIHZpYSBgQXV0aFNlcnZpY2UudXNlcigpYC4gU2luIHVzZXIgKGxvZ291dCkg4oaSIHVuYmluZC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQcmVmZXJlbmNlc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF90aGVtZSA9IHNpZ25hbDxQcmVmZXJlbmNlc1RoZW1lPignYXV0bycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9sYW5ndWFnZSA9IHNpZ25hbDxQcmVmZXJlbmNlc0xhbmd1YWdlPignZXMnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9udFNpemUgPSBzaWduYWw8UHJlZmVyZW5jZXNGb250U2l6ZT4oJ21lZGl1bScpO1xuICAvLyBEZWZhdWx0IGBmYWxzZWAgKG9wdC1pbikuIEVsIHVzZXIgZGViZSBhY3RpdmFyIGV4cGzDrWNpdGFtZW50ZSBsYXMgbm90aWZpY2FjaW9uZXM7XG4gIC8vIG5vIGFzdW1pbW9zIGNvbnNlbnRpbWllbnRvIGltcGzDrWNpdG8uIEJhY2tlbmQgZGViZSBjb2luY2lkaXIuXG4gIHByaXZhdGUgcmVhZG9ubHkgX25vdGlmaWNhdGlvbnNNYXN0ZXIgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICAvKiogYHRydWVgIGRlc3B1w6lzIGRlbCBwcmltZXIgc25hcHNob3QgRmlyZXN0b3JlLiBBbnRlcywgZGVmYXVsdHMgc2luIHNpZGUtZWZmZWN0cy4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfc3luY2VkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSB0aGVtZSA9IHRoaXMuX3RoZW1lLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgbGFuZ3VhZ2UgPSB0aGlzLl9sYW5ndWFnZS5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IGZvbnRTaXplID0gdGhpcy5fZm9udFNpemUuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBub3RpZmljYXRpb25zTWFzdGVyID0gdGhpcy5fbm90aWZpY2F0aW9uc01hc3Rlci5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IHN5bmNlZCA9IHRoaXMuX3N5bmNlZC5hc1JlYWRvbmx5KCk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgY3VycmVudFVzZXJJZD86IHN0cmluZztcbiAgcHJpdmF0ZSBtaXNzaW5nRG9jSHlkcmF0aW9uVXNlcklkPzogc3RyaW5nO1xuICAvKipcbiAgICogYHRydWVgIG1pZW50cmFzIHVuIGB1cGRhdGUoKWAgZXN0w6EgZW4gdnVlbG8gKFBVVCBhbCBiYWNrZW5kKS5cbiAgICpcbiAgICogRWwgbGlzdGVuZXIgRmlyZXN0b3JlIChgYmluZFRvVXNlcmApIGVzIHJlYWwtdGltZSB5IHB1ZWRlIGVtaXRpciB1biBzbmFwc2hvdFxuICAgKiAqc3RhbGUqIOKAlCBhbnRlcmlvciBhbCBzeW5jIGRlbCBiYWNrZW5kIOKAlCBxdWUgcGlzYXLDrWEgZWwgdmFsb3Igb3B0aW1pc3RhIGRlXG4gICAqIGBfbm90aWZpY2F0aW9uc01hc3RlcmAgeSByZXZlcnRpcsOtYSBlbCB0b2dnbGUuIE1pZW50cmFzIGVzdGUgZmxhZyBlc3TDqSBgdHJ1ZWBcbiAgICogZWwgbGlzdGVuZXIgaWdub3JhIGxhcyBlbWlzaW9uZXM7IGVsIGB1cGRhdGUoKWAgeWEgYWxpbmVhIGxhcyBzZcOxYWxlcyBjb24gbGFcbiAgICogcmVzcHVlc3RhIGRlbCBiYWNrZW5kIGFsIHRlcm1pbmFyLlxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlSW5GbGlnaHQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFZBTFRFQ0hfQVVUSF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBWYWx0ZWNoQXV0aENvbmZpZyxcbiAgICBwcml2YXRlIGZpcmVzdG9yZTogRmlyZXN0b3JlU2VydmljZSxcbiAgICBwcml2YXRlIGF1dGg6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZpcmViYXNlOiBGaXJlYmFzZVNlcnZpY2UgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdGhlbWVTZXJ2aWNlOiBUaGVtZVNlcnZpY2UgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZm9udFNpemVTZXJ2aWNlOiBGb250U2l6ZVNlcnZpY2UgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgaTE4bjogSTE4blNlcnZpY2UgfCBudWxsXG4gICkge1xuICAgIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gdGhpcy51bmJpbmQoKSk7XG5cbiAgICAvLyBTZWVkIGBfZm9udFNpemVgIGNvbiBlbCB2YWxvciBxdWUgRm9udFNpemVTZXJ2aWNlIHlhIHJlc3RhdXLDsyBkZXNkZVxuICAgIC8vIGxvY2FsU3RvcmFnZSBlbiBzdSBjb25zdHJ1Y3RvciAocHJvdmlkZWRJbiByb290IOKGkiB5YSBjb3JyacOzIGFsIGlueWVjdGFybG9cbiAgICAvLyBhY8OhKS4gU2luIGVzdG8sIGVsIHNpZ25hbCBhcnJhbmNhIGVuICdtZWRpdW0nIHkgZWwgZWZmZWN0IGRlIGFiYWpvIOKAlHF1ZVxuICAgIC8vIGRpc3BhcmEgYWwgbWFyY2Fyc2UgYHN5bmNlZGDigJQgZm9yemFyw61hICdtZWRpdW0nIHBpc2FuZG8gZWwgdGFtYcOxb1xuICAgIC8vIHJlc3RhdXJhZG8gY3VhbmRvIGVsIHNuYXBzaG90IEZpcmVzdG9yZSBOTyB0cmFlIGBmb250U2l6ZWAgKHVzZXIgc2luIGVzZVxuICAgIC8vIGNhbXBvIGVuIGVsIG1pcnJvcikuIEJ1ZzogY2FtYmlhcyBlbCB0YW1hw7FvLCByZWZyZXNjYXMgeSBzZSBwaWVyZGUuXG4gICAgaWYgKHRoaXMuZm9udFNpemVTZXJ2aWNlKSB7XG4gICAgICB0aGlzLl9mb250U2l6ZS5zZXQodGhpcy5mb250U2l6ZVNlcnZpY2Uuc2l6ZSgpIGFzIFByZWZlcmVuY2VzRm9udFNpemUpO1xuICAgIH1cblxuICAgIC8vIE1pc21vIHNlZWQgcGFyYSB0aGVtZSDigJQgVGhlbWVTZXJ2aWNlIGFwbGljYSBzdSB2YWxvciBkZSBsb2NhbFN0b3JhZ2UgZW5cbiAgICAvLyBib290c3RyYXAgKGBjdXJyZW50T3B0aW9uYCkuIE5lY2VzYXJpbyBwYXJhIGRlc2dhdGVhciBlbCBlZmZlY3QgZGUgdGhlbWVcbiAgICAvLyAoYWJham8pIHNpbiBxdWUgZWwgZGVmYXVsdCAnYXV0bycgcGlzZSBlbCB0ZW1hIHJlc3RhdXJhZG8uXG4gICAgaWYgKHRoaXMudGhlbWVTZXJ2aWNlKSB7XG4gICAgICB0aGlzLl90aGVtZS5zZXQodGhpcy50aGVtZVNlcnZpY2UuY3VycmVudE9wdGlvbiBhcyBQcmVmZXJlbmNlc1RoZW1lKTtcbiAgICB9XG5cbiAgICAvLyBBdXRvLWJpbmQgYWwgdXNlciBhY3R1YWwuIGVmZmVjdCgpIGNvcnJlIGVuIGluamVjdGlvbiBjb250ZXh0IChjb25zdHJ1Y3RvciBPSykuXG4gICAgLy8gYWxsb3dTaWduYWxXcml0ZXM6IGJpbmRUb1VzZXIvdW5iaW5kIGVzY3JpYmVuIGBfc3luY2VkYCAoc2XDsWFsIGludGVybmEgc2luXG4gICAgLy8gZGVwZW5kZW5jaWFzIGRlbCBwcm9waW8gZWZmZWN0KSDihpIgc2VndXJvIHkgbmVjZXNhcmlvLlxuICAgIC8vIEVsIGdhdGUgZGUgYGZpcmViYXNlQXV0aFJlYWR5YCBubyBlcyBvcGNpb25hbDogZWwgSldUIGRlbCBiYWNrZW5kIHF1ZWRhXG4gICAgLy8gbGlzdG8gY2llbnRvcyBkZSBtcyBhbnRlcyBxdWUgbGEgc2VzacOzbiBkZSBGaXJlYmFzZSBBdXRoLCB5IGVuZ2FuY2hhciBlbFxuICAgIC8vIGxpc3RlbmVyIGVuIGVzYSB2ZW50YW5hIGRhIGBwZXJtaXNzaW9uLWRlbmllZGAgKHZlciBGaXJlYmFzZVNlcnZpY2UpLlxuICAgIC8vIENvbW8gZWwgZWZmZWN0IGxlZSBsYSBzZcOxYWwsIHNlIHJlLWVqZWN1dGEgc29sbyBjdWFuZG8gRmlyZWJhc2UgY29uZmlybWFcbiAgICAvLyBsYSBzZXNpw7NuIHkgYWjDrSByZWNpw6luIGxpZ2EgYWwgdXNlci5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLmF1dGgudXNlcigpO1xuICAgICAgICBjb25zdCBmaXJlYmFzZVJlYWR5ID0gdGhpcy5maXJlYmFzZT8uZmlyZWJhc2VBdXRoUmVhZHkoKSA/PyB0cnVlO1xuICAgICAgICBpZiAodXNlcj8udXNlcklkICYmIGZpcmViYXNlUmVhZHkpIHtcbiAgICAgICAgICB0aGlzLmJpbmRUb1VzZXIodXNlci51c2VySWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudW5iaW5kKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuXG4gICAgLy8gU2lkZS1lZmZlY3Q6IGFwbGljYXIgdGhlbWUuIFNJTiBnYXRlIGBfc3luY2VkYCAobG9jYWwtZmlyc3QsIGlndWFsIHF1ZVxuICAgIC8vIGZvbnRTaXplKTogVGhlbWVTZXJ2aWNlL2xvY2FsU3RvcmFnZSBlcyBsYSB2ZXJkYWQgZGVsIGRpc3Bvc2l0aXZvIHlcbiAgICAvLyBgX3RoZW1lYCB2aWVuZSBzZWVkZWFkbyBhcnJpYmEuIEFwbGljYXIgc2llbXByZSBxdWUgY2FtYmllIGRhIGFwcGx5XG4gICAgLy8gb3B0aW1pc3RhIGFsIGluc3RhbnRlOyBlbCBzeW5jIGNyb3NzLWRldmljZSB0YW1iacOpbiBhcGxpY2EgdsOtYSBzbmFwc2hvdC5cbiAgICAvLyBHYXRlYXJsbyBlbiBgX3N5bmNlZGAgaGFjw61hIHF1ZSBlbCBwcmltZXIgY2FtYmlvIGRlIHVuIHVzZXIgbnVldm8gKHNpbiBkb2NcbiAgICAvLyBGaXJlc3RvcmUgYcO6bikgbm8gc2UgYXBsaWNhcmE6IGVsIHNlbGVjdG9yIG1vc3RyYWJhIFwiRGFya1wiIHBlcm8gZWwgdGVtYSBub1xuICAgIC8vIGNhbWJpYWJhLiAoRWwgc2VsZWN0b3IgZGUgaWRpb21hIG5vIHN1ZnJlIGVzdG8gcG9ycXVlIHZhbC1sYW5ndWFnZS1zZWxlY3RvclxuICAgIC8vIGxsYW1hIGkxOG4uc2V0TGFuZ3VhZ2UgZGlyZWN0bzsgZWwgZGUgdGhlbWUgZGVwZW5kZSBzb2xvIGRlIGVzdGUgZWZmZWN0LilcbiAgICAvLyBPSk86IHVzYXIgYHRvZ2dsZVVzZXJQcmVmZXJlbmNlKClgIHkgTk8gZWwgc2V0dGVyIGBUaGVtZSA9YC4gRWwgc2V0dGVyIHNvbG9cbiAgICAvLyBwZXJzaXN0ZSBsb2NhbFN0b3JhZ2UgKyBlbWl0ZSBlbCBCZWhhdmlvclN1YmplY3Q7IG5vIGFwbGljYSBsYXMgY2xhc2VzXG4gICAgLy8gYGJvZHkuZGFya2AvYGh0bWwuaW9uLXBhbGV0dGUtZGFya2AgcXVlIGVsIHBhbGV0dGUgZGUgSW9uaWMgbmVjZXNpdGEuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHQgPSB0aGlzLl90aGVtZSgpO1xuICAgICAgaWYgKHRoaXMudGhlbWVTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMudGhlbWVTZXJ2aWNlLnRvZ2dsZVVzZXJQcmVmZXJlbmNlKHQgYXMgVGhlbWVPcHRpb24pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gU2lkZS1lZmZlY3Q6IGFwbGljYXIgbGFuZ3VhZ2UgbG9jYWwgY3VhbmRvIGxsZWdhIHNuYXBzaG90IHJlYWwuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuX3N5bmNlZCgpKSByZXR1cm47XG4gICAgICAgIGNvbnN0IGwgPSB0aGlzLl9sYW5ndWFnZSgpO1xuICAgICAgICBpZiAodGhpcy5pMThuICYmIHRoaXMuaTE4bi5sYW5nKCkgIT09IGwpIHtcbiAgICAgICAgICB0aGlzLmkxOG4uc2V0TGFuZ3VhZ2UobCBhcyBJMThuTGFuZyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuXG4gICAgLy8gU2lkZS1lZmZlY3Q6IGFwbGljYXIgZm9udFNpemUuXG4gICAgLy8gU0lOIGdhdGUgYF9zeW5jZWRgIChpZ3VhbCBxdWUgdGhlbWUpOiBlbCB0YW1hw7FvIGVzIHVuYVxuICAgIC8vIHByZWZlcmVuY2lhIGxvY2FsLWZpcnN0IOKAlCBGb250U2l6ZVNlcnZpY2UvbG9jYWxTdG9yYWdlIGVzIGxhIHZlcmRhZCBkZWxcbiAgICAvLyBkaXNwb3NpdGl2byB5IGBfZm9udFNpemVgIHlhIHZpZW5lIHNlZWRlYWRvIGRlIGFow60gYXJyaWJhLiBBcGxpY2FyIHNpZW1wcmVcbiAgICAvLyBxdWUgY2FtYmllIHBlcm1pdGUgcXVlIGVsIGNhbWJpbyBkZWwgdXN1YXJpbyBzdXJ0YSBlZmVjdG8gYWwgaW5zdGFudGVcbiAgICAvLyAob3B0aW1pc3RhLCBzaW4gZXNwZXJhciBlbCByb3VuZC10cmlwIGEgRmlyZXN0b3JlKSB5IHF1ZSBlbCBzeW5jXG4gICAgLy8gY3Jvc3MtZGV2aWNlIHRhbWJpw6luIGFwbGlxdWUgYWwgbGxlZ2FyIGVsIHNuYXBzaG90LiBHYXRlYXJsbyBlbiBgX3N5bmNlZGBcbiAgICAvLyBoYWPDrWEgcXVlIGVsIHByaW1lciBjYW1iaW8gZGUgdW4gdXNlciBudWV2byAoc2luIGRvYyBGaXJlc3RvcmUgYcO6bikgbm8gc2VcbiAgICAvLyBhcGxpY2FyYTogZWwgc2VsZWN0b3IgbW9zdHJhYmEgXCJHcmFuZGVcIiBwZXJvIGVsIGZvbnQtc2l6ZSBubyBjYW1iaWFiYS5cbiAgICAvLyBhbGxvd1NpZ25hbFdyaXRlczogZm9udFNpemVTZXJ2aWNlLnNldFNpemUoKSBlc2NyaWJlIHRoaXMuX3NpemUgKHNpZ25hbCkuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBmcyA9IHRoaXMuX2ZvbnRTaXplKCk7XG4gICAgICAgIGlmICh0aGlzLmZvbnRTaXplU2VydmljZSkge1xuICAgICAgICAgIHRoaXMuZm9udFNpemVTZXJ2aWNlLnNldFNpemUoZnMgYXMgRm9udFNpemVPcHRpb24pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKiBBY3R1YWxpemEgcHJlZmVyZW5jaWFzIHZpYSBiYWNrZW5kLiBPcHRpbWlzdGljIFVJOiBhcGxpY2EgbG9jYWwsIHJldmllcnRlIHNpIGZhbGxhLiAqL1xuICBhc3luYyB1cGRhdGUocGFydGlhbDogUHJlZmVyZW5jZXNVcGRhdGUpOiBQcm9taXNlPFByZWZlcmVuY2VzVXBkYXRlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy5hcGlVcmx9L3YyL2F1dGgvcHJlZmVyZW5jZXNgO1xuXG4gICAgY29uc3QgcHJldiA9IHtcbiAgICAgIHRoZW1lOiB0aGlzLl90aGVtZSgpLFxuICAgICAgbGFuZ3VhZ2U6IHRoaXMuX2xhbmd1YWdlKCksXG4gICAgICBmb250U2l6ZTogdGhpcy5fZm9udFNpemUoKSxcbiAgICAgIG1hc3RlcjogdGhpcy5fbm90aWZpY2F0aW9uc01hc3RlcigpLFxuICAgIH07XG5cbiAgICBpZiAocGFydGlhbC50aGVtZSkgdGhpcy5fdGhlbWUuc2V0KHBhcnRpYWwudGhlbWUpO1xuICAgIGlmIChwYXJ0aWFsLmxhbmd1YWdlKSB0aGlzLl9sYW5ndWFnZS5zZXQocGFydGlhbC5sYW5ndWFnZSk7XG4gICAgaWYgKHBhcnRpYWwuZm9udFNpemUpIHRoaXMuX2ZvbnRTaXplLnNldChwYXJ0aWFsLmZvbnRTaXplKTtcbiAgICBpZiAocGFydGlhbC5ub3RpZmljYXRpb25zICYmIHR5cGVvZiBwYXJ0aWFsLm5vdGlmaWNhdGlvbnMubWFzdGVyID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnNNYXN0ZXIuc2V0KHBhcnRpYWwubm90aWZpY2F0aW9ucy5tYXN0ZXIpO1xuICAgIH1cblxuICAgIC8vIEJsb3F1ZWFyIGVsIGxpc3RlbmVyIEZpcmVzdG9yZSBtaWVudHJhcyBlbCBQVVQgZXN0w6EgZW4gdnVlbG86IHVuIHNuYXBzaG90XG4gICAgLy8gc3RhbGUgbm8gZGViZSBwaXNhciBlbCB2YWxvciBvcHRpbWlzdGEgcmVjacOpbiBhcGxpY2Fkby5cbiAgICB0aGlzLl91cGRhdGVJbkZsaWdodCA9IHRydWU7XG5cbiAgICB0cnkge1xuICAgICAgLy8gRW52aWFyIGFwcElkIGV4cGzDrWNpdG8g4oCUIGVsIGJhY2tlbmQgbG8gdXNhIHBhcmEgZXNjcmliaXIgZWwgbWlycm9yXG4gICAgICAvLyBGaXJlc3RvcmUgZW4gYXBwcy97YXBwSWR9Ly4uLiBjb3JyZWN0bywgc2luIGRlcGVuZGVyIGRlbCBoZWFkZXIgT3JpZ2luXG4gICAgICAvLyAocXVlIGVuIFBXQSBpT1MgcHVlZGUgbm8gcmVzb2x2ZXIgYWwgQXBwSUQgZXNwZXJhZG8pLlxuICAgICAgY29uc3QgYm9keSA9IHsgLi4ucGFydGlhbCwgYXBwSWQ6IHRoaXMuY29uZmlnLmFwcElkIH07XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAucHV0PFByZWZlcmVuY2VzVXBkYXRlUmVzcG9uc2U+KHVybCwgYm9keSkpO1xuICAgICAgLy8gRWwgbGlzdGVuZXIgRmlyZXN0b3JlIGVzIGxhIGZ1ZW50ZSBmaW5hbCwgcGVybyBhbGluZWFyIHlhIGNvbiBsYVxuICAgICAgLy8gcmVzcHVlc3RhIGRlbCBiYWNrZW5kIGFjZWxlcmEgVVggKGVzcGVjaWFsbWVudGUgc2kgZWwgbGlzdGVuZXJcbiAgICAgIC8vIHRhcmRhIGVuIHByb3BhZ2FyKS5cbiAgICAgIGlmIChyZXMudGhlbWUpIHRoaXMuX3RoZW1lLnNldChyZXMudGhlbWUgYXMgUHJlZmVyZW5jZXNUaGVtZSk7XG4gICAgICBpZiAocmVzLmxhbmd1YWdlKSB0aGlzLl9sYW5ndWFnZS5zZXQocmVzLmxhbmd1YWdlIGFzIFByZWZlcmVuY2VzTGFuZ3VhZ2UpO1xuICAgICAgaWYgKHJlcy5mb250U2l6ZSkgdGhpcy5fZm9udFNpemUuc2V0KHJlcy5mb250U2l6ZSBhcyBQcmVmZXJlbmNlc0ZvbnRTaXplKTtcbiAgICAgIGlmICh0eXBlb2YgcmVzLm5vdGlmaWNhdGlvbnM/Lm1hc3RlciA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnNNYXN0ZXIuc2V0KHJlcy5ub3RpZmljYXRpb25zLm1hc3Rlcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gUmV2ZXJ0IG9wdGltaXN0aWMuXG4gICAgICB0aGlzLl90aGVtZS5zZXQocHJldi50aGVtZSk7XG4gICAgICB0aGlzLl9sYW5ndWFnZS5zZXQocHJldi5sYW5ndWFnZSk7XG4gICAgICB0aGlzLl9mb250U2l6ZS5zZXQocHJldi5mb250U2l6ZSk7XG4gICAgICB0aGlzLl9ub3RpZmljYXRpb25zTWFzdGVyLnNldChwcmV2Lm1hc3Rlcik7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3VwZGF0ZUluRmxpZ2h0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgc2V0VGhlbWUodGhlbWU6IFByZWZlcmVuY2VzVGhlbWUpOiBQcm9taXNlPFByZWZlcmVuY2VzVXBkYXRlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGUoeyB0aGVtZSB9KTtcbiAgfVxuXG4gIHNldExhbmd1YWdlKGxhbmd1YWdlOiBQcmVmZXJlbmNlc0xhbmd1YWdlKTogUHJvbWlzZTxQcmVmZXJlbmNlc1VwZGF0ZVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlKHsgbGFuZ3VhZ2UgfSk7XG4gIH1cblxuICBzZXRGb250U2l6ZShmb250U2l6ZTogUHJlZmVyZW5jZXNGb250U2l6ZSk6IFByb21pc2U8UHJlZmVyZW5jZXNVcGRhdGVSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZSh7IGZvbnRTaXplIH0pO1xuICB9XG5cbiAgc2V0Tm90aWZpY2F0aW9uc01hc3RlcihlbmFibGVkOiBib29sZWFuKTogUHJvbWlzZTxQcmVmZXJlbmNlc1VwZGF0ZVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlKHsgbm90aWZpY2F0aW9uczogeyBtYXN0ZXI6IGVuYWJsZWQgfSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYmluZFRvVXNlcih1c2VySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRVc2VySWQgPT09IHVzZXJJZCAmJiB0aGlzLnN1YnNjcmlwdGlvbikgcmV0dXJuO1xuICAgIHRoaXMudW5iaW5kKCk7XG4gICAgdGhpcy5jdXJyZW50VXNlcklkID0gdXNlcklkO1xuICAgIC8vIEZpcmVzdG9yZVNlcnZpY2UuZG9jQ2hhbmdlcyBwcmVmaWphIGF1dG9tw6F0aWNhbWVudGUgYGFwcHMve2FwcElkfS9gXG4gICAgLy8gY3VhbmRvIGBjb25maWcuYXBwSWRgIGVzdMOhIHNldGVhZG8gZW4gVmFsdGVjaEF1dGhDb25maWcuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmZpcmVzdG9yZVxuICAgICAgLmRvY0NoYW5nZXM8UHJlZmVyZW5jZXNEb2N1bWVudCAmIHsgaWQ/OiBzdHJpbmcgfT4oYHVzZXJzLyR7dXNlcklkfS9wcmVmZXJlbmNlc2AsICdtYWluJylcbiAgICAgIC5zdWJzY3JpYmUoZG9jID0+IHtcbiAgICAgICAgaWYgKCFkb2MpIHtcbiAgICAgICAgICAvLyBEb2Mgbm8gZXhpc3RlIGHDum4gcGFyYSBlc3RhIGFwcC4gQW50ZXMgZGVqw6FiYW1vcyBsYSBhcHAgY29uXG4gICAgICAgICAgLy8gbG9jYWxTdG9yYWdlL25hdmlnYXRvciwgYXVucXVlIGVsIHVzdWFyaW8geWEgdHV2aWVyYSBpZGlvbWFcbiAgICAgICAgICAvLyBjYW7Ds25pY28gZW4gYXV0aC4gUmVzdWx0YWRvOiBjdWVudGEgZW4gZXNwYcOxb2wsIGFwcCBudWV2YSBlbiBpbmdsw6lzXG4gICAgICAgICAgLy8gaGFzdGEgY2FtYmlhciBtYW51YWxtZW50ZSBhIGluZ2zDqXMgeSB2b2x2ZXIgYSBlc3Bhw7FvbC4gSGlkcmF0YXJcbiAgICAgICAgICAvLyBkZXNkZSBwZXJmaWwgY2Fuw7NuaWNvIGNvcnJpZ2UgZXNlIHByaW1lciBhcnJhbnF1ZSB5IGFkZW3DoXMgY3JlYSBlbFxuICAgICAgICAgIC8vIG1pcnJvciBkZSBlc3RhIGFwcC5cbiAgICAgICAgICB0aGlzLmh5ZHJhdGVNaXNzaW5nUHJlZmVyZW5jZXNGcm9tUHJvZmlsZSh1c2VySWQpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZ25vcmFyIGVtaXNpb25lcyBkZWwgbGlzdGVuZXIgbWllbnRyYXMgaGF5IHVuIHVwZGF0ZSgpIGVuIHZ1ZWxvOiB1blxuICAgICAgICAvLyBzbmFwc2hvdCBzdGFsZSAoYW50ZXJpb3IgYWwgc3luYyBkZWwgYmFja2VuZCkgcmV2ZXJ0aXLDrWEgZWwgdmFsb3JcbiAgICAgICAgLy8gb3B0aW1pc3RhLiBFbCB1cGRhdGUoKSB5YSBhbGluZWEgbGFzIHNlw7FhbGVzIGNvbiBsYSByZXNwdWVzdGEgcmVhbC5cbiAgICAgICAgaWYgKHRoaXMuX3VwZGF0ZUluRmxpZ2h0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkb2MudGhlbWUpIHRoaXMuX3RoZW1lLnNldChkb2MudGhlbWUpO1xuICAgICAgICBpZiAoZG9jLmxhbmd1YWdlKSB0aGlzLl9sYW5ndWFnZS5zZXQoZG9jLmxhbmd1YWdlKTtcbiAgICAgICAgaWYgKGRvYy5mb250U2l6ZSkgdGhpcy5fZm9udFNpemUuc2V0KGRvYy5mb250U2l6ZSk7XG4gICAgICAgIGlmIChkb2Mubm90aWZpY2F0aW9ucyAmJiB0eXBlb2YgZG9jLm5vdGlmaWNhdGlvbnMubWFzdGVyID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zTWFzdGVyLnNldChkb2Mubm90aWZpY2F0aW9ucy5tYXN0ZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N5bmNlZC5zZXQodHJ1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdW5iaW5kKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY3VycmVudFVzZXJJZCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLm1pc3NpbmdEb2NIeWRyYXRpb25Vc2VySWQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fc3luY2VkLnNldChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGh5ZHJhdGVNaXNzaW5nUHJlZmVyZW5jZXNGcm9tUHJvZmlsZSh1c2VySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1pc3NpbmdEb2NIeWRyYXRpb25Vc2VySWQgPT09IHVzZXJJZCkgcmV0dXJuO1xuICAgIHRoaXMubWlzc2luZ0RvY0h5ZHJhdGlvblVzZXJJZCA9IHVzZXJJZDtcblxuICAgIHZvaWQgZmlyc3RWYWx1ZUZyb20odGhpcy5hdXRoLmdldFByb2ZpbGUoKSlcbiAgICAgIC50aGVuKHByb2ZpbGUgPT4ge1xuICAgICAgICBjb25zdCBsYW5ndWFnZSA9IHByb2ZpbGUubGFuZ3VhZ2UgYXMgUHJlZmVyZW5jZXNMYW5ndWFnZSB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGxhbmd1YWdlID09PSAnZXMnIHx8IGxhbmd1YWdlID09PSAnZW4nKSB7XG4gICAgICAgICAgdGhpcy5fbGFuZ3VhZ2Uuc2V0KGxhbmd1YWdlKTtcbiAgICAgICAgICB0aGlzLmkxOG4/LnNldExhbmd1YWdlKGxhbmd1YWdlIGFzIEkxOG5MYW5nKTtcbiAgICAgICAgICB0aGlzLl9zeW5jZWQuc2V0KHRydWUpO1xuICAgICAgICAgIHZvaWQgdGhpcy51cGRhdGUoeyBsYW5ndWFnZSB9KS5jYXRjaCgoKSA9PiB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHVuZGVmaW5lZCk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.1040';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xMDQwJztcbiJdfQ==
|