@markuplint/ml-config 3.0.0-canary.34 → 3.0.0-dev.176

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/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <details>
10
10
  <summary>If you are installing purposely, how below:</summary>
11
11
 
12
- ```sh
12
+ ```shell
13
13
  $ npm install @markuplint/ml-config
14
14
 
15
15
  $ yarn add @markuplint/ml-config
@@ -1,3 +1,4 @@
1
- import type { Config, Nullable, AnyRule } from './types';
1
+ import type { Config, AnyRule, AnyRuleV2 } from './types';
2
+ import type { Nullable } from '@markuplint/shared';
2
3
  export declare function mergeConfig(a: Config, b: Config): Config;
3
- export declare function mergeRule(a: Nullable<AnyRule>, b: AnyRule): AnyRule;
4
+ export declare function mergeRule(a: Nullable<AnyRule | AnyRuleV2>, b: AnyRule | AnyRuleV2): AnyRule;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mergeRule = exports.mergeConfig = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
6
- const is_plain_object_1 = require("is-plain-object");
6
+ const utils_1 = require("./utils");
7
7
  function mergeConfig(a, b) {
8
8
  const config = {
9
9
  ...a,
@@ -22,59 +22,61 @@ function mergeConfig(a, b) {
22
22
  // delete all
23
23
  extends: undefined,
24
24
  };
25
- deleteUndefProp(config);
25
+ (0, utils_1.deleteUndefProp)(config);
26
26
  return config;
27
27
  }
28
28
  exports.mergeConfig = mergeConfig;
29
29
  function mergeRule(a, b) {
30
+ var _a, _b, _c;
31
+ const oA = optimizeRule(a);
32
+ const oB = optimizeRule(b);
30
33
  // Particular behavior:
31
- //
32
34
  // If the right-side value is false, return false.
33
35
  // In short; The `false` makes the rule to be disabled absolutely.
34
- if (b === false || (!isRuleConfigValue(b) && b.value === false)) {
36
+ if (oB === false || (!(0, utils_1.isRuleConfigValue)(oB) && (oB === null || oB === void 0 ? void 0 : oB.value) === false)) {
35
37
  return false;
36
38
  }
37
- if (a === undefined) {
38
- return b;
39
+ if (oA === undefined) {
40
+ return oB !== null && oB !== void 0 ? oB : {};
39
41
  }
40
- if (isRuleConfigValue(b)) {
41
- if (isRuleConfigValue(a)) {
42
- if (Array.isArray(a) && Array.isArray(b)) {
43
- return [...a, ...b];
42
+ if (oB === undefined) {
43
+ return oA;
44
+ }
45
+ if ((0, utils_1.isRuleConfigValue)(oB)) {
46
+ if ((0, utils_1.isRuleConfigValue)(oA)) {
47
+ if (Array.isArray(oA) && Array.isArray(oB)) {
48
+ return [...oA, ...oB];
44
49
  }
45
- return b;
50
+ return oB;
46
51
  }
47
- const value = Array.isArray(a.value) && Array.isArray(b) ? [...a.value, b] : b;
48
- const res = {
49
- ...a,
50
- value,
51
- };
52
- deleteUndefProp(res);
52
+ const value = Array.isArray(oA.value) && Array.isArray(oB) ? [...oA.value, ...oB] : oB;
53
+ const res = (0, utils_1.cleanOptions)({ ...oA, value });
54
+ (0, utils_1.deleteUndefProp)(res);
53
55
  return res;
54
56
  }
55
- const severity = b.severity || (!isRuleConfigValue(a) ? a.severity : undefined);
56
- const value = b.value || (isRuleConfigValue(a) ? a : a.value);
57
- const option = mergeObject(!isRuleConfigValue(a) ? a.option : undefined, b.option);
58
- const reason = b.reason || (!isRuleConfigValue(a) ? a.reason : undefined);
57
+ const severity = (_a = oB.severity) !== null && _a !== void 0 ? _a : (!(0, utils_1.isRuleConfigValue)(oA) ? oA.severity : undefined);
58
+ const value = (_b = oB.value) !== null && _b !== void 0 ? _b : ((0, utils_1.isRuleConfigValue)(oA) ? oA : oA.value);
59
+ const options = mergeObject(!(0, utils_1.isRuleConfigValue)(oA) ? oA.options : undefined, oB.options);
60
+ const reason = (_c = oB.reason) !== null && _c !== void 0 ? _c : (!(0, utils_1.isRuleConfigValue)(oA) ? oA.reason : undefined);
59
61
  const res = {
60
62
  severity,
61
63
  value,
62
- option,
64
+ options,
63
65
  reason,
64
66
  };
65
- deleteUndefProp(res);
67
+ (0, utils_1.deleteUndefProp)(res);
66
68
  return res;
67
69
  }
68
70
  exports.mergeRule = mergeRule;
69
71
  function mergeObject(a, b) {
70
72
  if (a == null) {
71
- return b || undefined;
73
+ return b !== null && b !== void 0 ? b : undefined;
72
74
  }
73
75
  if (b == null) {
74
- return a || undefined;
76
+ return a !== null && a !== void 0 ? a : undefined;
75
77
  }
76
78
  const res = (0, deepmerge_1.default)(a, b);
77
- deleteUndefProp(res);
79
+ (0, utils_1.deleteUndefProp)(res);
78
80
  return res;
79
81
  }
80
82
  function concatArray(a, b, uniquely = false, comparePropName) {
@@ -130,41 +132,37 @@ function getName(item, comparePropName) {
130
132
  }
131
133
  function mergeRules(a, b) {
132
134
  if (a == null) {
133
- return b || undefined;
135
+ return b && optimizeRules(b);
134
136
  }
135
137
  if (b == null) {
136
- return a || undefined;
138
+ return optimizeRules(a);
137
139
  }
138
- const res = { ...a };
140
+ const res = optimizeRules(a);
139
141
  for (const [key, rule] of Object.entries(b)) {
140
142
  const merged = mergeRule(res[key], rule);
141
143
  if (merged != null) {
142
144
  res[key] = merged;
143
145
  }
144
146
  }
145
- deleteUndefProp(res);
146
- return res;
147
+ (0, utils_1.deleteUndefProp)(res);
148
+ return Object.freeze(res);
147
149
  }
148
- function isRuleConfigValue(v) {
149
- switch (typeof v) {
150
- case 'string':
151
- case 'number':
152
- case 'boolean': {
153
- return true;
150
+ function optimizeRules(rules) {
151
+ const res = {};
152
+ for (const [key, rule] of Object.entries(rules)) {
153
+ const _rule = optimizeRule(rule);
154
+ if (_rule != null) {
155
+ res[key] = _rule;
154
156
  }
155
157
  }
156
- if (v === null) {
157
- return true;
158
- }
159
- return Array.isArray(v);
158
+ return res;
160
159
  }
161
- function deleteUndefProp(obj) {
162
- if (!(0, is_plain_object_1.isPlainObject)(obj)) {
160
+ function optimizeRule(rule) {
161
+ if (rule === undefined) {
163
162
  return;
164
163
  }
165
- for (const key in obj) {
166
- if (obj[key] === undefined) {
167
- delete obj[key];
168
- }
164
+ if ((0, utils_1.isRuleConfigValue)(rule)) {
165
+ return rule;
169
166
  }
167
+ return (0, utils_1.cleanOptions)(rule);
170
168
  }
package/lib/types.d.ts CHANGED
@@ -1,156 +1,203 @@
1
1
  import type { ParserOptions } from '@markuplint/ml-ast';
2
2
  import type { RegexSelector } from '@markuplint/selector';
3
+ import type { Nullable } from '@markuplint/shared';
3
4
  export type { RegexSelector } from '@markuplint/selector';
4
- export interface Config {
5
- $schema?: string;
6
- extends?: string | string[];
7
- plugins?: (PluginConfig | string)[];
8
- parser?: ParserConfig;
9
- parserOptions?: ParserOptions;
10
- specs?: SpecConfig;
11
- excludeFiles?: string[];
12
- pretenders?: Pretender[];
13
- rules?: Rules;
14
- nodeRules?: NodeRule[];
15
- childNodeRules?: ChildNodeRule[];
16
- overrides?: Record<string, Omit<Config, '$schema' | 'extends' | 'overrides'>>;
17
- }
5
+ export type Config = {
6
+ readonly $schema?: string;
7
+ readonly extends?: string | readonly string[];
8
+ readonly plugins?: readonly (PluginConfig | string)[];
9
+ readonly parser?: ParserConfig;
10
+ readonly parserOptions?: ParserOptions;
11
+ readonly specs?: SpecConfig;
12
+ readonly excludeFiles?: readonly string[];
13
+ readonly pretenders?: readonly Pretender[];
14
+ readonly rules?: Rules;
15
+ readonly nodeRules?: readonly NodeRule[];
16
+ readonly childNodeRules?: readonly ChildNodeRule[];
17
+ readonly overrides?: Readonly<Record<string, OverrideConfig>>;
18
+ };
19
+ export type PrimitiveScalar = string | number | boolean;
20
+ export type PlainData =
21
+ | Nullable<PrimitiveScalar>
22
+ | readonly PlainData[]
23
+ | {
24
+ readonly [key: string]: PlainData | any;
25
+ };
26
+ export type NonNullablePlainData =
27
+ | PrimitiveScalar
28
+ | readonly NonNullablePlainData[]
29
+ | {
30
+ readonly [key: string]: NonNullablePlainData;
31
+ };
32
+ export type OverrideConfig = Omit<Config, '$schema' | 'extends' | 'overrides'>;
18
33
  export type PluginConfig = {
19
- name: string;
20
- settings: Record<string, any>;
34
+ readonly name: string;
35
+ readonly settings: Readonly<Record<string, NonNullablePlainData>>;
36
+ };
37
+ export type ParserConfig = {
38
+ readonly [extensionPattern: string]: string;
21
39
  };
22
- export interface ParserConfig {
23
- [extensionPattern: string]: string;
24
- }
25
40
  export type SpecConfig = {
26
- [extensionPattern: string]: string;
41
+ readonly [extensionPattern: string]: string;
27
42
  };
28
43
  export type Pretender = {
29
- /**
30
- * Target node selectors
31
- */
32
- selector: string;
33
- /**
34
- * If it is a string, it is resolved as an element name.
35
- * An element has the same attributes as the pretended custom element
36
- * because attributes are just inherited.
37
- *
38
- * If it is an Object, It creates the element by that.
39
- */
40
- as: string | OriginalNode;
44
+ /**
45
+ * Target node selectors
46
+ */
47
+ readonly selector: string;
48
+ /**
49
+ * If it is a string, it is resolved as an element name.
50
+ * An element has the same attributes as the pretended custom element
51
+ * because attributes are just inherited.
52
+ *
53
+ * If it is an Object, It creates the element by that.
54
+ */
55
+ readonly as: string | OriginalNode;
41
56
  };
42
57
  export type OriginalNode = {
43
- /**
44
- * Element name
45
- */
46
- element: string;
47
- /**
48
- * Namespace
49
- *
50
- * Supports `"svg"` and `undefined` only.
51
- * If it is `undefined`, the namespace is HTML.
52
- */
53
- namespace?: 'svg';
54
- /**
55
- * Attributes
56
- */
57
- attrs?: {
58
- /**
59
- * Attribute name
60
- */
61
- name: string;
62
- /**
63
- * If it omits this property, the attribute is resolved as a boolean.
64
- */
65
- value?: string | {
66
- fromAttr: string;
67
- };
68
- }[];
69
- /**
70
- * To have attributes the defined element has.
71
- */
72
- inheritAttrs?: boolean;
73
- /**
74
- * ARIA properties
75
- */
76
- aria?: PretenderARIA;
58
+ /**
59
+ * Element name
60
+ */
61
+ readonly element: string;
62
+ /**
63
+ * Namespace
64
+ *
65
+ * Supports `"svg"` and `undefined` only.
66
+ * If it is `undefined`, the namespace is HTML.
67
+ */
68
+ readonly namespace?: 'svg';
69
+ /**
70
+ * Attributes
71
+ */
72
+ readonly attrs?: readonly {
73
+ /**
74
+ * Attribute name
75
+ */
76
+ readonly name: string;
77
+ /**
78
+ * If it omits this property, the attribute is resolved as a boolean.
79
+ */
80
+ readonly value?:
81
+ | string
82
+ | {
83
+ readonly fromAttr: string;
84
+ };
85
+ }[];
86
+ /**
87
+ * To have attributes the defined element has.
88
+ */
89
+ readonly inheritAttrs?: boolean;
90
+ /**
91
+ * ARIA properties
92
+ */
93
+ readonly aria?: PretenderARIA;
77
94
  };
78
95
  /**
79
96
  * Pretender Node ARIA properties
80
97
  */
81
98
  export type PretenderARIA = {
82
- /**
83
- * Accessible name
84
- *
85
- * - If it is `true`, it assumes the element has any text on its accessible name.
86
- * - If it specifies `fromAttr` property, it assumes the accessible name refers to the value of the attribute.
87
- */
88
- name?: boolean | {
89
- fromAttr: string;
90
- };
91
- };
92
- export type Rule<T extends RuleConfigValue, O = void> = RuleConfig<T, O> | T | boolean;
93
- export type AnyRule = Rule<RuleConfigValue, unknown>;
94
- export interface Rules {
95
- [ruleName: string]: AnyRule;
96
- }
97
- export type RuleConfig<T extends RuleConfigValue, O = void> = {
98
- severity?: Severity;
99
- value?: T;
100
- option?: O;
101
- reason?: string;
99
+ /**
100
+ * Accessible name
101
+ *
102
+ * - If it is `true`, it assumes the element has any text on its accessible name.
103
+ * - If it specifies `fromAttr` property, it assumes the accessible name refers to the value of the attribute.
104
+ */
105
+ readonly name?:
106
+ | boolean
107
+ | {
108
+ readonly fromAttr: string;
109
+ };
110
+ };
111
+ export type Rule<T extends RuleConfigValue, O extends PlainData = undefined> = RuleConfig<T, O> | Readonly<T> | boolean;
112
+ /**
113
+ * @deprecated
114
+ */
115
+ export type RuleV2<T extends RuleConfigValue, O extends PlainData = undefined> =
116
+ | RuleConfigV2<T, O>
117
+ | Readonly<T>
118
+ | boolean;
119
+ export type AnyRule = Rule<RuleConfigValue, PlainData>;
120
+ /**
121
+ * @deprecated
122
+ */
123
+ export type AnyRuleV2 = RuleV2<RuleConfigValue, PlainData>;
124
+ export type Rules = {
125
+ readonly [ruleName: string]: AnyRule;
126
+ };
127
+ export type RuleConfig<T extends RuleConfigValue, O extends PlainData = undefined> = {
128
+ readonly severity?: Severity;
129
+ readonly value?: Readonly<T>;
130
+ readonly options?: Readonly<O>;
131
+ readonly reason?: string;
132
+ };
133
+ /**
134
+ * @deprecated
135
+ */
136
+ export type RuleConfigV2<T extends RuleConfigValue, O extends PlainData = undefined> = {
137
+ readonly severity?: Severity;
138
+ readonly value?: Readonly<T>;
139
+ readonly reason?: string;
140
+ /**
141
+ * Old property
142
+ *
143
+ * @deprecated
144
+ * @see {this.options}
145
+ */
146
+ readonly option?: Readonly<O>;
102
147
  };
103
148
  export type Severity = 'error' | 'warning' | 'info';
104
- export type RuleConfigValue = string | number | boolean | any[] | null;
105
- export interface NodeRule {
106
- selector?: string;
107
- regexSelector?: RegexSelector;
108
- categories?: string[];
109
- roles?: string[];
110
- obsolete?: boolean;
111
- rules?: Rules;
112
- }
113
- export interface ChildNodeRule {
114
- selector?: string;
115
- regexSelector?: RegexSelector;
116
- inheritance?: boolean;
117
- rules?: Rules;
118
- }
119
- export type Report<T extends RuleConfigValue, O = null> = Report1<T, O> | Report2 | (Report1<T, O> & Report2);
120
- export type Report1<T extends RuleConfigValue, O = null> = {
121
- message: string;
122
- scope: Scope<T, O>;
149
+ export type RuleConfigValue = PrimitiveScalar | readonly (PrimitiveScalar | Readonly<Record<string, any>>)[] | null;
150
+ export type NodeRule = {
151
+ readonly selector?: string;
152
+ readonly regexSelector?: RegexSelector;
153
+ readonly categories?: readonly string[];
154
+ readonly roles?: readonly string[];
155
+ readonly obsolete?: boolean;
156
+ readonly rules?: Rules;
157
+ };
158
+ export type ChildNodeRule = {
159
+ readonly selector?: string;
160
+ readonly regexSelector?: RegexSelector;
161
+ readonly inheritance?: boolean;
162
+ readonly rules?: Rules;
163
+ };
164
+ export type Report<T extends RuleConfigValue, O extends PlainData = undefined> =
165
+ | Report1<T, O>
166
+ | Report2
167
+ | (Report1<T, O> & Report2);
168
+ export type Report1<T extends RuleConfigValue, O extends PlainData = undefined> = {
169
+ readonly message: string;
170
+ readonly scope: Scope<T, O>;
123
171
  };
124
172
  export type Report2 = {
125
- message: string;
126
- line: number;
127
- col: number;
128
- raw: string;
129
- };
130
- export type Scope<T extends RuleConfigValue, O = null> = {
131
- rule: RuleInfo<T, O>;
132
- startLine: number;
133
- startCol: number;
134
- raw: string;
135
- };
136
- export interface Violation {
137
- ruleId: string;
138
- severity: Severity;
139
- message: string;
140
- reason?: string;
141
- line: number;
142
- col: number;
143
- raw: string;
144
- }
145
- export interface RuleInfo<T extends RuleConfigValue, O = null> {
146
- disabled: boolean;
147
- severity: Severity;
148
- value: T;
149
- option: O;
150
- reason?: string;
151
- }
152
- export type GlobalRuleInfo<T extends RuleConfigValue, O = null> = RuleInfo<T, O> & {
153
- nodeRules: RuleInfo<T, O>[];
154
- childNodeRules: RuleInfo<T, O>[];
155
- };
156
- export type Nullable<T> = T | null | undefined;
173
+ readonly message: string;
174
+ readonly line: number;
175
+ readonly col: number;
176
+ readonly raw: string;
177
+ };
178
+ export type Scope<T extends RuleConfigValue, O extends PlainData = undefined> = {
179
+ readonly rule: RuleInfo<T, O>;
180
+ readonly startLine: number;
181
+ readonly startCol: number;
182
+ readonly raw: string;
183
+ };
184
+ export type Violation = {
185
+ readonly ruleId: string;
186
+ readonly severity: Severity;
187
+ readonly message: string;
188
+ readonly reason?: string;
189
+ readonly line: number;
190
+ readonly col: number;
191
+ readonly raw: string;
192
+ };
193
+ export type RuleInfo<T extends RuleConfigValue, O extends PlainData = undefined> = {
194
+ readonly disabled: boolean;
195
+ readonly severity: Severity;
196
+ readonly value: Readonly<T>;
197
+ readonly options: Readonly<O>;
198
+ readonly reason?: string;
199
+ };
200
+ export type GlobalRuleInfo<T extends RuleConfigValue, O extends PlainData = undefined> = RuleInfo<T, O> & {
201
+ nodeRules: RuleInfo<T, O>[];
202
+ childNodeRules: RuleInfo<T, O>[];
203
+ };
package/lib/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AnyRule } from './types';
1
+ import type { AnyRule, AnyRuleV2, PlainData, RuleConfig, RuleConfigV2, RuleConfigValue } from './types';
2
2
  /**
3
3
  * Return undefined if the template doesn't include the variable that is set as a property in data.
4
4
  * But return template string without changes if it doesn't have a variable.
@@ -6,5 +6,18 @@ import type { AnyRule } from './types';
6
6
  * @param template Mustache template string
7
7
  * @param data Captured string for replacement
8
8
  */
9
- export declare function provideValue(template: string, data: Record<string, string>): string | undefined;
10
- export declare function exchangeValueOnRule(rule: AnyRule, data: Record<string, string>): AnyRule | undefined;
9
+ export declare function provideValue(template: string, data: Readonly<Record<string, string>>): string | undefined;
10
+ export declare function exchangeValueOnRule(
11
+ rule: AnyRule | AnyRuleV2,
12
+ data: Readonly<Record<string, string>>,
13
+ ): AnyRule | undefined;
14
+ export declare function cleanOptions(
15
+ rule: RuleConfig<RuleConfigValue, PlainData> | RuleConfigV2<RuleConfigValue, PlainData>,
16
+ ): RuleConfig<RuleConfigValue, PlainData>;
17
+ export declare function isRuleConfigValue(v: any): v is RuleConfigValue;
18
+ /**
19
+ *
20
+ * @param obj
21
+ * @returns
22
+ */
23
+ export declare function deleteUndefProp(obj: any): void;
package/lib/utils.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exchangeValueOnRule = exports.provideValue = void 0;
3
+ exports.deleteUndefProp = exports.isRuleConfigValue = exports.cleanOptions = exports.exchangeValueOnRule = exports.provideValue = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const is_plain_object_1 = require("is-plain-object");
5
6
  const mustache_1 = tslib_1.__importDefault(require("mustache"));
6
7
  /**
7
8
  * Return undefined if the template doesn't include the variable that is set as a property in data.
@@ -11,8 +12,9 @@ const mustache_1 = tslib_1.__importDefault(require("mustache"));
11
12
  * @param data Captured string for replacement
12
13
  */
13
14
  function provideValue(template, data) {
15
+ var _a;
14
16
  const ast = mustache_1.default.parse(template);
15
- if (ast.length === 1 && ast[0][0] === 'text') {
17
+ if (ast.length === 1 && ((_a = ast[0]) === null || _a === void 0 ? void 0 : _a[0]) === 'text') {
16
18
  // It doesn't have a variable
17
19
  return template;
18
20
  }
@@ -26,31 +28,94 @@ function provideValue(template, data) {
26
28
  }
27
29
  exports.provideValue = provideValue;
28
30
  function exchangeValueOnRule(rule, data) {
29
- if (rule != null && typeof rule === 'object' && !Array.isArray(rule)) {
30
- if (rule.value != null) {
31
- rule = {
32
- ...rule,
33
- value: exchangeValue(rule.value, data),
34
- };
35
- }
36
- if (rule.option) {
37
- rule = {
38
- ...rule,
39
- option: exchangeOption(rule.option, data),
40
- };
31
+ if (isRuleConfigValue(rule)) {
32
+ return exchangeValue(rule, data);
33
+ }
34
+ let result = cleanOptions(rule);
35
+ if (result.value != null) {
36
+ result = {
37
+ ...result,
38
+ value: exchangeValue(result.value, data),
39
+ };
40
+ }
41
+ const options = extractOptions(result);
42
+ if (options != null && options !== '' && options !== 0) {
43
+ const newOptions = exchangeOption(options, data);
44
+ result = {
45
+ ...result,
46
+ ...(newOptions == null
47
+ ? undefined
48
+ : {
49
+ options: newOptions,
50
+ }),
51
+ };
52
+ }
53
+ if (result.reason != null) {
54
+ const exchangedValue = exchangeValue(result.reason, data);
55
+ result = {
56
+ ...result,
57
+ reason: exchangedValue != null ? `${exchangedValue}` : undefined,
58
+ };
59
+ }
60
+ deleteUndefProp(result);
61
+ return result;
62
+ }
63
+ exports.exchangeValueOnRule = exchangeValueOnRule;
64
+ function cleanOptions(rule) {
65
+ const res = {
66
+ severity: rule.severity,
67
+ value: rule.value,
68
+ options: extractOptions(rule),
69
+ reason: rule.reason,
70
+ };
71
+ deleteUndefProp(res);
72
+ return res;
73
+ }
74
+ exports.cleanOptions = cleanOptions;
75
+ function isRuleConfigValue(v) {
76
+ switch (typeof v) {
77
+ case 'string':
78
+ case 'number':
79
+ case 'boolean': {
80
+ return true;
41
81
  }
42
- if (rule.reason != null) {
43
- const exchangedValue = exchangeValue(rule.reason, data);
44
- rule = {
45
- ...rule,
46
- reason: exchangedValue ? `${exchangedValue}` : undefined,
47
- };
82
+ }
83
+ if (v === null) {
84
+ return true;
85
+ }
86
+ return Array.isArray(v);
87
+ }
88
+ exports.isRuleConfigValue = isRuleConfigValue;
89
+ /**
90
+ *
91
+ * @param obj
92
+ * @returns
93
+ */
94
+ function deleteUndefProp(obj) {
95
+ if (!(0, is_plain_object_1.isPlainObject)(obj)) {
96
+ return;
97
+ }
98
+ for (const key in obj) {
99
+ if (obj[key] === undefined) {
100
+ delete obj[key];
48
101
  }
49
- return rule;
50
102
  }
51
- return exchangeValue(rule, data);
52
103
  }
53
- exports.exchangeValueOnRule = exchangeValueOnRule;
104
+ exports.deleteUndefProp = deleteUndefProp;
105
+ /**
106
+ * Return options from `options` or `option`
107
+ *
108
+ * @param rule
109
+ * @returns
110
+ */
111
+ function extractOptions(rule) {
112
+ if ('options' in rule && rule.options != null) {
113
+ return rule.options;
114
+ }
115
+ if ('option' in rule && rule.option != null) {
116
+ return rule.option;
117
+ }
118
+ }
54
119
  function exchangeValue(rule, data) {
55
120
  if (rule == null) {
56
121
  return rule;
@@ -66,8 +131,8 @@ function exchangeValue(rule, data) {
66
131
  }
67
132
  return val;
68
133
  })
69
- .filter(item => item !== undefined);
70
- return ruleArray.length ? ruleArray : undefined;
134
+ .filter((item) => item !== undefined);
135
+ return ruleArray.length > 0 ? ruleArray : undefined;
71
136
  }
72
137
  return rule;
73
138
  }
@@ -81,7 +146,7 @@ function exchangeOption(optionValue, data) {
81
146
  if (typeof optionValue === 'string') {
82
147
  return provideValue(optionValue, data);
83
148
  }
84
- if (Array.isArray(optionValue)) {
149
+ if (isArray(optionValue)) {
85
150
  return optionValue.map(v => exchangeOption(v, data));
86
151
  }
87
152
  const result = {};
@@ -90,3 +155,16 @@ function exchangeOption(optionValue, data) {
90
155
  });
91
156
  return result;
92
157
  }
158
+ /**
159
+ * Array.isArray for ReadonlyArray
160
+ *
161
+ * > Array.isArray type narrows to any[] for ReadonlyArray<T>
162
+ *
163
+ * @see https://github.com/microsoft/TypeScript/issues/17002
164
+ *
165
+ * @param value
166
+ * @returns
167
+ */
168
+ function isArray(value) {
169
+ return Array.isArray(value);
170
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/ml-config",
3
- "version": "3.0.0-canary.34+382d1365",
3
+ "version": "3.0.0-dev.176+f6ad62e9",
4
4
  "description": "JSON Schema and TypeScript types of markuplint configure JSON",
5
5
  "repository": "git@github.com:markuplint/markuplint.git",
6
6
  "author": "Yusuke Hirao <yusukehirao@me.com>",
@@ -11,19 +11,22 @@
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
+ "typedoc": {
15
+ "entryPoint": "./src/index.ts"
16
+ },
14
17
  "scripts": {
15
18
  "build": "tsc",
16
19
  "clean": "tsc --build --clean"
17
20
  },
18
- "devDependencies": {
19
- "@markuplint/ml-ast": "3.0.0-canary.69+382d1365",
20
- "@types/mustache": "^4.2.1"
21
- },
22
21
  "dependencies": {
23
- "@markuplint/selector": "3.0.0-canary.2421+382d1365",
24
- "deepmerge": "^4.2.2",
22
+ "@markuplint/ml-ast": "3.0.0-dev.176+f6ad62e9",
23
+ "@markuplint/selector": "3.0.0-dev.176+f6ad62e9",
24
+ "@markuplint/shared": "3.5.1-dev.3129+f6ad62e9",
25
+ "@types/mustache": "^4.2.2",
26
+ "deepmerge": "^4.3.1",
25
27
  "is-plain-object": "^5.0.0",
26
- "mustache": "^4.2.0"
28
+ "mustache": "^4.2.0",
29
+ "type-fest": "^3.8.0"
27
30
  },
28
- "gitHead": "382d13653071bd02210d5430403d1a87c840398c"
31
+ "gitHead": "f6ad62e992e1569be4067f1e90d2d6017a658f57"
29
32
  }
@@ -0,0 +1,233 @@
1
+ const { mergeConfig, mergeRule } = require('../lib/merge-config');
2
+
3
+ it('test', () => {
4
+ expect(mergeConfig({}, {})).toStrictEqual({});
5
+ });
6
+
7
+ it('test', () => {
8
+ expect(
9
+ mergeConfig(
10
+ {
11
+ plugins: ['a', 'b', 'c'],
12
+ },
13
+ {
14
+ plugins: ['c', 'b', 'd'],
15
+ },
16
+ ),
17
+ ).toStrictEqual({
18
+ plugins: ['a', 'b', 'c', 'd'],
19
+ });
20
+ });
21
+
22
+ it('test', () => {
23
+ expect(
24
+ mergeConfig(
25
+ {
26
+ plugins: ['a', 'b', { name: 'c', settings: { foo: 'foo', bar: 'bar' } }],
27
+ },
28
+ {
29
+ plugins: ['c', 'b', 'd', { name: 'c', settings: { foo2: 'foo2', bar: 'bar2' } }],
30
+ },
31
+ ),
32
+ ).toStrictEqual({
33
+ plugins: [
34
+ 'a',
35
+ 'b',
36
+ {
37
+ name: 'c',
38
+ settings: {
39
+ bar: 'bar2',
40
+ foo: 'foo',
41
+ foo2: 'foo2',
42
+ },
43
+ },
44
+ 'd',
45
+ ],
46
+ });
47
+ });
48
+
49
+ it('test', () => {
50
+ expect(
51
+ mergeConfig(
52
+ {
53
+ parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
54
+ },
55
+ {
56
+ parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
57
+ },
58
+ ),
59
+ ).toStrictEqual({
60
+ parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
61
+ });
62
+ });
63
+
64
+ it('test', () => {
65
+ expect(
66
+ mergeConfig(
67
+ {
68
+ parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
69
+ },
70
+ {
71
+ parser: { '/\\.[jt]sx?$/i': '@markuplint/jsx-parser' },
72
+ },
73
+ ),
74
+ ).toStrictEqual({
75
+ parser: {
76
+ '/\\.vue$/i': '@markuplint/vue-parser',
77
+ '/\\.[jt]sx?$/i': '@markuplint/jsx-parser',
78
+ },
79
+ });
80
+ });
81
+
82
+ it('test', () => {
83
+ expect(
84
+ mergeRule(
85
+ {
86
+ value: true,
87
+ },
88
+ {},
89
+ ),
90
+ ).toStrictEqual({
91
+ value: true,
92
+ });
93
+
94
+ expect(
95
+ mergeRule(
96
+ {
97
+ value: true,
98
+ },
99
+ false,
100
+ ),
101
+ ).toStrictEqual(false);
102
+
103
+ expect(
104
+ mergeRule(
105
+ {
106
+ value: false,
107
+ },
108
+ true,
109
+ ),
110
+ ).toStrictEqual({
111
+ value: true,
112
+ });
113
+
114
+ expect(
115
+ mergeRule(
116
+ {
117
+ options: {
118
+ optional: 'OPTIONAL_VALUE',
119
+ },
120
+ },
121
+ {
122
+ options: {
123
+ optional: 'CHANGED_OPTIONAL_VALUE',
124
+ },
125
+ },
126
+ ),
127
+ ).toStrictEqual({
128
+ options: {
129
+ optional: 'CHANGED_OPTIONAL_VALUE',
130
+ },
131
+ });
132
+
133
+ expect(
134
+ mergeRule(
135
+ {
136
+ option: {
137
+ optional: 'OPTIONAL_VALUE',
138
+ },
139
+ },
140
+ {
141
+ option: {
142
+ optional: 'CHANGED_OPTIONAL_VALUE',
143
+ },
144
+ },
145
+ ),
146
+ ).toStrictEqual({
147
+ options: {
148
+ optional: 'CHANGED_OPTIONAL_VALUE',
149
+ },
150
+ });
151
+ });
152
+
153
+ it('test', () => {
154
+ expect(
155
+ mergeConfig(
156
+ {
157
+ overrides: {
158
+ a: {
159
+ rules: {
160
+ rule1: true,
161
+ },
162
+ },
163
+ },
164
+ },
165
+ {
166
+ overrides: {
167
+ a: {
168
+ rules: {
169
+ rule1: false,
170
+ },
171
+ },
172
+ b: {
173
+ rules: {
174
+ rule1: true,
175
+ },
176
+ },
177
+ },
178
+ },
179
+ ),
180
+ ).toStrictEqual({
181
+ overrides: {
182
+ a: {
183
+ rules: {
184
+ rule1: false,
185
+ },
186
+ },
187
+ b: {
188
+ rules: {
189
+ rule1: true,
190
+ },
191
+ },
192
+ },
193
+ });
194
+ });
195
+
196
+ it('test', () => {
197
+ expect(
198
+ mergeConfig(
199
+ {
200
+ rules: {
201
+ a: {
202
+ // @ts-ignore
203
+ option: {
204
+ ruleA: true,
205
+ },
206
+ },
207
+ },
208
+ },
209
+ {
210
+ rules: {
211
+ b: {
212
+ options: {
213
+ ruleB: true,
214
+ },
215
+ },
216
+ },
217
+ },
218
+ ),
219
+ ).toStrictEqual({
220
+ rules: {
221
+ a: {
222
+ options: {
223
+ ruleA: true,
224
+ },
225
+ },
226
+ b: {
227
+ options: {
228
+ ruleB: true,
229
+ },
230
+ },
231
+ },
232
+ });
233
+ });
@@ -0,0 +1,119 @@
1
+ const { exchangeValueOnRule, provideValue } = require('../lib/utils');
2
+
3
+ it('provideValue', () => {
4
+ expect(
5
+ provideValue('The name is {{ dataName }}', {
6
+ $0: 'data-hoge',
7
+ $1: 'hoge',
8
+ dataName: 'hoge',
9
+ }),
10
+ ).toBe('The name is hoge');
11
+
12
+ expect(provideValue('The name is {{ dataName }}', {})).toBeUndefined();
13
+
14
+ expect(
15
+ provideValue('No variable', {
16
+ $0: 'data-hoge',
17
+ $1: 'hoge',
18
+ dataName: 'hoge',
19
+ }),
20
+ ).toBe('No variable');
21
+ });
22
+
23
+ it('exchangeValueOnRule', () => {
24
+ expect(
25
+ exchangeValueOnRule('The name is {{ dataName }}', {
26
+ $0: 'data-hoge',
27
+ $1: 'hoge',
28
+ dataName: 'hoge',
29
+ }),
30
+ ).toBe('The name is hoge');
31
+
32
+ expect(
33
+ exchangeValueOnRule(
34
+ {
35
+ value: 'The name is {{ dataName }}',
36
+ },
37
+ {
38
+ $0: 'data-hoge',
39
+ $1: 'hoge',
40
+ dataName: 'hoge',
41
+ },
42
+ ),
43
+ ).toStrictEqual({
44
+ value: 'The name is hoge',
45
+ });
46
+
47
+ expect(
48
+ exchangeValueOnRule(
49
+ {
50
+ severity: 'error',
51
+ value: 'The name is {{ dataName }}',
52
+ reason: 'For {{ dataName }}',
53
+ },
54
+ {
55
+ $0: 'data-hoge',
56
+ $1: 'hoge',
57
+ dataName: 'hoge',
58
+ },
59
+ ),
60
+ ).toStrictEqual({
61
+ severity: 'error',
62
+ value: 'The name is hoge',
63
+ reason: 'For hoge',
64
+ });
65
+
66
+ expect(
67
+ exchangeValueOnRule(
68
+ {
69
+ value: 'The name is {{ dataName }}',
70
+ option: {
71
+ propA: 'The name is {{ dataName }}',
72
+ propB: ['The name is {{ dataName }}'],
73
+ propC: {
74
+ prop: 'The name is {{ dataName }}',
75
+ },
76
+ },
77
+ },
78
+ {
79
+ dataName: 'hoge',
80
+ },
81
+ ),
82
+ ).toStrictEqual({
83
+ value: 'The name is hoge',
84
+ options: {
85
+ propA: 'The name is hoge',
86
+ propB: ['The name is hoge'],
87
+ propC: {
88
+ prop: 'The name is hoge',
89
+ },
90
+ },
91
+ });
92
+
93
+ expect(
94
+ exchangeValueOnRule(
95
+ {
96
+ value: 'The name is {{ dataName }}',
97
+ options: {
98
+ propA: 'The name is {{ dataName }}',
99
+ propB: ['The name is {{ dataName }}'],
100
+ propC: {
101
+ prop: 'The name is {{ dataName }}',
102
+ },
103
+ },
104
+ },
105
+ {
106
+ dataName: 'hoge',
107
+ },
108
+ ),
109
+ ).toStrictEqual({
110
+ value: 'The name is hoge',
111
+ options: {
112
+ propA: 'The name is hoge',
113
+ propB: ['The name is hoge'],
114
+ propC: {
115
+ prop: 'The name is hoge',
116
+ },
117
+ },
118
+ });
119
+ });
@@ -1,3 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.json"
3
- }
@@ -1 +0,0 @@
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.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.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.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.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../ml-ast/lib/types.d.ts","../ml-ast/lib/index.d.ts","../selector/lib/types.d.ts","../selector/lib/compare-specificity.d.ts","../selector/lib/match-selector.d.ts","../ml-spec/lib/dom-traverse/accname-computation.d.ts","../ml-spec/lib/types/aria.d.ts","../ml-spec/lib/types/attributes.d.ts","../ml-spec/lib/types/permitted-structures.d.ts","../ml-spec/lib/types/index.d.ts","../ml-spec/lib/dom-traverse/get-attr-specs.d.ts","../ml-spec/lib/dom-traverse/get-computed-aria-props.d.ts","../ml-spec/lib/dom-traverse/get-computed-role.d.ts","../ml-spec/lib/dom-traverse/get-content-model.d.ts","../ml-spec/lib/dom-traverse/get-implicit-role.d.ts","../ml-spec/lib/dom-traverse/get-permitted-roles.d.ts","../ml-spec/lib/dom-traverse/get-spec.d.ts","../ml-spec/lib/dom-traverse/has-required-owned-elements.d.ts","../ml-spec/lib/dom-traverse/is-exposed.d.ts","../ml-spec/lib/dom-traverse/may-be-focusable.d.ts","../ml-spec/lib/specs/aria-specs.d.ts","../ml-spec/lib/specs/content-model-category-to-tag-names.d.ts","../ml-spec/lib/specs/get-role-spec.d.ts","../ml-spec/lib/specs/get-spec-by-tag-name.d.ts","../ml-spec/lib/specs/is-palpable-elements.d.ts","../ml-spec/lib/specs/is-void-element.d.ts","../ml-spec/lib/specs/schema-to-spec.d.ts","../ml-spec/lib/utils/resolve-namespace.d.ts","../ml-spec/lib/index.d.ts","../selector/lib/selector.d.ts","../selector/lib/create-selector.d.ts","../selector/lib/index.d.ts","./src/types.ts","../../../node_modules/deepmerge/index.d.ts","../../../node_modules/is-plain-object/is-plain-object.d.ts","./src/merge-config.ts","../../../node_modules/@types/mustache/index.d.ts","./src/utils.ts","./src/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/bcp-47/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.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/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/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/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/bonjour/index.d.ts","../../../node_modules/@types/cheerio/index.d.ts","../../../node_modules/@types/cli-color/art.d.ts","../../../node_modules/@types/cli-color/bare.d.ts","../../../node_modules/@types/cli-color/beep.d.ts","../../../node_modules/@types/cli-color/columns.d.ts","../../../node_modules/@types/cli-color/erase.d.ts","../../../node_modules/@types/cli-color/move.d.ts","../../../node_modules/@types/cli-color/get-stripped-length.d.ts","../../../node_modules/@types/cli-color/slice.d.ts","../../../node_modules/@types/cli-color/strip.d.ts","../../../node_modules/@types/cli-color/throbber.d.ts","../../../node_modules/@types/cli-color/reset.d.ts","../../../node_modules/@types/cli-color/window-size.d.ts","../../../node_modules/@types/cli-color/index.d.ts","../../../node_modules/@types/cli-progress/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../../node_modules/@types/css-tree/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/http-proxy/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/@types/jest/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/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/tough-cookie/index.d.ts","../../../node_modules/@types/jsdom/base.d.ts","../../../node_modules/@types/jsdom/ts4.0/index.d.ts","../../../node_modules/@types/jsdom/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/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/ajv/lib/ajv.d.ts","../../../node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/schema-utils/declarations/index.d.ts","../../../node_modules/tapable/tapable.d.ts","../../../node_modules/@types/mini-css-extract-plugin/node_modules/webpack/types.d.ts","../../../node_modules/@types/mini-css-extract-plugin/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/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/pug/index.d.ts","../../../node_modules/@types/retry/index.d.ts","../../../node_modules/@types/sass/index.d.ts","../../../node_modules/webpack/node_modules/@types/estree/index.d.ts","../../../node_modules/webpack/types.d.ts","../../../node_modules/@types/script-ext-html-webpack-plugin/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/serve-index/index.d.ts","../../../node_modules/@types/source-list-map/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/tapable/index.d.ts","../../../node_modules/source-map/source-map.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/@types/uuid/index.d.ts","../../../node_modules/anymatch/index.d.ts","../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../node_modules/@types/webpack-sources/lib/source.d.ts","../../../node_modules/@types/webpack-sources/lib/compatsource.d.ts","../../../node_modules/@types/webpack-sources/lib/concatsource.d.ts","../../../node_modules/@types/webpack-sources/lib/originalsource.d.ts","../../../node_modules/@types/webpack-sources/lib/prefixsource.d.ts","../../../node_modules/@types/webpack-sources/lib/rawsource.d.ts","../../../node_modules/@types/webpack-sources/lib/replacesource.d.ts","../../../node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts","../../../node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts","../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../node_modules/@types/webpack-sources/lib/cachedsource.d.ts","../../../node_modules/@types/webpack-sources/index.d.ts","../../../node_modules/@types/webpack/index.d.ts","../../../node_modules/@types/webpack-dev-server/node_modules/webpack/types.d.ts","../../../node_modules/http-proxy-middleware/dist/types.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/response-interceptor.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/fix-request-body.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/public.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/index.d.ts","../../../node_modules/http-proxy-middleware/dist/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/uri-js/dist/es5/uri.all.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/code.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/scope.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/rules.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/util.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/subschema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/errors.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/datatype.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/additionalitems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/propertynames.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/additionalproperties.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/not.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/anyof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/oneof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/if.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/limitnumber.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/multipleof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/required.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/uniqueitems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/const.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/enum.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/format/format.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedproperties.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/unevaluated/unevaluateditems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/dependentrequired.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/errors.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/json-schema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/jtd-schema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/runtime/validation_error.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/ref_error.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/core.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/resolve.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/ajv.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/webpack-dev-middleware/types/index.d.ts","../../../node_modules/chokidar/types/index.d.ts","../../../node_modules/@types/webpack-dev-server/index.d.ts","../../../node_modules/@types/whatwg-mimetype/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","51956a7c3a0ae2f92df270f27e817e4888634fc3fee101dcfb725f4d0078410a","d5c19655468e29f60c871b21e73af8ebc653f736e7123ade916f22c4a5f80ce5","5691048142da03817de98128c6155a14c2100478a3d797fd84cf5833d95d13c3","9be49acc7796aba6f46c3cc7097d3f0adbf70583bc9f30d09e7bd8becdee8877","e7827553d4f0c226ee4976e3d549a7c48d5408e3119311194f650ab8a0bcf238","30070473f3c9f82e4b9acd51775bc6e9e3d748b04e8a7228a07e2df18b88e811","8869f8ab8d542665a899a4a3b50a990339204e83cde6a702331fa8f8c408277d","b1ab411d8d9a15ed954010fdb68d9a1b3a3246c3cb0183cfc49ab4e09bfb40bc","6da6b6731855ebc3dfe18c645d1336a844c995d59d3cc196c3fce6ad0fbfe88c","fcc61ebd936bbb512116ed746ec4b55725d204d329831ed373c03adf153e8ab1","60c5fdb48b631ab3d7e30e8ae0f80132672d3fb10892f119bef8d47e860a13bb","a30581c5e37915739d2abfe2ddbf082fe9b589943485e1e2899ccd2a31afa6d1","8ceca669ca875c99809350719f0857701edef93cde0bd3d7740abdb1000e0333","e00d7ccabb6580fde8b8c284f4c957a7848e52ea7e4edef47d1df84623ff4eda","65911474b8066910597d335a85fc76d0d81d9cc38d60e65f45980167899730ce","29baf6825ade0ce8b0fbf0b42f7b4578dfd7f95ddea0619792ef5a61721d197b","352d89763b656e97cc3ce518fbf0d06bd2c22332645c0c8c95278084d1271a12","a4988ce9ea67d7f14196038494465d0c6a759ff52311926afead339052875c70","85529cf99bb51979ae50832cd6ff56f47a60d5051578f414df50ba2d069bf9d5","eb7219c3a78e654cdb8428cd042f1aae2d6bba5285ea3fa0729bc5198d46d972","2c976a874b55f496245b8760cdd19c6952a39ed1ab8ed579e254d124781244a0","fa5aa999d1c8960ff1fbe450cbf8c20f8f680a2789dd772194cc3b3653a30bcc","ed0cd9a47656338ab5d493138cfa70d91eec03b39e985d2d90e88b851f8a2889","6268110225676ea2aa34046f3ada17293521997b132c60f7ec0aca2cfe26996d","1eedff84a852080b6e5c362045fddbf93ecd11923502d62ac580149adfe04d03","ec6f216d9a6c8fdb177d86f6e940e48388444d7659ce1c2433497cac29af9be4","81054e12c7572c859059cca2652271b75d6f79b1a46257dfcd31fd2f4501d630","6b8815318689a5e1ace56bab931a872e58137625cfa4a9003597aef53f334cba","5895f1d97f8079b3e58e90e856dc7d1e2ef9a982eca0b37ae1a880075daafab9","b5f8c3a09d8d80a8b41a2f108bdc795d18ca77c41d267ef978cd8b71e4d8116d","b106759be4af4294804d71cc18466dd283e7526e92031b85dfc8df9c9164d70e","c4ea611138b4c94a41f6b482fa2049bd2c014720944ed1371f09d9eb1ca25d81",{"version":"4d57ba50f7026c772ae321ab7bba6c44b2185871248995c52301071d31015e3f","signature":"dc6a9bb98c6f84ab06ed1679e0ee5b6c5586cb2de7ecdab66749d5b2623c671c"},"f163b1edf76fbde01836f8522fbe646fe2f55e313bb7fdd363891748f9b57c60","9a4c49a0b2bf8536b1f4a72f162f807d7a23aa27a816e9cd24cc965540ba4b35",{"version":"83a3dcab0109f764bdf9f769424681b43f4352514be553bc0c4fe94491036e6c","signature":"9cebc879f5f9bb8bb528044ae54e45946514589ee9a9261b5eab2e05111841d4"},"017cfb3f6986b6b449fda402cce0f7da77820cb7000d5faf5a8b62587684031a",{"version":"147266c7de9aaedc7a746e86f3142debf35df9a4f03a6a25efbd6caeb84203ee","signature":"dc0b93e8001ac337eb07f29fb87e939698f49227541d11c6914f5a22e2bda295"},"3e846bbed6945fa695b2a999410d4096f485c254230e93e355859af8749d33dd","2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","1a7cc144992d79b062c22ac0309c6624dbb0d49bbddff7ea3b9daa0c17bcac0a","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","e2a56bb80f66ac0b6767fd7bb6b337ac3cb9cd4a368b13491e3fd1b5e26d93d6","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","d78e5898c8de5e0f934eee83f680262de005caa268d137101b833fd932f95e07",{"version":"57a1cb6f082fa2df46deaa96fa0063463b3393dd39bd09359dab251db28000b9","affectsGlobalScope":true},"a7b9533447378e7f34fa432e26be9102173e79bceb65b20d258d61c4042e90ad","d71ffe64592c4e61c6b431d8fbaff58735cd659738d788a4c8423a27f78f01b7","b869f848bec826c9d3645d10a183b905672a4675747f41700fd30e1b7e0d0308","62cc84c2971b16cc82e1f7cb1dac7d8c70b589d492fbc2f6efbcbfc53b61d514","67729b7b26e1ecf2afeb2f4a0a8c3ba16712918ef22d23bb615f033169ebe0f3","903da09dbdfea0af66cb6b7b25950e42e350f1f3cc87f3516baa553cc4de882f","e237aa7b157ebfb2699d2e3bbf07c65a8cea0382201dc44c9da006f0f730de67","05e8a403b04248dbe9eebd2025d58e95495de303f37b39f13e7562f5f414087a","a56bf5dce7c05192e4c2d95eb1527feda15f9225afea8c5ad67034a79992ebb6","fcb510be50b0756cb770f8caf321dba38ae074665efbea090584f8a8d3e6b8f4","d4c9c56a2f4ecedcc224a495dfbaee88072c8e99679504fb32ef1d0629f843a1","5ec537948044f7c0280d6175729bf7aa13deae28fe0f6346628a8cf15569aefa","94998ffb6165ce44d492327169a7f7cb0e1e11a967f068fbda6796029a4a40dd","6d8c708a5237a8508ee8553f22143a6d2fb60807de0574b41622c1e281b04c6d","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"56cbe80e6c42d7e6e66b6f048add8b01c663797b843a074d9f19c4a3d63a269a","af9abc3144d279b29affb0e6dd842609eca65fb44c712368f6a89bb264b34ef4","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","8566fa84085caa46340393b1704ecd368491918fb45bd688d6e89736aec73a2f","dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","e4b4326b61261bf5ffd6de8b4825f00eb11ebb89a51bd92663dd6e660abf4210","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","032cbd1883827ca3728c1400145403b62e65b7b584a0d2115ae538c9edec7936","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","3ad5991645bbea846d4efe615cd847e785ca30fff0205fdffb0f9a3ade3d13df",{"version":"720cc88a37751d012654b508f0588263269aaaebc3fe12320b94c6e8633a20f3","affectsGlobalScope":true},"fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa","cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","fd20dfa2434a61a87e3fa9450f9de2ed2c365ea43b17b34ac6616d90d9681381","389303117a81e90897689e7adb4b53a062e68a6fe4067088fae9552907aa28c3",{"version":"d4c4fe14b23180acf25e4a68dc3bb9e5c38233dd3de12a4ab9569e636090ac9b","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6702a1cd8818cb22ee95c85dcf2c31c117bde892e1afd2bc254bd720f4c6263c","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","7a79ca84e4370ed2e1afaa99ff7d25194901916b7672e977d16f77af3b71342f","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","721124f5db1f4a42da2308dfa1414d2e99055d2dfc59de7bf2e0b6ac64356c0e","0d7569149194d622212c21d5d162b0715d5a6ca764cebae7145fdbaff1e07311","cd74c8275483d3fe0d07a9b4bba28845a8a611f0aa399e961dbd40e5d46dd9ad","9fd94af6ff33bb25c014a4cc2dd9ffb54650176666b7831f1c85168784826ad4","4b0011a86baef7b2d7a95ce25e729c96f28c923a06cb0cbf9915135eae784aee","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","dac991ec2b7f56b1a39f74a65cca109ec9cde62df848c5bd41524030c894e341","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","d64037d2df4c89d6d2113b1aaad4b59259d448dbd8862bc20003d1caef23b1d4","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","3054859381b164f72e31f3554b795761db2f4a54208587c55bdd690af83b3bc0","44a9aadd9a9e24c7fab7f5b271c8eb89d0e6af07bbc637adae7f15f1c1b6f70e","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","acebfe99678cf7cddcddc3435222cf132052b1226e902daac9fbb495c321a9b5","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","b2f006ee835f315d01c43c0f5d9e9ad78a5870b380899877b32a33078d065dbd","9fd94af6ff33bb25c014a4cc2dd9ffb54650176666b7831f1c85168784826ad4","43a4860173cec933ed8380e55f7a4473dd0df38b43e706b492f443cd8612bd87","f90d85d4cb38445499bdb7e7b013e4f64d99d157a6fa0843e998495ceb27b520","2e178a87e7bf03a067cfb1cf5573e7c4899fcbc9f462a0b0c67d238e39b794a4","901becb8779e1089442378fda5623e607ee4588762a32e7692436f1ea81cf848","8286d84d2567b713fd6a1fdfbb1a0abc8cfa668ee1e0e83d7dd4ade5761f2750","f28dffc6bf9bbd8b9dc156aadb74d11de7faabf547eb9f0aebb8cd03e8750a6c","dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825","44a8d350600656882fd7462774e32e8d13788313ba2e36d2e8d5437ac91b98df","60bb0e47502bf8716d1230288b4e6387c1d34cded12752ab5338108e2e662e67","b8870b5155d11a273c75718a4f19026da49f91c548703858cd3400d06c3bd3b8","b3ae4ded82f27cabba780b9af9647f6e08c9a4cabe8fbb7a0cca69c7add9ef4b","8d26ae32e5c9c080e44aee4a67e5ef02b5fda0604e6fecbb7b753c537e5282d9","05c4e792dae38912ba333725cdf8c42d242337d006c0d887f4ce5a7787871a95","cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da","58ce1486f851942bd2d3056b399079bc9cb978ec933fe9833ea417e33eab676e","1a23b521db8d7ec9e2b96c6fbd4c7e96d12f408b1e03661b3b9f7da7291103e6","d3d0d11d30c9878ada3356b9c36a2754b8c7b6204a41c86bfb1488c08ce263b0","a6493f1f479637ed89a3ebec03f6dc117e3b1851d7e938ac4c8501396b8639a8","ae0951e44973e928fe2e999b11960493835d094b16adac0b085a79cff181bcb9","9d00e3a59eff68fa8c40e89953083eeaad1c5b2580ed7da2304424b249ecb237","1609ad4d488c356ee91eba7d7aa87cc6fb59bc8ac05c1a8f08665285ba3b71ad","8add088f72326098d68d622ddb024c00ae56a912383efe96b03f0481db88f7c9","dd17fe6332567b8f13e33dd3ff8926553cdcea2ad32d4350ce0063a2addaa764","4091d56a4622480549350b8811ec64c7826cd41a70ce5d9c1cc20384bb144049","353c0125b9e50c2a71e18394d46be5ccb37161cc0f0e7c69216aa6932c8cdafb","9c5d5f167e86b6ddf7142559a17d13fd39c34e868ae947c40381db866eed6609","4430dea494b0ee77bf823d9a7c4850a539e1060d5d865316bb23fb393e4f01d7","aae698ceead4edad0695b9ea87e43f274e698bdb302c8cb5fd2cab4dc496ccf0","51631e9a0c041e12479ab01f5801d8a237327d19e9ee37d5f1f66be912631425","c9d5d8adb1455f49182751ce885745dcc5f9697e9c260388bc3ae9d1860d5d10","f64289e3fa8d5719eaf5ba1bb02dd32dbbf7c603dda75c16770a6bc6e9c6b6d9","b1aa0e2e3511a8d10990f35866405c64c9e576258ef99eeb9ebafed980fd7506","2d255a5287f2fb5295688cb25bd18e1cd59866179f795f3f1fd6b71b7f0edf8f","43c1dbb78d5277a5fdd8fddce8b257f84ffa2b4253f58b95c04a310710d19e97","6c669d7e080344c1574aa276a89e57c3b9f0e97fab96a09427e7dfb19ca261bf","b71ac126853867d8e64c910f47d46d05c5ea797987d2604f63d401507dc43b6d","9a37238558d28b7ee06d08599e92eab30b90704541cc85e6448009d6d55fffa9","120b14d66a061910309ff97e7b06b5c6c09444218178b80b687a92af4d22d5dc","3de958065e3a44cbe0bfa667813bc59c63e63c9ce522af8dc1b64714910fa9ba","66e655f7c43558bae6703242cbd6c0551a94d0a97204bd4c4bbf7e77f24d1f85","72f7b32e023814078046c036ed4b7ad92414be0aebb63e805c682e14103ae38a","a89d8e67966d085ff971c9900cfa1abdd9732bab66d9c1914ecc15befdf8623d","7dfd0308261bb91b058eb91802690fe3f09192b263e070a19df4d629df29e265","608eb9d411ac76e93a10e05f8aae92b3a5cefc87594219b737df7c8737ba2bd7","cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a","3d7f9eb12aface876f7b535cc89dcd416daf77f0b3573333f16ec0a70bcf902a","93ba4ac36f570c70a12d588e21c10dda9f351fad3e77d416952acddb27bff01d","8750f9dc1e277ffff7446c95571bae61aca0984e8f99e40fc1e8cb7161ae0642","66408d81ba8962282b1a55da34c6bd767105141f54d0ba14dca330efe0c8f552","7481b9d93ca44eb1f689e0b939545ff00dead7bdb9daba401dfb74292d83f831","821e64ddbdfa10fac5f0aed1c1d4e1f275840400caa96357ddfd15d02e5afba1","1154651a6fbc1d60e448b903ec80f256f6771ced212ee1c3e5121168723621db","b0e5214ceeeb82c90f925ae53482d511c4ecabc47d74d49851f5d5d9257893aa","a7e430e32eaefba6b1ebf23a94a4562bfe7051cc83558d33ddc8ff342f3c18e9","2f495fcb913e89c0dace4a79e5bd7214c674ef8a391c8056a77a084eb3c882f9","3c71707988135662b344d59c4f92d2ea37b1f198149b762693db61e30bdaae9a","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"module":1,"noImplicitAny":true,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"strict":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":6},"fileIdsList":[[96,146,208,209,210],[146,208,209,210],[146,198,208,209,210],[96,97,98,99,100,146,208,209,210],[96,98,146,208,209,210],[121,146,153,154,208,209,210],[113,146,153,208,209,210],[146,153,208,209,210],[146,158,159,160,161,162,163,164,165,166,167,168,169,208,209,210],[118,146,153,208,209,210],[145,146,153,174,208,209,210],[121,146,153,208,209,210],[146,177,208,209,210],[146,181,182,208,209,210],[146,179,180,181,208,209,210],[118,121,146,153,172,173,208,209,210],[146,155,173,174,185,208,209,210],[119,146,153,208,209,210],[118,119,146,153,188,208,209,210],[118,121,123,126,135,145,146,153,208,209,210],[146,193,208,209,210],[146,194,208,209,210],[146,200,203,208,209,210],[146,196,202,208,209,210],[146,200,208,209,210],[146,197,201,208,209,210],[146,199,208,209,210],[118,146,148,153,206,207,209,210],[146,208,209],[146,208,210],[146,208,209,210,212,214,215,216,217,218,219,220,221,222,223,224],[146,208,209,210,212,213,215,216,217,218,219,220,221,222,223,224],[146,208,209,210,213,214,215,216,217,218,219,220,221,222,223,224],[146,208,209,210,212,213,214,216,217,218,219,220,221,222,223,224],[146,208,209,210,212,213,214,215,217,218,219,220,221,222,223,224],[146,208,209,210,212,213,214,215,216,218,219,220,221,222,223,224],[146,208,209,210,212,213,214,215,216,217,219,220,221,222,223,224],[146,208,209,210,212,213,214,215,216,217,218,220,221,222,223,224],[146,208,209,210,212,213,214,215,216,217,218,219,221,222,223,224],[146,208,209,210,212,213,214,215,216,217,218,219,220,222,223,224],[146,208,209,210,212,213,214,215,216,217,218,219,220,221,223,224],[146,208,209,210,212,213,214,215,216,217,218,219,220,221,222,224],[146,208,209,210,212,213,214,215,216,217,218,219,220,221,222,223],[146,208,209,210,225],[146,153,208,209,210,233],[107,121,126,142,146,181,208,209,210,228,230,231,232],[121,145,146,153,208,209,210,236,237],[103,146,208,209,210],[106,146,208,209,210],[107,112,146,208,209,210],[108,118,119,126,135,145,146,208,209,210],[108,109,118,126,146,208,209,210],[110,146,208,209,210],[111,112,119,127,146,208,209,210],[112,135,142,146,208,209,210],[113,115,118,126,146,208,209,210],[114,146,208,209,210],[115,116,146,208,209,210],[117,118,146,208,209,210],[118,146,208,209,210],[118,119,120,135,145,146,208,209,210],[118,119,120,135,146,208,209,210],[121,126,135,145,146,208,209,210],[118,119,121,122,126,135,142,145,146,208,209,210],[121,123,135,142,145,146,208,209,210],[103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,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,208,209,210],[118,124,146,208,209,210],[125,145,146,208,209,210],[115,118,126,135,146,208,209,210],[127,146,208,209,210],[128,146,208,209,210],[106,129,146,208,209,210],[130,144,146,150,208,209,210],[131,146,208,209,210],[132,146,208,209,210],[118,133,146,208,209,210],[133,134,146,148,208,209,210],[118,135,136,137,146,208,209,210],[135,137,146,208,209,210],[135,136,146,208,209,210],[138,146,208,209,210],[139,146,208,209,210],[118,140,141,146,208,209,210],[140,141,146,208,209,210],[112,126,135,142,146,208,209,210],[143,146,208,209,210],[126,144,146,208,209,210],[107,121,132,145,146,208,209,210],[112,146,208,209,210],[135,146,147,208,209,210],[146,148,208,209,210],[146,149,208,209,210],[107,112,118,120,129,135,145,146,148,150,208,209,210],[135,146,151,208,209,210],[146,205,208,209,210],[146,206,208,209,210],[145,146,153,208,209,210],[146,208,209,210,246],[146,208,209,210,248,287],[146,208,209,210,248,272,287],[146,208,209,210,287],[146,208,209,210,248],[146,208,209,210,248,273,287],[146,208,209,210,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286],[146,208,209,210,273,287],[119,146,186,208,209,210],[121,146,153,184,208,209,210],[146,208,209,210,292],[121,123,146,156,175,185,186,208,209,210,233,288,316,364,365],[146,153,208,209,210,297,298,299,300,301,302,303,304,305,306,307],[146,208,209,210,296,297,306],[146,208,209,210,297,306],[146,208,209,210,289,296,297,306],[146,208,209,210,296,297,298,299,300,301,302,303,304,305,307],[146,208,209,210,297],[112,146,208,209,210,296,306],[112,146,153,208,209,210,232,292,293,295,308],[146,208,209,210,368],[118,119,146,153,208,209,210,295],[121,135,146,153,208,209,210],[146,208,209,210,314],[146,208,209,210,312,313],[146,208,209,210,311,315],[121,126,145,146,153,186,192,208,209,210],[146,208,209,210,230],[146,180,208,209,210,228,229],[146,180,208,209,210,230],[146,208,209,210,321,322,326,353,354,358,360,361],[146,208,209,210,319,320],[146,208,209,210,319],[146,208,209,210,321,361],[146,208,209,210,321,322,358,359,361],[146,208,209,210,361],[146,208,209,210,318,361,362],[146,208,209,210,321,322,360,361],[146,208,209,210,321,322,324,325,360,361],[146,208,209,210,321,322,323,360,361],[146,208,209,210,321,322,326,353,354,355,356,357,360,361],[146,208,209,210,318,321,322,326,358,360],[146,208,209,210,326,361],[146,208,209,210,328,329,330,331,332,333,334,335,336,337,361],[146,208,209,210,351,361],[146,208,209,210,327,338,346,347,348,349,350,352],[146,208,209,210,331,361],[146,208,209,210,339,340,341,342,343,344,345,361],[146,180,208,209,210,317,362],[146,180,208,209,210,363],[119,121,146,153,208,209,210,246,363],[121,126,142,146,208,209,210,228,230,231,232,245],[57,146,208,209,210],[56,89,92,94,146,208,209,210],[56,89,90,91,146,208,209,210],[56,58,88,146,208,209,210],[56,89,93,146,208,209,210],[66,146,208,209,210],[65,66,146,208,209,210],[66,85,146,208,209,210],[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,146,208,209,210],[58,66,146,208,209,210],[58,63,64,65,146,208,209,210],[58,146,208,209,210],[59,146,208,209,210],[85,86,146,208,209,210],[59,60,61,87,146,208,209,210],[89],[58,88]],"referencedMap":[[98,1],[96,2],[199,3],[198,2],[101,4],[97,1],[99,5],[100,1],[102,2],[155,6],[156,7],[157,8],[158,2],[159,2],[160,2],[161,2],[162,2],[164,2],[170,9],[163,2],[168,2],[165,2],[166,2],[167,2],[169,2],[171,10],[175,11],[154,12],[176,2],[178,13],[183,14],[179,2],[182,15],[181,2],[174,16],[186,17],[187,18],[189,19],[190,18],[191,2],[192,20],[193,2],[194,21],[195,22],[204,23],[196,2],[203,24],[201,25],[202,26],[200,27],[208,28],[210,29],[209,30],[180,2],[211,2],[213,31],[214,32],[212,33],[215,34],[216,35],[217,36],[218,37],[219,38],[220,39],[221,40],[222,41],[223,42],[224,43],[226,44],[184,2],[234,45],[233,46],[188,2],[235,2],[177,2],[93,2],[237,2],[238,47],[103,48],[104,48],[106,49],[107,50],[108,51],[109,52],[110,53],[111,54],[112,55],[113,56],[114,57],[115,58],[116,58],[117,59],[118,60],[119,61],[120,62],[105,2],[152,2],[121,63],[122,64],[123,65],[153,66],[124,67],[125,68],[126,69],[127,70],[128,71],[129,72],[130,73],[131,74],[132,75],[133,76],[134,77],[135,78],[137,79],[136,80],[138,81],[139,82],[140,83],[141,84],[142,85],[143,86],[144,87],[145,88],[146,89],[147,90],[148,91],[149,92],[150,93],[151,94],[239,2],[240,2],[206,95],[205,96],[241,2],[242,2],[173,2],[172,2],[243,2],[244,97],[247,98],[272,99],[273,100],[248,101],[251,101],[270,99],[271,99],[261,99],[260,102],[258,99],[253,99],[266,99],[264,99],[268,99],[252,99],[265,99],[269,99],[254,99],[255,99],[267,99],[249,99],[256,99],[257,99],[259,99],[263,99],[274,103],[262,99],[250,99],[287,104],[286,2],[281,103],[283,105],[282,103],[275,103],[276,103],[278,103],[280,103],[284,105],[285,105],[277,105],[279,105],[288,106],[185,107],[289,2],[290,2],[291,2],[207,2],[293,108],[225,2],[294,2],[366,109],[310,46],[308,110],[307,111],[298,112],[299,113],[306,114],[300,113],[301,112],[302,112],[303,112],[304,115],[297,116],[305,111],[296,2],[309,117],[367,2],[368,2],[369,118],[229,2],[295,2],[227,2],[197,2],[365,119],[90,2],[236,120],[313,12],[315,121],[314,122],[312,12],[316,123],[311,124],[91,2],[231,125],[230,126],[228,127],[292,2],[232,2],[56,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[8,2],[48,2],[45,2],[46,2],[47,2],[49,2],[9,2],[50,2],[51,2],[52,2],[53,2],[54,2],[1,2],[10,2],[55,2],[318,2],[362,128],[319,2],[321,129],[320,130],[325,131],[360,132],[357,133],[359,134],[322,133],[323,135],[327,135],[326,136],[324,137],[358,138],[356,133],[361,139],[354,2],[355,2],[328,140],[333,133],[335,133],[330,133],[331,140],[337,133],[338,141],[329,133],[334,133],[336,133],[332,133],[352,142],[351,133],[353,143],[347,133],[349,133],[348,133],[344,133],[350,144],[345,133],[346,145],[339,133],[340,133],[341,133],[342,133],[343,133],[363,146],[317,147],[364,148],[245,2],[246,149],[58,150],[57,2],[95,151],[92,152],[89,153],[94,154],[62,2],[67,155],[68,155],[69,155],[70,156],[71,157],[72,155],[73,155],[74,155],[75,155],[76,155],[85,158],[77,155],[78,156],[79,159],[80,155],[81,155],[82,2],[83,155],[63,2],[64,2],[66,160],[65,2],[84,161],[60,162],[87,163],[88,164],[61,162],[86,162],[59,2]],"exportedModulesMap":[[98,1],[96,2],[199,3],[198,2],[101,4],[97,1],[99,5],[100,1],[102,2],[155,6],[156,7],[157,8],[158,2],[159,2],[160,2],[161,2],[162,2],[164,2],[170,9],[163,2],[168,2],[165,2],[166,2],[167,2],[169,2],[171,10],[175,11],[154,12],[176,2],[178,13],[183,14],[179,2],[182,15],[181,2],[174,16],[186,17],[187,18],[189,19],[190,18],[191,2],[192,20],[193,2],[194,21],[195,22],[204,23],[196,2],[203,24],[201,25],[202,26],[200,27],[208,28],[210,29],[209,30],[180,2],[211,2],[213,31],[214,32],[212,33],[215,34],[216,35],[217,36],[218,37],[219,38],[220,39],[221,40],[222,41],[223,42],[224,43],[226,44],[184,2],[234,45],[233,46],[188,2],[235,2],[177,2],[93,2],[237,2],[238,47],[103,48],[104,48],[106,49],[107,50],[108,51],[109,52],[110,53],[111,54],[112,55],[113,56],[114,57],[115,58],[116,58],[117,59],[118,60],[119,61],[120,62],[105,2],[152,2],[121,63],[122,64],[123,65],[153,66],[124,67],[125,68],[126,69],[127,70],[128,71],[129,72],[130,73],[131,74],[132,75],[133,76],[134,77],[135,78],[137,79],[136,80],[138,81],[139,82],[140,83],[141,84],[142,85],[143,86],[144,87],[145,88],[146,89],[147,90],[148,91],[149,92],[150,93],[151,94],[239,2],[240,2],[206,95],[205,96],[241,2],[242,2],[173,2],[172,2],[243,2],[244,97],[247,98],[272,99],[273,100],[248,101],[251,101],[270,99],[271,99],[261,99],[260,102],[258,99],[253,99],[266,99],[264,99],[268,99],[252,99],[265,99],[269,99],[254,99],[255,99],[267,99],[249,99],[256,99],[257,99],[259,99],[263,99],[274,103],[262,99],[250,99],[287,104],[286,2],[281,103],[283,105],[282,103],[275,103],[276,103],[278,103],[280,103],[284,105],[285,105],[277,105],[279,105],[288,106],[185,107],[289,2],[290,2],[291,2],[207,2],[293,108],[225,2],[294,2],[366,109],[310,46],[308,110],[307,111],[298,112],[299,113],[306,114],[300,113],[301,112],[302,112],[303,112],[304,115],[297,116],[305,111],[296,2],[309,117],[367,2],[368,2],[369,118],[229,2],[295,2],[227,2],[197,2],[365,119],[90,2],[236,120],[313,12],[315,121],[314,122],[312,12],[316,123],[311,124],[91,2],[231,125],[230,126],[228,127],[292,2],[232,2],[56,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[8,2],[48,2],[45,2],[46,2],[47,2],[49,2],[9,2],[50,2],[51,2],[52,2],[53,2],[54,2],[1,2],[10,2],[55,2],[318,2],[362,128],[319,2],[321,129],[320,130],[325,131],[360,132],[357,133],[359,134],[322,133],[323,135],[327,135],[326,136],[324,137],[358,138],[356,133],[361,139],[354,2],[355,2],[328,140],[333,133],[335,133],[330,133],[331,140],[337,133],[338,141],[329,133],[334,133],[336,133],[332,133],[352,142],[351,133],[353,143],[347,133],[349,133],[348,133],[344,133],[350,144],[345,133],[346,145],[339,133],[340,133],[341,133],[342,133],[343,133],[363,146],[317,147],[364,148],[245,2],[246,149],[58,150],[57,2],[95,151],[92,165],[89,166],[94,165],[62,2],[67,155],[68,155],[69,155],[70,156],[71,157],[72,155],[73,155],[74,155],[75,155],[76,155],[85,158],[77,155],[78,156],[79,159],[80,155],[81,155],[82,2],[83,155],[63,2],[64,2],[66,160],[65,2],[84,161],[60,162],[87,163],[88,164],[61,162],[86,162],[59,2]],"semanticDiagnosticsPerFile":[98,96,199,198,101,97,99,100,102,155,156,157,158,159,160,161,162,164,170,163,168,165,166,167,169,171,175,154,176,178,183,179,182,181,174,186,187,189,190,191,192,193,194,195,204,196,203,201,202,200,208,210,209,180,211,213,214,212,215,216,217,218,219,220,221,222,223,224,226,184,234,233,188,235,177,93,237,238,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,105,152,121,122,123,153,124,125,126,127,128,129,130,131,132,133,134,135,137,136,138,139,140,141,142,143,144,145,146,147,148,149,150,151,239,240,206,205,241,242,173,172,243,244,247,272,273,248,251,270,271,261,260,258,253,266,264,268,252,265,269,254,255,267,249,256,257,259,263,274,262,250,287,286,281,283,282,275,276,278,280,284,285,277,279,288,185,289,290,291,207,293,225,294,366,310,308,307,298,299,306,300,301,302,303,304,297,305,296,309,367,368,369,229,295,227,197,365,90,236,313,315,314,312,316,311,91,231,230,228,292,232,56,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,53,54,1,10,55,318,362,319,321,320,325,360,357,359,322,323,327,326,324,358,356,361,354,355,328,333,335,330,331,337,338,329,334,336,332,352,351,353,347,349,348,344,350,345,346,339,340,341,342,343,363,317,364,245,246,58,57,95,92,89,94,62,67,68,69,70,71,72,73,74,75,76,85,77,78,79,80,81,82,83,63,64,66,65,84,60,87,88,61,86,59],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.9.3"}