@toa.io/pointer 1.0.0-alpha.0 → 1.0.0-alpha.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toa.io/pointer",
3
- "version": "1.0.0-alpha.0",
3
+ "version": "1.0.0-alpha.2",
4
4
  "description": "Toa Pointer",
5
5
  "homepage": "https://toa.io",
6
6
  "author": {
@@ -24,9 +24,8 @@
24
24
  "main": "transpiled/index.js",
25
25
  "types": "transpiled/index.d.ts",
26
26
  "dependencies": {
27
- "@toa.io/dns": "1.0.0-alpha.0",
28
- "@toa.io/generic": "1.0.0-alpha.0",
29
- "@toa.io/schemas": "1.0.0-alpha.0"
27
+ "@toa.io/generic": "1.0.0-alpha.2",
28
+ "@toa.io/schemas": "1.0.0-alpha.2"
30
29
  },
31
30
  "scripts": {
32
31
  "transpile": "tsc"
@@ -35,5 +34,5 @@
35
34
  "preset": "ts-jest",
36
35
  "testEnvironment": "node"
37
36
  },
38
- "gitHead": "06c64546f6292cc07c52f74b31415101037f7616"
37
+ "gitHead": "7688e6e980a65c82ac2e459be4e355eebf406cd0"
39
38
  }
package/readme.md CHANGED
@@ -33,10 +33,6 @@ something:
33
33
  one: redis://redis{0-2}.example.com
