@o3r/localization 9.6.0-alpha.4 → 9.6.0-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/builders/helpers/localization.generator.d.ts.map +1 -1
  2. package/builders/helpers/localization.generator.js +8 -3
  3. package/builders/localization/index.js +2 -2
  4. package/builders/localization-extractor/index.d.ts.map +1 -1
  5. package/builders/localization-extractor/index.js +2 -0
  6. package/builders/localization-extractor/schema.d.ts +2 -0
  7. package/builders/localization-extractor/schema.d.ts.map +1 -1
  8. package/builders/localization-extractor/schema.json +5 -0
  9. package/devkit/localization-devkit.interface.d.ts +45 -2
  10. package/devkit/localization-devkit.interface.d.ts.map +1 -1
  11. package/devkit/localization-devtools.console.service.d.ts +37 -8
  12. package/devkit/localization-devtools.console.service.d.ts.map +1 -1
  13. package/devkit/localization-devtools.service.d.ts +10 -0
  14. package/devkit/localization-devtools.service.d.ts.map +1 -1
  15. package/devkit/localization-devtools.token.d.ts.map +1 -1
  16. package/esm2022/core/translate-messageformat-lazy.compiler.mjs +4 -4
  17. package/esm2022/devkit/localization-devkit.interface.mjs +1 -1
  18. package/esm2022/devkit/localization-devtools.console.service.mjs +65 -11
  19. package/esm2022/devkit/localization-devtools.message.service.mjs +4 -4
  20. package/esm2022/devkit/localization-devtools.module.mjs +5 -5
  21. package/esm2022/devkit/localization-devtools.service.mjs +22 -4
  22. package/esm2022/devkit/localization-devtools.token.mjs +3 -2
  23. package/esm2022/stores/localization-override/localization-override.module.mjs +5 -5
  24. package/esm2022/tools/localization-translate.directive.mjs +4 -4
  25. package/esm2022/tools/localization-translate.pipe.mjs +4 -4
  26. package/esm2022/tools/localization.module.mjs +5 -5
  27. package/esm2022/tools/localization.service.mjs +4 -4
  28. package/esm2022/tools/localized-currency.pipe.mjs +4 -4
  29. package/esm2022/tools/localized-date.pipe.mjs +4 -4
  30. package/esm2022/tools/localized-decimal.pipe.mjs +4 -4
  31. package/esm2022/tools/text-direction.service.mjs +4 -4
  32. package/esm2022/tools/text-directionality.service.mjs +4 -4
  33. package/esm2022/tools/translations-loader.mjs +4 -4
  34. package/fesm2022/o3r-localization.mjs +129 -60
  35. package/fesm2022/o3r-localization.mjs.map +1 -1
  36. package/package.json +20 -17
  37. package/schemas/localization.metadata.schema.json +17 -2
  38. package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -1
  39. package/schematics/ng-add/helpers/devtools-registration.js +17 -7