34
34
  ```
35
35
 
36
- ### Deduplication
37
-
38
- Pointer values are [DNS-deduplicated](/libraries/dns/readme.md#deduplication) except `http:` schema.
39
-
40
36
  ### `default` namespace
41
37
 
42
38
  When the Pointer is used for component-specific URLs and the component is in the `default`
@@ -1,6 +1,7 @@
1
1
  import { resolve } from 'node:path'
2
2
  import * as schemas from '@toa.io/schemas'
3
3
  import { shards } from '@toa.io/generic'
4
+ import type { Schema } from '@toa.io/schemas'
4
5
  import type { URIMap } from './Deployment'
5
6
 
6
7
  export function normalize (declaration: Declaration): URIMap {
@@ -37,10 +38,10 @@ function checkCredentials (uri: string): void {
37
38
 
38
39
  if (url.username !== '' || url.password !== '')
39
40
  throw new Error(`Pointer URI '${uri}' must not contain credentials. ` +
40
- 'Please refer to the "Credentials" section in the documentation for more information.')
41
+ 'Please refer to the "Credentials" section of the documentation for more information.')
41
42
  }
42
43
 
43
44
  const path = resolve(__dirname, '../schemas/urimap.cos.yaml')
44
- const schema = schemas.schema(path)
45
+ const schema: Schema<URIMap> = schemas.schema(path)
45
46
 
46
47
  export type Declaration = string | string[] | Record<string, string | string[]> | undefined
package/source/resolve.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { dedupe } from '@toa.io/dns'
2
1
  import { nameVariable } from './naming'
3
2
  import { type AnnotationRecord, type URIMap } from './Deployment'
4
3
 
@@ -6,20 +5,17 @@ export async function resolve (id: string, selector: string): Promise<string[]>
6
5
  const variable = nameVariable(id, selector)
7
6
  const value = process.env[variable]
8
7
 
9
- if (value === undefined) throw new Error(`${variable} is not set.`)
8
+ if (value === undefined)
9
+ throw new Error(`${variable} is not set.`)
10
10
 
11
- let urls = value.split(' ')
12
-
13
- const protocol = getProtocol(urls)
14
-
15
- if (protocol !== 'http:')
16
- urls = await dedupe(urls)
11
+ const urls = value.split(' ')
17
12
 
18
13
  return withCredentials(variable, urls)
19
14
  }
20
15
 
21
16
  export function resolveRecord (uris: URIMap, selector: string): AnnotationRecord {
22
- if (selector in uris) return getRecord(uris, selector)
17
+ if (selector in uris)
18
+ return getRecord(uris, selector)
23
19
 
24
20
  const segments = selector.split('.')
25
21
 
@@ -49,12 +45,6 @@ function addCredentials (ref: string, username: string, password: string): strin
49
45
  return url.href
50
46
  }
51
47
 
52
- function getProtocol (urls: string[]): string {
53
- const url = new URL(urls[0])
54
-
55
- return url.protocol
56
- }
57
-
58
48
  function getRecord (uris: URIMap, key: string): AnnotationRecord {
59
49
  return {
60
50
  key,
@@ -0,0 +1,21 @@
1
+ import type { Variables } from '@toa.io/operations';
2
+ export declare class Deployment {
3
+ private readonly id;
4
+ private readonly annotation;
5
+ constructor(id: string, annotation: URIMap);
6
+ export(requests: Request[]): Variables;
7
+ private createVariables;
8
+ private createVariable;
9
+ private createSecrets;
10
+ private resolveRecord;
11
+ private insecure;
12
+ }
13
+ export interface Request {
14
+ group: string;
15
+ selectors: string[];
16
+ }
17
+ export interface AnnotationRecord {
18
+ key: string;
19
+ references: string[];
20
+ }
21
+ export type URIMap = Record<string, string[]>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Deployment = void 0;
4
+ const naming_1 = require("./naming");
5
+ const resolve_1 = require("./resolve");
6
+ class Deployment {
7
+ id;
8
+ annotation;
9
+ constructor(id, annotation) {
10
+ this.id = id;
11
+ this.annotation = annotation;
12
+ }
13
+ export(requests) {
14
+ const variables = {};
15
+ for (const request of requests)
16
+ variables[request.group] = this.createVariables(request.selectors);
17
+ return variables;
18
+ }
19
+ createVariables(selectors) {
20
+ const variables = [];
21
+ for (const selector of selectors) {
22
+ const variable = this.createVariable(selector);
23
+ const secrets = this.createSecrets(selector);
24
+ variables.push(variable, ...secrets);
25
+ }
26
+ return variables;
27
+ }
28
+ createVariable(selector) {
29
+ const name = (0, naming_1.nameVariable)(this.id, selector);
30
+ const { references } = this.resolveRecord(selector);
31
+ const value = references.join(' ');
32
+ return { name, value };
33
+ }
34
+ createSecrets(selector) {
35
+ const varialbes = [];
36
+ const { key, references } = this.resolveRecord(selector);
37
+ if (this.insecure(references))
38
+ return [];
39
+ for (const token of ['username', 'password']) {
40
+ const varName = (0, naming_1.nameVariable)(this.id, selector, token);
41
+ const secretName = (0, naming_1.nameSecret)(this.id, key);
42
+ varialbes.push({
43
+ name: varName,
44
+ secret: {
45
+ name: secretName,
46
+ key: token
47
+ }
48
+ });
49
+ }
50
+ return varialbes;
51
+ }
52
+ resolveRecord(selector) {
53
+ return (0, resolve_1.resolveRecord)(this.annotation, selector);
54
+ }
55
+ insecure(references) {
56
+ const reference = references[0];
57
+ const url = new URL(reference);
58
+ return insecureProtocols.includes(url.protocol);
59
+ }
60
+ }
61
+ exports.Deployment = Deployment;
62
+ const insecureProtocols = ['http:', 'https:', 'redis:'];
63
+ //# sourceMappingURL=Deployment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deployment.js","sourceRoot":"","sources":["../source/Deployment.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,uCAAyC;AAGzC,MAAa,UAAU;IACJ,EAAE,CAAQ;IACV,UAAU,CAAQ;IAEnC,YAAoB,EAAU,EAAE,UAAkB;QAChD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAE,QAAmB;QAChC,MAAM,SAAS,GAAc,EAAE,CAAA;QAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ;YAC5B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEpE,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,eAAe,CAAE,SAAmB;QAC1C,MAAM,SAAS,GAAe,EAAE,CAAA;QAEhC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAE5C,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAA;QACtC,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,cAAc,CAAE,QAAgB;QACtC,MAAM,IAAI,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAElC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACxB,CAAC;IAEO,aAAa,CAAE,QAAgB;QACrC,MAAM,SAAS,GAAe,EAAE,CAAA;QAChC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAExD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAA;QAExC,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACtD,MAAM,UAAU,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YAE3C,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACN,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,KAAK;iBACX;aACF,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,aAAa,CAAE,QAAgB;QACrC,OAAO,IAAA,uBAAa,EAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACjD,CAAC;IAEO,QAAQ,CAAE,UAAoB;QACpC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QAE9B,OAAO,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;CACF;AAvED,gCAuEC;AAYD,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { URIMap } from './Deployment';
2
+ export declare function normalize(declaration: Declaration): URIMap;
3
+ export type Declaration = string | string[] | Record<string, string | string[]> | undefined;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.normalize = void 0;
27
+ const node_path_1 = require("node:path");
28
+ const schemas = __importStar(require("@toa.io/schemas"));
29
+ const generic_1 = require("@toa.io/generic");
30
+ function normalize(declaration) {
31
+ const map = {};
32
+ if (declaration === undefined)
33
+ return map;
34
+ if (typeof declaration === 'string' || Array.isArray(declaration))
35
+ declaration = { '.': declaration };
36
+ for (const [key, value] of Object.entries(declaration))
37
+ if (typeof value === 'string')
38
+ map[key] = format([value]);
39
+ else
40
+ map[key] = format(value);
41
+ validate(map);
42
+ return map;
43
+ }
44
+ exports.normalize = normalize;
45
+ function format(values) {
46
+ return values.map(generic_1.shards).flat();
47
+ }
48
+ function validate(map) {
49
+ schema.validate(map);
50
+ for (const uris of Object.values(map))
51
+ for (const uri of uris)
52
+ checkCredentials(uri);
53
+ }
54
+ function checkCredentials(uri) {
55
+ const url = new URL(uri);
56
+ if (url.username !== '' || url.password !== '')
57
+ throw new Error(`Pointer URI '${uri}' must not contain credentials. ` +
58
+ 'Please refer to the "Credentials" section of the documentation for more information.');
59
+ }
60
+ const path = (0, node_path_1.resolve)(__dirname, '../schemas/urimap.cos.yaml');
61
+ const schema = schemas.schema(path);
62
+ //# sourceMappingURL=annotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation.js","sourceRoot":"","sources":["../source/annotation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmC;AACnC,yDAA0C;AAC1C,6CAAwC;AAIxC,SAAgB,SAAS,CAAE,WAAwB;IACjD,MAAM,GAAG,GAAW,EAAE,CAAA;IAEtB,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IAEzC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/D,WAAW,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;;YACpD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/B,QAAQ,CAAC,GAAG,CAAC,CAAA;IAEb,OAAO,GAAG,CAAA;AACZ,CAAC;AAfD,8BAeC;AAED,SAAS,MAAM,CAAE,MAAgB;IAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAM,CAAC,CAAC,IAAI,EAAE,CAAA;AAClC,CAAC;AAED,SAAS,QAAQ,CAAE,GAAW;IAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAEpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI;YACpB,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,gBAAgB,CAAE,GAAW;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAExB,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,kCAAkC;YACnE,sFAAsF,CAAC,CAAA;AAC7F,CAAC;AAED,MAAM,IAAI,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,4BAA4B,CAAC,CAAA;AAC7D,MAAM,MAAM,GAAmB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Request } from './Deployment';
2
+ import type { Variables } from '@toa.io/operations';
3
+ import type { Declaration } from './annotation';
4
+ export declare function createVariables(id: string, declaration: Declaration, requests: Request[]): Variables;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createVariables = void 0;
4
+ const Deployment_1 = require("./Deployment");
5
+ const annotation_1 = require("./annotation");
6
+ function createVariables(id, declaration, requests) {
7
+ const annotation = (0, annotation_1.normalize)(declaration);
8
+ const deployment = new Deployment_1.Deployment(id, annotation);
9
+ return deployment.export(requests);
10
+ }
11
+ exports.createVariables = createVariables;
12
+ //# sourceMappingURL=createVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createVariables.js","sourceRoot":"","sources":["../source/createVariables.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AACvD,6CAAwC;AAIxC,SAAgB,eAAe,CAC9B,EAAU,EAAE,WAAwB,EAAE,QAAmB;IACxD,MAAM,UAAU,GAAG,IAAA,sBAAS,EAAC,WAAW,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IAEjD,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACpC,CAAC;AAND,0CAMC"}
@@ -0,0 +1,6 @@
1
+ export { createVariables } from './createVariables';
2
+ export { resolve, resolveRecord } from './resolve';
3
+ export { normalize } from './annotation';
4
+ export * as naming from './naming';
5
+ export type { Declaration } from './annotation';
6
+ export type { Request, URIMap } from './Deployment';
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.naming = exports.normalize = exports.resolveRecord = exports.resolve = exports.createVariables = void 0;
27
+ var createVariables_1 = require("./createVariables");
28
+ Object.defineProperty(exports, "createVariables", { enumerable: true, get: function () { return createVariables_1.createVariables; } });
29
+ var resolve_1 = require("./resolve");
30
+ Object.defineProperty(exports, "resolve", { enumerable: true, get: function () { return resolve_1.resolve; } });
31
+ Object.defineProperty(exports, "resolveRecord", { enumerable: true, get: function () { return resolve_1.resolveRecord; } });
32
+ var annotation_1 = require("./annotation");
33
+ Object.defineProperty(exports, "normalize", { enumerable: true, get: function () { return annotation_1.normalize; } });
34
+ exports.naming = __importStar(require("./naming"));
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAmD;AAA1C,kHAAA,eAAe,OAAA;AACxB,qCAAkD;AAAzC,kGAAA,OAAO,OAAA;AAAE,wGAAA,aAAa,OAAA;AAC/B,2CAAwC;AAA/B,uGAAA,SAAS,OAAA;AAClB,mDAAkC"}
@@ -0,0 +1,2 @@
1
+ export declare function nameVariable(...segments: string[]): string;
2
+ export declare function nameSecret(...segments: string[]): string;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nameSecret = exports.nameVariable = void 0;
4
+ function nameVariable(...segments) {
5
+ return 'TOA_' + segments.join('_')
6
+ .replaceAll(/[-.]/g, '_')
7
+ .toUpperCase();
8
+ }
9
+ exports.nameVariable = nameVariable;
10
+ function nameSecret(...segments) {
11
+ return 'toa-' + segments.join('-')
12
+ .replaceAll('.', '-')
13
+ .replace(/--$/, '.default');
14
+ }
15
+ exports.nameSecret = nameSecret;
16
+ //# sourceMappingURL=naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../source/naming.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAE,GAAG,QAAkB;IACjD,OAAO,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SAC/B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;SACxB,WAAW,EAAE,CAAA;AAClB,CAAC;AAJD,oCAIC;AAED,SAAgB,UAAU,CAAE,GAAG,QAAkB;IAC/C,OAAO,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SAC/B,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAC/B,CAAC;AAJD,gCAIC"}
@@ -0,0 +1,3 @@
1
+ import { type AnnotationRecord, type URIMap } from './Deployment';
2
+ export declare function resolve(id: string, selector: string): Promise<string[]>;
3
+ export declare function resolveRecord(uris: URIMap, selector: string): AnnotationRecord;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveRecord = exports.resolve = void 0;
4
+ const naming_1 = require("./naming");
5
+ async function resolve(id, selector) {
6
+ const variable = (0, naming_1.nameVariable)(id, selector);
7
+ const value = process.env[variable];
8
+ if (value === undefined)
9
+ throw new Error(`${variable} is not set.`);
10
+ const urls = value.split(' ');
11
+ return withCredentials(variable, urls);
12
+ }
13
+ exports.resolve = resolve;
14
+ function resolveRecord(uris, selector) {
15
+ if (selector in uris)
16
+ return getRecord(uris, selector);
17
+ const segments = selector.split('.');
18
+ while (segments.pop() !== undefined) {
19
+ const current = segments.join('.');
20
+ if (current in uris)
21
+ return getRecord(uris, current);
22
+ }
23
+ if ('.' in uris)
24
+ return getRecord(uris, '.');
25
+ else
26
+ throw new Error(`Selector '${selector}' cannot be resolved.`);
27
+ }
28
+ exports.resolveRecord = resolveRecord;
29
+ function withCredentials(variable, urls) {
30
+ const username = process.env[variable + '_USERNAME'] ?? '';
31
+ const password = process.env[variable + '_PASSWORD'] ?? '';
32
+ return urls.map((url) => addCredentials(url, username, password));
33
+ }
34
+ function addCredentials(ref, username, password) {
35
+ const url = new URL(ref);
36
+ url.username = username;
37
+ url.password = password;
38
+ return url.href;
39
+ }
40
+ function getRecord(uris, key) {
41
+ return {
42
+ key,
43
+ references: uris[key]
44
+ };
45
+ }
46
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../source/resolve.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAGhC,KAAK,UAAU,OAAO,CAAE,EAAU,EAAE,QAAgB;IACzD,MAAM,QAAQ,GAAG,IAAA,qBAAY,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEnC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,cAAc,CAAC,CAAA;IAE5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AACxC,CAAC;AAVD,0BAUC;AAED,SAAgB,aAAa,CAAE,IAAY,EAAE,QAAgB;IAC3D,IAAI,QAAQ,IAAI,IAAI;QAClB,OAAO,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEpC,OAAO,QAAQ,CAAC,GAAG,EAAE,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAElC,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;;QACvC,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,uBAAuB,CAAC,CAAA;AACpE,CAAC;AAdD,sCAcC;AAED,SAAS,eAAe,CAAE,QAAgB,EAAE,IAAc;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IAE1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,cAAc,CAAE,GAAW,EAAE,QAAgB,EAAE,QAAgB;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAExB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACvB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEvB,OAAO,GAAG,CAAC,IAAI,CAAA;AACjB,CAAC;AAED,SAAS,SAAS,CAAE,IAAY,EAAE,GAAW;IAC3C,OAAO;QACL,GAAG;QACH,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC;KACtB,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../source/naming.ts","../source/resolve.ts","../../../operations/types/dependency.d.ts","../../../operations/types/index.d.ts","../source/Deployment.ts","../../schemas/types/schema.d.ts","../../schemas/types/namespace.d.ts","../../schemas/types/index.d.ts","../../generic/types/promex.d.ts","../../generic/types/merge.d.ts","../../generic/types/map.d.ts","../../generic/types/letters.d.ts","../../generic/types/index.d.ts","../source/annotation.ts","../source/createVariables.ts","../source/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/bcryptjs/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/cookie/index.d.ts","../../../node_modules/@types/cors/index.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/send/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/http-errors/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/minimatch/dist/cjs/ast.d.ts","../../../node_modules/minimatch/dist/cjs/escape.d.ts","../../../node_modules/minimatch/dist/cjs/unescape.d.ts","../../../node_modules/minimatch/dist/cjs/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-matcher-utils/node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/js-yaml/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mute-stream/index.d.ts","../../../node_modules/@types/negotiator/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/randomstring/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/ssh2-streams/index.d.ts","../../../node_modules/@types/ssh2/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/statuses/index.d.ts","../../../node_modules/@types/uuid/index.d.ts","../../../node_modules/@types/webidl-conversions/index.d.ts","../../../node_modules/@types/whatwg-url/index.d.ts","../../../node_modules/@types/wrap-ansi/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"fd1adc28ce106d6b5f7204355726a7ec922191ad5a8cc1a01841cbf9df9a7e64",{"version":"2383871ededa9745f4c3916488be087209158015b7a239936ad3aae582ab61f1","signature":"53d785402c344d04199b00b6dd00e9382cad52548ddc6c907f49157efa44cb00"},{"version":"ef52bb762ac0f1498d763a7859b2efa1e267df60ec1c5f4b450568eab9ee3ba9","signature":"e8bb99484b05d5b923363d02b6641cd2d2feac44d6f9480cf0be54f59db2c480"},"7fb2db0c433324740f8fbe131d3e8feef5b1003d4e9812398748f0febd4261da","6e77fb2250275d3945569ac61104a29927624b5a7ba0e905e7e1defd1f2ed151",{"version":"2b1905be2a43bc9b6bf5cb74e91711dad4c7589c4c746785b05e6b2e65e841ca","signature":"2790a9aa9f46374da594d045c1c92f277d74741c9adf0591353528148004cc50"},"fa8f0e2be1c4afd57834adef975c24d2072aae796f0c9ae8928edc7a59119a4b","737c0fb72ee31b95412399b944f7584a4033c553126f3675e567aeeebe9cd50a","3836f34a2657045779393e3952dd4f6a6dd47248ca4850bffb46ab4f5793ebeb","4386f08376491cdc43b83e6dc3e29173263e0e353a41863de4bc35ca14be916d","6c898f2bb237aee867bc2f89a2d9201b4c336c10320d083371ecf148bb0ffd54","937cbc9ffa856e3e4811c23481bf5416112fd6c8e6f31bbd2525cfff22fb8905","f7913adfae3602c58650945fc516db14ee8ee0ff761fd153bc7ee60089985e0a","c7c21a3a3ddc7780bd13068e7b5a723346b4d3d8ddb705c1d1ab690037d4653a",{"version":"458b1b050638c968b590dcb063c9b9c2e0611d4c02a4a23cf8d6df469183b24a","signature":"31db44390050eec522abcf9268e697fc78d609e2b5e547c51533f885b9e3c9a8"},{"version":"d83db864cb3bd848f25da1bde57751388891d666ae842ec9264ae7545439f409","signature":"ee3ed46dc8dccb018423839a1ee04b4bce7b0300d1debcaf52abbf97aaf75e87"},{"version":"5a7c558adde10e4d87c3e9c3fc95ca0b5c217dfb71d2b9415b0acf7b09245e4e","signature":"95edbe862fbb62a384d2adec2b2278c5ece55d935d382da1386c4a63057b39a5"},"923c136dcbf20f140c369078a7eb56f6697889d104397d694f70e21dd08b1810","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","dbe8bd931d343b9804d5398afb6dd6d6728975b2e23a3314bc4911f81c5e5a33","09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","ef18cbf1d8374576e3db03ff33c2c7499845972eb0c4adf87392949709c5e160","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"5a856afb15f9dc9983faa391dde989826995a33983c1cccb173e9606688e9709","affectsGlobalScope":true},"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","f5a8b7ec4b798c88679194a8ebc25dcb6f5368e6e5811fcda9fe12b0d445b8db","b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"8d6138a264ddc6f94f16e99d4e117a2d6eb31b217891cf091b6437a2f114d561","affectsGlobalScope":true},"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","0c236069ce7bded4f6774946e928e4b3601894d294054af47a553f7abcafe2c1","21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"6ec93c745c5e3e25e278fa35451bf18ef857f733de7e57c15e7920ac463baa2a","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","30c2ec6abf6aaa60eb4f32fb1235531506b7961c6d1bdc7430711aec8fd85295","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"308b84e1943ef30015469770e931eb21b795348893b2a6562ca54ea8f0b3c41c","affectsGlobalScope":true},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true},"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"24ba151e213906027e2b1f5223d33575a3612b0234a0e2b56119520bbe0e594b","affectsGlobalScope":true},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true},{"version":"0ed13c80faeb2b7160bffb4926ff299c468e67a37a645b3ae0917ba0db633c1b","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d",{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","efdced704bd09db6984a2a26e3573bc43cdc2379bdef3bcff6cff77efe8ba82b","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","dcc9081d68c2ade5c51ac7bf5f37cce630359408e713999269b77f611a30d871","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"50072f976cfa86af1a3044f55cd729d992abe39222d2f6cdf929266c77a42b0b","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","43cdd474c5aa3340da4816bb8f1ae7f3b1bcf9e70d997afc36a0f2c432378c84","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"b2fdcc3836d425833af10e536ae5491c34e218bc71870f12a401720f874b6ce4","affectsGlobalScope":true},"686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","dcefc29f25daf56cd69c0a3d3d19f51938efe1e6a15391950be43a76222ee3ed","f4694959db84d3792ca4d4e04c0bc157c4d28627cb0406c9236351f261a3f5e0","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e",{"version":"4698841dc5a91fe716dd41ec7136867bbde9a274ce21031e5ef6ce2d8a552ceb","affectsGlobalScope":true},"5b5337f28573ffdbc95c3653c4a7961d0f02fdf4788888253bf74a3b5a05443e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","85f8ebd7f245e8bf29da270e8b53dcdd17528826ffd27176c5fc7e426213ef5a","7abf54763b6709a2b72ecd1247c3cfe96f8c44fe6e7ce3897951ee8f4c394640","85976d1088db28912f61f76fd68103dd3625480f5ad5ba4c98519a81693ef717","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","12fe557e4c2d5ce9e11362f69a8d7c05d0588de4ae415afe8c5106da5c2772aa","f2f23fe34b735887db1d5597714ae37a6ffae530cafd6908c9d79d485667c956","7fae4b2bc906f3e6840725cc24affaa4e684e6c9cc20254242c5df4bede5b6f6","24112d1a55250f4da7f9edb9dabeac8e3badebdf4a55b421fc7b8ca5ccc03133","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e"],"root":[69,70,73,[82,84]],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noImplicitOverride":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99},"fileIdsList":[[77,78,79,80,159,171],[171],[69,70,72,171],[73,76,81,151,171],[72,73,82,171],[69,70,73,82,83,171],[69,73,171],[74,75,171],[74,171],[85,171],[171,202],[85,86,87,88,89,171],[85,87,171],[144,171,178,179],[144,171,178],[141,144,171,178,184,185,186],[171,180,185,187,189],[141,142,171,178,194],[142,171,178],[171,197],[171,198],[171,204,207],[171,212,214,215,216,217,218,219,220,221,222,223,224],[171,212,213,215,216,217,218,219,220,221,222,223,224],[171,213,214,215,216,217,218,219,220,221,222,223,224],[171,212,213,214,216,217,218,219,220,221,222,223,224],[171,212,213,214,215,217,218,219,220,221,222,223,224],[171,212,213,214,215,216,218,219,220,221,222,223,224],[171,212,213,214,215,216,217,219,220,221,222,223,224],[171,212,213,214,215,216,217,218,220,221,222,223,224],[171,212,213,214,215,216,217,218,219,221,222,223,224],[171,212,213,214,215,216,217,218,219,220,222,223,224],[171,212,213,214,215,216,217,218,219,220,221,223,224],[171,212,213,214,215,216,217,218,219,220,221,222,224],[171,212,213,214,215,216,217,218,219,220,221,222,223],[159,171,178],[92,171],[128,171],[129,134,162,171],[130,141,142,149,159,170,171],[130,131,141,149,171],[132,171],[133,134,142,150,171],[134,159,167,171],[135,137,141,149,171],[136,171],[137,138,171],[141,171],[139,141,171],[128,141,171],[141,142,143,159,170,171],[141,142,143,156,159,162,171],[126,171,175],[137,141,144,149,159,170,171],[141,142,144,145,149,159,167,170,171],[144,146,159,167,170,171],[92,93,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[141,147,171],[148,170,171,175],[137,141,149,159,171],[150,171],[151,171],[128,152,171],[153,169,171,175],[154,171],[155,171],[141,156,157,171],[156,158,171,173],[129,141,159,160,161,162,171],[129,159,161,171],[159,160,171],[162,171],[163,171],[128,159,171],[141,165,166,171],[165,166,171],[134,149,159,167,171],[168,171],[149,169,171],[129,144,155,170,171],[134,171],[159,171,172],[148,171,173],[171,174],[129,134,141,143,152,159,170,171,173,175],[159,171,176],[171,233,272],[171,233,257,272],[171,272],[171,233],[171,233,258,272],[171,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271],[171,258,272],[142,159,171,178,183],[144,171,178,183,188],[141,149,159,171,178,273],[171,281],[171,200,206],[171,201,205],[171,204],[171,194],[171,191,192,193],[171,203],[103,107,170,171],[103,159,170,171],[98,171],[100,103,167,170,171],[149,167,171],[171,178],[98,171,178],[100,103,149,170,171],[95,96,99,102,129,141,159,170,171],[95,101,171],[99,103,129,162,170,171,178],[129,171,178],[119,129,171,178],[97,98,171,178],[103,171],[97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125,171],[103,110,111,171],[101,103,111,112,171],[102,171],[95,98,103,171],[103,107,111,112,171],[107,171],[101,103,106,170,171],[95,100,101,103,107,110,171],[129,159,171],[98,103,119,129,171,175,178],[71,171],[72],[73],[72,73,82],[69,70,73,82,83]],"referencedMap":[[81,1],[80,2],[79,2],[78,2],[77,2],[73,3],[82,4],[83,5],[84,6],[69,2],[70,7],[76,8],[75,9],[74,2],[87,10],[85,2],[200,2],[203,11],[202,2],[90,12],[86,10],[88,13],[89,10],[91,2],[180,14],[179,15],[181,2],[182,15],[187,16],[190,17],[195,18],[196,19],[188,2],[197,2],[198,20],[199,21],[208,22],[209,2],[210,2],[211,2],[213,23],[214,24],[212,25],[215,26],[216,27],[217,28],[218,29],[219,30],[220,31],[221,32],[222,33],[223,34],[224,35],[183,2],[225,2],[226,2],[227,36],[228,2],[92,37],[93,37],[128,38],[129,39],[130,40],[131,41],[132,42],[133,43],[134,44],[135,45],[136,46],[137,47],[138,47],[140,48],[139,49],[141,50],[142,51],[143,52],[127,53],[177,2],[144,54],[145,55],[146,56],[178,57],[147,58],[148,59],[149,60],[150,61],[151,62],[152,63],[153,64],[154,65],[155,66],[156,67],[157,67],[158,68],[159,69],[161,70],[160,71],[162,72],[163,73],[164,74],[165,75],[166,76],[167,77],[168,78],[169,79],[170,80],[171,81],[172,82],[173,83],[174,84],[175,85],[176,86],[229,2],[230,2],[231,2],[185,2],[232,2],[186,2],[257,87],[258,88],[233,89],[236,89],[255,87],[256,87],[246,87],[245,90],[243,87],[238,87],[251,87],[249,87],[253,87],[237,87],[250,87],[254,87],[239,87],[240,87],[252,87],[234,87],[241,87],[242,87],[244,87],[248,87],[259,91],[247,87],[235,87],[272,92],[271,2],[266,91],[268,93],[267,91],[260,91],[261,91],[263,91],[265,91],[269,93],[270,93],[262,93],[264,93],[184,94],[189,95],[273,36],[274,96],[275,2],[276,2],[277,2],[278,2],[279,2],[280,2],[281,2],[282,97],[94,2],[201,2],[207,98],[206,99],[205,100],[191,101],[192,101],[194,102],[193,101],[204,103],[66,2],[67,2],[12,2],[13,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[4,2],[26,2],[30,2],[27,2],[28,2],[29,2],[31,2],[32,2],[33,2],[5,2],[34,2],[35,2],[36,2],[37,2],[6,2],[41,2],[38,2],[39,2],[40,2],[42,2],[7,2],[43,2],[48,2],[49,2],[44,2],[45,2],[46,2],[47,2],[8,2],[53,2],[50,2],[51,2],[52,2],[54,2],[9,2],[55,2],[56,2],[57,2],[60,2],[58,2],[59,2],[61,2],[62,2],[10,2],[1,2],[11,2],[65,2],[64,2],[68,2],[63,2],[15,2],[14,2],[110,104],[117,105],[109,104],[124,106],[101,107],[100,108],[123,109],[118,110],[121,111],[103,112],[102,113],[98,114],[97,115],[120,116],[99,117],[104,118],[105,2],[108,118],[95,2],[126,119],[125,118],[112,120],[113,121],[115,122],[111,123],[114,124],[119,109],[106,125],[107,126],[116,127],[96,128],[122,129],[71,2],[72,130]],"exportedModulesMap":[[81,1],[80,2],[79,2],[78,2],[77,2],[73,131],[82,132],[83,133],[84,134],[70,132],[76,8],[75,9],[74,2],[87,10],[85,2],[200,2],[203,11],[202,2],[90,12],[86,10],[88,13],[89,10],[91,2],[180,14],[179,15],[181,2],[182,15],[187,16],[190,17],[195,18],[196,19],[188,2],[197,2],[198,20],[199,21],[208,22],[209,2],[210,2],[211,2],[213,23],[214,24],[212,25],[215,26],[216,27],[217,28],[218,29],[219,30],[220,31],[221,32],[222,33],[223,34],[224,35],[183,2],[225,2],[226,2],[227,36],[228,2],[92,37],[93,37],[128,38],[129,39],[130,40],[131,41],[132,42],[133,43],[134,44],[135,45],[136,46],[137,47],[138,47],[140,48],[139,49],[141,50],[142,51],[143,52],[127,53],[177,2],[144,54],[145,55],[146,56],[178,57],[147,58],[148,59],[149,60],[150,61],[151,62],[152,63],[153,64],[154,65],[155,66],[156,67],[157,67],[158,68],[159,69],[161,70],[160,71],[162,72],[163,73],[164,74],[165,75],[166,76],[167,77],[168,78],[169,79],[170,80],[171,81],[172,82],[173,83],[174,84],[175,85],[176,86],[229,2],[230,2],[231,2],[185,2],[232,2],[186,2],[257,87],[258,88],[233,89],[236,89],[255,87],[256,87],[246,87],[245,90],[243,87],[238,87],[251,87],[249,87],[253,87],[237,87],[250,87],[254,87],[239,87],[240,87],[252,87],[234,87],[241,87],[242,87],[244,87],[248,87],[259,91],[247,87],[235,87],[272,92],[271,2],[266,91],[268,93],[267,91],[260,91],[261,91],[263,91],[265,91],[269,93],[270,93],[262,93],[264,93],[184,94],[189,95],[273,36],[274,96],[275,2],[276,2],[277,2],[278,2],[279,2],[280,2],[281,2],[282,97],[94,2],[201,2],[207,98],[206,99],[205,100],[191,101],[192,101],[194,102],[193,101],[204,103],[66,2],[67,2],[12,2],[13,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[4,2],[26,2],[30,2],[27,2],[28,2],[29,2],[31,2],[32,2],[33,2],[5,2],[34,2],[35,2],[36,2],[37,2],[6,2],[41,2],[38,2],[39,2],[40,2],[42,2],[7,2],[43,2],[48,2],[49,2],[44,2],[45,2],[46,2],[47,2],[8,2],[53,2],[50,2],[51,2],[52,2],[54,2],[9,2],[55,2],[56,2],[57,2],[60,2],[58,2],[59,2],[61,2],[62,2],[10,2],[1,2],[11,2],[65,2],[64,2],[68,2],[63,2],[15,2],[14,2],[110,104],[117,105],[109,104],[124,106],[101,107],[100,108],[123,109],[118,110],[121,111],[103,112],[102,113],[98,114],[97,115],[120,116],[99,117],[104,118],[105,2],[108,118],[95,2],[126,119],[125,118],[112,120],[113,121],[115,122],[111,123],[114,124],[119,109],[106,125],[107,126],[116,127],[96,128],[122,129],[71,2],[72,130]],"semanticDiagnosticsPerFile":[81,80,79,78,77,73,82,83,84,69,70,76,75,74,87,85,200,203,202,90,86,88,89,91,180,179,181,182,187,190,195,196,188,197,198,199,208,209,210,211,213,214,212,215,216,217,218,219,220,221,222,223,224,183,225,226,227,228,92,93,128,129,130,131,132,133,134,135,136,137,138,140,139,141,142,143,127,177,144,145,146,178,147,148,149,150,151,152,153,154,155,156,157,158,159,161,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,229,230,231,185,232,186,257,258,233,236,255,256,246,245,243,238,251,249,253,237,250,254,239,240,252,234,241,242,244,248,259,247,235,272,271,266,268,267,260,261,263,265,269,270,262,264,184,189,273,274,275,276,277,278,279,280,281,282,94,201,207,206,205,191,192,194,193,204,66,67,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,26,30,27,28,29,31,32,33,5,34,35,36,37,6,41,38,39,40,42,7,43,48,49,44,45,46,47,8,53,50,51,52,54,9,55,56,57,60,58,59,61,62,10,1,11,65,64,68,63,15,14,110,117,109,124,101,100,123,118,121,103,102,98,97,120,99,104,105,108,95,126,125,112,113,115,111,114,119,106,107,116,96,122,71,72]},"version":"5.3.3"}