@@ -1 +1 @@
1
- {"version":3,"file":"localization.generator.d.ts","sourceRoot":"","sources":["../../../builders/helpers/localization.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMhF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAK3F,4DAA4D;AAC5D,MAAM,WAAW,yBAAyB;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC;AAED,6BAA6B;AAC7B,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;CACtC;AAED,gCAAgC;AAChC,MAAM,WAAW,mBAAmB;IAClC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,IAAI,EAAE,oBAAoB,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,4BAA4B;AAC5B,MAAM,WAAW,kBAAkB;IACjC,CAAC,mBAAmB,EAAE,MAAM,GAAG,oBAAoB,CAAC;CACrD;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAO6B,OAAO,CAAC,OAAO,CAAC;IAL7E,sCAAsC;IACtC,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAoB;gBAEtB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAU,OAAO,CAAC,yDAA6C;IAK1H,8CAA8C;IAC9C,OAAO,CAAC,oBAAoB;IAK5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,oCAAoC;IAiC5C;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAYnB,kDAAkD;IAC3C,uBAAuB;;;;;IAc9B;;;;;;OAMG;IACU,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,kBAAkB,GAAE,MAAM,EAAO,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2BnJ;;;;OAIG;IACU,+BAA+B,CAAC,sBAAsB,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8BjH;;;;OAIG;IACU,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE;IAQzD;;;;OAIG;IACU,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE;IASzD;;;;;;;;;OASG;IACI,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE;QACrE,mBAAmB,EAAE,OAAO,CAAC;QAC7B,eAAe,EAAE,kBAAkB,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,oBAAoB;CAsDzB"}
1
+ {"version":3,"file":"localization.generator.d.ts","sourceRoot":"","sources":["../../../builders/helpers/localization.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMhF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAK3F,4DAA4D;AAC5D,MAAM,WAAW,yBAAyB;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC;AAED,6BAA6B;AAC7B,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;CACtC;AAED,gCAAgC;AAChC,MAAM,WAAW,mBAAmB;IAClC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,IAAI,EAAE,oBAAoB,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,4BAA4B;AAC5B,MAAM,WAAW,kBAAkB;IACjC,CAAC,mBAAmB,EAAE,MAAM,GAAG,oBAAoB,CAAC;CACrD;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAO6B,OAAO,CAAC,OAAO,CAAC;IAL7E,sCAAsC;IACtC,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAoB;gBAEtB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAU,OAAO,CAAC,yDAA6C;IAK1H,8CAA8C;IAC9C,OAAO,CAAC,oBAAoB;IAK5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,oCAAoC;IAiC5C;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAYnB,kDAAkD;IAC3C,uBAAuB;;;;;IAc9B;;;;;;OAMG;IACU,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,kBAAkB,GAAE,MAAM,EAAO,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2BnJ;;;;OAIG;IACU,+BAA+B,CAAC,sBAAsB,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8BjH;;;;OAIG;IACU,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE;IAQzD;;;;OAIG;IACU,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE;IASzD;;;;;;;;;OASG;IACI,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE;QACrE,mBAAmB,EAAE,OAAO,CAAC;QAC7B,eAAe,EAAE,kBAAkB,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,oBAAoB;CA0DzB"}
@@ -288,9 +288,14 @@ class LocalizationExtractor {
288
288
  const localizationMetadata = Object.values(metadata);
289
289
  let hasUnknownRef = false;
290
290
  localizationMetadata.forEach((data) => {
291
- if (data.ref && !data.ref.includes('#/') && !metadata[data.ref]) {
292
- hasUnknownRef = true;
293
- this.logger.error(`The key ${data.ref} is unknown but referenced by ${data.key}.`);
291
+ if (data.ref && !data.ref.includes('#/')) {
292
+ if (!metadata[data.ref]) {
293
+ hasUnknownRef = true;
294
+ this.logger.error(`The key ${data.ref} is unknown but referenced by ${data.key}.`);
295
+ }
296
+ else if (typeof data.description === 'undefined') {
297
+ data.description = metadata[data.ref].description;
298
+ }
294
299
  }
295
300
  });
296
301
  if (hasUnknownRef) {
@@ -235,7 +235,7 @@ function startMetadataGenerator(localizationExtractorTarget, context) {
235
235
  * @param context Ng Builder context
236
236
  */
237
237
  async function checkMetadata(localizationMetaDataFile, localizationExtractorTarget, context) {
238
- let metaDataExists = await new Promise((resolve) => fs.exists(localizationMetaDataFile, resolve));
238
+ let metaDataExists = fs.existsSync(localizationMetaDataFile);
239
239
  if (!metaDataExists) {
240
240
  context.logger.warn(`The file ${localizationMetaDataFile} does not exist, the extractor will be run`);
241
241
  context.reportProgress(2, STEP_NUMBER, 'Generating Localization metadata file');
@@ -245,7 +245,7 @@ async function checkMetadata(localizationMetaDataFile, localizationExtractorTarg
245
245
  return extractorBuildResult;
246
246
  }
247
247
  else {
248
- metaDataExists = await new Promise((resolve) => fs.exists(localizationMetaDataFile, resolve));
248
+ metaDataExists = fs.existsSync(localizationMetaDataFile);
249
249
  if (!metaDataExists) {
250
250
  return {
251
251
  success: false,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../builders/localization-extractor/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAC;AAG9D,cAAc,UAAU,CAAC;;AAEzB,wBA2LG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../builders/localization-extractor/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAC;AAG9D,cAAc,UAAU,CAAC;;AAEzB,wBAkMG"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const architect_1 = require("@angular-devkit/architect");
5
+ const extractors_1 = require("@o3r/extractors");
5
6
  const schematics_1 = require("@o3r/schematics");
6
7
  const chokidar = require("chokidar");
7
8
  const fs = require("node:fs");
@@ -64,6 +65,7 @@ exports.default = (0, architect_1.createBuilder)(async (options, context) => {
64
65
  if (translationsWithIssue.length) {
65
66
  throw new schematics_1.O3rCliError(`The following translations are invalid: ${translationsWithIssue.map((translation) => translation.key).join(', ')}`);
66
67
  }
68
+ (0, extractors_1.validateJson)(metadata, require('../../schemas/localization.metadata.schema.json'), 'The output of localization metadata is not valid regarding the json schema, please check the details below : \n', options.strictMode);
67
69
  context.reportProgress(STEP_NUMBER, STEP_NUMBER, 'Generating metadata');
68
70
  // Create output folder if does not exist
69
71
  const localizationMetadataFolder = path.dirname(path.resolve(context.workspaceRoot, options.outputFile));
@@ -16,5 +16,7 @@ export interface LocalizationExtractorBuilderSchema extends JsonObject {
16
16
  extraFilePatterns: string[];
17
17
  /** If true, metadata objects are sorted by keys */
18
18
  sortKeys: boolean;
19
+ /** If activated, this option will fail when any property not supported by the CMS is found, it will be ignored if not activated */
20
+ strictMode: boolean;
19
21
  }
20
22
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../builders/localization-extractor/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,kCAAmC,SAAQ,UAAU;IAEpE,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IAEjB,+EAA+E;IAC/E,mBAAmB,EAAE,OAAO,CAAC;IAE7B,iCAAiC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,KAAK,EAAE,OAAO,CAAC;IAEf,4BAA4B;IAC5B,MAAM,EAAE,OAAO,CAAC;IAEhB,8DAA8D;IAC9D,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,mDAAmD;IACnD,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../builders/localization-extractor/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,kCAAmC,SAAQ,UAAU;IAEpE,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IAEjB,+EAA+E;IAC/E,mBAAmB,EAAE,OAAO,CAAC;IAE7B,iCAAiC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,KAAK,EAAE,OAAO,CAAC;IAEf,4BAA4B;IAC5B,MAAM,EAAE,OAAO,CAAC;IAEhB,8DAA8D;IAC9D,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,mDAAmD;IACnD,QAAQ,EAAE,OAAO,CAAC;IAElB,mIAAmI;IACnI,UAAU,EAAE,OAAO,CAAC;CACrB"}
@@ -50,6 +50,11 @@
50
50
  "type": "boolean",
51
51
  "description": "Sort metadata alphabetically by keys",
52
52
  "default": false
53
+ },
54
+ "strictMode": {
55
+ "type": "boolean",
56
+ "description": "If activated, this option will fail when any property not supported by the CMS is found, it will be ignored if not activated",
57
+ "default": false
53
58
  }
54
59
  },
55
60
  "additionalProperties": false,
@@ -1,5 +1,6 @@
1
- import type { ConnectContentMessage, DevtoolsCommonOptions, MessageDataTypes, OtterMessageContent, RequestMessagesContentMessage } from '@o3r/core';
2
- export interface LocalizationDevtoolsServiceOptions extends DevtoolsCommonOptions {
1
+ import type { ConnectContentMessage, ContextualizationDevtoolsCommonOptions, DevtoolsCommonOptions, MessageDataTypes, OtterMessageContent, RequestMessagesContentMessage } from '@o3r/core';
2
+ import { Subscription } from 'rxjs';
3
+ export interface LocalizationDevtoolsServiceOptions extends DevtoolsCommonOptions, ContextualizationDevtoolsCommonOptions {
3
4
  }
4
5
  /** Display localization key message content */
5
6
  export interface DisplayLocalizationKeysContentMessage extends OtterMessageContent<'displayLocalizationKeys'> {
@@ -11,5 +12,47 @@ type LocalizationMessageContents = DisplayLocalizationKeysContentMessage;
11
12
  type LocalizationMessageDataTypes = MessageDataTypes<LocalizationMessageContents>;
12
13
  /** List of all messages for Localization purpose */
13
14
  export type AvailableLocalizationMessageContents = LocalizationMessageContents | ConnectContentMessage | RequestMessagesContentMessage<LocalizationMessageDataTypes>;
15
+ /**
16
+ * Contextualization devtools exposed for localization in CMS integration
17
+ */
18
+ export interface LocalizationContextualizationDevtools {
19
+ /**
20
+ * Show localization keys
21
+ * @param value value enforced by the DevTools extension
22
+ */
23
+ showLocalizationKeys: (value?: boolean) => void | Promise<void>;
24
+ /**
25
+ * Returns the current language
26
+ */
27
+ getCurrentLanguage: () => string | Promise<string>;
28
+ /**
29
+ * Switch the current language to the specified value
30
+ * @param language new language to switch to
31
+ */
32
+ switchLanguage: (language: string) => Promise<{
33
+ previous: string;
34
+ requested: string;
35
+ current: string;
36
+ }>;
37
+ /**
38
+ * Setup a listener on language change
39
+ * @param fn called when the language is changed in the app
40
+ */
41
+ onLanguageChange: (fn: (language: string) => any) => Subscription;
42
+ /**
43
+ * Updates the specified localization key/values for the current language
44
+ * @param keyValues key/values to update
45
+ * @param language if not provided, the current language value
46
+ */
47
+ updateLocalizationKeys: (keyValues: {
48
+ [key: string]: string;
49
+ }, language?: string) => void | Promise<void>;
50
+ /**
51
+ * Reload a language from the language file
52
+ * @see https://github.com/ngx-translate/core/blob/master/packages/core/lib/translate.service.ts#L490
53
+ * @param language language to reload
54
+ */
55
+ reloadLocalizationKeys: (language?: string) => Promise<void>;
56
+ }
14
57
  export {};
15
58
  //# sourceMappingURL=localization-devkit.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localization-devkit.interface.d.ts","sourceRoot":"","sources":["../../src/devkit/localization-devkit.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAEpJ,MAAM,WAAW,kCAAmC,SAAQ,qBAAqB;CAChF;AAED,+CAA+C;AAC/C,MAAM,WAAW,qCAAsC,SAAQ,mBAAmB,CAAC,yBAAyB,CAAC;IAC3G,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,KAAK,2BAA2B,GAC5B,qCAAqC,CAAC;AAE1C,2DAA2D;AAC3D,KAAK,4BAA4B,GAAG,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;AAElF,oDAAoD;AACpD,MAAM,MAAM,oCAAoC,GAC5C,2BAA2B,GAC3B,qBAAqB,GACrB,6BAA6B,CAAC,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"localization-devkit.interface.d.ts","sourceRoot":"","sources":["../../src/devkit/localization-devkit.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,sCAAsC,EACtC,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,WAAW,kCAAmC,SAAQ,qBAAqB,EAAE,sCAAsC;CACxH;AAED,+CAA+C;AAC/C,MAAM,WAAW,qCAAsC,SAAQ,mBAAmB,CAAC,yBAAyB,CAAC;IAC3G,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,KAAK,2BAA2B,GAC5B,qCAAqC,CAAC;AAE1C,2DAA2D;AAC3D,KAAK,4BAA4B,GAAG,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;AAElF,oDAAoD;AACpD,MAAM,MAAM,oCAAoC,GAC5C,2BAA2B,GAC3B,qBAAqB,GACrB,6BAA6B,CAAC,4BAA4B,CAAC,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,qCAAqC;IACpD;;;OAGG;IACH,oBAAoB,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,kBAAkB,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnD;;;OAGG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAExG;;;OAGG;IACH,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,KAAK,YAAY,CAAC;IAElE;;;;OAIG;IACH,sBAAsB,EAAE,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1G;;;;OAIG;IACH,sBAAsB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D"}
@@ -1,22 +1,51 @@
1
+ import { ApplicationRef } from '@angular/core';
1
2
  import type { DevtoolsServiceInterface } from '@o3r/core';
2
- import { LocalizationDevtoolsServiceOptions } from './localization-devkit.interface';
3
+ import { Subscription } from 'rxjs';
4
+ import { LocalizationService } from '../tools';
5
+ import { LocalizationContextualizationDevtools, LocalizationDevtoolsServiceOptions } from './localization-devkit.interface';
3
6
  import { OtterLocalizationDevtools } from './localization-devtools.service';
4
7
  import * as i0 from "@angular/core";
5
- export declare class LocalizationDevtoolsConsoleService implements DevtoolsServiceInterface {
8
+ export declare class LocalizationDevtoolsConsoleService implements DevtoolsServiceInterface, LocalizationContextualizationDevtools {
6
9
  private readonly localizationDevtools;
10
+ private readonly localizationService;
11
+ private readonly appRef;
7
12
  private options;
8
13
  /** Name of the Window property to access to the devtools */
9
14
  static readonly windowModuleName = "localization";
10
- constructor(localizationDevtools: OtterLocalizationDevtools, options?: LocalizationDevtoolsServiceOptions);
15
+ constructor(localizationDevtools: OtterLocalizationDevtools, localizationService: LocalizationService, appRef: ApplicationRef, options?: LocalizationDevtoolsServiceOptions);
11
16
  /** @inheritDoc */
12
17
  activate(): void;
13
18
  /**
14
- * Show localization keys
15
- *
16
- * @param value value enforced by the DevTools extension
19
+ * @inheritdoc
17
20
  */
18
- showLocalizationKeys(value?: boolean): void;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<LocalizationDevtoolsConsoleService, [null, { optional: true; }]>;
21
+ showLocalizationKeys(value?: boolean): void | Promise<void>;
22
+ /**
23
+ * @inheritdoc
24
+ */
25
+ getCurrentLanguage(): string | Promise<string>;
26
+ /**
27
+ * @inheritdoc
28
+ */
29
+ switchLanguage(language: string): Promise<{
30
+ previous: string;
31
+ requested: string;
32
+ current: string;
33
+ }>;
34
+ /**
35
+ * @inheritdoc
36
+ */
37
+ onLanguageChange(fn: (language: string) => any): Subscription;
38
+ /**
39
+ * @inheritdoc
40
+ */
41
+ updateLocalizationKeys(keyValues: {
42
+ [key: string]: string;
43
+ }, language?: string): void | Promise<void>;
44
+ /**
45
+ * @inheritdoc
46
+ */
47
+ reloadLocalizationKeys(language?: string): Promise<void>;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizationDevtoolsConsoleService, [null, null, null, { optional: true; }]>;
20
49
  static ɵprov: i0.ɵɵInjectableDeclaration<LocalizationDevtoolsConsoleService>;
21
50
  }
22
51
  //# sourceMappingURL=localization-devtools.console.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localization-devtools.console.service.d.ts","sourceRoot":"","sources":["../../src/devkit/localization-devtools.console.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAsB,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;;AAG5E,qBACa,kCAAmC,YAAW,wBAAwB;IAM/E,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACoB,OAAO,CAAC,OAAO;IAL1E,4DAA4D;IAC5D,gBAAuB,gBAAgB,kBAAkB;gBAGtC,oBAAoB,EAAE,yBAAyB,EACC,OAAO,GAAE,kCAAgF;IAO5J,kBAAkB;IACX,QAAQ;IAUf;;;;OAIG;IACI,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;yCA9BvC,kCAAkC;6CAAlC,kCAAkC;CAiC9C"}
1
+ {"version":3,"file":"localization-devtools.console.service.d.ts","sourceRoot":"","sources":["../../src/devkit/localization-devtools.console.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAgC,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,EAA4B,wBAAwB,EAAsB,MAAM,WAAW,CAAC;AACxG,OAAO,EAAiB,YAAY,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,qCAAqC,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAC5H,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;;AAG5E,qBACa,kCAAmC,YAAW,wBAAwB,EAAE,qCAAqC;IAMtH,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACkC,OAAO,CAAC,OAAO;IAP1E,4DAA4D;IAC5D,gBAAuB,gBAAgB,kBAAkB;gBAGtC,oBAAoB,EAAE,yBAAyB,EAC/C,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,cAAc,EAC0B,OAAO,GAAE,kCAAgF;IAa5J,kBAAkB;IACX,QAAQ;IAUf;;OAEG;IACI,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE;;OAEG;IACI,kBAAkB,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrD;;OAEG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAYhH;;OAEG;IACI,gBAAgB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY;IAIpE;;OAEG;IACI,sBAAsB,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5G;;OAEG;IACU,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM;yCApF1C,kCAAkC;6CAAlC,kCAAkC;CA8F9C"}
@@ -1,3 +1,4 @@
1
+ import { Subscription } from 'rxjs';
1
2
  import { LocalizationService } from '../tools';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class OtterLocalizationDevtools {
@@ -9,6 +10,15 @@ export declare class OtterLocalizationDevtools {
9
10
  * @param value value enforced by the DevTools extension
10
11
  */
11
12
  showLocalizationKeys(value?: boolean): void;
13
+ /**
14
+ * Returns the current language
15
+ */
16
+ getCurrentLanguage(): string;
17
+ /**
18
+ * Setup a listener on language change
19
+ * @param fn called when the language is changed in the app
20
+ */
21
+ onLanguageChange(fn: (language: string) => any): Subscription;
12
22
  static ɵfac: i0.ɵɵFactoryDeclaration<OtterLocalizationDevtools, never>;
13
23
  static ɵprov: i0.ɵɵInjectableDeclaration<OtterLocalizationDevtools>;
14
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"localization-devtools.service.d.ts","sourceRoot":"","sources":["../../src/devkit/localization-devtools.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;;AAE/C,qBACa,yBAAyB;IAExB,OAAO,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAG5D;;;;OAIG;IACI,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;yCAVvC,yBAAyB;6CAAzB,yBAAyB;CAarC"}
1
+ {"version":3,"file":"localization-devtools.service.d.ts","sourceRoot":"","sources":["../../src/devkit/localization-devtools.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;;AAE/C,qBACa,yBAAyB;IACxB,OAAO,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAE5D;;;;OAIG;IACI,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAIlD;;OAEG;IACI,kBAAkB;IAIzB;;;OAGG;IACI,gBAAgB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY;yCAvBzD,yBAAyB;6CAAzB,yBAAyB;CA+BrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"localization-devtools.token.d.ts","sourceRoot":"","sources":["../../src/devkit/localization-devtools.token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAErF,eAAO,MAAM,2CAA2C,EAAE,kCAEzD,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,cAAc,CAAC,kCAAkC,CAAiG,CAAC"}
1
+ {"version":3,"file":"localization-devtools.token.d.ts","sourceRoot":"","sources":["../../src/devkit/localization-devtools.token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAErF,eAAO,MAAM,2CAA2C,EAAE,kCAGzD,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,cAAc,CAAC,kCAAkC,CAAiG,CAAC"}
@@ -54,10 +54,10 @@ export class TranslateMessageFormatLazyCompiler extends TranslateCompiler {
54
54
  return Object.keys(translations)
55
55
  .reduce(compilingStrategy, {});
56
56
  }
57
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TranslateMessageFormatLazyCompiler, deps: [{ token: MESSAGE_FORMAT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TranslateMessageFormatLazyCompiler }); }
57
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateMessageFormatLazyCompiler, deps: [{ token: MESSAGE_FORMAT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateMessageFormatLazyCompiler }); }
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TranslateMessageFormatLazyCompiler, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateMessageFormatLazyCompiler, decorators: [{
61
61
  type: Injectable
62
62
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
63
63
  type: Optional
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
65
65
  type: Inject,
66
66
  args: [MESSAGE_FORMAT_CONFIG]
67
67
  }] }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLW1lc3NhZ2Vmb3JtYXQtbGF6eS5jb21waWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL3RyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWxhenkuY29tcGlsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQVcsTUFBTSxvQkFBb0IsQ0FBQzs7QUFxQmhFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQTRCO0lBQy9ELFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRix5Q0FBeUM7QUFDekMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTBCLDhCQUE4QixDQUFDLENBQUM7QUFFakg7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLGlCQUFpQjtJQVF2RSxZQUF1RCxNQUFnQztRQUNyRixLQUFLLEVBQUUsQ0FBQztRQUpWLHFDQUFxQztRQUM3QixVQUFLLEdBQXVDLEVBQUUsQ0FBQztRQUtyRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLHdCQUF3QixFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO0lBQy9GLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsT0FBTyxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ3hDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFFLElBQUksaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQVksQ0FBQztJQUNoSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsbUJBQW1CLENBQUMsWUFBZ0MsRUFBRSxJQUFZO1FBR3ZFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNqRCxDQUFDLEdBQTJCLEVBQUUsR0FBVyxFQUFFLEVBQUU7Z0JBQzNDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFO29CQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQzVDLElBQUksTUFBTSxFQUFFO3dCQUNWLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQVcsQ0FBQztxQkFDeEM7b0JBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzdGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUM7b0JBQzdDLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQVcsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDO2dCQUNGLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7WUFFSCxDQUFDLEdBQTJCLEVBQUUsR0FBVyxFQUFFLEVBQUU7Z0JBQzNDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBVyxDQUFDO2dCQUM1SCxPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUMsQ0FBQztRQUVKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDN0IsTUFBTSxDQUF5QixpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO2lJQXBEVSxrQ0FBa0Msa0JBUWIscUJBQXFCO3FJQVIxQyxrQ0FBa0M7OzJGQUFsQyxrQ0FBa0M7a0JBRDlDLFVBQVU7OzBCQVNJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbnRsTWVzc2FnZUZvcm1hdCwgT3B0aW9ucyB9IGZyb20gJ2ludGwtbWVzc2FnZWZvcm1hdCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgTGF6eSBNZXNzYWdlIEZvcm1hdCBjb21waWxlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhenlNZXNzYWdlRm9ybWF0Q29uZmlnIGV4dGVuZHMgT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBFbmFibGVzIGNvbXBpbGVkIHRyYW5zbGF0aW9uIGNhY2hpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZW5hYmxlQ2FjaGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIEhUTUwgaW4gdHJhbnNsYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgaWdub3JlVGFnPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNZXNzYWdlIGZvcm1hdCBjb25maWd1cmF0aW9uIGRlZmF1bHQgdmFsdWVcbiAqL1xuZXhwb3J0IGNvbnN0IGxhenlNZXNzYWdlRGVmYXVsdENvbmZpZzogTGF6eU1lc3NhZ2VGb3JtYXRDb25maWcgPSB7XG4gIGVuYWJsZUNhY2hlOiB0cnVlLFxuICBpZ25vcmVUYWc6IHRydWVcbn07XG5cbi8qKiBNZXNzYWdlIEZvcm1hdCBjb25maWd1cmF0aW9uIFRva2VuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9GT1JNQVRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPExhenlNZXNzYWdlRm9ybWF0Q29uZmlnPignTWVzc2FnZSBGb3JtYXQgY29uZmlndXJhdGlvbicpO1xuXG4vKipcbiAqIFRoaXMgY29tcGlsZXIgZXhwZWN0cyBJQ1Ugc3ludGF4IGFuZCBjb21waWxlcyB0aGUgZXhwcmVzc2lvbnMgd2l0aCBtZXNzYWdlZm9ybWF0LmpzXG4gKiBDb21wYXJlIHRvIG5neC10cmFuc2xhdGUtbWVzc2FnZWZvcm1hdC1jb21waWxlciBwYWNrYWdlLCB0aGUgY29tcGlsYXRpb24gb2YgdGhlIHRyYW5zbGF0aW9uIGlzIGRvbmUgb25seSBvbiBkZW1hbmRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRMYXp5Q29tcGlsZXIgZXh0ZW5kcyBUcmFuc2xhdGVDb21waWxlciB7XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gKi9cbiAgcHJpdmF0ZSBjb25maWc6IExhenlNZXNzYWdlRm9ybWF0Q29uZmlnO1xuXG4gIC8qKiBDYWNoZSBvZiBjb21waWxlZCB0cmFuc2xhdGlvbnMgKi9cbiAgcHJpdmF0ZSBjYWNoZTogeyBbeDogc3RyaW5nXTogSW50bE1lc3NhZ2VGb3JtYXQgfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUVTU0FHRV9GT1JNQVRfQ09ORklHKSBjb25maWc/OiBMYXp5TWVzc2FnZUZvcm1hdENvbmZpZykge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZyA/IHsgLi4ubGF6eU1lc3NhZ2VEZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSA6IGxhenlNZXNzYWdlRGVmYXVsdENvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgY2FjaGUgb2YgdGhlIGNvbXBpbGVkIHRyYW5zbGF0aW9uc1xuICAgKi9cbiAgcHVibGljIGNsZWFyQ2FjaGUoKSB7XG4gICAgdGhpcy5jYWNoZSA9IHt9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBjb21waWxlKHZhbHVlOiBzdHJpbmcsIGxhbmc6IHN0cmluZyk6IChwYXJhbXM6IGFueSkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKHBhcmFtczogYW55KSA9PiAobmV3IEludGxNZXNzYWdlRm9ybWF0KHZhbHVlLCBsYW5nLCB1bmRlZmluZWQsIHRoaXMuY29uZmlnKS5mb3JtYXQocGFyYW1zKSBhcyBzdHJpbmcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBjb21waWxlVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9uczoge1t4OiBzdHJpbmddOiBhbnl9LCBsYW5nOiBzdHJpbmcpIHtcbiAgICB0eXBlIENvbXBpbGVkVHJhbnNsYXRpb25NYXAgPSB7W2tleSBpbiBrZXlvZiB0eXBlb2YgdHJhbnNsYXRpb25zXTogKHBhcmFtczogYW55KSA9PiBzdHJpbmd9O1xuXG4gICAgY29uc3QgY29tcGlsaW5nU3RyYXRlZ3kgPSB0aGlzLmNvbmZpZy5lbmFibGVDYWNoZSA/XG4gICAgICAoYWNjOiBDb21waWxlZFRyYW5zbGF0aW9uTWFwLCBrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBhY2Nba2V5XSA9IChwYXJhbXM6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuY2FjaGVbYCR7bGFuZ31fJHtrZXl9YF07XG4gICAgICAgICAgaWYgKGNhY2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZC5mb3JtYXQocGFyYW1zKSBhcyBzdHJpbmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbmV3Q2FjaGVkSXRlbSA9IG5ldyBJbnRsTWVzc2FnZUZvcm1hdCh0cmFuc2xhdGlvbnNba2V5XSwgbGFuZywgdW5kZWZpbmVkLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgdGhpcy5jYWNoZVtgJHtsYW5nfV8ke2tleX1gXSA9IG5ld0NhY2hlZEl0ZW07XG4gICAgICAgICAgcmV0dXJuIG5ld0NhY2hlZEl0ZW0uZm9ybWF0KHBhcmFtcykgYXMgc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSA6XG5cbiAgICAgIChhY2M6IENvbXBpbGVkVHJhbnNsYXRpb25NYXAsIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGFjY1trZXldID0gKHBhcmFtczogYW55KSA9PiBuZXcgSW50bE1lc3NhZ2VGb3JtYXQodHJhbnNsYXRpb25zW2tleV0sIGxhbmcsIHVuZGVmaW5lZCwgdGhpcy5jb25maWcpLmZvcm1hdChwYXJhbXMpIGFzIHN0cmluZztcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH07XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXModHJhbnNsYXRpb25zKVxuICAgICAgLnJlZHVjZTxDb21waWxlZFRyYW5zbGF0aW9uTWFwPihjb21waWxpbmdTdHJhdGVneSwge30pO1xuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLW1lc3NhZ2Vmb3JtYXQtbGF6eS5jb21waWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL3RyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWxhenkuY29tcGlsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQVcsTUFBTSxvQkFBb0IsQ0FBQzs7QUFxQmhFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQTRCO0lBQy9ELFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRix5Q0FBeUM7QUFDekMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTBCLDhCQUE4QixDQUFDLENBQUM7QUFFakg7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLGlCQUFpQjtJQVF2RSxZQUF1RCxNQUFnQztRQUNyRixLQUFLLEVBQUUsQ0FBQztRQUpWLHFDQUFxQztRQUM3QixVQUFLLEdBQXVDLEVBQUUsQ0FBQztRQUtyRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLHdCQUF3QixFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO0lBQy9GLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsT0FBTyxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ3hDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFFLElBQUksaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQVksQ0FBQztJQUNoSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsbUJBQW1CLENBQUMsWUFBZ0MsRUFBRSxJQUFZO1FBR3ZFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNqRCxDQUFDLEdBQTJCLEVBQUUsR0FBVyxFQUFFLEVBQUU7Z0JBQzNDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFO29CQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQzVDLElBQUksTUFBTSxFQUFFO3dCQUNWLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQVcsQ0FBQztxQkFDeEM7b0JBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzdGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUM7b0JBQzdDLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQVcsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDO2dCQUNGLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7WUFFSCxDQUFDLEdBQTJCLEVBQUUsR0FBVyxFQUFFLEVBQUU7Z0JBQzNDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBVyxDQUFDO2dCQUM1SCxPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUMsQ0FBQztRQUVKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDN0IsTUFBTSxDQUF5QixpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO2tJQXBEVSxrQ0FBa0Msa0JBUWIscUJBQXFCO3NJQVIxQyxrQ0FBa0M7OzRGQUFsQyxrQ0FBa0M7a0JBRDlDLFVBQVU7OzBCQVNJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbnRsTWVzc2FnZUZvcm1hdCwgT3B0aW9ucyB9IGZyb20gJ2ludGwtbWVzc2FnZWZvcm1hdCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgTGF6eSBNZXNzYWdlIEZvcm1hdCBjb21waWxlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhenlNZXNzYWdlRm9ybWF0Q29uZmlnIGV4dGVuZHMgT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBFbmFibGVzIGNvbXBpbGVkIHRyYW5zbGF0aW9uIGNhY2hpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZW5hYmxlQ2FjaGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIEhUTUwgaW4gdHJhbnNsYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgaWdub3JlVGFnPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNZXNzYWdlIGZvcm1hdCBjb25maWd1cmF0aW9uIGRlZmF1bHQgdmFsdWVcbiAqL1xuZXhwb3J0IGNvbnN0IGxhenlNZXNzYWdlRGVmYXVsdENvbmZpZzogTGF6eU1lc3NhZ2VGb3JtYXRDb25maWcgPSB7XG4gIGVuYWJsZUNhY2hlOiB0cnVlLFxuICBpZ25vcmVUYWc6IHRydWVcbn07XG5cbi8qKiBNZXNzYWdlIEZvcm1hdCBjb25maWd1cmF0aW9uIFRva2VuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9GT1JNQVRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPExhenlNZXNzYWdlRm9ybWF0Q29uZmlnPignTWVzc2FnZSBGb3JtYXQgY29uZmlndXJhdGlvbicpO1xuXG4vKipcbiAqIFRoaXMgY29tcGlsZXIgZXhwZWN0cyBJQ1Ugc3ludGF4IGFuZCBjb21waWxlcyB0aGUgZXhwcmVzc2lvbnMgd2l0aCBtZXNzYWdlZm9ybWF0LmpzXG4gKiBDb21wYXJlIHRvIG5neC10cmFuc2xhdGUtbWVzc2FnZWZvcm1hdC1jb21waWxlciBwYWNrYWdlLCB0aGUgY29tcGlsYXRpb24gb2YgdGhlIHRyYW5zbGF0aW9uIGlzIGRvbmUgb25seSBvbiBkZW1hbmRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRMYXp5Q29tcGlsZXIgZXh0ZW5kcyBUcmFuc2xhdGVDb21waWxlciB7XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gKi9cbiAgcHJpdmF0ZSBjb25maWc6IExhenlNZXNzYWdlRm9ybWF0Q29uZmlnO1xuXG4gIC8qKiBDYWNoZSBvZiBjb21waWxlZCB0cmFuc2xhdGlvbnMgKi9cbiAgcHJpdmF0ZSBjYWNoZTogeyBbeDogc3RyaW5nXTogSW50bE1lc3NhZ2VGb3JtYXQgfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUVTU0FHRV9GT1JNQVRfQ09ORklHKSBjb25maWc/OiBMYXp5TWVzc2FnZUZvcm1hdENvbmZpZykge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZyA/IHsgLi4ubGF6eU1lc3NhZ2VEZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSA6IGxhenlNZXNzYWdlRGVmYXVsdENvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgY2FjaGUgb2YgdGhlIGNvbXBpbGVkIHRyYW5zbGF0aW9uc1xuICAgKi9cbiAgcHVibGljIGNsZWFyQ2FjaGUoKSB7XG4gICAgdGhpcy5jYWNoZSA9IHt9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBjb21waWxlKHZhbHVlOiBzdHJpbmcsIGxhbmc6IHN0cmluZyk6IChwYXJhbXM6IGFueSkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKHBhcmFtczogYW55KSA9PiAobmV3IEludGxNZXNzYWdlRm9ybWF0KHZhbHVlLCBsYW5nLCB1bmRlZmluZWQsIHRoaXMuY29uZmlnKS5mb3JtYXQocGFyYW1zKSBhcyBzdHJpbmcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBjb21waWxlVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9uczoge1t4OiBzdHJpbmddOiBhbnl9LCBsYW5nOiBzdHJpbmcpIHtcbiAgICB0eXBlIENvbXBpbGVkVHJhbnNsYXRpb25NYXAgPSB7W2tleSBpbiBrZXlvZiB0eXBlb2YgdHJhbnNsYXRpb25zXTogKHBhcmFtczogYW55KSA9PiBzdHJpbmd9O1xuXG4gICAgY29uc3QgY29tcGlsaW5nU3RyYXRlZ3kgPSB0aGlzLmNvbmZpZy5lbmFibGVDYWNoZSA/XG4gICAgICAoYWNjOiBDb21waWxlZFRyYW5zbGF0aW9uTWFwLCBrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBhY2Nba2V5XSA9IChwYXJhbXM6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuY2FjaGVbYCR7bGFuZ31fJHtrZXl9YF07XG4gICAgICAgICAgaWYgKGNhY2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZC5mb3JtYXQocGFyYW1zKSBhcyBzdHJpbmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbmV3Q2FjaGVkSXRlbSA9IG5ldyBJbnRsTWVzc2FnZUZvcm1hdCh0cmFuc2xhdGlvbnNba2V5XSwgbGFuZywgdW5kZWZpbmVkLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgdGhpcy5jYWNoZVtgJHtsYW5nfV8ke2tleX1gXSA9IG5ld0NhY2hlZEl0ZW07XG4gICAgICAgICAgcmV0dXJuIG5ld0NhY2hlZEl0ZW0uZm9ybWF0KHBhcmFtcykgYXMgc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSA6XG5cbiAgICAgIChhY2M6IENvbXBpbGVkVHJhbnNsYXRpb25NYXAsIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGFjY1trZXldID0gKHBhcmFtczogYW55KSA9PiBuZXcgSW50bE1lc3NhZ2VGb3JtYXQodHJhbnNsYXRpb25zW2tleV0sIGxhbmcsIHVuZGVmaW5lZCwgdGhpcy5jb25maWcpLmZvcm1hdChwYXJhbXMpIGFzIHN0cmluZztcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH07XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXModHJhbnNsYXRpb25zKVxuICAgICAgLnJlZHVjZTxDb21waWxlZFRyYW5zbGF0aW9uTWFwPihjb21waWxpbmdTdHJhdGVneSwge30pO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldmtpdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2xvY2FsaXphdGlvbi1kZXZraXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbm5lY3RDb250ZW50TWVzc2FnZSwgRGV2dG9vbHNDb21tb25PcHRpb25zLCBNZXNzYWdlRGF0YVR5cGVzLCBPdHRlck1lc3NhZ2VDb250ZW50LCBSZXF1ZXN0TWVzc2FnZXNDb250ZW50TWVzc2FnZSB9IGZyb20gJ0BvM3IvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxpemF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyBleHRlbmRzIERldnRvb2xzQ29tbW9uT3B0aW9ucyB7XG59XG5cbi8qKiBEaXNwbGF5IGxvY2FsaXphdGlvbiBrZXkgbWVzc2FnZSBjb250ZW50ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXlMb2NhbGl6YXRpb25LZXlzQ29udGVudE1lc3NhZ2UgZXh0ZW5kcyBPdHRlck1lc3NhZ2VDb250ZW50PCdkaXNwbGF5TG9jYWxpemF0aW9uS2V5cyc+IHtcbiAgLyoqIFRvZ2dsZSB0aGUgZGlzcGxheSBvZiB0aGUgbG9jYWxpemF0aW9uIGtleXMgKi9cbiAgdG9nZ2xlPzogYm9vbGVhbjtcbn1cblxudHlwZSBMb2NhbGl6YXRpb25NZXNzYWdlQ29udGVudHMgPVxuICB8IERpc3BsYXlMb2NhbGl6YXRpb25LZXlzQ29udGVudE1lc3NhZ2U7XG5cbi8qKiBMaXN0IG9mIHBvc3NpYmxlIERhdGFUeXBlcyBmb3IgTG9jYWxpemF0aW9uIG1lc3NhZ2VzICovXG50eXBlIExvY2FsaXphdGlvbk1lc3NhZ2VEYXRhVHlwZXMgPSBNZXNzYWdlRGF0YVR5cGVzPExvY2FsaXphdGlvbk1lc3NhZ2VDb250ZW50cz47XG5cbi8qKiBMaXN0IG9mIGFsbCBtZXNzYWdlcyBmb3IgTG9jYWxpemF0aW9uIHB1cnBvc2UgKi9cbmV4cG9ydCB0eXBlIEF2YWlsYWJsZUxvY2FsaXphdGlvbk1lc3NhZ2VDb250ZW50cyA9XG4gIHwgTG9jYWxpemF0aW9uTWVzc2FnZUNvbnRlbnRzXG4gIHwgQ29ubmVjdENvbnRlbnRNZXNzYWdlXG4gIHwgUmVxdWVzdE1lc3NhZ2VzQ29udGVudE1lc3NhZ2U8TG9jYWxpemF0aW9uTWVzc2FnZURhdGFUeXBlcz47XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldmtpdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2xvY2FsaXphdGlvbi1kZXZraXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbm5lY3RDb250ZW50TWVzc2FnZSxcbiAgQ29udGV4dHVhbGl6YXRpb25EZXZ0b29sc0NvbW1vbk9wdGlvbnMsXG4gIERldnRvb2xzQ29tbW9uT3B0aW9ucyxcbiAgTWVzc2FnZURhdGFUeXBlcyxcbiAgT3R0ZXJNZXNzYWdlQ29udGVudCxcbiAgUmVxdWVzdE1lc3NhZ2VzQ29udGVudE1lc3NhZ2Vcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsaXphdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgZXh0ZW5kcyBEZXZ0b29sc0NvbW1vbk9wdGlvbnMsIENvbnRleHR1YWxpemF0aW9uRGV2dG9vbHNDb21tb25PcHRpb25zIHtcbn1cblxuLyoqIERpc3BsYXkgbG9jYWxpemF0aW9uIGtleSBtZXNzYWdlIGNvbnRlbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcGxheUxvY2FsaXphdGlvbktleXNDb250ZW50TWVzc2FnZSBleHRlbmRzIE90dGVyTWVzc2FnZUNvbnRlbnQ8J2Rpc3BsYXlMb2NhbGl6YXRpb25LZXlzJz4ge1xuICAvKiogVG9nZ2xlIHRoZSBkaXNwbGF5IG9mIHRoZSBsb2NhbGl6YXRpb24ga2V5cyAqL1xuICB0b2dnbGU/OiBib29sZWFuO1xufVxuXG50eXBlIExvY2FsaXphdGlvbk1lc3NhZ2VDb250ZW50cyA9XG4gIHwgRGlzcGxheUxvY2FsaXphdGlvbktleXNDb250ZW50TWVzc2FnZTtcblxuLyoqIExpc3Qgb2YgcG9zc2libGUgRGF0YVR5cGVzIGZvciBMb2NhbGl6YXRpb24gbWVzc2FnZXMgKi9cbnR5cGUgTG9jYWxpemF0aW9uTWVzc2FnZURhdGFUeXBlcyA9IE1lc3NhZ2VEYXRhVHlwZXM8TG9jYWxpemF0aW9uTWVzc2FnZUNvbnRlbnRzPjtcblxuLyoqIExpc3Qgb2YgYWxsIG1lc3NhZ2VzIGZvciBMb2NhbGl6YXRpb24gcHVycG9zZSAqL1xuZXhwb3J0IHR5cGUgQXZhaWxhYmxlTG9jYWxpemF0aW9uTWVzc2FnZUNvbnRlbnRzID1cbiAgfCBMb2NhbGl6YXRpb25NZXNzYWdlQ29udGVudHNcbiAgfCBDb25uZWN0Q29udGVudE1lc3NhZ2VcbiAgfCBSZXF1ZXN0TWVzc2FnZXNDb250ZW50TWVzc2FnZTxMb2NhbGl6YXRpb25NZXNzYWdlRGF0YVR5cGVzPjtcblxuXG4vKipcbiAqIENvbnRleHR1YWxpemF0aW9uIGRldnRvb2xzIGV4cG9zZWQgZm9yIGxvY2FsaXphdGlvbiBpbiBDTVMgaW50ZWdyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2NhbGl6YXRpb25Db250ZXh0dWFsaXphdGlvbkRldnRvb2xzIHtcbiAgLyoqXG4gICAqIFNob3cgbG9jYWxpemF0aW9uIGtleXNcbiAgICogQHBhcmFtIHZhbHVlIHZhbHVlIGVuZm9yY2VkIGJ5IHRoZSBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHNob3dMb2NhbGl6YXRpb25LZXlzOiAodmFsdWU/OiBib29sZWFuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBsYW5ndWFnZVxuICAgKi9cbiAgZ2V0Q3VycmVudExhbmd1YWdlOiAoKSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFN3aXRjaCB0aGUgY3VycmVudCBsYW5ndWFnZSB0byB0aGUgc3BlY2lmaWVkIHZhbHVlXG4gICAqIEBwYXJhbSBsYW5ndWFnZSBuZXcgbGFuZ3VhZ2UgdG8gc3dpdGNoIHRvXG4gICAqL1xuICBzd2l0Y2hMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IFByb21pc2U8eyBwcmV2aW91czogc3RyaW5nOyByZXF1ZXN0ZWQ6IHN0cmluZzsgY3VycmVudDogc3RyaW5nIH0+O1xuXG4gIC8qKlxuICAgKiBTZXR1cCBhIGxpc3RlbmVyIG9uIGxhbmd1YWdlIGNoYW5nZVxuICAgKiBAcGFyYW0gZm4gY2FsbGVkIHdoZW4gdGhlIGxhbmd1YWdlIGlzIGNoYW5nZWQgaW4gdGhlIGFwcFxuICAgKi9cbiAgb25MYW5ndWFnZUNoYW5nZTogKGZuOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gYW55KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHNwZWNpZmllZCBsb2NhbGl6YXRpb24ga2V5L3ZhbHVlcyBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICogQHBhcmFtIGtleVZhbHVlcyBrZXkvdmFsdWVzIHRvIHVwZGF0ZVxuICAgKiBAcGFyYW0gbGFuZ3VhZ2UgaWYgbm90IHByb3ZpZGVkLCB0aGUgY3VycmVudCBsYW5ndWFnZSB2YWx1ZVxuICAgKi9cbiAgdXBkYXRlTG9jYWxpemF0aW9uS2V5czogKGtleVZhbHVlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgbGFuZ3VhZ2U/OiBzdHJpbmcpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBSZWxvYWQgYSBsYW5ndWFnZSBmcm9tIHRoZSBsYW5ndWFnZSBmaWxlXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25neC10cmFuc2xhdGUvY29yZS9ibG9iL21hc3Rlci9wYWNrYWdlcy9jb3JlL2xpYi90cmFuc2xhdGUuc2VydmljZS50cyNMNDkwXG4gICAqIEBwYXJhbSBsYW5ndWFnZSBsYW5ndWFnZSB0byByZWxvYWRcbiAgICovXG4gIHJlbG9hZExvY2FsaXphdGlvbktleXM6IChsYW5ndWFnZT86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
@@ -1,16 +1,24 @@
1
1
  /* eslint-disable no-console */
2
- import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { ApplicationRef, Inject, Injectable, Optional } from '@angular/core';
3
+ import { lastValueFrom } from 'rxjs';
4
+ import { take } from 'rxjs/operators';
5
+ import { LocalizationService } from '../tools';
3
6
  import { OtterLocalizationDevtools } from './localization-devtools.service';
4
7
  import { OTTER_LOCALIZATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_LOCALIZATION_DEVTOOLS_OPTIONS } from './localization-devtools.token';
5
8
  import * as i0 from "@angular/core";
6
9
  import * as i1 from "./localization-devtools.service";
10
+ import * as i2 from "../tools";
7
11
  export class LocalizationDevtoolsConsoleService {
8
12
  /** Name of the Window property to access to the devtools */
9
13
  static { this.windowModuleName = 'localization'; }
10
- constructor(localizationDevtools, options = OTTER_LOCALIZATION_DEVTOOLS_DEFAULT_OPTIONS) {
14
+ constructor(localizationDevtools, localizationService, appRef, options = OTTER_LOCALIZATION_DEVTOOLS_DEFAULT_OPTIONS) {
11
15
  this.localizationDevtools = localizationDevtools;
16
+ this.localizationService = localizationService;
17
+ this.appRef = appRef;
12
18
  this.options = options;
13
- if (this.options.isActivatedOnBootstrap) {
19
+ if (this.options.isActivatedOnBootstrap
20
+ || (this.options.isActivatedOnBootstrapWhenCMSContext
21
+ && document.body.dataset.cmscontext === 'true')) {
14
22
  this.activate();
15
23
  }
16
24
  }
@@ -24,22 +32,68 @@ export class LocalizationDevtoolsConsoleService {
24
32
  console.info(`Otter localization Devtools is now accessible via the _OTTER_DEVTOOLS_.${LocalizationDevtoolsConsoleService.windowModuleName} variable`);
25
33
  }
26
34
  /**
27
- * Show localization keys
28
- *
29
- * @param value value enforced by the DevTools extension
35
+ * @inheritdoc
30
36
  */
31
37
  showLocalizationKeys(value) {
32
38
  this.localizationDevtools.showLocalizationKeys(value);
39
+ this.appRef.tick();
33
40
  }
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsConsoleService, deps: [{ token: i1.OtterLocalizationDevtools }, { token: OTTER_LOCALIZATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsConsoleService }); }
41
+ /**
42
+ * @inheritdoc
43
+ */
44
+ getCurrentLanguage() {
45
+ const currentLanguage = this.localizationDevtools.getCurrentLanguage();
46
+ return currentLanguage;
47
+ }
48
+ /**
49
+ * @inheritdoc
50
+ */
51
+ async switchLanguage(language) {
52
+ const previous = this.localizationDevtools.getCurrentLanguage();
53
+ await lastValueFrom(this.localizationService.useLanguage(language));
54
+ this.appRef.tick();
55
+ const current = this.localizationDevtools.getCurrentLanguage();
56
+ return {
57
+ requested: language,
58
+ previous,
59
+ current
60
+ };
61
+ }
62
+ /**
63
+ * @inheritdoc
64
+ */
65
+ onLanguageChange(fn) {
66
+ return this.localizationDevtools.onLanguageChange(fn);
67
+ }
68
+ /**
69
+ * @inheritdoc
70
+ */
71
+ updateLocalizationKeys(keyValues, language) {
72
+ Object.entries(keyValues).map(([key, value]) => {
73
+ this.localizationService.getTranslateService().set(key, value, language || this.localizationDevtools.getCurrentLanguage());
74
+ });
75
+ this.appRef.tick();
76
+ }
77
+ /**
78
+ * @inheritdoc
79
+ */
80
+ async reloadLocalizationKeys(language) {
81
+ const lang = language || this.localizationDevtools.getCurrentLanguage();
82
+ const initialLocs = await lastValueFrom(this.localizationService
83
+ .getTranslateService()
84
+ .reloadLang(lang)
85
+ .pipe(take(1)));
86
+ return this.updateLocalizationKeys(initialLocs, lang);
87
+ }
88
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsConsoleService, deps: [{ token: i1.OtterLocalizationDevtools }, { token: i2.LocalizationService }, { token: i0.ApplicationRef }, { token: OTTER_LOCALIZATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsConsoleService }); }
36
90
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsConsoleService, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsConsoleService, decorators: [{
38
92
  type: Injectable
39
- }], ctorParameters: function () { return [{ type: i1.OtterLocalizationDevtools }, { type: undefined, decorators: [{
93
+ }], ctorParameters: function () { return [{ type: i1.OtterLocalizationDevtools }, { type: i2.LocalizationService }, { type: i0.ApplicationRef }, { type: undefined, decorators: [{
40
94
  type: Optional
41
95
  }, {
42
96
  type: Inject,
43
97
  args: [OTTER_LOCALIZATION_DEVTOOLS_OPTIONS]
44
98
  }] }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvbG9jYWxpemF0aW9uLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFHakksTUFBTSxPQUFPLGtDQUFrQztJQUU3Qyw0REFBNEQ7YUFDckMscUJBQWdCLEdBQUcsY0FBYyxBQUFqQixDQUFrQjtJQUV6RCxZQUNtQixvQkFBK0MsRUFDQyxVQUE4QywyQ0FBMkM7UUFEekkseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEyQjtRQUNDLFlBQU8sR0FBUCxPQUFPLENBQWtGO1FBRTFKLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLE1BQU0sa0JBQWtCLEdBQXVCLE1BQU0sQ0FBQztRQUN0RCxnREFBZ0Q7UUFDaEQsa0JBQWtCLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxDQUFDO1FBQzNDLGdEQUFnRDtRQUNoRCxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVoRyxPQUFPLENBQUMsSUFBSSxDQUFDLDBFQUEwRSxrQ0FBa0MsQ0FBQyxnQkFBZ0IsV0FBVyxDQUFDLENBQUM7SUFDekosQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxvQkFBb0IsQ0FBQyxLQUFlO1FBQ3pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO2lJQWhDVSxrQ0FBa0MsMkRBT3ZCLG1DQUFtQztxSUFQOUMsa0NBQWtDOzsyRkFBbEMsa0NBQWtDO2tCQUQ5QyxVQUFVOzswQkFRTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRGV2dG9vbHNTZXJ2aWNlSW50ZXJmYWNlLCBXaW5kb3dXaXRoRGV2dG9vbHMgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vbG9jYWxpemF0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3R0ZXJMb2NhbGl6YXRpb25EZXZ0b29scyB9IGZyb20gJy4vbG9jYWxpemF0aW9uLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RURVJfTE9DQUxJWkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfTE9DQUxJWkFUSU9OX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL2xvY2FsaXphdGlvbi1kZXZ0b29scy50b2tlbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlIGltcGxlbWVudHMgRGV2dG9vbHNTZXJ2aWNlSW50ZXJmYWNlIHtcblxuICAvKiogTmFtZSBvZiB0aGUgV2luZG93IHByb3BlcnR5IHRvIGFjY2VzcyB0byB0aGUgZGV2dG9vbHMgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB3aW5kb3dNb2R1bGVOYW1lID0gJ2xvY2FsaXphdGlvbic7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6YXRpb25EZXZ0b29sczogT3R0ZXJMb2NhbGl6YXRpb25EZXZ0b29scyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IExvY2FsaXphdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgPSBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TXG4gICkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaXNBY3RpdmF0ZWRPbkJvb3RzdHJhcCkge1xuICAgICAgdGhpcy5hY3RpdmF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKSB7XG4gICAgY29uc3Qgd2luZG93V2l0aERldnRvb2xzOiBXaW5kb3dXaXRoRGV2dG9vbHMgPSB3aW5kb3c7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgd2luZG93V2l0aERldnRvb2xzLl9PVFRFUl9ERVZUT09MU18gfHw9IHt9O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgIHdpbmRvd1dpdGhEZXZ0b29scy5fT1RURVJfREVWVE9PTFNfW0xvY2FsaXphdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2Uud2luZG93TW9kdWxlTmFtZV0gPSB0aGlzO1xuXG4gICAgY29uc29sZS5pbmZvKGBPdHRlciBsb2NhbGl6YXRpb24gRGV2dG9vbHMgaXMgbm93IGFjY2Vzc2libGUgdmlhIHRoZSBfT1RURVJfREVWVE9PTFNfLiR7TG9jYWxpemF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZS53aW5kb3dNb2R1bGVOYW1lfSB2YXJpYWJsZWApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgbG9jYWxpemF0aW9uIGtleXNcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIHZhbHVlIGVuZm9yY2VkIGJ5IHRoZSBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHB1YmxpYyBzaG93TG9jYWxpemF0aW9uS2V5cyh2YWx1ZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxvY2FsaXphdGlvbkRldnRvb2xzLnNob3dMb2NhbGl6YXRpb25LZXlzKHZhbHVlKTtcbiAgfVxufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvbG9jYWxpemF0aW9uLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBR2pJLE1BQU0sT0FBTyxrQ0FBa0M7SUFFN0MsNERBQTREO2FBQ3JDLHFCQUFnQixHQUFHLGNBQWMsQUFBakIsQ0FBa0I7SUFFekQsWUFDbUIsb0JBQStDLEVBQy9DLG1CQUF3QyxFQUN4QyxNQUFzQixFQUMwQixVQUE4QywyQ0FBMkM7UUFIekkseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEyQjtRQUMvQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQzBCLFlBQU8sR0FBUCxPQUFPLENBQWtGO1FBRTFKLElBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0I7ZUFDaEMsQ0FDRCxJQUFJLENBQUMsT0FBTyxDQUFDLG9DQUFvQzttQkFDN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFvQyxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQzdFLEVBQ0Q7WUFDQSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLE1BQU0sa0JBQWtCLEdBQXVCLE1BQU0sQ0FBQztRQUN0RCxnREFBZ0Q7UUFDaEQsa0JBQWtCLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxDQUFDO1FBQzNDLGdEQUFnRDtRQUNoRCxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVoRyxPQUFPLENBQUMsSUFBSSxDQUFDLDBFQUEwRSxrQ0FBa0MsQ0FBQyxnQkFBZ0IsV0FBVyxDQUFDLENBQUM7SUFDekosQ0FBQztJQUVEOztPQUVHO0lBQ0ksb0JBQW9CLENBQUMsS0FBZTtRQUN6QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdkUsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFnQjtRQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNoRSxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMvRCxPQUFPO1lBQ0wsU0FBUyxFQUFFLFFBQVE7WUFDbkIsUUFBUTtZQUNSLE9BQU87U0FDUixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCLENBQUMsRUFBNkI7UUFDbkQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksc0JBQXNCLENBQUMsU0FBb0MsRUFBRSxRQUFpQjtRQUNuRixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDN0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxRQUFpQjtRQUNuRCxNQUFNLElBQUksR0FBRyxRQUFRLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDeEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxhQUFhLENBQ3JDLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsbUJBQW1CLEVBQUU7YUFDckIsVUFBVSxDQUFDLElBQUksQ0FBQzthQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2pCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztrSUE3RlUsa0NBQWtDLDRIQVN2QixtQ0FBbUM7c0lBVDlDLGtDQUFrQzs7NEZBQWxDLGtDQUFrQztrQkFEOUMsVUFBVTs7MEJBVU4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0dWFsaXphdGlvbkRhdGFzZXQsIERldnRvb2xzU2VydmljZUludGVyZmFjZSwgV2luZG93V2l0aERldnRvb2xzIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi90b29scyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Db250ZXh0dWFsaXphdGlvbkRldnRvb2xzLCBMb2NhbGl6YXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24tZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdHRlckxvY2FsaXphdGlvbkRldnRvb2xzIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24tZGV2dG9vbHMuc2VydmljZSc7XG5pbXBvcnQgeyBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vbG9jYWxpemF0aW9uLWRldnRvb2xzLnRva2VuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2UgaW1wbGVtZW50cyBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2UsIExvY2FsaXphdGlvbkNvbnRleHR1YWxpemF0aW9uRGV2dG9vbHMge1xuXG4gIC8qKiBOYW1lIG9mIHRoZSBXaW5kb3cgcHJvcGVydHkgdG8gYWNjZXNzIHRvIHRoZSBkZXZ0b29scyAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHdpbmRvd01vZHVsZU5hbWUgPSAnbG9jYWxpemF0aW9uJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXphdGlvbkRldnRvb2xzOiBPdHRlckxvY2FsaXphdGlvbkRldnRvb2xzLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBMb2NhbGl6YXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zID0gT1RURVJfTE9DQUxJWkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OU1xuICApIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLm9wdGlvbnMuaXNBY3RpdmF0ZWRPbkJvb3RzdHJhcFxuICAgICAgfHwgKFxuICAgICAgICB0aGlzLm9wdGlvbnMuaXNBY3RpdmF0ZWRPbkJvb3RzdHJhcFdoZW5DTVNDb250ZXh0XG4gICAgICAgICYmIChkb2N1bWVudC5ib2R5LmRhdGFzZXQgYXMgQ29udGV4dHVhbGl6YXRpb25EYXRhc2V0KS5jbXNjb250ZXh0ID09PSAndHJ1ZSdcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFjdGl2YXRlKCkge1xuICAgIGNvbnN0IHdpbmRvd1dpdGhEZXZ0b29sczogV2luZG93V2l0aERldnRvb2xzID0gd2luZG93O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgIHdpbmRvd1dpdGhEZXZ0b29scy5fT1RURVJfREVWVE9PTFNfIHx8PSB7fTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICB3aW5kb3dXaXRoRGV2dG9vbHMuX09UVEVSX0RFVlRPT0xTX1tMb2NhbGl6YXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLndpbmRvd01vZHVsZU5hbWVdID0gdGhpcztcblxuICAgIGNvbnNvbGUuaW5mbyhgT3R0ZXIgbG9jYWxpemF0aW9uIERldnRvb2xzIGlzIG5vdyBhY2Nlc3NpYmxlIHZpYSB0aGUgX09UVEVSX0RFVlRPT0xTXy4ke0xvY2FsaXphdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2Uud2luZG93TW9kdWxlTmFtZX0gdmFyaWFibGVgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIHNob3dMb2NhbGl6YXRpb25LZXlzKHZhbHVlPzogYm9vbGVhbik6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvY2FsaXphdGlvbkRldnRvb2xzLnNob3dMb2NhbGl6YXRpb25LZXlzKHZhbHVlKTtcbiAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50TGFuZ3VhZ2UoKTogc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBjdXJyZW50TGFuZ3VhZ2UgPSB0aGlzLmxvY2FsaXphdGlvbkRldnRvb2xzLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xuICAgIHJldHVybiBjdXJyZW50TGFuZ3VhZ2U7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzd2l0Y2hMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogUHJvbWlzZTx7IHByZXZpb3VzOiBzdHJpbmc7IHJlcXVlc3RlZDogc3RyaW5nOyBjdXJyZW50OiBzdHJpbmcgfT4ge1xuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5sb2NhbGl6YXRpb25EZXZ0b29scy5nZXRDdXJyZW50TGFuZ3VhZ2UoKTtcbiAgICBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMubG9jYWxpemF0aW9uU2VydmljZS51c2VMYW5ndWFnZShsYW5ndWFnZSkpO1xuICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5sb2NhbGl6YXRpb25EZXZ0b29scy5nZXRDdXJyZW50TGFuZ3VhZ2UoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWVzdGVkOiBsYW5ndWFnZSxcbiAgICAgIHByZXZpb3VzLFxuICAgICAgY3VycmVudFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBvbkxhbmd1YWdlQ2hhbmdlKGZuOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gYW55KTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbGl6YXRpb25EZXZ0b29scy5vbkxhbmd1YWdlQ2hhbmdlKGZuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIHVwZGF0ZUxvY2FsaXphdGlvbktleXMoa2V5VmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCBsYW5ndWFnZT86IHN0cmluZyk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICBPYmplY3QuZW50cmllcyhrZXlWYWx1ZXMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuZ2V0VHJhbnNsYXRlU2VydmljZSgpLnNldChrZXksIHZhbHVlLCBsYW5ndWFnZSB8fCB0aGlzLmxvY2FsaXphdGlvbkRldnRvb2xzLmdldEN1cnJlbnRMYW5ndWFnZSgpKTtcbiAgICB9KTtcbiAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhc3luYyByZWxvYWRMb2NhbGl6YXRpb25LZXlzKGxhbmd1YWdlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgbGFuZyA9IGxhbmd1YWdlIHx8IHRoaXMubG9jYWxpemF0aW9uRGV2dG9vbHMuZ2V0Q3VycmVudExhbmd1YWdlKCk7XG4gICAgY29uc3QgaW5pdGlhbExvY3MgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlXG4gICAgICAgIC5nZXRUcmFuc2xhdGVTZXJ2aWNlKClcbiAgICAgICAgLnJlbG9hZExhbmcobGFuZylcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICApO1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZUxvY2FsaXphdGlvbktleXMoaW5pdGlhbExvY3MsIGxhbmcpO1xuICB9XG59XG4iXX0=
@@ -56,10 +56,10 @@ export class LocalizationDevtoolsMessageService {
56
56
  ngOnDestroy() {
57
57
  this.subscriptions.unsubscribe();
58
58
  }
59
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: i2.OtterLocalizationDevtools }, { token: OTTER_LOCALIZATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsMessageService }); }
59
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: i2.OtterLocalizationDevtools }, { token: OTTER_LOCALIZATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
60
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsMessageService }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsMessageService, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsMessageService, decorators: [{
63
63
  type: Injectable
64
64
  }], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.OtterLocalizationDevtools }, { type: undefined, decorators: [{
65
65
  type: Optional
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
67
67
  type: Inject,
68
68
  args: [OTTER_LOCALIZATION_DEVTOOLS_OPTIONS]
69
69
  }] }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvbG9jYWxpemF0aW9uLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFakksTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQVksRUFBbUQsRUFBRTtJQUM5RixPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLHlCQUF5QixDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUdGLE1BQU0sT0FBTyxrQ0FBa0M7SUFJN0MsWUFDWSxNQUFxQixFQUNyQixvQkFBK0MsRUFDUSxVQUE4QywyQ0FBMkM7UUFGaEosV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJCO1FBQ1EsWUFBTyxHQUFQLE9BQU8sQ0FBa0Y7UUFMcEosa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBT3pDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxZQUFZLENBQUMsT0FBNkM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOENBQThDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFM0UsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3hCLEtBQUssU0FBUyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixNQUFNO2FBQ1A7WUFDRCxLQUFLLHlCQUF5QixDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9ELE1BQU07YUFDUDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzFFO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNFQUFzRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN0SCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2lJQXZEVSxrQ0FBa0Msd0ZBT3ZCLG1DQUFtQztxSUFQOUMsa0NBQWtDOzsyRkFBbEMsa0NBQWtDO2tCQUQ5QyxVQUFVOzswQkFRTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyTWVzc2FnZUNvbnRlbnQgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdmFpbGFibGVMb2NhbGl6YXRpb25NZXNzYWdlQ29udGVudHMsIExvY2FsaXphdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgfSBmcm9tICcuL2xvY2FsaXphdGlvbi1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE90dGVyTG9jYWxpemF0aW9uRGV2dG9vbHMgfSBmcm9tICcuL2xvY2FsaXphdGlvbi1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5jb25zdCBpc0xvY2FsaXphdGlvbk1lc3NhZ2UgPSAobWVzc2FnZTogYW55KTogbWVzc2FnZSBpcyBBdmFpbGFibGVMb2NhbGl6YXRpb25NZXNzYWdlQ29udGVudHMgPT4ge1xuICByZXR1cm4gbWVzc2FnZSAmJiBtZXNzYWdlLmRhdGFUeXBlID09PSAnZGlzcGxheUxvY2FsaXphdGlvbktleXMnO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25EZXZUb29sczogT3R0ZXJMb2NhbGl6YXRpb25EZXZ0b29scyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IExvY2FsaXphdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgPSBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TKSB7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gaGFuZGxlIHRoZSBpbmNvbWluZyBtZXNzYWdlcyBmcm9tIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IEV2ZW50IGNvbWluZyBmcm9tIHRoZSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSBtZXNzYWdlXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUV2ZW50cyhtZXNzYWdlOiBBdmFpbGFibGVMb2NhbGl6YXRpb25NZXNzYWdlQ29udGVudHMpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVzc2FnZSBoYW5kbGluZyBieSB0aGUgbG9jYWxpemF0aW9uIHNlcnZpY2UnLCBtZXNzYWdlKTtcblxuICAgIHN3aXRjaCAobWVzc2FnZS5kYXRhVHlwZSkge1xuICAgICAgY2FzZSAnY29ubmVjdCc6IHtcbiAgICAgICAgdGhpcy5jb25uZWN0UGx1Z2luKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZGlzcGxheUxvY2FsaXphdGlvbktleXMnOiB7XG4gICAgICAgIHRoaXMubG9jYWxpemF0aW9uRGV2VG9vbHMuc2hvd0xvY2FsaXphdGlvbktleXMobWVzc2FnZS50b2dnbGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignTWVzc2FnZSBpZ25vcmVkIGJ5IHRoZSBsb2NhbGl6YXRpb24gc2VydmljZScsIG1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSBwbHVnaW4gdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgY29ubmVjdFBsdWdpbigpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnT3R0ZXIgRGV2VG9vbHMgaXMgcGx1Z2dlZCB0byBsb2NhbGl6YXRpb24gc2VydmljZSBvZiB0aGUgYXBwbGljYXRpb24nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdtZXNzYWdlJykucGlwZShmaWx0ZXJNZXNzYWdlQ29udGVudChpc0xvY2FsaXphdGlvbk1lc3NhZ2UpKS5zdWJzY3JpYmUoKGUpID0+IHRoaXMuaGFuZGxlRXZlbnRzKGUpKVxuICAgICk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvbG9jYWxpemF0aW9uLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFakksTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQVksRUFBbUQsRUFBRTtJQUM5RixPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLHlCQUF5QixDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUdGLE1BQU0sT0FBTyxrQ0FBa0M7SUFJN0MsWUFDWSxNQUFxQixFQUNyQixvQkFBK0MsRUFDUSxVQUE4QywyQ0FBMkM7UUFGaEosV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJCO1FBQ1EsWUFBTyxHQUFQLE9BQU8sQ0FBa0Y7UUFMcEosa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBT3pDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxZQUFZLENBQUMsT0FBNkM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOENBQThDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFM0UsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3hCLEtBQUssU0FBUyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixNQUFNO2FBQ1A7WUFDRCxLQUFLLHlCQUF5QixDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9ELE1BQU07YUFDUDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzFFO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNFQUFzRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN0SCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2tJQXZEVSxrQ0FBa0Msd0ZBT3ZCLG1DQUFtQztzSUFQOUMsa0NBQWtDOzs0RkFBbEMsa0NBQWtDO2tCQUQ5QyxVQUFVOzswQkFRTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyTWVzc2FnZUNvbnRlbnQgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdmFpbGFibGVMb2NhbGl6YXRpb25NZXNzYWdlQ29udGVudHMsIExvY2FsaXphdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgfSBmcm9tICcuL2xvY2FsaXphdGlvbi1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE90dGVyTG9jYWxpemF0aW9uRGV2dG9vbHMgfSBmcm9tICcuL2xvY2FsaXphdGlvbi1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5jb25zdCBpc0xvY2FsaXphdGlvbk1lc3NhZ2UgPSAobWVzc2FnZTogYW55KTogbWVzc2FnZSBpcyBBdmFpbGFibGVMb2NhbGl6YXRpb25NZXNzYWdlQ29udGVudHMgPT4ge1xuICByZXR1cm4gbWVzc2FnZSAmJiBtZXNzYWdlLmRhdGFUeXBlID09PSAnZGlzcGxheUxvY2FsaXphdGlvbktleXMnO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25EZXZUb29sczogT3R0ZXJMb2NhbGl6YXRpb25EZXZ0b29scyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIG9wdGlvbnM6IExvY2FsaXphdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgPSBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TKSB7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gaGFuZGxlIHRoZSBpbmNvbWluZyBtZXNzYWdlcyBmcm9tIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IEV2ZW50IGNvbWluZyBmcm9tIHRoZSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSBtZXNzYWdlXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUV2ZW50cyhtZXNzYWdlOiBBdmFpbGFibGVMb2NhbGl6YXRpb25NZXNzYWdlQ29udGVudHMpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVzc2FnZSBoYW5kbGluZyBieSB0aGUgbG9jYWxpemF0aW9uIHNlcnZpY2UnLCBtZXNzYWdlKTtcblxuICAgIHN3aXRjaCAobWVzc2FnZS5kYXRhVHlwZSkge1xuICAgICAgY2FzZSAnY29ubmVjdCc6IHtcbiAgICAgICAgdGhpcy5jb25uZWN0UGx1Z2luKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZGlzcGxheUxvY2FsaXphdGlvbktleXMnOiB7XG4gICAgICAgIHRoaXMubG9jYWxpemF0aW9uRGV2VG9vbHMuc2hvd0xvY2FsaXphdGlvbktleXMobWVzc2FnZS50b2dnbGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignTWVzc2FnZSBpZ25vcmVkIGJ5IHRoZSBsb2NhbGl6YXRpb24gc2VydmljZScsIG1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSBwbHVnaW4gdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgY29ubmVjdFBsdWdpbigpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnT3R0ZXIgRGV2VG9vbHMgaXMgcGx1Z2dlZCB0byBsb2NhbGl6YXRpb24gc2VydmljZSBvZiB0aGUgYXBwbGljYXRpb24nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdtZXNzYWdlJykucGlwZShmaWx0ZXJNZXNzYWdlQ29udGVudChpc0xvY2FsaXphdGlvbk1lc3NhZ2UpKS5zdWJzY3JpYmUoKGUpID0+IHRoaXMuaGFuZGxlRXZlbnRzKGUpKVxuICAgICk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -22,16 +22,16 @@ export class LocalizationDevtoolsModule {
22
22
  ]
23
23
  };
24
24
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsModule, imports: [LocalizationModule] }); }
27
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsModule, providers: [
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsModule, imports: [LocalizationModule] }); }
27
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsModule, providers: [
28
28
  { provide: OTTER_LOCALIZATION_DEVTOOLS_OPTIONS, useValue: OTTER_LOCALIZATION_DEVTOOLS_DEFAULT_OPTIONS },
29
29
  LocalizationDevtoolsMessageService,
30
30
  LocalizationDevtoolsConsoleService,
31
31
  OtterLocalizationDevtools
32
32
  ], imports: [LocalizationModule] }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: LocalizationDevtoolsModule, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationDevtoolsModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  imports: [
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
45
45
  ]
46
46
  }]
47
47
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldnRvb2xzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvbG9jYWxpemF0aW9uLWRldnRvb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFhakksTUFBTSxPQUFPLDBCQUEwQjtJQUVyQzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFvRDtRQUMzRSxPQUFPO1lBQ0wsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRywyQ0FBMkMsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBQ3hJLGtDQUFrQztnQkFDbEMsa0NBQWtDO2dCQUNsQyx5QkFBeUI7YUFDMUI7U0FDRixDQUFDO0lBQ0osQ0FBQztpSUFqQlUsMEJBQTBCO2tJQUExQiwwQkFBMEIsWUFUbkMsa0JBQWtCO2tJQVNULDBCQUEwQixhQVAxQjtZQUNULEVBQUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLFFBQVEsRUFBRSwyQ0FBMkMsRUFBRTtZQUN2RyxrQ0FBa0M7WUFDbEMsa0NBQWtDO1lBQ2xDLHlCQUF5QjtTQUMxQixZQVBDLGtCQUFrQjs7MkZBU1QsMEJBQTBCO2tCQVh0QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7cUJBQ25CO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxRQUFRLEVBQUUsMkNBQTJDLEVBQUU7d0JBQ3ZHLGtDQUFrQzt3QkFDbEMsa0NBQWtDO3dCQUNsQyx5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZSB9IGZyb20gJy4uL3Rvb2xzL2luZGV4JztcbmltcG9ydCB0eXBlIHsgTG9jYWxpemF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vbG9jYWxpemF0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSB9IGZyb20gJy4vbG9jYWxpemF0aW9uLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25EZXZ0b29sc01lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE90dGVyTG9jYWxpemF0aW9uRGV2dG9vbHMgfSBmcm9tICcuL2xvY2FsaXphdGlvbi1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT1RURVJfTE9DQUxJWkFUSU9OX0RFVlRPT0xTX09QVElPTlMsIHVzZVZhbHVlOiBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TIH0sXG4gICAgTG9jYWxpemF0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICBMb2NhbGl6YXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLFxuICAgIE90dGVyTG9jYWxpemF0aW9uRGV2dG9vbHNcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25EZXZ0b29sc01vZHVsZSB7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgT3R0ZXIgRGV2dG9vbHNcbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5zdHJ1bWVudChvcHRpb25zOiBQYXJ0aWFsPExvY2FsaXphdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnM+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2NhbGl6YXRpb25EZXZ0b29sc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTG9jYWxpemF0aW9uRGV2dG9vbHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfT1BUSU9OUywgdXNlVmFsdWU6IHsgLi4uT1RURVJfTE9DQUxJWkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9LCBtdWx0aTogZmFsc2UgfSxcbiAgICAgICAgTG9jYWxpemF0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICAgICAgTG9jYWxpemF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSxcbiAgICAgICAgT3R0ZXJMb2NhbGl6YXRpb25EZXZ0b29sc1xuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldnRvb2xzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvbG9jYWxpemF0aW9uLWRldnRvb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFhakksTUFBTSxPQUFPLDBCQUEwQjtJQUVyQzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFvRDtRQUMzRSxPQUFPO1lBQ0wsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRywyQ0FBMkMsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBQ3hJLGtDQUFrQztnQkFDbEMsa0NBQWtDO2dCQUNsQyx5QkFBeUI7YUFDMUI7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFqQlUsMEJBQTBCO21JQUExQiwwQkFBMEIsWUFUbkMsa0JBQWtCO21JQVNULDBCQUEwQixhQVAxQjtZQUNULEVBQUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLFFBQVEsRUFBRSwyQ0FBMkMsRUFBRTtZQUN2RyxrQ0FBa0M7WUFDbEMsa0NBQWtDO1lBQ2xDLHlCQUF5QjtTQUMxQixZQVBDLGtCQUFrQjs7NEZBU1QsMEJBQTBCO2tCQVh0QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7cUJBQ25CO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxRQUFRLEVBQUUsMkNBQTJDLEVBQUU7d0JBQ3ZHLGtDQUFrQzt3QkFDbEMsa0NBQWtDO3dCQUNsQyx5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZSB9IGZyb20gJy4uL3Rvb2xzL2luZGV4JztcbmltcG9ydCB0eXBlIHsgTG9jYWxpemF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vbG9jYWxpemF0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSB9IGZyb20gJy4vbG9jYWxpemF0aW9uLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25EZXZ0b29sc01lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE90dGVyTG9jYWxpemF0aW9uRGV2dG9vbHMgfSBmcm9tICcuL2xvY2FsaXphdGlvbi1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX0xPQ0FMSVpBVElPTl9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT1RURVJfTE9DQUxJWkFUSU9OX0RFVlRPT0xTX09QVElPTlMsIHVzZVZhbHVlOiBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TIH0sXG4gICAgTG9jYWxpemF0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICBMb2NhbGl6YXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLFxuICAgIE90dGVyTG9jYWxpemF0aW9uRGV2dG9vbHNcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25EZXZ0b29sc01vZHVsZSB7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgT3R0ZXIgRGV2dG9vbHNcbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5zdHJ1bWVudChvcHRpb25zOiBQYXJ0aWFsPExvY2FsaXphdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnM+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2NhbGl6YXRpb25EZXZ0b29sc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTG9jYWxpemF0aW9uRGV2dG9vbHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBPVFRFUl9MT0NBTElaQVRJT05fREVWVE9PTFNfT1BUSU9OUywgdXNlVmFsdWU6IHsgLi4uT1RURVJfTE9DQUxJWkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9LCBtdWx0aTogZmFsc2UgfSxcbiAgICAgICAgTG9jYWxpemF0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICAgICAgTG9jYWxpemF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSxcbiAgICAgICAgT3R0ZXJMb2NhbGl6YXRpb25EZXZ0b29sc1xuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -14,10 +14,28 @@ export class OtterLocalizationDevtools {
14
14
  showLocalizationKeys(value) {
15
15
  this.localizationService.toggleShowKeys(value);
16
16
  }
17
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OtterLocalizationDevtools, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OtterLocalizationDevtools }); }
17
+ /**
18
+ * Returns the current language
19
+ */
20
+ getCurrentLanguage() {
21
+ return this.localizationService.getCurrentLanguage();
22
+ }
23
+ /**
24
+ * Setup a listener on language change
25
+ * @param fn called when the language is changed in the app
26
+ */
27
+ onLanguageChange(fn) {
28
+ return this.localizationService
29
+ .getTranslateService()
30
+ .onLangChange
31
+ .subscribe(({ lang }) => {
32
+ fn(lang);
33
+ });
34
+ }
35
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OtterLocalizationDevtools, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OtterLocalizationDevtools }); }
19
37
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OtterLocalizationDevtools, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OtterLocalizationDevtools, decorators: [{
21
39
  type: Injectable
22
40
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldnRvb2xzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2xvY2FsaXphdGlvbi1kZXZ0b29scy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHL0MsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUM1RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixDQUFDLEtBQWU7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO2lJQVpVLHlCQUF5QjtxSUFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uL3Rvb2xzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE90dGVyTG9jYWxpemF0aW9uRGV2dG9vbHMge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSkge1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgbG9jYWxpemF0aW9uIGtleXNcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIHZhbHVlIGVuZm9yY2VkIGJ5IHRoZSBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHB1YmxpYyBzaG93TG9jYWxpemF0aW9uS2V5cyh2YWx1ZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UudG9nZ2xlU2hvd0tleXModmFsdWUpO1xuICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLWRldnRvb2xzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2xvY2FsaXphdGlvbi1kZXZ0b29scy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHL0MsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7SUFFaEU7Ozs7T0FJRztJQUNJLG9CQUFvQixDQUFDLEtBQWU7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQUMsRUFBNkI7UUFDbkQsT0FBTyxJQUFJLENBQUMsbUJBQW1CO2FBQzVCLG1CQUFtQixFQUFFO2FBQ3JCLFlBQVk7YUFDWixTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdEIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO2tJQTlCVSx5QkFBeUI7c0lBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uL3Rvb2xzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE90dGVyTG9jYWxpemF0aW9uRGV2dG9vbHMge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIFNob3cgbG9jYWxpemF0aW9uIGtleXNcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIHZhbHVlIGVuZm9yY2VkIGJ5IHRoZSBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHB1YmxpYyBzaG93TG9jYWxpemF0aW9uS2V5cyh2YWx1ZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UudG9nZ2xlU2hvd0tleXModmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50TGFuZ3VhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5nZXRDdXJyZW50TGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXR1cCBhIGxpc3RlbmVyIG9uIGxhbmd1YWdlIGNoYW5nZVxuICAgKiBAcGFyYW0gZm4gY2FsbGVkIHdoZW4gdGhlIGxhbmd1YWdlIGlzIGNoYW5nZWQgaW4gdGhlIGFwcFxuICAgKi9cbiAgcHVibGljIG9uTGFuZ3VhZ2VDaGFuZ2UoZm46IChsYW5ndWFnZTogc3RyaW5nKSA9PiBhbnkpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2VcbiAgICAgIC5nZXRUcmFuc2xhdGVTZXJ2aWNlKClcbiAgICAgIC5vbkxhbmdDaGFuZ2VcbiAgICAgIC5zdWJzY3JpYmUoKHsgbGFuZyB9KSA9PiB7XG4gICAgICAgIGZuKGxhbmcpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==