mnemonica 0.9.99785 → 0.9.99787
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 +109 -130
- package/build/api/types/InstanceCreator.js +1 -1
- package/build/api/types/InstanceModificator.js +1 -1
- package/build/api/types/Props.js +1 -1
- package/build/api/types/createInstanceModificator.js +1 -1
- package/build/api/types/index.js +1 -1
- package/build/index.js +1 -1
- package/build/types/index.js +1 -1
- package/module/index.js +14 -9
- package/package.json +17 -14
package/README.md
CHANGED
|
@@ -1,28 +1,49 @@
|
|
|
1
1
|
# mnemonica
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Instance Inheritance System for JavaScript / TypeScript.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> **Using this library?** You're in the right place. |
|
|
6
|
+
> **Contributing / modifying code?** Start with [`AGENTS.md`](./AGENTS.md).
|
|
7
|
+
> [`SKILL.md`](./SKILL.md) is a usage quick reference only (not for contributors).
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
Mnemonica builds typed prototype chains *between instances* (not just classes).
|
|
10
|
+
You declare a type with `define(name, ctor)`; new instances inherit through
|
|
11
|
+
the prototype chain from the instance they were created from. Mnemonica makes
|
|
12
|
+
the inheritance graph explicit — eliminating a class of `Object.setPrototypeOf`
|
|
13
|
+
and constructor-reuse bugs by design.
|
|
8
14
|
|
|
15
|
+
```
|
|
16
|
+
define(name, ctor) → TypeProxy → new instance.SubType()
|
|
17
|
+
│ │
|
|
18
|
+
▼ ▼
|
|
19
|
+
subtype registry InstanceCreator
|
|
20
|
+
│ │
|
|
21
|
+
▼ ▼
|
|
22
|
+
preCreation hook Mnemosyne
|
|
23
|
+
│
|
|
24
|
+
▼
|
|
25
|
+
instance with
|
|
26
|
+
prototype chain →
|
|
27
|
+
parent instance
|
|
28
|
+
│
|
|
29
|
+
▼
|
|
30
|
+
postCreation hook
|
|
31
|
+
```
|
|
9
32
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* ?. : state : **mad science**
|
|
15
|
-
* ?. : type : **asynchronous monad descriptor** => this
|
|
16
|
-
* ?. : prod ready : **we wonder about**
|
|
17
|
-
* ?. : example : **git clone && npm run example**
|
|
33
|
+
Think `f(x) ⇒ y` where `this` is a persistent data structure carrying the
|
|
34
|
+
transformation history. Stored constructor arguments stay introspectable via
|
|
35
|
+
`getProps()`, so an instance is also a record of how it was built.
|
|
18
36
|
|
|
19
|
-
---
|
|
20
37
|
[](https://coveralls.io/github/wentout/mnemonica?branch=master)
|
|
21
38
|

|
|
22
39
|

|
|
23
40
|

|
|
24
41
|
[](https://www.npmjs.com/package/mnemonica)
|
|
25
42
|
|
|
43
|
+
> Status: experimental. API is stable for the documented surface; advanced
|
|
44
|
+
> internals (`_define`, `_lookup`, `defaultCollection`) are not part of the
|
|
45
|
+
> stability contract.
|
|
46
|
+
|
|
26
47
|
---
|
|
27
48
|
|
|
28
49
|
## Table of Contents
|
|
@@ -42,9 +63,15 @@
|
|
|
42
63
|
- [Error Handling](#error-handling)
|
|
43
64
|
- [Symbols & Constants](#symbols--constants)
|
|
44
65
|
- [Configuration Options](#configuration-options)
|
|
45
|
-
- [AI Agent Usage Guide](#ai-agent-usage-guide)
|
|
46
|
-
- [Usage with TypeØmatica](#usage-with-typeomatica)
|
|
47
66
|
- [Examples](#examples)
|
|
67
|
+
- [Usage with TypeØmatica](#usage-with-typeomatica)
|
|
68
|
+
- [Roadmap](#roadmap)
|
|
69
|
+
- [Contributing](#contributing)
|
|
70
|
+
- [License](#license)
|
|
71
|
+
|
|
72
|
+
> AI agent integration guidance (introspection patterns, type discovery,
|
|
73
|
+
> safe construction) lives in [AGENTS.md](AGENTS.md). It is kept separate
|
|
74
|
+
> from the user-facing API reference.
|
|
48
75
|
|
|
49
76
|
---
|
|
50
77
|
|
|
@@ -78,7 +105,21 @@ Think of it as a mathematical function `f(x) => y` where `this` is your persiste
|
|
|
78
105
|
npm install mnemonica
|
|
79
106
|
```
|
|
80
107
|
|
|
81
|
-
**Requirements:** Node.js
|
|
108
|
+
**Requirements:** Node.js `>=18 <26` (tested on 20.x, 22.x, 24.x in CI).
|
|
109
|
+
|
|
110
|
+
### From a Git checkout
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
git clone https://github.com/wentout/mnemonica.git
|
|
114
|
+
cd mnemonica
|
|
115
|
+
npm ci
|
|
116
|
+
npm run build # compiles src/ → build/
|
|
117
|
+
npm run test:cov # mocha + coverage
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
The ESM entry point (`mnemonica/module`) re-exports the CommonJS build, so
|
|
121
|
+
`npm run build` must succeed before `import 'mnemonica/module'` works from
|
|
122
|
+
a fresh checkout.
|
|
82
123
|
|
|
83
124
|
---
|
|
84
125
|
|
|
@@ -973,116 +1014,29 @@ user.age = 25; // ✓ Works - number to number
|
|
|
973
1014
|
user.age = '25'; // ✗ TypeError: Type Mismatch at runtime!
|
|
974
1015
|
```
|
|
975
1016
|
|
|
976
|
-
For complete documentation including integration patterns, error handling, and advanced usage, see [
|
|
1017
|
+
For complete documentation including integration patterns, error handling, and advanced usage, see [docs/typeomatica.md](docs/typeomatica.md).
|
|
977
1018
|
|
|
978
1019
|
---
|
|
979
1020
|
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
### 1. Type Introspection
|
|
985
|
-
|
|
986
|
-
Use `utils.parse(instance)` to understand instance structure:
|
|
987
|
-
|
|
988
|
-
```js
|
|
989
|
-
const { utils: { parse } } = require('mnemonica');
|
|
990
|
-
|
|
991
|
-
const parsed = parse(instance);
|
|
992
|
-
// Returns: { name, props, self, proto, joint, parent, constructor }
|
|
993
|
-
```
|
|
994
|
-
|
|
995
|
-
### 2. Safe Property Access
|
|
996
|
-
|
|
997
|
-
Always use `getProps()` instead of direct property access:
|
|
998
|
-
|
|
999
|
-
```js
|
|
1000
|
-
const { getProps } = require('mnemonica');
|
|
1001
|
-
|
|
1002
|
-
const props = getProps(instance);
|
|
1003
|
-
// props.__type__, props.__args__, props.__parent__, props.__subtypes__, etc.
|
|
1004
|
-
```
|
|
1005
|
-
|
|
1006
|
-
### 3. Type Discovery
|
|
1007
|
-
|
|
1008
|
-
```js
|
|
1009
|
-
const { defaultTypes } = require('mnemonica');
|
|
1010
|
-
|
|
1011
|
-
// List all types in default collection
|
|
1012
|
-
const typeNames = [...defaultTypes.subtypes.keys()];
|
|
1013
|
-
|
|
1014
|
-
// List subtypes of a specific type
|
|
1015
|
-
const myType = defaultTypes.MyType;
|
|
1016
|
-
const subTypeNames = [...myType.subtypes.keys()];
|
|
1017
|
-
|
|
1018
|
-
// Check if a type exists
|
|
1019
|
-
const hasType = defaultTypes.lookup('MyType') !== undefined;
|
|
1020
|
-
```
|
|
1021
|
-
|
|
1022
|
-
### 4. Instance Traversal
|
|
1023
|
-
|
|
1024
|
-
```js
|
|
1025
|
-
const { getProps } = require('mnemonica');
|
|
1021
|
+
> **AI agent guidance.** Patterns for type introspection, safe property
|
|
1022
|
+
> access, type discovery, instance traversal, and safe construction live
|
|
1023
|
+
> in [AGENTS.md](AGENTS.md). They are not duplicated here.
|
|
1026
1024
|
|
|
1027
|
-
|
|
1028
|
-
function traverseChain(instance) {
|
|
1029
|
-
const chain = [];
|
|
1030
|
-
let current = instance;
|
|
1031
|
-
|
|
1032
|
-
while (current) {
|
|
1033
|
-
const props = getProps(current);
|
|
1034
|
-
if (!props) break;
|
|
1035
|
-
|
|
1036
|
-
chain.push({
|
|
1037
|
-
typeName: props.__type__.TypeName,
|
|
1038
|
-
timestamp: props.__timestamp__,
|
|
1039
|
-
args: props.__args__
|
|
1040
|
-
});
|
|
1041
|
-
|
|
1042
|
-
current = props.__parent__;
|
|
1043
|
-
}
|
|
1044
|
-
|
|
1045
|
-
return chain;
|
|
1046
|
-
}
|
|
1047
|
-
```
|
|
1048
|
-
|
|
1049
|
-
### 5. Safe Construction Patterns
|
|
1050
|
-
|
|
1051
|
-
```js
|
|
1052
|
-
const { lookup } = require('mnemonica');
|
|
1053
|
-
|
|
1054
|
-
// Always check if type exists before construction
|
|
1055
|
-
const MyType = lookup('MyType');
|
|
1056
|
-
if (MyType) {
|
|
1057
|
-
const instance = new MyType(data);
|
|
1058
|
-
}
|
|
1025
|
+
---
|
|
1059
1026
|
|
|
1060
|
-
|
|
1061
|
-
try {
|
|
1062
|
-
const subInstance = new instance.SubType(data);
|
|
1063
|
-
} catch (error) {
|
|
1064
|
-
// Handle WRONG_MODIFICATION_PATTERN if SubType not defined
|
|
1065
|
-
console.error('Subtype not available:', error.message);
|
|
1066
|
-
}
|
|
1067
|
-
```
|
|
1027
|
+
## Examples
|
|
1068
1028
|
|
|
1069
|
-
|
|
1029
|
+
Runnable scripts in [`examples/`](examples/) demonstrate edge cases and
|
|
1030
|
+
integration patterns. See [examples/README.md](examples/README.md). Quick
|
|
1031
|
+
runners are wired up in `package.json`:
|
|
1070
1032
|
|
|
1071
|
-
```
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
return {
|
|
1076
|
-
name: typeConstructor.TypeName,
|
|
1077
|
-
isSubType: typeConstructor.isSubType,
|
|
1078
|
-
subTypesCount: typeConstructor.subtypes?.size || 0,
|
|
1079
|
-
hasHooks: Object.keys(typeConstructor.hooks || {}).length > 0,
|
|
1080
|
-
config: typeConstructor.config
|
|
1081
|
-
};
|
|
1082
|
-
}
|
|
1033
|
+
```bash
|
|
1034
|
+
npm run example:async # async constructor edge case
|
|
1035
|
+
npm run example:rename # constructor renaming via Object.defineProperty
|
|
1036
|
+
npm run example:v8bug # documents a Node 22 .stack/.hasOwn divergence
|
|
1083
1037
|
```
|
|
1084
1038
|
|
|
1085
|
-
###
|
|
1039
|
+
### Working with Collections
|
|
1086
1040
|
|
|
1087
1041
|
```js
|
|
1088
1042
|
const { createTypesCollection, defaultTypes } = require('mnemonica');
|
|
@@ -1102,10 +1056,6 @@ testCollection.registerHook('preCreation', (data) => {
|
|
|
1102
1056
|
});
|
|
1103
1057
|
```
|
|
1104
1058
|
|
|
1105
|
-
---
|
|
1106
|
-
|
|
1107
|
-
## Examples
|
|
1108
|
-
|
|
1109
1059
|
### Asynchronous Constructors
|
|
1110
1060
|
|
|
1111
1061
|
```js
|
|
@@ -1169,22 +1119,51 @@ const merged = merge(instanceA, instanceB, 'args');
|
|
|
1169
1119
|
|
|
1170
1120
|
---
|
|
1171
1121
|
|
|
1172
|
-
##
|
|
1122
|
+
## Roadmap
|
|
1123
|
+
|
|
1124
|
+
Items below are designed but **not yet shipped**. They are documented here
|
|
1125
|
+
so consumers can avoid relying on them prematurely.
|
|
1126
|
+
|
|
1127
|
+
### Nested `lookupTyped()`
|
|
1128
|
+
|
|
1129
|
+
**Problem.** Global `lookupTyped('Parent.Child')` returns a constructor
|
|
1130
|
+
*without* the parent in the prototype chain — that breaks instance
|
|
1131
|
+
inheritance.
|
|
1132
|
+
|
|
1133
|
+
**Planned.** A type-safe `.lookupTyped()` method on constructors for
|
|
1134
|
+
relative lookups that preserve the chain:
|
|
1135
|
+
|
|
1136
|
+
```typescript
|
|
1137
|
+
const GraphNode2D = Scene2D.lookupTyped('GraphNode2D');
|
|
1138
|
+
const node = new GraphNode2D({ x: 10, y: 20 });
|
|
1139
|
+
// node has Scene2D in its prototype chain
|
|
1140
|
+
```
|
|
1141
|
+
|
|
1142
|
+
This requires a `NestedTypeRegistry` interface augmentation alongside
|
|
1143
|
+
`TypeRegistry` and is generated by [tactica](https://www.npmjs.com/package/typeomatica).
|
|
1173
1144
|
|
|
1174
|
-
|
|
1145
|
+
---
|
|
1146
|
+
|
|
1147
|
+
## Contributing
|
|
1175
1148
|
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
* and even `.parse` them using `mnemonica.utils.parse`
|
|
1149
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for branch model, commit style, and
|
|
1150
|
+
the local build/test loop. Repository conventions, code style, and agent
|
|
1151
|
+
rules live in [AGENTS.md](AGENTS.md). Release notes live in
|
|
1152
|
+
[CHANGELOG.md](CHANGELOG.md).
|
|
1181
1153
|
|
|
1182
|
-
|
|
1154
|
+
**Related reading:**
|
|
1155
|
+
- [Inheritance in JavaScript: Factory of Constructors with Prototype Chain](https://github.com/mythographica/stash/blob/master/inheritance.md)
|
|
1156
|
+
- [Architecture of Prototype Inheritance in JavaScript](https://dev.to/wentout/architecture-of-prototype-inheritance-in-javascript-ce6)
|
|
1157
|
+
- [Dead Simple type checker for JavaScript](https://dev.to/wentout/dead-simple-type-checker-for-javascript-4l40)
|
|
1183
1158
|
|
|
1184
1159
|
---
|
|
1185
1160
|
|
|
1186
1161
|
## License
|
|
1187
1162
|
|
|
1188
|
-
MIT
|
|
1163
|
+
MIT — Copyright (c) 2019 https://github.com/wentout
|
|
1189
1164
|
|
|
1190
|
-
|
|
1165
|
+
---
|
|
1166
|
+
|
|
1167
|
+
> *"O Great Mnemosyne! Please! Save us from Oblivion..."*
|
|
1168
|
+
>
|
|
1169
|
+
> — from the source, where memory persists
|
|
@@ -209,4 +209,4 @@ exports.InstanceCreator = function (type, existentInstance, args, chained) {
|
|
|
209
209
|
return self.inheritedInstance;
|
|
210
210
|
};
|
|
211
211
|
Object.assign(exports.InstanceCreator.prototype, InstanceCreatorPrototype);
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdGFuY2VDcmVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9JbnN0YW5jZUNyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWSxDQUFDOzs7QUFJYiwrQ0FFeUI7QUFFekIsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsR0FBRyxxQkFBUyxDQUFDO0FBRWQscURBQXVEO0FBQ3ZELE1BQU0sRUFDTCwwQkFBMEIsR0FDMUIsR0FBRyxvQkFBVyxDQUFDO0FBRWhCLG9DQUFrQztBQUNsQyxNQUFNLEVBQ0wscUJBQXFCLEVBQ3JCLHdCQUF3QixHQUN4QixHQUFHLGVBQVUsQ0FBQztBQUVmLHNDQUFxQztBQUNyQyw2RUFBMEU7QUFFMUUsbUNBQXFEO0FBRXJELCtEQUFnRTtBQUNoRSwrQ0FBNEM7QUFJNUMsTUFBTSxjQUFjLEdBQUc7SUFFdEIsTUFBTSxFQUNMLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsSUFBSSxFQUNKLG1CQUFtQixFQUNuQixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sRUFDTCxVQUFVLEdBQ1YsR0FBRyxJQUFJLENBQUM7SUFFVCxNQUFNLFFBQVEsR0FBRztRQUNoQixJQUFJO1FBQ0osZ0JBQWdCO1FBQ2hCLElBQUk7UUFDSixtQkFBbUI7S0FDbkIsQ0FBQztJQUVGLFVBQVUsQ0FBQyxVQUFVLENBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBRSxDQUFDO0lBRWpELElBQUksQ0FBQyxVQUFVLENBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBRSxDQUFDO0FBRTVDLENBQUMsQ0FBQztBQUlGLE1BQU0sZUFBZSxHQUFHO0lBR3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztJQUNyQixNQUFNLEVBQ0wsaUJBQWlCLEdBQ2pCLEdBQUcsT0FBTyxDQUFDO0lBRVosTUFBTSxLQUFLLEdBQUcsSUFBQSxpQkFBUyxFQUFDLGlCQUFpQixDQUFVLENBQUM7SUFFcEQsTUFB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QWlCLEdBQUcsTUFBTSxDQUFDO1FBRWpDLENBQUM7UUFBQyxPQUFRLEtBQUssRUFBRyxDQUFDO1lBRWxCLElBQUksQ0FBQyxzQkFBc0IsQ0FBRSxLQUFLLENBQUUsQ0FBQztRQUV0QyxDQUFDO0lBRUYsQ0FBQztTQUFNLENBQUM7UUFHUCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBRSxHQUFHLElBQUksQ0FBRSxDQUFDO1FBRXZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7SUFFakMsQ0FBQztJQUdELElBQUssSUFBSSxDQUFDLGlCQUFpQixZQUFZLE9BQU8sRUFBRyxDQUFDO1FBRWpELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUUsSUFBSSxDQUFFLENBQUM7UUFFeEMsR0FBRyxDQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRTtZQUNuQyxHQUFHO2dCQUNGLE9BQU8sUUFBUSxDQUFDO1lBQ2pCLENBQUM7U0FDRCxDQUFFLENBQUM7UUFFSixPQUFPLE1BQU0sQ0FBQztJQUVmLENBQUM7SUFFRCxJQUFJLENBQUMsY0FBYyxDQUFFLElBQUksQ0FBRSxDQUFDO0lBRTVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0FBRS9CLENBQW1ELENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sQ0FBRSx1QkFBZSxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsQ0FBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiICBcbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgX0ludGVybmFsX1RDXyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHtcblx0Y29uc3RhbnRzXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWVcbn0gPSBjb25zdGFudHM7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHtcblx0V1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4sXG59ID0gRXJyb3JzVHlwZXM7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4uL3V0aWxzJztcbmNvbnN0IHtcblx0Z2V0RXhpc3RlbnRBc3luY1N0YWNrLFxuXHRtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUsXG59ID0gVHlwZXNVdGlscztcblxuaW1wb3J0IHsgZ2V0U3RhY2sgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgdGhyb3dNb2RpZmljYXRpb25FcnJvciB9IGZyb20gJy4uL2Vycm9ycy90aHJvd01vZGlmaWNhdGlvbkVycm9yJztcblxuaW1wb3J0IHsgX2dldFByb3BzLCBfc2V0U2VsZiwgUHJvcHMgfSBmcm9tICcuL1Byb3BzJztcblxuaW1wb3J0IHsgbWFrZUluc3RhbmNlTW9kaWZpY2F0b3IgfSBmcm9tICcuL0luc3RhbmNlTW9kaWZpY2F0b3InO1xuaW1wb3J0IHsgcGFyZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGFyZW50JztcblxuLy8gaW1wb3J0IHsgTW5lbW9zeW5lIH0gZnJvbSAnLi9NbmVtb3N5bmUnO1xuICBcbmNvbnN0IGludm9rZVByZUhvb2tzID0gZnVuY3Rpb24gKCB0aGlzOiBhbnkgKSB7XG5cblx0Y29uc3Qge1xuXHRcdHR5cGUsXG5cdFx0ZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRhcmdzLFxuXHRcdEluc3RhbmNlTW9kaWZpY2F0b3Jcblx0fSA9IHRoaXM7XG5cblx0Y29uc3Qge1xuXHRcdGNvbGxlY3Rpb24sXG5cdH0gPSB0eXBlO1xuXG5cdGNvbnN0IGhvb2tEYXRhID0ge1xuXHRcdHR5cGUsXG5cdFx0ZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRhcmdzLFxuXHRcdEluc3RhbmNlTW9kaWZpY2F0b3Jcblx0fTtcblxuXHRjb2xsZWN0aW9uLmludm9rZUhvb2soICdwcmVDcmVhdGlvbicsIGhvb2tEYXRhICk7XG5cblx0dHlwZS5pbnZva2VIb29rKCAncHJlQ3JlYXRpb24nLCBob29rRGF0YSApO1xuXG59O1xuXG5cbiAgXG5jb25zdCBpbnZva2VQb3N0SG9va3MgPSBmdW5jdGlvbiAoIHRoaXM6IGFueSApIHtcblxuXHQgXG5cdGNvbnN0IGNyZWF0b3IgPSB0aGlzO1xuXHRjb25zdCB7XG5cdFx0aW5oZXJpdGVkSW5zdGFuY2UsXG5cdH0gPSBjcmVhdG9yO1xuXG5cdGNvbnN0IHByb3BzID0gX2dldFByb3BzKGluaGVyaXRlZEluc3RhbmNlKSBhcyBQcm9wcztcblxuXHRjb25zdCB7XG5cdFx0X190eXBlX186IHR5cGUsXG5cdFx0X19wYXJlbnRfXzogZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRfX2FyZ3NfXzogYXJncyxcblx0fSA9IHByb3BzO1xuXG5cdGNvbnN0IHtcblx0XHRjb2xsZWN0aW9uLFxuXHR9ID0gdHlwZTtcblxuXHRjb25zdCBob29rVHlwZSA9IGluaGVyaXRlZEluc3RhbmNlIGluc3RhbmNlb2YgRXJyb3IgP1xuXHRcdCdjcmVhdGlvbkVycm9yJyA6ICdwb3N0Q3JlYXRpb24nO1xuXG5cdGNvbnN0IGhvb2tEYXRhID0ge1xuXHRcdHR5cGUsXG5cdFx0ZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRpbmhlcml0ZWRJbnN0YW5jZSxcblx0XHRhcmdzLFxuXHRcdGNyZWF0b3Jcblx0fTtcblxuXHRyZXR1cm4ge1xuXG5cdFx0dHlwZSA6IHR5cGUuaW52b2tlSG9vayggaG9va1R5cGUsIGhvb2tEYXRhICksXG5cblx0XHRjb2xsZWN0aW9uIDogY29sbGVjdGlvbi5pbnZva2VIb29rKCBob29rVHlwZSwgaG9va0RhdGEgKSxcblxuXHR9O1xuXG59O1xuXG5cbiAgXG5jb25zdCBwb3N0UHJvY2Vzc2luZyA9IGZ1bmN0aW9uICggdGhpczogYW55LCBjb250aW51YXRpb25PZjogYW55ICkge1xuXHQgXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXHRjb25zdCB7XG5cdFx0c3RhY2ssXG5cdFx0dHlwZToge1xuXHRcdFx0aXNTdWJUeXBlLFxuXHRcdFx0Y29uZmlnOiB7XG5cdFx0XHRcdHN0cmljdENoYWluLFxuXHRcdFx0XHRibG9ja0Vycm9yc1xuXHRcdFx0fVxuXHRcdH1cblx0fSA9IHNlbGY7XG5cblx0aWYgKCAhc2VsZi5pbmhlcml0ZWRJbnN0YW5jZS5jb25zdHJ1Y3RvciApIHtcblx0XHRjb25zdCBtc2cgPSAnc2hvdWxkIGluaGVyaXQgZnJvbSBtbmVtb25pY2EgaW5zdGFuY2UnO1xuXHRcdHNlbGYudGhyb3dNb2RpZmljYXRpb25FcnJvciggbmV3IFdST05HX01PRElGSUNBVElPTl9QQVRURVJOKCBtc2csIHN0YWNrICkgKTtcblx0fVxuXG5cdGlmICggIXNlbGYuaW5oZXJpdGVkSW5zdGFuY2UuY29uc3RydWN0b3JbIFN5bWJvbENvbnN0cnVjdG9yTmFtZSBdICkge1xuXHRcdGNvbnN0IG1zZyA9ICdzaG91bGQgaW5oZXJpdCBmcm9tIG1uZW1vbmljYSBpbnN0YW5jZSc7XG5cdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4oIG1zZywgc3RhY2sgKSApO1xuXHR9XG5cblx0aWYgKCBjb250aW51YXRpb25PZiAmJiAhKCBzZWxmLmluaGVyaXRlZEluc3RhbmNlIGluc3RhbmNlb2YgY29udGludWF0aW9uT2YgKSApIHtcblx0XHQvLyBkZWJ1Z2dlcjtcblx0XHRjb25zdCBpY24gPSBzZWxmLmluaGVyaXRlZEluc3RhbmNlLmNvbnN0cnVjdG9yLm5hbWU7XG5cdFx0Y29uc3QgbXNnID0gYHNob3VsZCBpbmhlcml0IGZyb20gJHtjb250aW51YXRpb25PZi5UeXBlTmFtZX0gYnV0IGdvdCAke2ljbn1gO1xuXHRcdHNlbGYudGhyb3dNb2RpZmljYXRpb25FcnJvciggbmV3IFdST05HX01PRElGSUNBVElPTl9QQVRURVJOKCBtc2csIHN0YWNrICkgKTtcblx0XHQvLyB0aHJvdyBuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4obXNnLCBzZWxmLnN0YWNrKTtcblx0fVxuXG5cdGlmIChpc1N1YlR5cGUgJiYgc3RyaWN0Q2hhaW4pIHtcblx0XHRcblx0XHRpZiAoc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSBpbnN0YW5jZW9mIEVycm9yICYmICFibG9ja0Vycm9ycykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHByZXYgPSBwYXJlbnQoc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSkgYXMgYW55O1xuXHRcdGlmICghcHJldiB8fCAocHJldiAmJiAhcHJldi5jb25zdHJ1Y3RvcikpIHtcblx0XHRcdGNvbnN0IG1zZyA9ICdzaG91bGQgaW5oZXJpdCBmcm9tIHNvbWUgaW5zdGFuY2UnO1xuXHRcdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4oIG1zZywgc3RhY2sgKSApO1xuXHRcdH1cblx0XHRjb25zdCBwYXJlbnROYW1lID0gcHJldi5jb25zdHJ1Y3Rvci5uYW1lO1xuXHRcdGNvbnN0IHBhcmVudFR5cGVOYW1lID0gc2VsZi50eXBlLnBhcmVudFR5cGUuVHlwZU5hbWU7XG5cdFx0aWYgKHBhcmVudE5hbWUgIT09IHBhcmVudFR5cGVOYW1lKSB7XG5cdFx0XHRjb25zdCBtc2cgPSBgc2hvdWxkIGluaGVyaXQgZnJvbSAke3BhcmVudFR5cGVOYW1lfSBidXQgbWFkZSBvbiAke3BhcmVudE5hbWV9YDtcblx0XHRcdHNlbGYudGhyb3dNb2RpZmljYXRpb25FcnJvciggbmV3IFdST05HX01PRElGSUNBVElPTl9QQVRURVJOKCBtc2csIHN0YWNrICkgKTtcblx0XHR9XG5cblx0fVxuXG5cdF9zZXRTZWxmKHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UpO1xuXG5cdHNlbGYuaW52b2tlUG9zdEhvb2tzKCk7XG5cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlblNwZWMge1xuXHRzdWJ0eXBlOiBvYmplY3Q7XG5cdGFyZ3M6IHVua25vd25bXTtcblx0bmFtZT86IHN0cmluZztcbn1cblxuICBcbmNvbnN0IGFkZFRoZW4gPSBmdW5jdGlvbiAoIHRoaXM6IGFueSwgdGhlbjogVGhlblNwZWMgKSB7XG5cblx0IFxuXHRjb25zdCBzZWxmID0gdGhpcztcblxuXHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID0gc2VsZi5pbmhlcml0ZWRJbnN0YW5jZVxuXHRcdC50aGVuKCAoKSA9PiB7XG5cdFx0XHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID1cblx0XHRcdFx0bmV3IEluc3RhbmNlQ3JlYXRvcihcblx0XHRcdFx0XHR0aGVuLnN1YnR5cGUsXG5cdFx0XHRcdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSxcblx0XHRcdFx0XHR0aGVuLmFyZ3MsXG5cdFx0XHRcdFx0Ly8gd2FzIGNoYWluZWQgOlxuXHRcdFx0XHRcdHRydWVcblx0XHRcdFx0XHQvLyBzZWxmLmV4aXN0ZW50SW5zdGFuY2Vcblx0XHRcdFx0KSBhcyB1bmtub3duIGFzIFByb21pc2U8dW5rbm93bj47XG5cdFx0XHRyZXR1cm4gc2VsZi5pbmhlcml0ZWRJbnN0YW5jZTtcblx0XHR9ICk7XG5cbn07XG5cbmNvbnN0IG1ha2VBd2FpdGVyID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIHR5cGU6IGFueSwgdGhlbj86IFRoZW5TcGVjICkge1xuXG5cdCBcblx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cblx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IHNlbGYuaW5oZXJpdGVkSW5zdGFuY2Vcblx0XHQudGhlbiggKCBpbnN0YW5jZTogdW5rbm93biApID0+IHtcblxuXHRcdFx0aWYgKCB0eXBlb2YgaW5zdGFuY2UgIT09ICdvYmplY3QnICkge1xuXHRcdFx0XHRpZiAoIHNlbGYuY29uZmlnLmF3YWl0UmV0dXJuICkge1xuXHRcdFx0XHRcdGNvbnN0IG1zZyA9IGBzaG91bGQgaW5oZXJpdCBmcm9tICR7dHlwZS5UeXBlTmFtZX06IHNlZW1zIGFzeW5jICR7dHlwZS5UeXBlTmFtZX0gaGFzIG5vIHJldHVybiBzdGF0ZW1lbnRgO1xuXHRcdFx0XHRcdHRocm93IG5ldyBXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTiggbXNnLCBzZWxmLnN0YWNrICk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIGluc3RhbmNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGlmICggISggaW5zdGFuY2UgaW5zdGFuY2VvZiBzZWxmLnR5cGUgKSApIHtcblx0XHRcdFx0IFxuXHRcdFx0XHRjb25zdCBpY24gPSAoaW5zdGFuY2UgYXMgYW55KS5jb25zdHJ1Y3Rvci5uYW1lO1xuXHRcdFx0XHRjb25zdCBtc2cgPSBgc2hvdWxkIGluaGVyaXQgZnJvbSAke3R5cGUuVHlwZU5hbWV9IGJ1dCBnb3QgJHtpY259YDtcblx0XHRcdFx0dGhyb3cgbmV3IFdST05HX01PRElGSUNBVElPTl9QQVRURVJOKCBtc2csIHNlbGYuc3RhY2sgKTtcblx0XHRcdH1cblxuXHRcdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IGluc3RhbmNlO1xuXG5cdFx0XHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhzZWxmLmluaGVyaXRlZEluc3RhbmNlKSBhcyBQcm9wcztcblxuXHRcdFx0IFxuXHRcdFx0aWYgKCBwcm9wcy5fX3NlbGZfXyAhPT0gKHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgYXMgdW5rbm93bikgKSB7XG5cdFx0XHRcdHNlbGYucG9zdFByb2Nlc3NpbmcoIHR5cGUgKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHNlbGYuaW5oZXJpdGVkSW5zdGFuY2U7XG5cblx0XHR9IClcblx0XHQuY2F0Y2goICggZXJyb3I6IEVycm9yICkgPT4ge1xuXHRcdFx0aWYgKCBzZWxmLmNvbmZpZy5ibG9ja0Vycm9ycyApIHtcblx0XHRcdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBlcnJvciApO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhyb3cgZXJyb3I7XG5cdFx0XHR9XG5cdFx0fSApO1xuXG5cdGlmICggdGhlbiApIHtcblx0XHRzZWxmLmFkZFRoZW4oIHRoZW4gKTtcblx0fVxuXG5cdHR5cGUuc3VidHlwZXMuZm9yRWFjaCggKCBzdWJ0eXBlOiBvYmplY3QsIG5hbWU6IHN0cmluZyApID0+IHtcblx0XHQgXG5cdFx0KHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgYXMgYW55KVsgbmFtZSBdID0gKCAuLi5hcmdzOiB1bmtub3duW10gKSA9PiB7XG5cdFx0XHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID0gc2VsZi5tYWtlQXdhaXRlciggc3VidHlwZSwge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRzdWJ0eXBlLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0fSApO1xuXHRcdFx0cmV0dXJuIHNlbGYuaW5oZXJpdGVkSW5zdGFuY2U7XG5cdFx0fTtcblx0fSApO1xuXG5cdHJldHVybiBzZWxmLmluaGVyaXRlZEluc3RhbmNlO1xuXG59O1xuXG5jb25zdCBJbnN0YW5jZUNyZWF0b3JQcm90b3R5cGUgPSB7XG5cdGdldEV4aXN0ZW50QXN5bmNTdGFjayxcblx0cG9zdFByb2Nlc3NpbmcsXG5cdG1ha2VBd2FpdGVyLFxuXHRhZGRUaGVuLFxuXHRpbnZva2VQcmVIb29rcyxcblx0aW52b2tlUG9zdEhvb2tzLFxuXHR0aHJvd01vZGlmaWNhdGlvbkVycm9yXG59O1xuXG4gIFxuZXhwb3J0IGNvbnN0IEluc3RhbmNlQ3JlYXRvciA9IGZ1bmN0aW9uICggdGhpczogYW55LCB0eXBlOiBhbnksIGV4aXN0ZW50SW5zdGFuY2U6IHVua25vd24sIGFyZ3M6IHVua25vd25bXSwgY2hhaW5lZDogYm9vbGVhbiApIHtcblxuXHRjb25zdCB7XG5cdFx0Y29uc3RydWN0SGFuZGxlcixcblx0XHRwcm90byxcblx0XHRjb25maWcsXG5cdFx0VHlwZU5hbWVcblx0fSA9IHR5cGU7XG5cblx0Y29uc3Qge1xuXHRcdE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yLFxuXHRcdGJsb2NrRXJyb3JzLFxuXHRcdHN1Ym1pdFN0YWNrXG5cdH0gPSBjb25maWc7XG5cblx0IFxuXHRjb25zdCBtYyA9IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yKCk7XG5cblx0IFxuXHRjb25zdCBzZWxmID0gdGhpcztcblxuXHRjb25zdCBNb2RpZmljYXRvclR5cGUgPSBjb25zdHJ1Y3RIYW5kbGVyKCk7XG5cblx0T2JqZWN0LmFzc2lnbiggc2VsZiwge1xuXG5cdFx0dHlwZSxcblx0XHRUeXBlTmFtZSxcblxuXHRcdGV4aXN0ZW50SW5zdGFuY2UsXG5cblx0XHRnZXQgYXJncyAoKSB7XG5cdFx0XHRyZXR1cm4gYXJncztcblx0XHR9LFxuXG5cdFx0TW9kaWZpY2F0aW9uQ29uc3RydWN0b3IgOiBtYyxcblx0XHRNb2RpZmljYXRvclR5cGUsXG5cblx0XHRjb25maWcsXG5cblx0XHRwcm90b1xuXG5cdH0gKTtcblxuXHRpZiAoIHN1Ym1pdFN0YWNrIHx8IGNoYWluZWQgKSB7XG5cdFx0Y29uc3Qgc3RhY2tBZGRpdGlvbjogc3RyaW5nW10gPSBjaGFpbmVkID8gc2VsZi5nZXRFeGlzdGVudEFzeW5jU3RhY2soIGV4aXN0ZW50SW5zdGFuY2UgKSA6IFtdO1xuXHRcdGNvbnN0IHRpdGxlID0gYFxcbjwtLSBjcmVhdGlvbiBvZiBbICR7VHlwZU5hbWV9IF0gdHJhY2VkIC0tPmA7XG5cdFx0aWYgKCBzdWJtaXRTdGFjayApIHtcblx0XHRcdGdldFN0YWNrLmNhbGwoIHNlbGYsIHRpdGxlLCBzdGFja0FkZGl0aW9uICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHNlbGYuc3RhY2sgPSB0aXRsZTtcblx0XHR9XG5cdH1cblxuXHRpZiAoIGJsb2NrRXJyb3JzICkge1xuXG5cdFx0aWYgKCBleGlzdGVudEluc3RhbmNlIGluc3RhbmNlb2YgRXJyb3IgKSB7XG5cblx0XHRcdHNlbGYuTW9kaWZpY2F0b3JUeXBlID0gbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlKCBUeXBlTmFtZSApO1xuXG5cdFx0XHRzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggc2VsZiApO1xuXG5cdFx0XHRjb25zdCBibG9ja0Vycm9yc0Vycm9ySW5zdGFuY2UgPSBuZXcgc2VsZi5JbnN0YW5jZU1vZGlmaWNhdG9yKCAuLi5hcmdzICk7XG5cblx0XHRcdHRocm93IGJsb2NrRXJyb3JzRXJyb3JJbnN0YW5jZTtcblxuXHRcdH1cblx0fVxuXG5cdHNlbGYuaW52b2tlUHJlSG9va3MoKTtcblxuXHRzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggc2VsZiApO1xuXG5cdGlmICggYmxvY2tFcnJvcnMgKSB7XG5cblx0XHR0cnkge1xuXHRcdFx0Ly8gQ29uc3RydWN0b3IgSW52b2NhdGlvbiBJdHNlbGZcblx0XHRcdGNvbnN0IGFuc3dlciA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoIC4uLmFyZ3MgKTtcblx0XHRcdC8vIGRlYnVnZ2VyO1xuXHRcdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IGFuc3dlcjtcblxuXHRcdH0gY2F0Y2ggKCBlcnJvciApIHtcblxuXHRcdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBlcnJvciApO1xuXG5cdFx0fVxuXG5cdH0gZWxzZSB7XG5cblx0XHQvLyBDb25zdHJ1Y3RvciBJbnZvY2F0aW9uIEl0c2VsZlxuXHRcdGNvbnN0IGFuc3dlciA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoIC4uLmFyZ3MgKTtcblx0XHQvLyBkZWJ1Z2dlcjtcblx0XHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID0gYW5zd2VyO1xuXG5cdH1cblxuXG5cdGlmICggc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSBpbnN0YW5jZW9mIFByb21pc2UgKSB7XG5cblx0XHRjb25zdCB3YWl0ZXIgPSBzZWxmLm1ha2VBd2FpdGVyKCB0eXBlICk7XG5cblx0XHRvZHAoIHdhaXRlciwgU3ltYm9sQ29uc3RydWN0b3JOYW1lLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gVHlwZU5hbWU7XG5cdFx0XHR9XG5cdFx0fSApO1xuXG5cdFx0cmV0dXJuIHdhaXRlcjtcblxuXHR9XG5cblx0c2VsZi5wb3N0UHJvY2Vzc2luZyggdHlwZSApO1xuXG5cdHJldHVybiBzZWxmLmluaGVyaXRlZEluc3RhbmNlO1xuXG59IGFzIF9JbnRlcm5hbF9UQ188dHlwZW9mIEluc3RhbmNlQ3JlYXRvclByb3RvdHlwZT47XG5cbk9iamVjdC5hc3NpZ24oIEluc3RhbmNlQ3JlYXRvci5wcm90b3R5cGUsIEluc3RhbmNlQ3JlYXRvclByb3RvdHlwZSApO1xuIl19
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdGFuY2VDcmVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9JbnN0YW5jZUNyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWSxDQUFDOzs7QUFrQmIsK0NBRXlCO0FBRXpCLE1BQU0sRUFDTCxHQUFHLEVBQ0gscUJBQXFCLEVBQ3JCLEdBQUcscUJBQVMsQ0FBQztBQUVkLHFEQUF1RDtBQUN2RCxNQUFNLEVBQ0wsMEJBQTBCLEdBQzFCLEdBQUcsb0JBQVcsQ0FBQztBQUVoQixvQ0FBa0M7QUFDbEMsTUFBTSxFQUNMLHFCQUFxQixFQUNyQix3QkFBd0IsR0FDeEIsR0FBRyxlQUFVLENBQUM7QUFFZixzQ0FBcUM7QUFDckMsNkVBQTBFO0FBRTFFLG1DQUFxRDtBQUVyRCwrREFBZ0U7QUFDaEUsK0NBQTRDO0FBSTVDLE1BQU0sY0FBYyxHQUFHO0lBRXRCLE1BQU0sRUFDTCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLElBQUksRUFDSixtQkFBbUIsRUFDbkIsR0FBRyxJQUFJLENBQUM7SUFFVCxNQUFNLEVBQ0wsVUFBVSxHQUNWLEdBQUcsSUFBSSxDQUFDO0lBRVQsTUFBTSxRQUFRLEdBQUc7UUFDaEIsSUFBSTtRQUNKLGdCQUFnQjtRQUNoQixJQUFJO1FBQ0osbUJBQW1CO0tBQ25CLENBQUM7SUFFRixVQUFVLENBQUMsVUFBVSxDQUFFLGFBQWEsRUFBRSxRQUFRLENBQUUsQ0FBQztJQUVqRCxJQUFJLENBQUMsVUFBVSxDQUFFLGFBQWEsRUFBRSxRQUFRLENBQUUsQ0FBQztBQUU1QyxDQUFDLENBQUM7QUFJRixNQUFNLGVBQWUsR0FBRztJQUd2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDckIsTUFBTSxFQUNMLGlCQUFpQixHQUNqQixHQUFHLE9BQU8sQ0FBQztJQUVaLE1BQU0sS0FBSyxHQUFHLElBQUEsaUJBQVMsRUFBQyxpQkFBaUIsQ0FBVSxDQUFDO0lBRXBELE1B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QUFpQixHQUFHLE1BQU0sQ0FBQztRQUVqQyxDQUFDO1FBQUMsT0FBUSxLQUFLLEVBQUcsQ0FBQztZQUVsQixJQUFJLENBQUMsc0JBQXNCLENBQUUsS0FBSyxDQUFFLENBQUM7UUFFdEMsQ0FBQztJQUVGLENBQUM7U0FBTSxDQUFDO1FBR1AsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUUsR0FBRyxJQUFJLENBQUUsQ0FBQztRQUV2RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO0lBRWpDLENBQUM7SUFHRCxJQUFLLElBQUksQ0FBQyxpQkFBaUIsWUFBWSxPQUFPLEVBQUcsQ0FBQztRQUVqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFFLElBQUksQ0FBRSxDQUFDO1FBRXhDLEdBQUcsQ0FBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUU7WUFDbkMsR0FBRztnQkFDRixPQUFPLFFBQVEsQ0FBQztZQUNqQixDQUFDO1NBQ0QsQ0FBRSxDQUFDO1FBRUosT0FBTyxNQUFNLENBQUM7SUFFZixDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUU1QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztBQUUvQixDQUFtRCxDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLENBQUUsdUJBQWUsQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLENBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiAgXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogSW5zdGFuY2VDcmVhdG9yIG9yY2hlc3RyYXRlcyB0aGUgZnVsbCBpbnN0YW5jZSBjb25zdHJ1Y3Rpb24gbGlmZWN5Y2xlLlxuICpcbiAqIFBpcGVsaW5lIHN0YWdlcyAoc2VlIGFsc28gY3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvci50cyBhbmQgSW5zdGFuY2VNb2RpZmljYXRvci50cyk6XG4gKiAgIDEuIFNldHVwICAgICAgLSBleHRyYWN0IHR5cGUsIGNvbmZpZywgcHJlcGFyZSBNb2RpZmljYXRpb25Db25zdHJ1Y3RvclxuICogICAyLiBTdGFjayAgICAgIC0gY29sbGVjdCBjcmVhdGlvbiBzdGFjayBpZiBzdWJtaXRTdGFjayBvciBjaGFpbmVkXG4gKiAgIDMuIGJsb2NrRXJyb3JzLSBpZiBwYXJlbnQgaXMgRXJyb3IsIG9wdGlvbmFsbHkgYmxvY2sgZnVydGhlciBjb25zdHJ1Y3Rpb25cbiAqICAgNC4gUHJlLWhvb2tzICAtIGludm9rZSBwcmVDcmVhdGlvbiBob29rcyBvbiBjb2xsZWN0aW9uIGFuZCB0eXBlXG4gKiAgIDUuIEJ1aWxkICAgICAgLSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvcigpIHdpcmVzIHByb3RvdHlwZSBjaGFpblxuICogICA2LiBDb25zdHJ1Y3QgIC0gbmV3IEluc3RhbmNlTW9kaWZpY2F0b3IoLi4uYXJncykgcnVucyB1c2VyIGNvbnN0cnVjdG9yXG4gKiAgIDcuIEFzeW5jICAgICAgLSBpZiByZXN1bHQgaXMgUHJvbWlzZSwgYXR0YWNoIGF3YWl0ZXIgYW5kIHN1YnR5cGUgZmFjdG9yaWVzXG4gKiAgIDguIFBvc3QtcHJvYyAgLSB2YWxpZGF0ZSBpbmhlcml0YW5jZSwgc2V0IF9fc2VsZl9fLCBpbnZva2UgcG9zdENyZWF0aW9uIGhvb2tzXG4gKi9cblxuaW1wb3J0IHsgX0ludGVybmFsX1RDXyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHtcblx0Y29uc3RhbnRzXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWVcbn0gPSBjb25zdGFudHM7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHtcblx0V1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4sXG59ID0gRXJyb3JzVHlwZXM7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4uL3V0aWxzJztcbmNvbnN0IHtcblx0Z2V0RXhpc3RlbnRBc3luY1N0YWNrLFxuXHRtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUsXG59ID0gVHlwZXNVdGlscztcblxuaW1wb3J0IHsgZ2V0U3RhY2sgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgdGhyb3dNb2RpZmljYXRpb25FcnJvciB9IGZyb20gJy4uL2Vycm9ycy90aHJvd01vZGlmaWNhdGlvbkVycm9yJztcblxuaW1wb3J0IHsgX2dldFByb3BzLCBfc2V0U2VsZiwgUHJvcHMgfSBmcm9tICcuL1Byb3BzJztcblxuaW1wb3J0IHsgbWFrZUluc3RhbmNlTW9kaWZpY2F0b3IgfSBmcm9tICcuL0luc3RhbmNlTW9kaWZpY2F0b3InO1xuaW1wb3J0IHsgcGFyZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvcGFyZW50JztcblxuLy8gaW1wb3J0IHsgTW5lbW9zeW5lIH0gZnJvbSAnLi9NbmVtb3N5bmUnO1xuICBcbmNvbnN0IGludm9rZVByZUhvb2tzID0gZnVuY3Rpb24gKCB0aGlzOiBhbnkgKSB7XG5cblx0Y29uc3Qge1xuXHRcdHR5cGUsXG5cdFx0ZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRhcmdzLFxuXHRcdEluc3RhbmNlTW9kaWZpY2F0b3Jcblx0fSA9IHRoaXM7XG5cblx0Y29uc3Qge1xuXHRcdGNvbGxlY3Rpb24sXG5cdH0gPSB0eXBlO1xuXG5cdGNvbnN0IGhvb2tEYXRhID0ge1xuXHRcdHR5cGUsXG5cdFx0ZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRhcmdzLFxuXHRcdEluc3RhbmNlTW9kaWZpY2F0b3Jcblx0fTtcblxuXHRjb2xsZWN0aW9uLmludm9rZUhvb2soICdwcmVDcmVhdGlvbicsIGhvb2tEYXRhICk7XG5cblx0dHlwZS5pbnZva2VIb29rKCAncHJlQ3JlYXRpb24nLCBob29rRGF0YSApO1xuXG59O1xuXG5cbiAgXG5jb25zdCBpbnZva2VQb3N0SG9va3MgPSBmdW5jdGlvbiAoIHRoaXM6IGFueSApIHtcblxuXHQgXG5cdGNvbnN0IGNyZWF0b3IgPSB0aGlzO1xuXHRjb25zdCB7XG5cdFx0aW5oZXJpdGVkSW5zdGFuY2UsXG5cdH0gPSBjcmVhdG9yO1xuXG5cdGNvbnN0IHByb3BzID0gX2dldFByb3BzKGluaGVyaXRlZEluc3RhbmNlKSBhcyBQcm9wcztcblxuXHRjb25zdCB7XG5cdFx0X190eXBlX186IHR5cGUsXG5cdFx0X19wYXJlbnRfXzogZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRfX2FyZ3NfXzogYXJncyxcblx0fSA9IHByb3BzO1xuXG5cdGNvbnN0IHtcblx0XHRjb2xsZWN0aW9uLFxuXHR9ID0gdHlwZTtcblxuXHRjb25zdCBob29rVHlwZSA9IGluaGVyaXRlZEluc3RhbmNlIGluc3RhbmNlb2YgRXJyb3IgP1xuXHRcdCdjcmVhdGlvbkVycm9yJyA6ICdwb3N0Q3JlYXRpb24nO1xuXG5cdGNvbnN0IGhvb2tEYXRhID0ge1xuXHRcdHR5cGUsXG5cdFx0ZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRpbmhlcml0ZWRJbnN0YW5jZSxcblx0XHRhcmdzLFxuXHRcdGNyZWF0b3Jcblx0fTtcblxuXHRyZXR1cm4ge1xuXG5cdFx0dHlwZSA6IHR5cGUuaW52b2tlSG9vayggaG9va1R5cGUsIGhvb2tEYXRhICksXG5cblx0XHRjb2xsZWN0aW9uIDogY29sbGVjdGlvbi5pbnZva2VIb29rKCBob29rVHlwZSwgaG9va0RhdGEgKSxcblxuXHR9O1xuXG59O1xuXG5cbiAgXG5jb25zdCBwb3N0UHJvY2Vzc2luZyA9IGZ1bmN0aW9uICggdGhpczogYW55LCBjb250aW51YXRpb25PZjogYW55ICkge1xuXHQgXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXHRjb25zdCB7XG5cdFx0c3RhY2ssXG5cdFx0dHlwZToge1xuXHRcdFx0aXNTdWJUeXBlLFxuXHRcdFx0Y29uZmlnOiB7XG5cdFx0XHRcdHN0cmljdENoYWluLFxuXHRcdFx0XHRibG9ja0Vycm9yc1xuXHRcdFx0fVxuXHRcdH1cblx0fSA9IHNlbGY7XG5cblx0aWYgKCAhc2VsZi5pbmhlcml0ZWRJbnN0YW5jZS5jb25zdHJ1Y3RvciApIHtcblx0XHRjb25zdCBtc2cgPSAnc2hvdWxkIGluaGVyaXQgZnJvbSBtbmVtb25pY2EgaW5zdGFuY2UnO1xuXHRcdHNlbGYudGhyb3dNb2RpZmljYXRpb25FcnJvciggbmV3IFdST05HX01PRElGSUNBVElPTl9QQVRURVJOKCBtc2csIHN0YWNrICkgKTtcblx0fVxuXG5cdGlmICggIXNlbGYuaW5oZXJpdGVkSW5zdGFuY2UuY29uc3RydWN0b3JbIFN5bWJvbENvbnN0cnVjdG9yTmFtZSBdICkge1xuXHRcdGNvbnN0IG1zZyA9ICdzaG91bGQgaW5oZXJpdCBmcm9tIG1uZW1vbmljYSBpbnN0YW5jZSc7XG5cdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4oIG1zZywgc3RhY2sgKSApO1xuXHR9XG5cblx0aWYgKCBjb250aW51YXRpb25PZiAmJiAhKCBzZWxmLmluaGVyaXRlZEluc3RhbmNlIGluc3RhbmNlb2YgY29udGludWF0aW9uT2YgKSApIHtcblx0XHQvLyBkZWJ1Z2dlcjtcblx0XHRjb25zdCBpY24gPSBzZWxmLmluaGVyaXRlZEluc3RhbmNlLmNvbnN0cnVjdG9yLm5hbWU7XG5cdFx0Y29uc3QgbXNnID0gYHNob3VsZCBpbmhlcml0IGZyb20gJHtjb250aW51YXRpb25PZi5UeXBlTmFtZX0gYnV0IGdvdCAke2ljbn1gO1xuXHRcdHNlbGYudGhyb3dNb2RpZmljYXRpb25FcnJvciggbmV3IFdST05HX01PRElGSUNBVElPTl9QQVRURVJOKCBtc2csIHN0YWNrICkgKTtcblx0XHQvLyB0aHJvdyBuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4obXNnLCBzZWxmLnN0YWNrKTtcblx0fVxuXG5cdGlmIChpc1N1YlR5cGUgJiYgc3RyaWN0Q2hhaW4pIHtcblx0XHRcblx0XHRpZiAoc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSBpbnN0YW5jZW9mIEVycm9yICYmICFibG9ja0Vycm9ycykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHByZXYgPSBwYXJlbnQoc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSkgYXMgYW55O1xuXHRcdGlmICghcHJldiB8fCAocHJldiAmJiAhcHJldi5jb25zdHJ1Y3RvcikpIHtcblx0XHRcdGNvbnN0IG1zZyA9ICdzaG91bGQgaW5oZXJpdCBmcm9tIHNvbWUgaW5zdGFuY2UnO1xuXHRcdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4oIG1zZywgc3RhY2sgKSApO1xuXHRcdH1cblx0XHRjb25zdCBwYXJlbnROYW1lID0gcHJldi5jb25zdHJ1Y3Rvci5uYW1lO1xuXHRcdGNvbnN0IHBhcmVudFR5cGVOYW1lID0gc2VsZi50eXBlLnBhcmVudFR5cGUuVHlwZU5hbWU7XG5cdFx0aWYgKHBhcmVudE5hbWUgIT09IHBhcmVudFR5cGVOYW1lKSB7XG5cdFx0XHRjb25zdCBtc2cgPSBgc2hvdWxkIGluaGVyaXQgZnJvbSAke3BhcmVudFR5cGVOYW1lfSBidXQgbWFkZSBvbiAke3BhcmVudE5hbWV9YDtcblx0XHRcdHNlbGYudGhyb3dNb2RpZmljYXRpb25FcnJvciggbmV3IFdST05HX01PRElGSUNBVElPTl9QQVRURVJOKCBtc2csIHN0YWNrICkgKTtcblx0XHR9XG5cblx0fVxuXG5cdF9zZXRTZWxmKHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UpO1xuXG5cdHNlbGYuaW52b2tlUG9zdEhvb2tzKCk7XG5cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlblNwZWMge1xuXHRzdWJ0eXBlOiBvYmplY3Q7XG5cdGFyZ3M6IHVua25vd25bXTtcblx0bmFtZT86IHN0cmluZztcbn1cblxuICBcbmNvbnN0IGFkZFRoZW4gPSBmdW5jdGlvbiAoIHRoaXM6IGFueSwgdGhlbjogVGhlblNwZWMgKSB7XG5cblx0IFxuXHRjb25zdCBzZWxmID0gdGhpcztcblxuXHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID0gc2VsZi5pbmhlcml0ZWRJbnN0YW5jZVxuXHRcdC50aGVuKCAoKSA9PiB7XG5cdFx0XHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID1cblx0XHRcdFx0bmV3IEluc3RhbmNlQ3JlYXRvcihcblx0XHRcdFx0XHR0aGVuLnN1YnR5cGUsXG5cdFx0XHRcdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSxcblx0XHRcdFx0XHR0aGVuLmFyZ3MsXG5cdFx0XHRcdFx0Ly8gd2FzIGNoYWluZWQgOlxuXHRcdFx0XHRcdHRydWVcblx0XHRcdFx0XHQvLyBzZWxmLmV4aXN0ZW50SW5zdGFuY2Vcblx0XHRcdFx0KSBhcyB1bmtub3duIGFzIFByb21pc2U8dW5rbm93bj47XG5cdFx0XHRyZXR1cm4gc2VsZi5pbmhlcml0ZWRJbnN0YW5jZTtcblx0XHR9ICk7XG5cbn07XG5cbmNvbnN0IG1ha2VBd2FpdGVyID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIHR5cGU6IGFueSwgdGhlbj86IFRoZW5TcGVjICkge1xuXG5cdCBcblx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cblx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IHNlbGYuaW5oZXJpdGVkSW5zdGFuY2Vcblx0XHQudGhlbiggKCBpbnN0YW5jZTogdW5rbm93biApID0+IHtcblxuXHRcdFx0aWYgKCB0eXBlb2YgaW5zdGFuY2UgIT09ICdvYmplY3QnICkge1xuXHRcdFx0XHRpZiAoIHNlbGYuY29uZmlnLmF3YWl0UmV0dXJuICkge1xuXHRcdFx0XHRcdGNvbnN0IG1zZyA9IGBzaG91bGQgaW5oZXJpdCBmcm9tICR7dHlwZS5UeXBlTmFtZX06IHNlZW1zIGFzeW5jICR7dHlwZS5UeXBlTmFtZX0gaGFzIG5vIHJldHVybiBzdGF0ZW1lbnRgO1xuXHRcdFx0XHRcdHRocm93IG5ldyBXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTiggbXNnLCBzZWxmLnN0YWNrICk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIGluc3RhbmNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGlmICggISggaW5zdGFuY2UgaW5zdGFuY2VvZiBzZWxmLnR5cGUgKSApIHtcblx0XHRcdFx0IFxuXHRcdFx0XHRjb25zdCBpY24gPSAoaW5zdGFuY2UgYXMgYW55KS5jb25zdHJ1Y3Rvci5uYW1lO1xuXHRcdFx0XHRjb25zdCBtc2cgPSBgc2hvdWxkIGluaGVyaXQgZnJvbSAke3R5cGUuVHlwZU5hbWV9IGJ1dCBnb3QgJHtpY259YDtcblx0XHRcdFx0dGhyb3cgbmV3IFdST05HX01PRElGSUNBVElPTl9QQVRURVJOKCBtc2csIHNlbGYuc3RhY2sgKTtcblx0XHRcdH1cblxuXHRcdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IGluc3RhbmNlO1xuXG5cdFx0XHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhzZWxmLmluaGVyaXRlZEluc3RhbmNlKSBhcyBQcm9wcztcblxuXHRcdFx0IFxuXHRcdFx0aWYgKCBwcm9wcy5fX3NlbGZfXyAhPT0gKHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgYXMgdW5rbm93bikgKSB7XG5cdFx0XHRcdHNlbGYucG9zdFByb2Nlc3NpbmcoIHR5cGUgKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHNlbGYuaW5oZXJpdGVkSW5zdGFuY2U7XG5cblx0XHR9IClcblx0XHQuY2F0Y2goICggZXJyb3I6IEVycm9yICkgPT4ge1xuXHRcdFx0aWYgKCBzZWxmLmNvbmZpZy5ibG9ja0Vycm9ycyApIHtcblx0XHRcdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBlcnJvciApO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhyb3cgZXJyb3I7XG5cdFx0XHR9XG5cdFx0fSApO1xuXG5cdGlmICggdGhlbiApIHtcblx0XHRzZWxmLmFkZFRoZW4oIHRoZW4gKTtcblx0fVxuXG5cdHR5cGUuc3VidHlwZXMuZm9yRWFjaCggKCBzdWJ0eXBlOiBvYmplY3QsIG5hbWU6IHN0cmluZyApID0+IHtcblx0XHQgXG5cdFx0KHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgYXMgYW55KVsgbmFtZSBdID0gKCAuLi5hcmdzOiB1bmtub3duW10gKSA9PiB7XG5cdFx0XHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID0gc2VsZi5tYWtlQXdhaXRlciggc3VidHlwZSwge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRzdWJ0eXBlLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0fSApO1xuXHRcdFx0cmV0dXJuIHNlbGYuaW5oZXJpdGVkSW5zdGFuY2U7XG5cdFx0fTtcblx0fSApO1xuXG5cdHJldHVybiBzZWxmLmluaGVyaXRlZEluc3RhbmNlO1xuXG59O1xuXG5jb25zdCBJbnN0YW5jZUNyZWF0b3JQcm90b3R5cGUgPSB7XG5cdGdldEV4aXN0ZW50QXN5bmNTdGFjayxcblx0cG9zdFByb2Nlc3NpbmcsXG5cdG1ha2VBd2FpdGVyLFxuXHRhZGRUaGVuLFxuXHRpbnZva2VQcmVIb29rcyxcblx0aW52b2tlUG9zdEhvb2tzLFxuXHR0aHJvd01vZGlmaWNhdGlvbkVycm9yXG59O1xuXG4gIFxuZXhwb3J0IGNvbnN0IEluc3RhbmNlQ3JlYXRvciA9IGZ1bmN0aW9uICggdGhpczogYW55LCB0eXBlOiBhbnksIGV4aXN0ZW50SW5zdGFuY2U6IHVua25vd24sIGFyZ3M6IHVua25vd25bXSwgY2hhaW5lZDogYm9vbGVhbiApIHtcblxuXHRjb25zdCB7XG5cdFx0Y29uc3RydWN0SGFuZGxlcixcblx0XHRwcm90byxcblx0XHRjb25maWcsXG5cdFx0VHlwZU5hbWVcblx0fSA9IHR5cGU7XG5cblx0Y29uc3Qge1xuXHRcdE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yLFxuXHRcdGJsb2NrRXJyb3JzLFxuXHRcdHN1Ym1pdFN0YWNrXG5cdH0gPSBjb25maWc7XG5cblx0IFxuXHRjb25zdCBtYyA9IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yKCk7XG5cblx0IFxuXHRjb25zdCBzZWxmID0gdGhpcztcblxuXHRjb25zdCBNb2RpZmljYXRvclR5cGUgPSBjb25zdHJ1Y3RIYW5kbGVyKCk7XG5cblx0T2JqZWN0LmFzc2lnbiggc2VsZiwge1xuXG5cdFx0dHlwZSxcblx0XHRUeXBlTmFtZSxcblxuXHRcdGV4aXN0ZW50SW5zdGFuY2UsXG5cblx0XHRnZXQgYXJncyAoKSB7XG5cdFx0XHRyZXR1cm4gYXJncztcblx0XHR9LFxuXG5cdFx0TW9kaWZpY2F0aW9uQ29uc3RydWN0b3IgOiBtYyxcblx0XHRNb2RpZmljYXRvclR5cGUsXG5cblx0XHRjb25maWcsXG5cblx0XHRwcm90b1xuXG5cdH0gKTtcblxuXHRpZiAoIHN1Ym1pdFN0YWNrIHx8IGNoYWluZWQgKSB7XG5cdFx0Y29uc3Qgc3RhY2tBZGRpdGlvbjogc3RyaW5nW10gPSBjaGFpbmVkID8gc2VsZi5nZXRFeGlzdGVudEFzeW5jU3RhY2soIGV4aXN0ZW50SW5zdGFuY2UgKSA6IFtdO1xuXHRcdGNvbnN0IHRpdGxlID0gYFxcbjwtLSBjcmVhdGlvbiBvZiBbICR7VHlwZU5hbWV9IF0gdHJhY2VkIC0tPmA7XG5cdFx0aWYgKCBzdWJtaXRTdGFjayApIHtcblx0XHRcdGdldFN0YWNrLmNhbGwoIHNlbGYsIHRpdGxlLCBzdGFja0FkZGl0aW9uICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHNlbGYuc3RhY2sgPSB0aXRsZTtcblx0XHR9XG5cdH1cblxuXHRpZiAoIGJsb2NrRXJyb3JzICkge1xuXG5cdFx0aWYgKCBleGlzdGVudEluc3RhbmNlIGluc3RhbmNlb2YgRXJyb3IgKSB7XG5cblx0XHRcdHNlbGYuTW9kaWZpY2F0b3JUeXBlID0gbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlKCBUeXBlTmFtZSApO1xuXG5cdFx0XHRzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggc2VsZiApO1xuXG5cdFx0XHRjb25zdCBibG9ja0Vycm9yc0Vycm9ySW5zdGFuY2UgPSBuZXcgc2VsZi5JbnN0YW5jZU1vZGlmaWNhdG9yKCAuLi5hcmdzICk7XG5cblx0XHRcdHRocm93IGJsb2NrRXJyb3JzRXJyb3JJbnN0YW5jZTtcblxuXHRcdH1cblx0fVxuXG5cdHNlbGYuaW52b2tlUHJlSG9va3MoKTtcblxuXHRzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggc2VsZiApO1xuXG5cdGlmICggYmxvY2tFcnJvcnMgKSB7XG5cblx0XHR0cnkge1xuXHRcdFx0Ly8gQ29uc3RydWN0b3IgSW52b2NhdGlvbiBJdHNlbGZcblx0XHRcdGNvbnN0IGFuc3dlciA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoIC4uLmFyZ3MgKTtcblx0XHRcdC8vIGRlYnVnZ2VyO1xuXHRcdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IGFuc3dlcjtcblxuXHRcdH0gY2F0Y2ggKCBlcnJvciApIHtcblxuXHRcdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBlcnJvciApO1xuXG5cdFx0fVxuXG5cdH0gZWxzZSB7XG5cblx0XHQvLyBDb25zdHJ1Y3RvciBJbnZvY2F0aW9uIEl0c2VsZlxuXHRcdGNvbnN0IGFuc3dlciA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoIC4uLmFyZ3MgKTtcblx0XHQvLyBkZWJ1Z2dlcjtcblx0XHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID0gYW5zd2VyO1xuXG5cdH1cblxuXG5cdGlmICggc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSBpbnN0YW5jZW9mIFByb21pc2UgKSB7XG5cblx0XHRjb25zdCB3YWl0ZXIgPSBzZWxmLm1ha2VBd2FpdGVyKCB0eXBlICk7XG5cblx0XHRvZHAoIHdhaXRlciwgU3ltYm9sQ29uc3RydWN0b3JOYW1lLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gVHlwZU5hbWU7XG5cdFx0XHR9XG5cdFx0fSApO1xuXG5cdFx0cmV0dXJuIHdhaXRlcjtcblxuXHR9XG5cblx0c2VsZi5wb3N0UHJvY2Vzc2luZyggdHlwZSApO1xuXG5cdHJldHVybiBzZWxmLmluaGVyaXRlZEluc3RhbmNlO1xuXG59IGFzIF9JbnRlcm5hbF9UQ188dHlwZW9mIEluc3RhbmNlQ3JlYXRvclByb3RvdHlwZT47XG5cbk9iamVjdC5hc3NpZ24oIEluc3RhbmNlQ3JlYXRvci5wcm90b3R5cGUsIEluc3RhbmNlQ3JlYXRvclByb3RvdHlwZSApO1xuIl19
|
|
@@ -11,4 +11,4 @@ const makeInstanceModificator = (self) => {
|
|
|
11
11
|
return result;
|
|
12
12
|
};
|
|
13
13
|
exports.makeInstanceModificator = makeInstanceModificator;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdGFuY2VNb2RpZmljYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvdHlwZXMvSW5zdGFuY2VNb2RpZmljYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQU1iLG1DQUFvQztBQUU3QixNQUFNLHVCQUF1QixHQUFHLENBQUUsSUFBUyxFQUFHLEVBQUU7SUFFdEQsTUFBTSxFQUNMLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLEtBQUssR0FDTCxHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FDMUMsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixNQUFNLENBQUMsTUFBTSxDQUFFLEVBQUUsRUFBRSxLQUFLLENBQUUsRUFDMUIsQ0FBRSxlQUF3QixFQUFHLEVBQUU7UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsaUJBQVMsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFFLENBQUM7SUFDeEIsQ0FBQyxDQUNELENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNmLENBQUMsQ0FBQztBQXBCVyxRQUFBLHVCQUF1QiwyQkFvQmxDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vLyBTdGVwIDQgb2YgY29uc3RydWN0aW9uIHBpcGVsaW5lOiBicmlkZ2UgYmV0d2VlbiBJbnN0YW5jZUNyZWF0b3IgYW5kIE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yLlxuLy8gQ2FsbGVkIGZyb20gSW5zdGFuY2VDcmVhdG9yIGFmdGVyIHByZS1ob29rcy4gRGVsZWdhdGVzIHRvIE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yXG4vLyAoc2VlIGNyZWF0ZUluc3RhbmNlTW9kaWZpY2F0b3IudHMpIHRvIHdpcmUgdGhlIHByb3RvdHlwZSBjaGFpbiBhbmQgYXR0YWNoIHByb3BzLlxuXG5pbXBvcnQgeyBfYWRkUHJvcHMgfSBmcm9tICcuL1Byb3BzJztcblxuZXhwb3J0IGNvbnN0IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yID0gKCBzZWxmOiBhbnkgKSA9PiB7XG5cblx0Y29uc3Qge1xuXHRcdE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yLFxuXHRcdGV4aXN0ZW50SW5zdGFuY2UsXG5cdFx0TW9kaWZpY2F0b3JUeXBlLFxuXHRcdHByb3RvLFxuXHR9ID0gc2VsZjtcblxuXHRjb25zdCByZXN1bHQgPSBNb2RpZmljYXRpb25Db25zdHJ1Y3Rvci5jYWxsKFxuXHRcdGV4aXN0ZW50SW5zdGFuY2UsXG5cdFx0TW9kaWZpY2F0b3JUeXBlLFxuXHRcdE9iamVjdC5hc3NpZ24oIHt9LCBwcm90byApLFxuXHRcdCggX19wcm90b19wcm90b19fOiB1bmtub3duICkgPT4ge1xuXHRcdFx0c2VsZi5fX3Byb3RvX3Byb3RvX18gPSBfX3Byb3RvX3Byb3RvX187XG5cdFx0XHRfYWRkUHJvcHMuY2FsbCggc2VsZiApO1xuXHRcdH1cblx0KTtcblxuXHRyZXR1cm4gcmVzdWx0O1xufTtcbiJdfQ==
|
package/build/api/types/Props.js
CHANGED
|
@@ -151,4 +151,4 @@ module.exports = {
|
|
|
151
151
|
getProps: exports.getProps,
|
|
152
152
|
setProps: exports.setProps
|
|
153
153
|
};
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzL1Byb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsK0NBQTRDO0FBRzVDLE1BQU0sRUFDTCxHQUFHLEdBQ0gsR0FBRyxxQkFBUyxDQUFDO0FBRWQsTUFBTSxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUVoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUMzQixpQkFBaUI7SUFDakIsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsVUFBVTtJQUNWLFlBQVk7SUFDWixXQUFXO0lBQ1gsYUFBYTtJQUNiLGVBQWU7SUFDZixVQUFVO0NBQ1YsQ0FBQyxDQUFDO0FBRUksTUFBTSxTQUFTLEdBQUc7SUFHeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRWxCLE1BQU0sRUFDTCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLElBQUksRUFDSixNQUFNLEVBQUUsRUFDUCxXQUFXLEVBQ1gsRUFDRCxlQUFlLEVBQUUsS0FBSyxFQUN0QixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sRUFDTCxVQUFVLEVBQ1YsUUFBUSxHQUNSLEdBQUcsSUFBSSxDQUFDO0lBRVQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsQyxHQUFHLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFO1FBQzdCLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7S0FDRCxDQUFDLENBQUM7SUFFSCxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtRQUN0QixHQUFHO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtRQUM1QixHQUFHO1lBQ0YsT0FBTyxVQUFVLENBQUM7UUFDbkIsQ0FBQztLQUNELENBQUMsQ0FBQztJQUVILEdBQUcsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFO1FBQzFCLEdBQUc7WUFDRixPQUFPLFFBQVEsQ0FBQztRQUNqQixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDdEIsR0FBRztZQUNGLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztLQUNELENBQUMsQ0FBQztJQUVILEdBQUcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFO1FBQ3hCLEdBQUc7WUFDRixPQUFPLGdCQUFnQixDQUFDO1FBQ3pCLENBQUM7S0FDRCxDQUFDLENBQUM7SUFFSCxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdkIsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUU7WUFDdkIsR0FBRztnQkFDRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsQ0FBQztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRTtRQUN6QixHQUFHO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzdCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFO1FBQzNCLEdBQUc7WUFDRixPQUFPLFNBQVMsQ0FBQztRQUNsQixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBR0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFN0IsQ0FBQyxDQUFDO0FBbkZXLFFBQUEsU0FBUyxhQW1GcEI7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWlCLEVBQUUsRUFBRTtJQUM1QyxJQUFJLFFBQVEsWUFBWSxNQUFNO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDNUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksUUFBUSxJQUFJLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUNsRSxPQUFPLEtBQUssQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVLLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBZ0IsRUFBRSxJQUFhLEVBQXlCLEVBQUU7SUFDbkYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBVyxDQUFDO0lBQ3pELElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUVySCxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUUxQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUEsaUJBQVMsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsU0FBUyxhQWdCcEI7QUFFSyxNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQWdCLEVBQVEsRUFBRTtJQUVsRCxNQUFNLEtBQUssR0FBRyxJQUFBLGlCQUFTLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1FBQ3hDLEdBQUc7WUFDRixPQUFPLFFBQVEsQ0FBQztRQUNqQixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDO0FBVFcsUUFBQSxRQUFRLFlBU25CO0FBRUssTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFnQixFQUF5QixFQUFFO0lBQ25FLE1BQU0sS0FBSyxHQUFHLElBQUEsaUJBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLFVBQVUsWUFBWSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNsQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDN0MsT0FBTyxNQUFtQixDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ1AsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0YsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQWhCVyxRQUFBLFFBQVEsWUFnQm5CO0FBRUssTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFnQixFQUFFLE9BQWUsRUFBb0IsRUFBRTtJQUMvRSxNQUFNLEtBQUssR0FBRyxJQUFBLGlCQUFTLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBRSxJQUFJLEVBQUUsS0FBSyxDQUFFLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUIsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsUUFBUSxZQWdCbkI7QUFLRixNQUFNLENBQUMsT0FBTyxHQUFHO0lBQ2hCLFNBQVMsRUFBVCxpQkFBUztJQUNULFNBQVMsRUFBVCxpQkFBUztJQUNULFFBQVEsRUFBUixnQkFBUTtJQUNSLFFBQVEsRUFBUixnQkFBUTtJQUNSLFFBQVEsRUFBUixnQkFBUTtDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25EZWYsIFR5cGVEZWYsIFByb3BzIGFzIFByb3BzVHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuY29uc3Qge1xuXHRvZHAsXG59ID0gY29uc3RhbnRzO1xuXG5jb25zdCBfX3Byb3BzX18gPSBuZXcgV2Vha01hcCgpO1xuXG5jb25zdCBuYXRpdmVQcm9wcyA9IG5ldyBTZXQoW1xuXHQnX19wcm90b19wcm90b19fJyxcblx0J19fYXJnc19fJyxcblx0J19fY29sbGVjdGlvbl9fJyxcblx0J19fc3VidHlwZXNfXycsXG5cdCdfX3R5cGVfXycsXG5cdCdfX3BhcmVudF9fJyxcblx0J19fc3RhY2tfXycsXG5cdCdfX2NyZWF0b3JfXycsXG5cdCdfX3RpbWVzdGFtcF9fJyxcblx0J19fc2VsZl9fJyxcbl0pO1xuXG5leHBvcnQgY29uc3QgX2FkZFByb3BzID0gZnVuY3Rpb24gKHRoaXM6IGFueSk6IGFueSB7XG5cblx0IFxuXHRjb25zdCBzZWxmID0gdGhpcztcblxuXHRjb25zdCB7XG5cdFx0dHlwZSxcblx0XHRleGlzdGVudEluc3RhbmNlLFxuXHRcdGFyZ3MsXG5cdFx0Y29uZmlnOiB7XG5cdFx0XHRzdWJtaXRTdGFja1xuXHRcdH0sXG5cdFx0X19wcm90b19wcm90b19fOiBwcm90b1xuXHR9ID0gc2VsZjtcblxuXHRjb25zdCB7XG5cdFx0Y29sbGVjdGlvbixcblx0XHRzdWJ0eXBlcyxcblx0fSA9IHR5cGU7XG5cblx0Y29uc3QgdmFsdWUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG5cdG9kcCh2YWx1ZSwgJ19fcHJvdG9fcHJvdG9fXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHByb3RvO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19hcmdzX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBhcmdzO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19jb2xsZWN0aW9uX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBjb2xsZWN0aW9uO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19zdWJ0eXBlc19fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gc3VidHlwZXM7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAodmFsdWUsICdfX3R5cGVfXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHR5cGU7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAodmFsdWUsICdfX3BhcmVudF9fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gZXhpc3RlbnRJbnN0YW5jZTtcblx0XHR9XG5cdH0pO1xuXG5cdGlmIChzdWJtaXRTdGFjaykge1xuXHRcdGNvbnN0IHsgc3RhY2sgfSA9IHRoaXM7XG5cdFx0b2RwKHZhbHVlLCAnX19zdGFja19fJywge1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIHN0YWNrLmpvaW4oJ1xcbicpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0b2RwKHZhbHVlLCAnX19jcmVhdG9yX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBzZWxmO1xuXHRcdH1cblx0fSk7XG5cblx0Y29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblx0b2RwKHZhbHVlLCAnX190aW1lc3RhbXBfXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHRpbWVzdGFtcDtcblx0XHR9XG5cdH0pO1xuXG5cdC8vIF9fcHJvcHNfXy5zZXQoc2VsZiwgdmFsdWUpO1xuXHRfX3Byb3BzX18uc2V0KHByb3RvLCB2YWx1ZSk7XG5cbn07XG5cbmNvbnN0IGlzT2JqZWN0TmF0dXJlID0gKGluc3RhbmNlOiB1bmtub3duKSA9PiB7XG5cdGlmIChpbnN0YW5jZSBpbnN0YW5jZW9mIE9iamVjdCkgcmV0dXJuIHRydWU7XG5cdGlmICh0eXBlb2YgaW5zdGFuY2UgPT09ICdvYmplY3QnICYmIGluc3RhbmNlICE9IG51bGwpIHJldHVybiB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgX2dldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QsIGJhc2U/OiBvYmplY3QpOiBQcm9wc1R5cGUgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoIWlzT2JqZWN0TmF0dXJlKGluc3RhbmNlKSkgcmV0dXJuIHVuZGVmaW5lZDtcblx0Y29uc3QgcHJvdG8gPSBSZWZsZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKSBhcyBvYmplY3Q7XG5cdGlmIChiYXNlICE9PSB1bmRlZmluZWQgJiYgaXNPYmplY3ROYXR1cmUoYmFzZSkgJiYgaXNPYmplY3ROYXR1cmUocHJvdG8pICYmIChiYXNlLmNvbnN0cnVjdG9yICE9PSBwcm90by5jb25zdHJ1Y3RvcikpIHtcblx0XHQvLyBoZXJlIHdlIGdvdCByaWQgb2YgdW5uZWNlc3NhcnkgY2hhaW4gZGl2ZVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0Y29uc3QgcmVzdWx0ID0gX19wcm9wc19fLmdldChwcm90byk7XG5cdGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkge1xuXHRcdC8vIHNvIHdlIGp1bXBpbmcgZGVlcGVyIGhlcmVcblx0XHRpZiAoYmFzZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRiYXNlID0gaW5zdGFuY2U7XG5cdFx0fVxuXHRcdHJldHVybiBfZ2V0UHJvcHMocHJvdG8sIGJhc2UpO1xuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgX3NldFNlbGYgPSAoaW5zdGFuY2U6IG9iamVjdCk6IHZvaWQgPT4ge1xuXHQvLyBjb25zdCBwcm9wcyA9IF9fcHJvcHNfXy5nZXQoaW5zdGFuY2UpO1xuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSk7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ19fc2VsZl9fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gaW5zdGFuY2U7XG5cdFx0fVxuXHR9KTtcblx0X19wcm9wc19fLnNldChpbnN0YW5jZSwgcHJvcHMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QpOiBQcm9wc1R5cGUgfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSk7XG5cdGlmIChwcm9wcykge1xuXHRcdGNvbnN0IF9hZGRpdGlvbnMgPSBfX3Byb3BzX18uZ2V0KHByb3BzKTtcblx0XHRpZiAoX2FkZGl0aW9ucyBpbnN0YW5jZW9mIE9iamVjdCkge1xuXHRcdFx0Y29uc3QgZGVzY3JpcHRvcnMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhwcm9wcyk7XG5cdFx0XHRjb25zdCBhZGRpdGlvbnMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhfYWRkaXRpb25zKTtcblx0XHRcdGNvbnN0IGFuc3dlciA9IHt9O1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYW5zd2VyLCBhZGRpdGlvbnMpO1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYW5zd2VyLCBkZXNjcmlwdG9ycyk7XG5cdFx0XHRyZXR1cm4gYW5zd2VyIGFzIFByb3BzVHlwZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHByb3BzO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QsIF92YWx1ZXM6IG9iamVjdCk6IHN0cmluZ1tdIHwgZmFsc2UgPT4ge1xuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSk7XG5cdGlmIChwcm9wcykge1xuXHRcdGNvbnN0IHZhbHVlcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKF92YWx1ZXMpO1xuXHRcdGNvbnN0IHdyaXR0ZW46IHN0cmluZ1tdID0gW107XG5cdFx0Y29uc3QgYWxsb3dlZCA9IHt9O1xuXHRcdE9iamVjdC5lbnRyaWVzKHZhbHVlcykuZm9yRWFjaCgoWyBuYW1lLCB2YWx1ZSBdKSA9PiB7XG5cdFx0XHRpZiAoIW5hdGl2ZVByb3BzLmhhcyhuYW1lKSkge1xuXHRcdFx0XHR3cml0dGVuLnB1c2gobmFtZSk7XG5cdFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhbGxvd2VkLCBuYW1lLCB2YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0X19wcm9wc19fLnNldChwcm9wcywgYWxsb3dlZCk7XG5cdFx0cmV0dXJuIHdyaXR0ZW47XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufTtcblxuLy8gUmUtZXhwb3J0IHR5cGVzIGZyb20gY2VudHJhbGl6ZWQgdHlwZXNcbmV4cG9ydCB0eXBlIHsgQ29sbGVjdGlvbkRlZiwgVHlwZURlZiwgUHJvcHNUeXBlIGFzIFByb3BzIH07XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuXHRfYWRkUHJvcHMsXG5cdF9nZXRQcm9wcyxcblx0X3NldFNlbGYsXG5cdGdldFByb3BzLFxuXHRzZXRQcm9wc1xufTtcbiJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzL1Byb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsK0NBQTRDO0FBRzVDLE1BQU0sRUFDTCxHQUFHLEdBQ0gsR0FBRyxxQkFBUyxDQUFDO0FBTWQsTUFBTSxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUVoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUMzQixpQkFBaUI7SUFDakIsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsVUFBVTtJQUNWLFlBQVk7SUFDWixXQUFXO0lBQ1gsYUFBYTtJQUNiLGVBQWU7SUFDZixVQUFVO0NBQ1YsQ0FBQyxDQUFDO0FBRUksTUFBTSxTQUFTLEdBQUc7SUFHeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRWxCLE1BQU0sRUFDTCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLElBQUksRUFDSixNQUFNLEVBQUUsRUFDUCxXQUFXLEVBQ1gsRUFDRCxlQUFlLEVBQUUsS0FBSyxFQUN0QixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sRUFDTCxVQUFVLEVBQ1YsUUFBUSxHQUNSLEdBQUcsSUFBSSxDQUFDO0lBRVQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsQyxHQUFHLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFO1FBQzdCLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7S0FDRCxDQUFDLENBQUM7SUFFSCxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtRQUN0QixHQUFHO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtRQUM1QixHQUFHO1lBQ0YsT0FBTyxV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LENBQUMsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBRSxJQUFJLEVBQUUsS0FBSyxDQUFFLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUIsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsUUFBUSxZQWdCbkI7QUFLRixNQUFNLENBQUMsT0FBTyxHQUFHO0lBQ2hCLFNBQVMsRUFBVCxpQkFBUztJQUNULFNBQVMsRUFBVCxpQkFBUztJQUNULFFBQVEsRUFBUixnQkFBUTtJQUNSLFFBQVEsRUFBUixnQkFBUTtJQUNSLFFBQVEsRUFBUixnQkFBUTtDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25EZWYsIFR5cGVEZWYsIFByb3BzIGFzIFByb3BzVHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuY29uc3Qge1xuXHRvZHAsXG59ID0gY29uc3RhbnRzO1xuXG4vLyBFeHRlcm5hbCBwcm9wcyBzdG9yYWdlIHZpYSBXZWFrTWFwIGtlZXBzIGluc3RhbmNlIGVudW1lcmF0aW9uIGNsZWFuLlxuLy8gSW5zdGFuY2UgbWV0YWRhdGEgKF9fdHlwZV9fLCBfX3BhcmVudF9fLCBfX2FyZ3NfXywgZXRjLikgaXMgc3RvcmVkXG4vLyBhZ2FpbnN0IHRoZSBwcm90b3R5cGUgb2JqZWN0LCBub3QgdGhlIGluc3RhbmNlIGl0c2VsZiwgc28gaXQgbmV2ZXJcbi8vIHNob3dzIHVwIGluIGZvci4uLmluLCBPYmplY3Qua2V5cywgb3IgSlNPTi5zdHJpbmdpZnkuXG5jb25zdCBfX3Byb3BzX18gPSBuZXcgV2Vha01hcCgpO1xuXG5jb25zdCBuYXRpdmVQcm9wcyA9IG5ldyBTZXQoW1xuXHQnX19wcm90b19wcm90b19fJyxcblx0J19fYXJnc19fJyxcblx0J19fY29sbGVjdGlvbl9fJyxcblx0J19fc3VidHlwZXNfXycsXG5cdCdfX3R5cGVfXycsXG5cdCdfX3BhcmVudF9fJyxcblx0J19fc3RhY2tfXycsXG5cdCdfX2NyZWF0b3JfXycsXG5cdCdfX3RpbWVzdGFtcF9fJyxcblx0J19fc2VsZl9fJyxcbl0pO1xuXG5leHBvcnQgY29uc3QgX2FkZFByb3BzID0gZnVuY3Rpb24gKHRoaXM6IGFueSk6IGFueSB7XG5cblx0IFxuXHRjb25zdCBzZWxmID0gdGhpcztcblxuXHRjb25zdCB7XG5cdFx0dHlwZSxcblx0XHRleGlzdGVudEluc3RhbmNlLFxuXHRcdGFyZ3MsXG5cdFx0Y29uZmlnOiB7XG5cdFx0XHRzdWJtaXRTdGFja1xuXHRcdH0sXG5cdFx0X19wcm90b19wcm90b19fOiBwcm90b1xuXHR9ID0gc2VsZjtcblxuXHRjb25zdCB7XG5cdFx0Y29sbGVjdGlvbixcblx0XHRzdWJ0eXBlcyxcblx0fSA9IHR5cGU7XG5cblx0Y29uc3QgdmFsdWUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG5cdG9kcCh2YWx1ZSwgJ19fcHJvdG9fcHJvdG9fXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHByb3RvO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19hcmdzX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBhcmdzO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19jb2xsZWN0aW9uX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBjb2xsZWN0aW9uO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19zdWJ0eXBlc19fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gc3VidHlwZXM7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAodmFsdWUsICdfX3R5cGVfXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHR5cGU7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAodmFsdWUsICdfX3BhcmVudF9fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gZXhpc3RlbnRJbnN0YW5jZTtcblx0XHR9XG5cdH0pO1xuXG5cdGlmIChzdWJtaXRTdGFjaykge1xuXHRcdGNvbnN0IHsgc3RhY2sgfSA9IHRoaXM7XG5cdFx0b2RwKHZhbHVlLCAnX19zdGFja19fJywge1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIHN0YWNrLmpvaW4oJ1xcbicpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0b2RwKHZhbHVlLCAnX19jcmVhdG9yX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBzZWxmO1xuXHRcdH1cblx0fSk7XG5cblx0Y29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblx0b2RwKHZhbHVlLCAnX190aW1lc3RhbXBfXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHRpbWVzdGFtcDtcblx0XHR9XG5cdH0pO1xuXG5cdC8vIF9fcHJvcHNfXy5zZXQoc2VsZiwgdmFsdWUpO1xuXHRfX3Byb3BzX18uc2V0KHByb3RvLCB2YWx1ZSk7XG5cbn07XG5cbmNvbnN0IGlzT2JqZWN0TmF0dXJlID0gKGluc3RhbmNlOiB1bmtub3duKSA9PiB7XG5cdGlmIChpbnN0YW5jZSBpbnN0YW5jZW9mIE9iamVjdCkgcmV0dXJuIHRydWU7XG5cdGlmICh0eXBlb2YgaW5zdGFuY2UgPT09ICdvYmplY3QnICYmIGluc3RhbmNlICE9IG51bGwpIHJldHVybiB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgX2dldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QsIGJhc2U/OiBvYmplY3QpOiBQcm9wc1R5cGUgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoIWlzT2JqZWN0TmF0dXJlKGluc3RhbmNlKSkgcmV0dXJuIHVuZGVmaW5lZDtcblx0Y29uc3QgcHJvdG8gPSBSZWZsZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKSBhcyBvYmplY3Q7XG5cdGlmIChiYXNlICE9PSB1bmRlZmluZWQgJiYgaXNPYmplY3ROYXR1cmUoYmFzZSkgJiYgaXNPYmplY3ROYXR1cmUocHJvdG8pICYmIChiYXNlLmNvbnN0cnVjdG9yICE9PSBwcm90by5jb25zdHJ1Y3RvcikpIHtcblx0XHQvLyBoZXJlIHdlIGdvdCByaWQgb2YgdW5uZWNlc3NhcnkgY2hhaW4gZGl2ZVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0Y29uc3QgcmVzdWx0ID0gX19wcm9wc19fLmdldChwcm90byk7XG5cdGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkge1xuXHRcdC8vIHNvIHdlIGp1bXBpbmcgZGVlcGVyIGhlcmVcblx0XHRpZiAoYmFzZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRiYXNlID0gaW5zdGFuY2U7XG5cdFx0fVxuXHRcdHJldHVybiBfZ2V0UHJvcHMocHJvdG8sIGJhc2UpO1xuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgX3NldFNlbGYgPSAoaW5zdGFuY2U6IG9iamVjdCk6IHZvaWQgPT4ge1xuXHQvLyBjb25zdCBwcm9wcyA9IF9fcHJvcHNfXy5nZXQoaW5zdGFuY2UpO1xuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSk7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ19fc2VsZl9fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gaW5zdGFuY2U7XG5cdFx0fVxuXHR9KTtcblx0X19wcm9wc19fLnNldChpbnN0YW5jZSwgcHJvcHMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QpOiBQcm9wc1R5cGUgfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSk7XG5cdGlmIChwcm9wcykge1xuXHRcdGNvbnN0IF9hZGRpdGlvbnMgPSBfX3Byb3BzX18uZ2V0KHByb3BzKTtcblx0XHRpZiAoX2FkZGl0aW9ucyBpbnN0YW5jZW9mIE9iamVjdCkge1xuXHRcdFx0Y29uc3QgZGVzY3JpcHRvcnMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhwcm9wcyk7XG5cdFx0XHRjb25zdCBhZGRpdGlvbnMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhfYWRkaXRpb25zKTtcblx0XHRcdGNvbnN0IGFuc3dlciA9IHt9O1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYW5zd2VyLCBhZGRpdGlvbnMpO1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYW5zd2VyLCBkZXNjcmlwdG9ycyk7XG5cdFx0XHRyZXR1cm4gYW5zd2VyIGFzIFByb3BzVHlwZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHByb3BzO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QsIF92YWx1ZXM6IG9iamVjdCk6IHN0cmluZ1tdIHwgZmFsc2UgPT4ge1xuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSk7XG5cdGlmIChwcm9wcykge1xuXHRcdGNvbnN0IHZhbHVlcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKF92YWx1ZXMpO1xuXHRcdGNvbnN0IHdyaXR0ZW46IHN0cmluZ1tdID0gW107XG5cdFx0Y29uc3QgYWxsb3dlZCA9IHt9O1xuXHRcdE9iamVjdC5lbnRyaWVzKHZhbHVlcykuZm9yRWFjaCgoWyBuYW1lLCB2YWx1ZSBdKSA9PiB7XG5cdFx0XHRpZiAoIW5hdGl2ZVByb3BzLmhhcyhuYW1lKSkge1xuXHRcdFx0XHR3cml0dGVuLnB1c2gobmFtZSk7XG5cdFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhbGxvd2VkLCBuYW1lLCB2YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0X19wcm9wc19fLnNldChwcm9wcywgYWxsb3dlZCk7XG5cdFx0cmV0dXJuIHdyaXR0ZW47XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufTtcblxuLy8gUmUtZXhwb3J0IHR5cGVzIGZyb20gY2VudHJhbGl6ZWQgdHlwZXNcbmV4cG9ydCB0eXBlIHsgQ29sbGVjdGlvbkRlZiwgVHlwZURlZiwgUHJvcHNUeXBlIGFzIFByb3BzIH07XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuXHRfYWRkUHJvcHMsXG5cdF9nZXRQcm9wcyxcblx0X3NldFNlbGYsXG5cdGdldFByb3BzLFxuXHRzZXRQcm9wc1xufTtcbiJdfQ==
|
|
@@ -23,4 +23,4 @@ function default_1() {
|
|
|
23
23
|
};
|
|
24
24
|
return CreateInstanceModificator;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvdHlwZXMvY3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7O0FBT2IsNEJBNkNDO0FBN0NEO0lBRUMsTUFBTSx5QkFBeUIsR0FBRyxVQUVqQyxlQUFpQyxFQUNqQyx3QkFBc0QsRUFDdEQsU0FBMkI7UUFJM0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFHOUIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDcEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSXJCLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRTtZQUMvQyxHQUFHO2dCQUNGLE9BQU8sZUFBZSxDQUFDO1lBQ3hCLENBQUM7WUFDRCxVQUFVLEVBQUcsS0FBSztTQUNsQixDQUFDLENBQUM7UUFJSCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN6RSxLQUFLLENBQUMsV0FBVyxHQUFHO1lBRW5CLEtBQUssRUFBRyxlQUFlO1NBQ3ZCLENBQUM7UUFDRixNQUFNLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUkxRCxPQUFPLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFN0QsT0FBTyxlQUFlLENBQUM7SUFFeEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyx5QkFBeUIsQ0FBQztBQUVsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vLyBTdGVwIDUgb2YgY29uc3RydWN0aW9uIHBpcGVsaW5lOiB0aGUgZGVmYXVsdCBNb2RpZmljYXRpb25Db25zdHJ1Y3Rvci5cbi8vIFdpcmVzIHRoZSBwcm90b3R5cGUgY2hhaW4gYnkgY3JlYXRpbmcgYSBNbmVtb3N5bmUgb2JqZWN0IGluaGVyaXRpbmdcbi8vIGZyb20gdGhlIHBhcmVudCBpbnN0YW5jZSwgYXR0YWNoaW5nIGludGVybmFsIHByb3BzLCBhbmQgbGlua2luZ1xuLy8gTW9kaWZpY2F0b3JUeXBlLnByb3RvdHlwZSB0byBpdC4gVGhpcyBpcyB3aGF0IG1ha2VzIGluc3RhbmNlb2Ygd29yay5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKCkge1xuXG5cdGNvbnN0IENyZWF0ZUluc3RhbmNlTW9kaWZpY2F0b3IgPSBmdW5jdGlvbiAoXG5cdFx0dGhpczogb2JqZWN0LFxuXHRcdE1vZGlmaWNhdG9yVHlwZTogQ2FsbGFibGVGdW5jdGlvbixcblx0XHRNb2RpZmljYXRvclR5cGVQcm90b3R5cGU6IHsgW2luZGV4OiBzdHJpbmddOiB1bmtub3duIH0sXG5cdFx0X2FkZFByb3BzOiBDYWxsYWJsZUZ1bmN0aW9uXG5cdCkge1xuXG5cdFx0IFxuXHRcdGNvbnN0IGV4aXN0ZW50SW5zdGFuY2UgPSB0aGlzO1xuXG5cdFx0Ly8gaW5oZXJpdGVkXG5cdFx0Y29uc3QgTW5lbW9zeW5lID0ge307XG5cdFx0UmVmbGVjdC5zZXRQcm90b3R5cGVPZihNbmVtb3N5bmUsIGV4aXN0ZW50SW5zdGFuY2UpO1xuXHRcdF9hZGRQcm9wcyhNbmVtb3N5bmUpO1xuXG5cdFx0Ly8gYWJvdXQgdG8gc2V0dXAgY29uc3RydWN0b3IgcHJvcGVydHkgZm9yIG5ldyBpbnN0YW5jZVxuXHRcdC8vIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbmhlcml0ZWQsICdjb25zdHJ1Y3RvcicsIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoTW5lbW9zeW5lLCAnY29uc3RydWN0b3InLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gTW9kaWZpY2F0b3JUeXBlO1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGUgOiBmYWxzZVxuXHRcdH0pO1xuXG5cdFx0Ly8gbW9kaWZpY2F0aW9uIGl0c2VsZlxuXHRcdC8vIHNvIG5vdyB3ZSBoYXZlIHRvIGNvcHkgYWxsIGNvbnN0cnVjdG9yIHByb3BzXG5cdFx0Y29uc3QgcHJvcHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhNb2RpZmljYXRvclR5cGVQcm90b3R5cGUpO1xuXHRcdHByb3BzLmNvbnN0cnVjdG9yID0ge1xuXHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBJJ20gdG9vIGxhenkgZm9yIHRoYXRcblx0XHRcdHZhbHVlIDogTW9kaWZpY2F0b3JUeXBlXG5cdFx0fTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydGllcyhNb2RpZmljYXRvclR5cGUucHJvdG90eXBlLCBwcm9wcyk7XG5cblx0XHQvLyBhbmQgc2V0IHRoZSBwcm90b3R5cGUgaW5oZXJpdGVkXG5cdFx0Ly8gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihNb2RpZmljYXRvclR5cGUucHJvdG90eXBlLCBpbmhlcml0ZWQpO1xuXHRcdFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoTW9kaWZpY2F0b3JUeXBlLnByb3RvdHlwZSwgTW5lbW9zeW5lKTtcblxuXHRcdHJldHVybiBNb2RpZmljYXRvclR5cGU7XG5cblx0fTtcblxuXHRyZXR1cm4gQ3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvcjtcblxufVxuIl19
|
package/build/api/types/index.js
CHANGED
|
@@ -183,4 +183,4 @@ const lookup = function (TypeNestedPath) {
|
|
|
183
183
|
return exports.lookup.call(type.subtypes, NextNestedPath);
|
|
184
184
|
};
|
|
185
185
|
exports.lookup = lookup;
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBU2IseUNBQXNDO0FBRXRDLCtDQUE0QztBQUM1QyxNQUFNLEVBQ0wsR0FBRyxFQUNILGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsWUFBWSxFQUVaLGlCQUFpQixFQUNqQixTQUFTLEdBRVQsR0FBRyxxQkFBUyxDQUFDO0FBRWQscURBQXVEO0FBR3ZELDJDQUFxQztBQUNyQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxtQkFBVSxDQUFDO0FBRTNDLE1BQU0sRUFDTCxnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDMUIsR0FBRyxvQkFBVyxDQUFDO0FBS2hCLHFDQUFxQztBQUNyQywyQ0FBd0M7QUFFeEMsMkZBQW9GO0FBRXBGLG9DQUF1RDtBQUN2RCxNQUFNLEVBQ0wsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsT0FBTyxHQUNQLEdBQUcsZUFBVSxDQUFDO0FBRWYsc0NBQXFDO0FBRXJDLE1BQU0sY0FBYyxHQUFHLFVBRXRCLFlBQThCLEVBQzlCLEtBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFxQyxFQUNyQyxNQUFzQztJQUt0QyxNQUFNLFVBQVUsR0FBSSxLQUEyQyxDQUFFLGdCQUFnQixDQUFFLElBQUksSUFBSSxDQUFDO0lBRTVGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFNUMsTUFBTSxVQUFVLEdBQUcsU0FBUztRQUMzQixDQUFDLENBQUUsVUFBc0MsQ0FBQyxVQUFvQjtRQUM5RCxDQUFDLENBQUUsS0FBb0QsQ0FBRSxTQUFTLENBQUUsQ0FBQztJQUV0RSxJQUFLLEtBQUssQ0FBQyxHQUFH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LEVBQUcsQ0FBQztRQUM5QixNQUFNLElBQUkscUJBQXFCLENBQUUsb0NBQW9DLENBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUUsY0FBYyxDQUFFLENBQUM7SUFFakQsTUFBTSxDQUFFLElBQUksQ0FBRSxHQUFHLEtBQUssQ0FBQztJQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFFLElBQUksQ0FBMkIsQ0FBQztJQUN2RCxJQUFLLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFHLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBRSxDQUFDLENBQUUsQ0FBQyxJQUFJLENBQUUsR0FBRyxDQUFFLENBQUM7SUFDcEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1gsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQztJQUNELE9BQU8sY0FBTSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsUUFBK0IsRUFBRSxjQUFjLENBQUUsQ0FBQztBQUU1RSxDQUFDLENBQUM7QUEzQlcsUUFBQSxNQUFNLFVBMkJqQiIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHtcblx0X0ludGVybmFsX1RDXyxcblx0VHlwZURlc2NyaXB0b3JJbnN0YW5jZSxcblx0VHlwZUNsYXNzLFxuXHRjb25zdHJ1Y3Rvck9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBob3AgfSBmcm9tICcuLi8uLi91dGlscy9ob3AnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuY29uc3Qge1xuXHRvZHAsXG5cdFN5bWJvbFBhcmVudFR5cGUsXG5cdFN5bWJvbENvbnN0cnVjdG9yTmFtZSxcblx0U3ltYm9sQ29uZmlnLFxuXG5cdFRZUEVfVElUTEVfUFJFRklYLFxuXHRNTkVNT1NZTkUsXG5cbn0gPSBjb25zdGFudHM7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbi8vIGltcG9ydCB7IGRlc2NyaXB0b3JzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMnO1xuXG5pbXBvcnQgbW5lbW9zeW5lcyBmcm9tICcuL01uZW1vc3luZSc7XG5jb25zdCB7IGdldERlZmF1bHRQcm90b3R5cGUgfSA9IG1uZW1vc3luZXM7XG5cbmNvbnN0IHtcblx0QUxSRUFEWV9ERUNMQVJFRCxcblx0V1JPTkdfVFlQRV9ERUZJTklUSU9OLFxuXHRUWVBFTkFNRV9NVVNUX0JFX0FfU1RSSU5HLFxuXHRIQU5ETEVSX01VU1RfQkVfQV9GVU5DVElPTixcbn0gPSBFcnJvcnNUeXBlcztcblxuLy8gaW52b2tlSG9va1xuLy8gcmVnaXN0ZXJIb29rXG4vLyByZWdpc3RlckZsb3dDaGVja2VyXG5pbXBvcnQgKiBhcyBob29rc0FwaSBmcm9tICcuLi9ob29rcyc7XG5pbXBvcnQgeyBUeXBlUHJveHkgfSBmcm9tICcuL1R5cGVQcm94eSc7XG5cbmltcG9ydCBjb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHkgZnJvbSAnLi9jb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHknO1xuXG5pbXBvcnQgVHlwZXNVdGlscywgeyBDcmVhdGlvbkhhbmRsZXIgfSBmcm9tICcuLi91dGlscyc7XG5jb25zdCB7XG5cdGdldFR5cGVDaGVja2VyLFxuXHRnZXRUeXBlU3BsaXRQYXRoLFxuXHRjaGVja1R5cGVOYW1lLFxuXHRpc0NsYXNzLFxufSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IGdldFN0YWNrIH0gZnJvbSAnLi4vZXJyb3JzJztcblxuY29uc3QgVHlwZURlc2NyaXB0b3IgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IFR5cGVEZXNjcmlwdG9ySW5zdGFuY2UsXG5cdGRlZmluZU9yaWdpbjogQ2FsbGFibGVGdW5jdGlvbixcblx0dHlwZXM6IE1hcDxzdHJpbmcsIG9iamVjdD4sXG5cdFR5cGVOYW1lOiBzdHJpbmcsXG5cdGNvbnN0cnVjdEhhbmRsZXI6IENhbGxhYmxlRnVuY3Rpb24sXG5cdHByb3RvOiB7IFsgaW5kZXg6IHN0cmluZyBdOiB1bmtub3duIH0sXG5cdGNvbmZpZzogeyBbIGluZGV4OiBzdHJpbmcgXTogdW5rbm93biB9LFxuKSB7XG5cblx0Ly8gaGVyZSBcInR5cGVzXCIgcmVmZXJzIHRvIHN1YnR5cGVzIG9mIHR5cGUgb3IgY29sbGVjdGlvbiBvYmplY3Qge31cblxuXHRjb25zdCBwYXJlbnRUeXBlID0gKHR5cGVzIGFzIHVua25vd24gYXMgUmVjb3JkPHN5bWJvbCwgb2JqZWN0PilbIFN5bWJvbFBhcmVudFR5cGUgXSB8fCBudWxsO1xuXG5cdGNvbnN0IGlzU3ViVHlwZSA9IHBhcmVudFR5cGUgPyB0cnVlIDogZmFsc2U7XG5cblx0Y29uc3QgY29sbGVjdGlvbiA9IGlzU3ViVHlwZVxuXHRcdD8gKHBhcmVudFR5cGUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmNvbGxlY3Rpb24gYXMgb2JqZWN0XG5cdFx0OiAodHlwZXMgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nIHwgc3ltYm9sLCBvYmplY3Q+KVsgTU5FTU9TWU5FIF07XG5cblx0aWYgKCB0eXBlcy5oYXMoIFR5cGVOYW1lICkgKSB7XG5cdFx0dGhyb3cgbmV3IEFMUkVBRFlfREVDTEFSRUQgKCBUeXBlTmFtZSApO1xuXHR9XG5cblx0Ly8gY29uc3Qgc3VidHlwZXMgPSBkZXNjcmlwdG9ycy5jcmVhdGVUeXBlc0NvbGxlY3Rpb24oKTtcblx0Y29uc3Qgc3VidHlwZXMgPSBuZXcgTWFwPHN0cmluZywgb2JqZWN0PigpO1xuXG5cdGNvbnN0IHRpdGxlID0gYCR7VFlQRV9USVRMRV9QUkVGSVh9JHtUeXBlTmFtZX1gO1xuXG5cdGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oIHt9LCAoY29sbGVjdGlvbiBhcyBSZWNvcmQ8c3ltYm9sLCB1bmtub3duPilbIFN5bWJvbENvbmZpZyBdLCBjb25maWcgKTtcblxuXHRjb25zdCB0eXBlID0gT2JqZWN0LmFzc2lnbiggdGhpcywge1xuXG5cdFx0Z2V0IGNvbnN0cnVjdEhhbmRsZXIgKCkge1xuXHRcdFx0cmV0dXJuIGNvbnN0cnVjdEhhbmRsZXI7XG5cdFx0fSxcblxuXG5cdFx0VHlwZU5hbWUsXG5cdFx0cHJvdG8sXG5cblx0XHRpc1N1YlR5cGUsXG5cdFx0c3VidHlwZXMsXG5cdFx0cGFyZW50VHlwZSxcblxuXHRcdGNvbGxlY3Rpb24sXG5cblx0XHR0aXRsZSxcblxuXHRcdGNvbmZpZyxcblxuXHRcdGhvb2tzIDogT2JqZWN0LmNyZWF0ZSggbnVsbCApXG5cblx0fSApO1xuXG5cdGdldFN0YWNrLmNhbGwoIHRoaXMsIGBEZWZpbml0aW9uIG9mIFsgJHtUeXBlTmFtZX0gXSBtYWRlIGF0OmAsIFtdLCBkZWZpbmVPcmlnaW4gKTtcblxuXHRvZHAoIHN1YnR5cGVzLCBTeW1ib2xQYXJlbnRUeXBlLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiB0eXBlO1xuXHRcdH1cblx0fSApO1xuXG5cdC8vIGNvbnN0IFVyYW51cyA9IGlzU3ViVHlwZSA/IE9iamVjdC5jcmVhdGUobnVsbCkgOiBwcm90bztcblx0Y29uc3QgVXJhbnVzID0gaXNTdWJUeXBlID8gdW5kZWZpbmVkIDogcHJvdG87XG5cdHR5cGVzLnNldCggVHlwZU5hbWUsIG5ldyBUeXBlUHJveHkoIHR5cGUsIFVyYW51cyApICk7XG5cdFxuXHQvLyB0eXBlcy5zZXQoIFR5cGVOYW1lLCBuZXcgVHlwZVByb3h5KCB0eXBlICkgKTtcblxuXHRyZXR1cm4gdHlwZXMuZ2V0KCBUeXBlTmFtZSApO1xuXG59IGFzIHVua25vd24gYXMgX0ludGVybmFsX1RDXzxUeXBlRGVzY3JpcHRvckluc3RhbmNlPjtcblxuT2JqZWN0LmFzc2lnbiggVHlwZURlc2NyaXB0b3IucHJvdG90eXBlLCBob29rc0FwaSApO1xuXG5UeXBlRGVzY3JpcHRvci5wcm90b3R5cGUuZGVmaW5lID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBUeXBlRGVzY3JpcHRvckluc3RhbmNlLFxuXHRUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnPzogQ2FsbGFibGVGdW5jdGlvbiB8IG9iamVjdCxcblx0Y29uZmlnPzogb2JqZWN0XG4pIHtcblx0cmV0dXJuIGRlZmluZS5jYWxsKCBkZWZpbmUsIHRoaXMuc3VidHlwZXMgYXMgTWFwPHN0cmluZywgb2JqZWN0PiwgVHlwZU9yVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZywgY29uZmlnICk7XG59O1xuXG5UeXBlRGVzY3JpcHRvci5wcm90b3R5cGUubG9va3VwID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBUeXBlRGVzY3JpcHRvckluc3RhbmNlLFxuXHRUeXBlTmVzdGVkUGF0aDogc3RyaW5nXG4pIHtcblx0cmV0dXJuIGxvb2t1cC5jYWxsKCB0aGlzLnN1YnR5cGVzIGFzIE1hcDxzdHJpbmcsIG9iamVjdD4sIFR5cGVOZXN0ZWRQYXRoICk7XG59O1xuXG5vZHAoIFR5cGVEZXNjcmlwdG9yLnByb3RvdHlwZSwgU3ltYm9sLmhhc0luc3RhbmNlLCB7XG5cdGdldCAodGhpczogVHlwZURlc2NyaXB0b3JJbnN0YW5jZSkge1xuXHRcdHJldHVybiBnZXRUeXBlQ2hlY2tlciggdGhpcy5UeXBlTmFtZSApO1xuXHR9XG59ICk7XG5cbi8qXG5oZXJlIHdlIHVzZSBmdW5jdGlvbiB0byByZXRyZWl2ZSBhIGNvbnRydWN0b3JcbmFuZCBjb25zdHJ1Y3RIYW5kbGVyR2V0dGVyIGlzIHRoYXQgZnVuY3Rpb25cbiovXG5jb25zdCBkZWZpbmVVc2luZ1R5cGUgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IENhbGxhYmxlRnVuY3Rpb24sXG5cdHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+LFxuXHRjb25zdHJ1Y3RIYW5kbGVyR2V0dGVyOiAoKSA9PiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRjb25maWc6IGNvbnN0cnVjdG9yT3B0aW9ucyB8IHVuZGVmaW5lZFxuKSB7XG5cdC8vIHdlIG5lZWQgdGhpcyB0byBleHRyYWN0IFR5cGVOYW1lXG5cdGNvbnN0IHR5cGUgPSBjb25zdHJ1Y3RIYW5kbGVyR2V0dGVyKCk7XG5cblx0aWYgKCB0eXBlb2YgdHlwZSAhPT0gJ2Z1bmN0aW9uJyApIHtcblx0XHR0aHJvdyBuZXcgSEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT047XG5cdH1cblxuXHRjb25zdCBUeXBlTmFtZSA9IHR5cGUubmFtZTtcblxuXHRpZiAoICFUeXBlTmFtZSApIHtcblx0XHR0aHJvdyBuZXcgVFlQRU5BTUVfTVVTVF9CRV9BX1NUUklORztcblx0fVxuXG5cdGNvbnN0IGFzQ2xhc3MgPSBpc0NsYXNzKCB0eXBlICk7XG5cblx0Y29uc3QgbWFrZUNvbnN0cnVjdEhhbmRsZXIgPSAoKSA9PiB7XG5cdFx0Y29uc3QgY29uc3RydWN0SGFuZGxlciA9IGNvbnN0cnVjdEhhbmRsZXJHZXR0ZXIoKTtcblx0XHQvLyBjb25zdHJ1Y3RIYW5kbGVyW1N5bWJvbENvbnN0cnVjdG9yTmFtZV0gPSBUeXBlTmFtZTtcblx0XHRvZHAoIGNvbnN0cnVjdEhhbmRsZXIsIFN5bWJvbENvbnN0cnVjdG9yTmFtZSwge1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIFR5cGVOYW1lO1xuXHRcdFx0fVxuXHRcdH0gKTtcblx0XHRcblx0XHQvLyB0aGlzIHdhcyBjaGVja2luZyBmb3IgY2xhc3MgLyBmdW5jdGlvblxuXHRcdC8vIGZ1bmN0aW9ucyBoYXMgLndyaXRhYmxlIHByb3RvdHlwZVxuXHRcdC8vIGFuZCBjbGFzc2VzIGFyZSBoYXMgbm90XG5cdFx0Y29uc3QgcHJvdG9EZXNjID0gT2JqZWN0XG5cdFx0XHQuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCBjb25zdHJ1Y3RIYW5kbGVyLCAncHJvdG90eXBlJyApIGFzIFByb3BlcnR5RGVzY3JpcHRvciB8IHVuZGVmaW5lZDtcblx0XHRpZiAoIHByb3RvRGVzYyAmJiBwcm90b0Rlc2Mud3JpdGFibGUgKSB7XG5cdFx0XHQvLyBjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSA9IHt9O1xuXHRcdFx0Y29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUgPSBnZXREZWZhdWx0UHJvdG90eXBlKCk7XG5cdFx0fVxuXHRcdFxuXHRcdC8vIFRPRE86XG5cdFx0Ly8gc2lkZS13YXksIG5vbiBjb3JyZWN0bHkgd29ya2luZ1xuXHRcdC8vIHdpdGggY3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvciBmb3IgbGluZVxuXHRcdC8vIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKE1vZGlmaWNhdG9yVHlwZS5wcm90b3R5cGUsIHByb3BzKTtcblx0XHQvLyBmb3IgcmVwZWF0YWJsZSBpbnN0YW5jZSBjcmVhdGlvbnNcblx0XHQvLyDihpPihpPihpMg4oaT4oaT4oaTIOKGk+KGk+KGk1xuXHRcdC8vIGVsc2Uge1xuXHRcdC8vIFx0Ly8gc28gbGV0IHVzZSBPYmplY3Quc2V0UHJvdG90eXBlT2YgaW5zdGVhZFxuXHRcdC8vIFx0Ly8gT2JqZWN0LnNldFByb3RvdHlwZU9mKE9iamVjdC5nZXRQcm90b3R5cGVPZihjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSksIGdldERlZmF1bHRQcm90b3R5cGUoKSk7XG5cdFx0Ly8gXHRPYmplY3Quc2V0UHJvdG90eXBlT2YoY29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUsIGdldERlZmF1bHRQcm90b3R5cGUoKSk7XG5cdFx0Ly8gfVxuXG5cdFx0cmV0dXJuIGNvbnN0cnVjdEhhbmRsZXI7XG5cdH07XG5cblx0aWYgKCB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyApIHtcblx0XHRjb25maWcgPSBPYmplY3QuYXNzaWduKCB7fSwgY29uZmlnICk7XG5cdH0gZWxzZSB7XG5cdFx0Y29uZmlnID0ge307XG5cdH1cblxuXHRjb25maWcuYXNDbGFzcyA9IGFzQ2xhc3M7XG5cblx0cmV0dXJuIG5ldyBUeXBlRGVzY3JpcHRvcihcblx0XHR0aGlzLFxuXHRcdHN1YnR5cGVzLFxuXHRcdFR5cGVOYW1lLFxuXHRcdG1ha2VDb25zdHJ1Y3RIYW5kbGVyLFxuXHRcdHR5cGUucHJvdG90eXBlLFxuXHRcdGNvbmZpZ1xuXHQpO1xufTtcblxuXG4vKlxuaGVyZSB3ZSBkaXJlY3RseSBwYXNzaW5nIGNvbnN0cnVjdEhhbmRsZXJcbmFzIGEgY29uc3RydWN0b3IgZm9yIGluc3RhbmNlcyBjcmVhdGlvbnNcbiovXG5jb25zdCBkZWZpbmVVc2luZ0Z1bmN0aW9uID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRzdWJ0eXBlczogTWFwPHN0cmluZywgb2JqZWN0Pixcblx0VHlwZU5hbWU6IHN0cmluZyxcblx0Y29uc3RydWN0SGFuZGxlcjogQ2FsbGFibGVGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfSxcblx0Y29uZmlnOiBjb25zdHJ1Y3Rvck9wdGlvbnMgPSB7fVxuKSB7XG5cblx0aWYgKCB0eXBlb2YgY29uc3RydWN0SGFuZGxlciAhPT0gJ2Z1bmN0aW9uJyApIHtcblx0XHR0aHJvdyBuZXcgSEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT047XG5cdH1cblxuXHRjb25zdCBhc0NsYXNzID0gaXNDbGFzcyggY29uc3RydWN0SGFuZGxlciApO1xuXHRjb25zdCBtb2RpZmljYXRvckJvZHkgPSBjb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHkoIFR5cGVOYW1lLCBhc0NsYXNzICk7XG5cblx0Y29uc3QgbWFrZUNvbnN0cnVjdEhhbmRsZXIgPSBtb2RpZmljYXRvckJvZHkoXG5cdFx0Y29uc3RydWN0SGFuZGxlcixcblx0XHRDcmVhdGlvbkhhbmRsZXIsXG5cdFx0U3ltYm9sQ29uc3RydWN0b3JOYW1lXG5cdCk7XG5cblx0aWYgKCBjb25maWcgaW5zdGFuY2VvZiBGdW5jdGlvbiApIHtcblx0XHRjb25maWcgPSB7XG5cdFx0XHRNb2RpZmljYXRpb25Db25zdHJ1Y3RvciA6IGNvbmZpZ1xuXHRcdH07XG5cdH1cblxuXHRpZiAoIHR5cGVvZiBjb25maWcgIT09ICdvYmplY3QnICkge1xuXHRcdGNvbmZpZyA9IHt9O1xuXHR9XG5cblxuXHRjb25maWcuYXNDbGFzcyA9IGFzQ2xhc3M7XG5cblx0Y29uc3QgcHJvdG8gPSAoXG5cdFx0aG9wKCBjb25zdHJ1Y3RIYW5kbGVyLCAncHJvdG90eXBlJyApICYmXG5cdFx0Ly8gdXNpbmcg4oaT4oaT4oaTIGNhdXNlIGZvciBwcm94eSBpbiBjaGFpbiBpcyBpbnN0YW5jZW9mIGZhaWxzXG5cdFx0Ly8gYW5kIGFsc28gZmFpbHMgZm9yIGp1c3QgT2JqZWN0LmNyZWF0ZShudWxsKVxuXHRcdCggdHlwZW9mIGNvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlID09PSAnb2JqZWN0JyApXG5cdC8vICkgPyBjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSA6IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cdCkgPyBjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSA6IGdldERlZmF1bHRQcm90b3R5cGUoKTtcblx0XG5cdC8vIGxldCBwcm90byA9IHt9O1xuXHQvLyBpZiAoIGhvcCggY29uc3RydWN0SGFuZGxlciwgJ3Byb3RvdHlwZScgKSAmJiAoIGNvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlIGluc3RhbmNlb2YgT2JqZWN0ICkgKSB7XG5cdC8vIFx0cHJvdG8gPSBPYmplY3QuYXNzaWduKCB7fSwgY29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUgKTtcblx0Ly8gXHRPYmplY3Quc2V0UHJvdG90eXBlT2YoIHByb3RvLCBjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSApO1xuXHQvLyB9XG5cblx0cmV0dXJuIG5ldyBUeXBlRGVzY3JpcHRvcihcblx0XHR0aGlzLFxuXHRcdHN1YnR5cGVzLFxuXHRcdFR5cGVOYW1lLFxuXHRcdG1ha2VDb25zdHJ1Y3RIYW5kbGVyLFxuXHRcdC8vIHByb3RvIHByb3AgZm9yIFR5cGVEZXNjcmlwdG9yXG5cdFx0cHJvdG8sXG5cdFx0Y29uZmlnXG5cdCk7XG5cbn07XG5cblxuZXhwb3J0IGNvbnN0IGRlZmluZSA9IGZ1bmN0aW9uIChcblx0dGhpczogQ2FsbGFibGVGdW5jdGlvbixcblx0c3VidHlwZXM6IE1hcDxzdHJpbmcsIG9iamVjdD4sXG5cdFR5cGVPclR5cGVOYW1lOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc/OiBDYWxsYWJsZUZ1bmN0aW9uIHwgb2JqZWN0LFxuXHRjb25maWc/OiBvYmplY3Rcbik6IFR5cGVDbGFzcyB7XG5cblx0aWYgKCB0eXBlb2YgVHlwZU9yVHlwZU5hbWUgPT09ICdmdW5jdGlvbicgKSB7XG5cdFx0Ly8gVE9ETzogaWYgKCBob3AoIFR5cGVPclR5cGVOYW1lLCAnbmFtZScgKSApIHtcblx0XHQvLyBUT0RPOiBpZiAoIGhvcCggVHlwZU9yVHlwZU5hbWUuY29uc3RydWN0b3IsICduYW1lJyApICkge1xuXHRcdGlmICggVHlwZU9yVHlwZU5hbWUubmFtZSApIHtcblx0XHRcdFxuXHRcdFx0Y29uc3QgVHlwZSA9IGxvb2t1cC5jYWxsKCBzdWJ0eXBlcywgVHlwZU9yVHlwZU5hbWUubmFtZSApO1xuXG5cdFx0XHRpZiAoIFR5cGUgKSB7XG5cdFx0XHRcdC8vIGRlYnVnZ2VyO1xuXHRcdFx0XHR0aHJvdyBuZXcgQUxSRUFEWV9ERUNMQVJFRCggVHlwZU9yVHlwZU5hbWUubmFtZSApO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gZGVmaW5lLmNhbGwoIHRoaXMsIHN1YnR5cGVzLCBUeXBlT3JUeXBlTmFtZS5uYW1lLCBUeXBlT3JUeXBlTmFtZSwgY29uZmlnICk7XG5cblx0XHR9IGVsc2Uge1xuXHRcdFx0IFxuXHRcdFx0cmV0dXJuIChkZWZpbmVVc2luZ1R5cGUgYXMgYW55KS5jYWxsKFxuXHRcdFx0XHR0aGlzLFxuXHRcdFx0XHRzdWJ0eXBlcyxcblx0XHRcdFx0VHlwZU9yVHlwZU5hbWUsXG5cdFx0XHRcdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZyA/IGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZyA6IFR5cGVPclR5cGVOYW1lXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdGlmICggdHlwZW9mIFR5cGVPclR5cGVOYW1lID09PSAnc3RyaW5nJyApIHtcblxuXHRcdGNoZWNrVHlwZU5hbWUoIFR5cGVPclR5cGVOYW1lICk7XG5cblx0XHRjb25zdCBzcGxpdCA9IGdldFR5cGVTcGxpdFBhdGgoIFR5cGVPclR5cGVOYW1lICk7XG5cblx0XHRjb25zdCBUeXBlID0gbG9va3VwLmNhbGwoIHN1YnR5cGVzLCBzcGxpdFsgMCBdICk7XG5cdFx0XG5cdFx0aWYgKCFUeXBlKSB7XG5cblx0XHRcdGlmICggc3BsaXQubGVuZ3RoID09PSAxICkge1xuXHRcdFx0XHQgXG5cdFx0XHRcdHJldHVybiAoZGVmaW5lVXNpbmdGdW5jdGlvbiBhcyBhbnkpLmNhbGwoXG5cdFx0XHRcdFx0dGhpcyxcblx0XHRcdFx0XHRzdWJ0eXBlcyxcblx0XHRcdFx0XHRUeXBlT3JUeXBlTmFtZSxcblx0XHRcdFx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWcsXG5cdFx0XHRcdFx0Y29uZmlnXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEV4aXN0ZW50LmRlZmluZSgnTWlzc2luZy5XYW50ZWQnKVxuXHRcdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggYHBhcmVudCAke3NwbGl0WyAwIF19IGRlZmluaXRpb24gaXMgbm90IHlldCBleGlzdHMhYCApO1xuXHRcdH1cblxuXHRcdGNvbnN0IFR5cGVOYW1lID0gc3BsaXQuc2xpY2UoIDEgKS5qb2luKCAnLicgKTtcblxuXHRcdGlmICggc3BsaXQubGVuZ3RoID4gMSApIHtcblx0XHRcdHJldHVybiBkZWZpbmUuY2FsbCggdGhpcywgVHlwZS5zdWJ0eXBlcyBhcyBNYXA8c3RyaW5nLCBvYmplY3Q+LCBUeXBlTmFtZSwgY29uc3RydWN0SGFuZGxlck9yQ29uZmlnLCBjb25maWcgKTtcblx0XHR9XG5cblxuXHRcdGlmIChzcGxpdC5sZW5ndGggPT09IDEpIHtcblxuXHRcdFx0aWYgKGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG5cblx0XHRcdFx0Ly8gZGVidWdnZXI7XG5cblx0XHRcdFx0Ly8gaWYgKGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZy5uYW1lID09PSBUeXBlLlR5cGVOYW1lKSB7XG5cdFx0XHRcdC8vIFx0dGhyb3cgbmV3IEFMUkVBRFlfREVDTEFSRUQoIFR5cGVPclR5cGVOYW1lICk7XG5cdFx0XHRcdC8vIH1cblx0XHRcdFx0XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Ly8gZGVidWdnZXI7XG5cdFx0XHRcdFx0Ly8gd2UgbmVlZCB0aGlzIHRvIGV4dHJhY3QgVHlwZU5hbWVcblx0XHRcdFx0XHRjb25zdCB0eXBlID0gY29uc3RydWN0SGFuZGxlck9yQ29uZmlnKCk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0aWYgKCAhKHR5cGUgaW5zdGFuY2VvZiBGdW5jdGlvbikgKSB7XG5cdFx0XHRcdFx0XHQvLyBkZWJ1Z2dlcjtcblx0XHRcdFx0XHRcdHRocm93IG5ldyBBTFJFQURZX0RFQ0xBUkVEKCBUeXBlT3JUeXBlTmFtZSApO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmICggdHlwZS5uYW1lLmxlbmd0aCA9PT0gMCApIHtcblx0XHRcdFx0XHRcdC8vIGRlYnVnZ2VyO1xuXHRcdFx0XHRcdFx0dGhyb3cgbmV3IEFMUkVBRFlfREVDTEFSRUQoIFR5cGVPclR5cGVOYW1lICk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gaWYgKHR5cGUubmFtZS5sZW5ndGggPiAwICYmIHR5cGUubmFtZSA9PT0gVHlwZS5UeXBlTmFtZSkge1xuXHRcdFx0XHRcdC8vIFx0ZGVidWdnZXI7XG5cdFx0XHRcdFx0Ly8gXHR0aHJvdyBuZXcgQUxSRUFEWV9ERUNMQVJFRCggVHlwZU9yVHlwZU5hbWUgKTtcblx0XHRcdFx0XHQvLyB9XG5cdFxuXHRcdFx0XHR9IGNhdGNoIHtcblxuXHRcdFx0XHRcdHJldHVybiAoZGVmaW5lVXNpbmdGdW5jdGlvbiBhcyBhbnkpLmNhbGwoXG5cdFx0XHRcdFx0XHR0aGlzLFxuXHRcdFx0XHRcdFx0c3VidHlwZXMsXG5cdFx0XHRcdFx0XHRUeXBlT3JUeXBlTmFtZSxcblx0XHRcdFx0XHRcdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZyxcblx0XHRcdFx0XHRcdGNvbmZpZ1xuXHRcdFx0XHRcdCk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQvLyBzbywgaGVyZSB3ZSBnbyB3aXRoXG5cdFx0Ly8gZGVmaW5lVXNpbmdUeXBlLmNhbGxcblx0XHQvLyBmcm9tIHRoZSBuZXh0IHN0ZXBcblx0XHRyZXR1cm4gZGVmaW5lLmNhbGwoXG5cdFx0XHR0aGlzIGFzIHVua25vd24gYXMgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRcdFR5cGUuc3VidHlwZXMgYXMgTWFwPHN0cmluZywgb2JqZWN0Pixcblx0XHRcdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZyBhcyBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdFx0Y29uZmlnXG5cdFx0KTtcblxuXHR9XG5cblx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggJ2RlZmluaXRpb24gaXMgbm90IHByb3ZpZGVkJyApO1xuXG59O1xuXG5leHBvcnQgY29uc3QgbG9va3VwID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBNYXA8c3RyaW5nLCBvYmplY3Q+LFxuXHRUeXBlTmVzdGVkUGF0aDogc3RyaW5nXG4pOiBUeXBlQ2xhc3MgfCB1bmRlZmluZWQge1xuXG5cdGlmICggdHlwZW9mIFR5cGVOZXN0ZWRQYXRoICE9PSAnc3RyaW5nJyApIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCAnYXJnIDogdHlwZSBuZXN0ZWQgcGF0aCBtdXN0IGJlIGEgc3RyaW5nJyApO1xuXHR9XG5cblx0aWYgKCAhVHlwZU5lc3RlZFBhdGgubGVuZ3RoICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdhcmcgOiB0eXBlIG5lc3RlZCBwYXRoIGhhcyBubyBwYXRoJyApO1xuXHR9XG5cblx0Y29uc3Qgc3BsaXQgPSBnZXRUeXBlU3BsaXRQYXRoKCBUeXBlTmVzdGVkUGF0aCApO1xuXG5cdGNvbnN0IFsgbmFtZSBdID0gc3BsaXQ7XG5cdGNvbnN0IHR5cGUgPSB0aGlzLmdldCggbmFtZSApIGFzIFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcblx0aWYgKCBzcGxpdC5sZW5ndGggPT09IDEgKSB7XG5cdFx0cmV0dXJuIHR5cGU7XG5cdH1cblxuXHRjb25zdCBOZXh0TmVzdGVkUGF0aCA9IHNwbGl0LnNsaWNlKCAxICkuam9pbiggJy4nICk7XG5cdGlmICghdHlwZSkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIGxvb2t1cC5jYWxsKCB0eXBlLnN1YnR5cGVzIGFzIE1hcDxzdHJpbmcsIG9iamVjdD4sIE5leHROZXN0ZWRQYXRoICk7XG5cbn07XG5cblxuXG4iXX0=
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBOEJiLHlDQUFzQztBQUV0QywrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLFlBQVksRUFFWixpQkFBaUIsRUFDakIsU0FBUyxHQUVULEdBQUcscUJBQVMsQ0FBQztBQUVkLHFEQUF1RDtBQUd2RCwyQ0FBcUM7QUFDckMsTUFBTSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsbUJBQVUsQ0FBQztBQUUzQyxNQUFNLEVBQ0wsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsMEJBQTBCLEdBQzFCLEdBQUcsb0JBQVcsQ0FBQztBQUtoQixxQ0FBcUM7QUFDckMsMkNBQXdDO0FBRXhDLDJGQUFvRjtBQUVwRixvQ0FBdUQ7QUFDdkQsTUFBTSxFQUNMLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLE9BQU8sR0FDUCxHQUFHLGVBQVUsQ0FBQztBQUVmLHNDQUFxQztBQUVyQyxNQUFNLGNBQWMsR0FBRyxVQUV0QixZQUE4QixFQUM5QixLQUEwQixFQUMxQixRQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsS0FBcUMsRUFDckMsTUFBc0M7SUFLdEMsTUFBTSxVQUFVLEdBQUksS0FBMkMsQ0FBRSxnQkFBZ0IsQ0FBRSxJQUFJLElBQUksQ0FBQztJQUU1RixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBRTVDLE1BQU0sVUFBVSxHQUFHLFNBQVM7UUFDM0IsQ0FBQyxDQUFFLFVBQXNDLENBQUMsVUFBb0I7UUFDOUQsQ0FBQyxDQUFFLEtBQW9ELENBQUUsU0FBUyxDQUFFLENBQUM7SUFFdEUsSUFBSyxLQUFLLENBQUMsR0FB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TSxFQUFHLENBQUM7UUFDOUIsTUFBTSxJQUFJLHFCQUFxQixDQUFFLG9DQUFvQyxDQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFFLGNBQWMsQ0FBRSxDQUFDO0lBRWpELE1BQU0sQ0FBRSxJQUFJLENBQUUsR0FBRyxLQUFLLENBQUM7SUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBRSxJQUFJLENBQTJCLENBQUM7SUFDdkQsSUFBSyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBQ3BELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNYLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLGNBQU0sQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLFFBQStCLEVBQUUsY0FBYyxDQUFFLENBQUM7QUFFNUUsQ0FBQyxDQUFDO0FBM0JXLFFBQUEsTUFBTSxVQTJCakIiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ29uc3RydWN0aW9uIFBpcGVsaW5lIChoaWdoLWxldmVsIGZsb3cpOlxuICpcbiAqICAgZGVmaW5lKFR5cGVOYW1lLCBjdG9yKSAg4oaSICBuZXcgVHlwZURlc2NyaXB0b3IoKSAg4oaSICBuZXcgVHlwZVByb3h5KClcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pa8XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEluc3RhbmNlQ3JlYXRvcih0eXBlLCBwYXJlbnQsIGFyZ3MpXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKWvFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yKHNlbGYpXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKWvFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yLmNhbGwocGFyZW50LCBNb2RpZmljYXRvclR5cGUsIHByb3RvLCBfYWRkUHJvcHMpXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKWvFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgY29uc3RydWN0b3IgcnVucyAobmV3IE1vZGlmaWNhdG9yVHlwZSguLi5hcmdzKSlcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pa8XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zdFByb2Nlc3NpbmcoKSDihpIgaW52b2tlUG9zdEhvb2tzKClcbiAqL1xuXG5pbXBvcnQge1xuXHRfSW50ZXJuYWxfVENfLFxuXHRUeXBlRGVzY3JpcHRvckluc3RhbmNlLFxuXHRUeXBlQ2xhc3MsXG5cdGNvbnN0cnVjdG9yT3B0aW9uc1xufSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IGhvcCB9IGZyb20gJy4uLy4uL3V0aWxzL2hvcCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5jb25zdCB7XG5cdG9kcCxcblx0U3ltYm9sUGFyZW50VHlwZSxcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lLFxuXHRTeW1ib2xDb25maWcsXG5cblx0VFlQRV9USVRMRV9QUkVGSVgsXG5cdE1ORU1PU1lORSxcblxufSA9IGNvbnN0YW50cztcblxuaW1wb3J0IHsgRXJyb3JzVHlwZXMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycy9lcnJvcnMnO1xuLy8gaW1wb3J0IHsgZGVzY3JpcHRvcnMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycyc7XG5cbmltcG9ydCBtbmVtb3N5bmVzIGZyb20gJy4vTW5lbW9zeW5lJztcbmNvbnN0IHsgZ2V0RGVmYXVsdFByb3RvdHlwZSB9ID0gbW5lbW9zeW5lcztcblxuY29uc3Qge1xuXHRBTFJFQURZX0RFQ0xBUkVELFxuXHRXUk9OR19UWVBFX0RFRklOSVRJT04sXG5cdFRZUEVOQU1FX01VU1RfQkVfQV9TVFJJTkcsXG5cdEhBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OLFxufSA9IEVycm9yc1R5cGVzO1xuXG4vLyBpbnZva2VIb29rXG4vLyByZWdpc3Rlckhvb2tcbi8vIHJlZ2lzdGVyRmxvd0NoZWNrZXJcbmltcG9ydCAqIGFzIGhvb2tzQXBpIGZyb20gJy4uL2hvb2tzJztcbmltcG9ydCB7IFR5cGVQcm94eSB9IGZyb20gJy4vVHlwZVByb3h5JztcblxuaW1wb3J0IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSBmcm9tICcuL2NvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSc7XG5cbmltcG9ydCBUeXBlc1V0aWxzLCB7IENyZWF0aW9uSGFuZGxlciB9IGZyb20gJy4uL3V0aWxzJztcbmNvbnN0IHtcblx0Z2V0VHlwZUNoZWNrZXIsXG5cdGdldFR5cGVTcGxpdFBhdGgsXG5cdGNoZWNrVHlwZU5hbWUsXG5cdGlzQ2xhc3MsXG59ID0gVHlwZXNVdGlscztcblxuaW1wb3J0IHsgZ2V0U3RhY2sgfSBmcm9tICcuLi9lcnJvcnMnO1xuXG5jb25zdCBUeXBlRGVzY3JpcHRvciA9IGZ1bmN0aW9uIChcblx0dGhpczogVHlwZURlc2NyaXB0b3JJbnN0YW5jZSxcblx0ZGVmaW5lT3JpZ2luOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHR0eXBlczogTWFwPHN0cmluZywgb2JqZWN0Pixcblx0VHlwZU5hbWU6IHN0cmluZyxcblx0Y29uc3RydWN0SGFuZGxlcjogQ2FsbGFibGVGdW5jdGlvbixcblx0cHJvdG86IHsgWyBpbmRleDogc3RyaW5nIF06IHVua25vd24gfSxcblx0Y29uZmlnOiB7IFsgaW5kZXg6IHN0cmluZyBdOiB1bmtub3duIH0sXG4pIHtcblxuXHQvLyBoZXJlIFwidHlwZXNcIiByZWZlcnMgdG8gc3VidHlwZXMgb2YgdHlwZSBvciBjb2xsZWN0aW9uIG9iamVjdCB7fVxuXG5cdGNvbnN0IHBhcmVudFR5cGUgPSAodHlwZXMgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3ltYm9sLCBvYmplY3Q+KVsgU3ltYm9sUGFyZW50VHlwZSBdIHx8IG51bGw7XG5cblx0Y29uc3QgaXNTdWJUeXBlID0gcGFyZW50VHlwZSA/IHRydWUgOiBmYWxzZTtcblxuXHRjb25zdCBjb2xsZWN0aW9uID0gaXNTdWJUeXBlXG5cdFx0PyAocGFyZW50VHlwZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuY29sbGVjdGlvbiBhcyBvYmplY3Rcblx0XHQ6ICh0eXBlcyBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcgfCBzeW1ib2wsIG9iamVjdD4pWyBNTkVNT1NZTkUgXTtcblxuXHRpZiAoIHR5cGVzLmhhcyggVHlwZU5hbWUgKSApIHtcblx0XHR0aHJvdyBuZXcgQUxSRUFEWV9ERUNMQVJFRCAoIFR5cGVOYW1lICk7XG5cdH1cblxuXHQvLyBjb25zdCBzdWJ0eXBlcyA9IGRlc2NyaXB0b3JzLmNyZWF0ZVR5cGVzQ29sbGVjdGlvbigpO1xuXHRjb25zdCBzdWJ0eXBlcyA9IG5ldyBNYXA8c3RyaW5nLCBvYmplY3Q+KCk7XG5cblx0Y29uc3QgdGl0bGUgPSBgJHtUWVBFX1RJVExFX1BSRUZJWH0ke1R5cGVOYW1lfWA7XG5cblx0Y29uZmlnID0gT2JqZWN0LmFzc2lnbigge30sIChjb2xsZWN0aW9uIGFzIFJlY29yZDxzeW1ib2wsIHVua25vd24+KVsgU3ltYm9sQ29uZmlnIF0sIGNvbmZpZyApO1xuXG5cdGNvbnN0IHR5cGUgPSBPYmplY3QuYXNzaWduKCB0aGlzLCB7XG5cblx0XHRnZXQgY29uc3RydWN0SGFuZGxlciAoKSB7XG5cdFx0XHRyZXR1cm4gY29uc3RydWN0SGFuZGxlcjtcblx0XHR9LFxuXG5cblx0XHRUeXBlTmFtZSxcblx0XHRwcm90byxcblxuXHRcdGlzU3ViVHlwZSxcblx0XHRzdWJ0eXBlcyxcblx0XHRwYXJlbnRUeXBlLFxuXG5cdFx0Y29sbGVjdGlvbixcblxuXHRcdHRpdGxlLFxuXG5cdFx0Y29uZmlnLFxuXG5cdFx0aG9va3MgOiBPYmplY3QuY3JlYXRlKCBudWxsIClcblxuXHR9ICk7XG5cblx0Z2V0U3RhY2suY2FsbCggdGhpcywgYERlZmluaXRpb24gb2YgWyAke1R5cGVOYW1lfSBdIG1hZGUgYXQ6YCwgW10sIGRlZmluZU9yaWdpbiApO1xuXG5cdG9kcCggc3VidHlwZXMsIFN5bWJvbFBhcmVudFR5cGUsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHR5cGU7XG5cdFx0fVxuXHR9ICk7XG5cblx0Ly8gY29uc3QgVXJhbnVzID0gaXNTdWJUeXBlID8gT2JqZWN0LmNyZWF0ZShudWxsKSA6IHByb3RvO1xuXHRjb25zdCBVcmFudXMgPSBpc1N1YlR5cGUgPyB1bmRlZmluZWQgOiBwcm90bztcblx0dHlwZXMuc2V0KCBUeXBlTmFtZSwgbmV3IFR5cGVQcm94eSggdHlwZSwgVXJhbnVzICkgKTtcblx0XG5cdC8vIHR5cGVzLnNldCggVHlwZU5hbWUsIG5ldyBUeXBlUHJveHkoIHR5cGUgKSApO1xuXG5cdHJldHVybiB0eXBlcy5nZXQoIFR5cGVOYW1lICk7XG5cbn0gYXMgdW5rbm93biBhcyBfSW50ZXJuYWxfVENfPFR5cGVEZXNjcmlwdG9ySW5zdGFuY2U+O1xuXG5PYmplY3QuYXNzaWduKCBUeXBlRGVzY3JpcHRvci5wcm90b3R5cGUsIGhvb2tzQXBpICk7XG5cblR5cGVEZXNjcmlwdG9yLnByb3RvdHlwZS5kZWZpbmUgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IFR5cGVEZXNjcmlwdG9ySW5zdGFuY2UsXG5cdFR5cGVPclR5cGVOYW1lOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc/OiBDYWxsYWJsZUZ1bmN0aW9uIHwgb2JqZWN0LFxuXHRjb25maWc/OiBvYmplY3Rcbikge1xuXHRyZXR1cm4gZGVmaW5lLmNhbGwoIGRlZmluZSwgdGhpcy5zdWJ0eXBlcyBhcyBNYXA8c3RyaW5nLCBvYmplY3Q+LCBUeXBlT3JUeXBlTmFtZSwgY29uc3RydWN0SGFuZGxlck9yQ29uZmlnLCBjb25maWcgKTtcbn07XG5cblR5cGVEZXNjcmlwdG9yLnByb3RvdHlwZS5sb29rdXAgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IFR5cGVEZXNjcmlwdG9ySW5zdGFuY2UsXG5cdFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmdcbikge1xuXHRyZXR1cm4gbG9va3VwLmNhbGwoIHRoaXMuc3VidHlwZXMgYXMgTWFwPHN0cmluZywgb2JqZWN0PiwgVHlwZU5lc3RlZFBhdGggKTtcbn07XG5cbm9kcCggVHlwZURlc2NyaXB0b3IucHJvdG90eXBlLCBTeW1ib2wuaGFzSW5zdGFuY2UsIHtcblx0Z2V0ICh0aGlzOiBUeXBlRGVzY3JpcHRvckluc3RhbmNlKSB7XG5cdFx0cmV0dXJuIGdldFR5cGVDaGVja2VyKCB0aGlzLlR5cGVOYW1lICk7XG5cdH1cbn0gKTtcblxuLypcbmhlcmUgd2UgdXNlIGZ1bmN0aW9uIHRvIHJldHJlaXZlIGEgY29udHJ1Y3RvclxuYW5kIGNvbnN0cnVjdEhhbmRsZXJHZXR0ZXIgaXMgdGhhdCBmdW5jdGlvblxuKi9cbmNvbnN0IGRlZmluZVVzaW5nVHlwZSA9IGZ1bmN0aW9uIChcblx0dGhpczogQ2FsbGFibGVGdW5jdGlvbixcblx0c3VidHlwZXM6IE1hcDxzdHJpbmcsIG9iamVjdD4sXG5cdGNvbnN0cnVjdEhhbmRsZXJHZXR0ZXI6ICgpID0+IENhbGxhYmxlRnVuY3Rpb24sXG5cdGNvbmZpZzogY29uc3RydWN0b3JPcHRpb25zIHwgdW5kZWZpbmVkXG4pIHtcblx0Ly8gd2UgbmVlZCB0aGlzIHRvIGV4dHJhY3QgVHlwZU5hbWVcblx0Y29uc3QgdHlwZSA9IGNvbnN0cnVjdEhhbmRsZXJHZXR0ZXIoKTtcblxuXHRpZiAoIHR5cGVvZiB0eXBlICE9PSAnZnVuY3Rpb24nICkge1xuXHRcdHRocm93IG5ldyBIQU5ETEVSX01VU1RfQkVfQV9GVU5DVElPTjtcblx0fVxuXG5cdGNvbnN0IFR5cGVOYW1lID0gdHlwZS5uYW1lO1xuXG5cdGlmICggIVR5cGVOYW1lICkge1xuXHRcdHRocm93IG5ldyBUWVBFTkFNRV9NVVNUX0JFX0FfU1RSSU5HO1xuXHR9XG5cblx0Y29uc3QgYXNDbGFzcyA9IGlzQ2xhc3MoIHR5cGUgKTtcblxuXHRjb25zdCBtYWtlQ29uc3RydWN0SGFuZGxlciA9ICgpID0+IHtcblx0XHRjb25zdCBjb25zdHJ1Y3RIYW5kbGVyID0gY29uc3RydWN0SGFuZGxlckdldHRlcigpO1xuXHRcdC8vIGNvbnN0cnVjdEhhbmRsZXJbU3ltYm9sQ29uc3RydWN0b3JOYW1lXSA9IFR5cGVOYW1lO1xuXHRcdG9kcCggY29uc3RydWN0SGFuZGxlciwgU3ltYm9sQ29uc3RydWN0b3JOYW1lLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gVHlwZU5hbWU7XG5cdFx0XHR9XG5cdFx0fSApO1xuXHRcdFxuXHRcdC8vIHRoaXMgd2FzIGNoZWNraW5nIGZvciBjbGFzcyAvIGZ1bmN0aW9uXG5cdFx0Ly8gZnVuY3Rpb25zIGhhcyAud3JpdGFibGUgcHJvdG90eXBlXG5cdFx0Ly8gYW5kIGNsYXNzZXMgYXJlIGhhcyBub3Rcblx0XHRjb25zdCBwcm90b0Rlc2MgPSBPYmplY3Rcblx0XHRcdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoIGNvbnN0cnVjdEhhbmRsZXIsICdwcm90b3R5cGUnICkgYXMgUHJvcGVydHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkO1xuXHRcdGlmICggcHJvdG9EZXNjICYmIHByb3RvRGVzYy53cml0YWJsZSApIHtcblx0XHRcdC8vIGNvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlID0ge307XG5cdFx0XHRjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSA9IGdldERlZmF1bHRQcm90b3R5cGUoKTtcblx0XHR9XG5cdFx0XG5cdFx0Ly8gVE9ETzpcblx0XHQvLyBzaWRlLXdheSwgbm9uIGNvcnJlY3RseSB3b3JraW5nXG5cdFx0Ly8gd2l0aCBjcmVhdGVJbnN0YW5jZU1vZGlmaWNhdG9yIGZvciBsaW5lXG5cdFx0Ly8gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTW9kaWZpY2F0b3JUeXBlLnByb3RvdHlwZSwgcHJvcHMpO1xuXHRcdC8vIGZvciByZXBlYXRhYmxlIGluc3RhbmNlIGNyZWF0aW9uc1xuXHRcdC8vIOKGk+KGk+KGkyDihpPihpPihpMg4oaT4oaT4oaTXG5cdFx0Ly8gZWxzZSB7XG5cdFx0Ly8gXHQvLyBzbyBsZXQgdXNlIE9iamVjdC5zZXRQcm90b3R5cGVPZiBpbnN0ZWFkXG5cdFx0Ly8gXHQvLyBPYmplY3Quc2V0UHJvdG90eXBlT2YoT2JqZWN0LmdldFByb3RvdHlwZU9mKGNvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlKSwgZ2V0RGVmYXVsdFByb3RvdHlwZSgpKTtcblx0XHQvLyBcdE9iamVjdC5zZXRQcm90b3R5cGVPZihjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSwgZ2V0RGVmYXVsdFByb3RvdHlwZSgpKTtcblx0XHQvLyB9XG5cblx0XHRyZXR1cm4gY29uc3RydWN0SGFuZGxlcjtcblx0fTtcblxuXHRpZiAoIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICkge1xuXHRcdGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oIHt9LCBjb25maWcgKTtcblx0fSBlbHNlIHtcblx0XHRjb25maWcgPSB7fTtcblx0fVxuXG5cdGNvbmZpZy5hc0NsYXNzID0gYXNDbGFzcztcblxuXHRyZXR1cm4gbmV3IFR5cGVEZXNjcmlwdG9yKFxuXHRcdHRoaXMsXG5cdFx0c3VidHlwZXMsXG5cdFx0VHlwZU5hbWUsXG5cdFx0bWFrZUNvbnN0cnVjdEhhbmRsZXIsXG5cdFx0dHlwZS5wcm90b3R5cGUsXG5cdFx0Y29uZmlnXG5cdCk7XG59O1xuXG5cbi8qXG5oZXJlIHdlIGRpcmVjdGx5IHBhc3NpbmcgY29uc3RydWN0SGFuZGxlclxuYXMgYSBjb25zdHJ1Y3RvciBmb3IgaW5zdGFuY2VzIGNyZWF0aW9uc1xuKi9cbmNvbnN0IGRlZmluZVVzaW5nRnVuY3Rpb24gPSBmdW5jdGlvbiAoXG5cdHRoaXM6IENhbGxhYmxlRnVuY3Rpb24sXG5cdHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+LFxuXHRUeXBlTmFtZTogc3RyaW5nLFxuXHRjb25zdHJ1Y3RIYW5kbGVyOiBDYWxsYWJsZUZ1bmN0aW9uID0gZnVuY3Rpb24gKCkgeyB9LFxuXHRjb25maWc6IGNvbnN0cnVjdG9yT3B0aW9ucyA9IHt9XG4pIHtcblxuXHRpZiAoIHR5cGVvZiBjb25zdHJ1Y3RIYW5kbGVyICE9PSAnZnVuY3Rpb24nICkge1xuXHRcdHRocm93IG5ldyBIQU5ETEVSX01VU1RfQkVfQV9GVU5DVElPTjtcblx0fVxuXG5cdGNvbnN0IGFzQ2xhc3MgPSBpc0NsYXNzKCBjb25zdHJ1Y3RIYW5kbGVyICk7XG5cdGNvbnN0IG1vZGlmaWNhdG9yQm9keSA9IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSggVHlwZU5hbWUsIGFzQ2xhc3MgKTtcblxuXHRjb25zdCBtYWtlQ29uc3RydWN0SGFuZGxlciA9IG1vZGlmaWNhdG9yQm9keShcblx0XHRjb25zdHJ1Y3RIYW5kbGVyLFxuXHRcdENyZWF0aW9uSGFuZGxlcixcblx0XHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWVcblx0KTtcblxuXHRpZiAoIGNvbmZpZyBpbnN0YW5jZW9mIEZ1bmN0aW9uICkge1xuXHRcdGNvbmZpZyA9IHtcblx0XHRcdE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yIDogY29uZmlnXG5cdFx0fTtcblx0fVxuXG5cdGlmICggdHlwZW9mIGNvbmZpZyAhPT0gJ29iamVjdCcgKSB7XG5cdFx0Y29uZmlnID0ge307XG5cdH1cblxuXG5cdGNvbmZpZy5hc0NsYXNzID0gYXNDbGFzcztcblxuXHRjb25zdCBwcm90byA9IChcblx0XHRob3AoIGNvbnN0cnVjdEhhbmRsZXIsICdwcm90b3R5cGUnICkgJiZcblx0XHQvLyB1c2luZyDihpPihpPihpMgY2F1c2UgZm9yIHByb3h5IGluIGNoYWluIGlzIGluc3RhbmNlb2YgZmFpbHNcblx0XHQvLyBhbmQgYWxzbyBmYWlscyBmb3IganVzdCBPYmplY3QuY3JlYXRlKG51bGwpXG5cdFx0KCB0eXBlb2YgY29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUgPT09ICdvYmplY3QnIClcblx0Ly8gKSA/IGNvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlIDogT2JqZWN0LmNyZWF0ZShudWxsKTtcblx0KSA/IGNvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlIDogZ2V0RGVmYXVsdFByb3RvdHlwZSgpO1xuXHRcblx0Ly8gbGV0IHByb3RvID0ge307XG5cdC8vIGlmICggaG9wKCBjb25zdHJ1Y3RIYW5kbGVyLCAncHJvdG90eXBlJyApICYmICggY29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUgaW5zdGFuY2VvZiBPYmplY3QgKSApIHtcblx0Ly8gXHRwcm90byA9IE9iamVjdC5hc3NpZ24oIHt9LCBjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSApO1xuXHQvLyBcdE9iamVjdC5zZXRQcm90b3R5cGVPZiggcHJvdG8sIGNvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlICk7XG5cdC8vIH1cblxuXHRyZXR1cm4gbmV3IFR5cGVEZXNjcmlwdG9yKFxuXHRcdHRoaXMsXG5cdFx0c3VidHlwZXMsXG5cdFx0VHlwZU5hbWUsXG5cdFx0bWFrZUNvbnN0cnVjdEhhbmRsZXIsXG5cdFx0Ly8gcHJvdG8gcHJvcCBmb3IgVHlwZURlc2NyaXB0b3Jcblx0XHRwcm90byxcblx0XHRjb25maWdcblx0KTtcblxufTtcblxuXG5leHBvcnQgY29uc3QgZGVmaW5lID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRzdWJ0eXBlczogTWFwPHN0cmluZywgb2JqZWN0Pixcblx0VHlwZU9yVHlwZU5hbWU6IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZz86IENhbGxhYmxlRnVuY3Rpb24gfCBvYmplY3QsXG5cdGNvbmZpZz86IG9iamVjdFxuKTogVHlwZUNsYXNzIHtcblxuXHRpZiAoIHR5cGVvZiBUeXBlT3JUeXBlTmFtZSA9PT0gJ2Z1bmN0aW9uJyApIHtcblx0XHQvLyBUT0RPOiBpZiAoIGhvcCggVHlwZU9yVHlwZU5hbWUsICduYW1lJyApICkge1xuXHRcdC8vIFRPRE86IGlmICggaG9wKCBUeXBlT3JUeXBlTmFtZS5jb25zdHJ1Y3RvciwgJ25hbWUnICkgKSB7XG5cdFx0aWYgKCBUeXBlT3JUeXBlTmFtZS5uYW1lICkge1xuXHRcdFx0XG5cdFx0XHRjb25zdCBUeXBlID0gbG9va3VwLmNhbGwoIHN1YnR5cGVzLCBUeXBlT3JUeXBlTmFtZS5uYW1lICk7XG5cblx0XHRcdGlmICggVHlwZSApIHtcblx0XHRcdFx0Ly8gZGVidWdnZXI7XG5cdFx0XHRcdHRocm93IG5ldyBBTFJFQURZX0RFQ0xBUkVEKCBUeXBlT3JUeXBlTmFtZS5uYW1lICk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBkZWZpbmUuY2FsbCggdGhpcywgc3VidHlwZXMsIFR5cGVPclR5cGVOYW1lLm5hbWUsIFR5cGVPclR5cGVOYW1lLCBjb25maWcgKTtcblxuXHRcdH0gZWxzZSB7XG5cdFx0XHQgXG5cdFx0XHRyZXR1cm4gKGRlZmluZVVzaW5nVHlwZSBhcyBhbnkpLmNhbGwoXG5cdFx0XHRcdHRoaXMsXG5cdFx0XHRcdHN1YnR5cGVzLFxuXHRcdFx0XHRUeXBlT3JUeXBlTmFtZSxcblx0XHRcdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnID8gY29uc3RydWN0SGFuZGxlck9yQ29uZmlnIDogVHlwZU9yVHlwZU5hbWVcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0aWYgKCB0eXBlb2YgVHlwZU9yVHlwZU5hbWUgPT09ICdzdHJpbmcnICkge1xuXG5cdFx0Y2hlY2tUeXBlTmFtZSggVHlwZU9yVHlwZU5hbWUgKTtcblxuXHRcdGNvbnN0IHNwbGl0ID0gZ2V0VHlwZVNwbGl0UGF0aCggVHlwZU9yVHlwZU5hbWUgKTtcblxuXHRcdGNvbnN0IFR5cGUgPSBsb29rdXAuY2FsbCggc3VidHlwZXMsIHNwbGl0WyAwIF0gKTtcblx0XHRcblx0XHRpZiAoIVR5cGUpIHtcblxuXHRcdFx0aWYgKCBzcGxpdC5sZW5ndGggPT09IDEgKSB7XG5cdFx0XHRcdCBcblx0XHRcdFx0cmV0dXJuIChkZWZpbmVVc2luZ0Z1bmN0aW9uIGFzIGFueSkuY2FsbChcblx0XHRcdFx0XHR0aGlzLFxuXHRcdFx0XHRcdHN1YnR5cGVzLFxuXHRcdFx0XHRcdFR5cGVPclR5cGVOYW1lLFxuXHRcdFx0XHRcdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZyxcblx0XHRcdFx0XHRjb25maWdcblx0XHRcdFx0KTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gRXhpc3RlbnQuZGVmaW5lKCdNaXNzaW5nLldhbnRlZCcpXG5cdFx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCBgcGFyZW50ICR7c3BsaXRbIDAgXX0gZGVmaW5pdGlvbiBpcyBub3QgeWV0IGV4aXN0cyFgICk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgVHlwZU5hbWUgPSBzcGxpdC5zbGljZSggMSApLmpvaW4oICcuJyApO1xuXG5cdFx0aWYgKCBzcGxpdC5sZW5ndGggPiAxICkge1xuXHRcdFx0cmV0dXJuIGRlZmluZS5jYWxsKCB0aGlzLCBUeXBlLnN1YnR5cGVzIGFzIE1hcDxzdHJpbmcsIG9iamVjdD4sIFR5cGVOYW1lLCBjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWcsIGNvbmZpZyApO1xuXHRcdH1cblxuXG5cdFx0aWYgKHNwbGl0Lmxlbmd0aCA9PT0gMSkge1xuXG5cdFx0XHRpZiAoY29uc3RydWN0SGFuZGxlck9yQ29uZmlnIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcblxuXHRcdFx0XHQvLyBkZWJ1Z2dlcjtcblxuXHRcdFx0XHQvLyBpZiAoY29uc3RydWN0SGFuZGxlck9yQ29uZmlnLm5hbWUgPT09IFR5cGUuVHlwZU5hbWUpIHtcblx0XHRcdFx0Ly8gXHR0aHJvdyBuZXcgQUxSRUFEWV9ERUNMQVJFRCggVHlwZU9yVHlwZU5hbWUgKTtcblx0XHRcdFx0Ly8gfVxuXHRcdFx0XHRcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHQvLyBkZWJ1Z2dlcjtcblx0XHRcdFx0XHQvLyB3ZSBuZWVkIHRoaXMgdG8gZXh0cmFjdCBUeXBlTmFtZVxuXHRcdFx0XHRcdGNvbnN0IHR5cGUgPSBjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWcoKTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRpZiAoICEodHlwZSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSApIHtcblx0XHRcdFx0XHRcdC8vIGRlYnVnZ2VyO1xuXHRcdFx0XHRcdFx0dGhyb3cgbmV3IEFMUkVBRFlfREVDTEFSRUQoIFR5cGVPclR5cGVOYW1lICk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aWYgKCB0eXBlLm5hbWUubGVuZ3RoID09PSAwICkge1xuXHRcdFx0XHRcdFx0Ly8gZGVidWdnZXI7XG5cdFx0XHRcdFx0XHR0aHJvdyBuZXcgQUxSRUFEWV9ERUNMQVJFRCggVHlwZU9yVHlwZU5hbWUgKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBpZiAodHlwZS5uYW1lLmxlbmd0aCA+IDAgJiYgdHlwZS5uYW1lID09PSBUeXBlLlR5cGVOYW1lKSB7XG5cdFx0XHRcdFx0Ly8gXHRkZWJ1Z2dlcjtcblx0XHRcdFx0XHQvLyBcdHRocm93IG5ldyBBTFJFQURZX0RFQ0xBUkVEKCBUeXBlT3JUeXBlTmFtZSApO1xuXHRcdFx0XHRcdC8vIH1cblx0XG5cdFx0XHRcdH0gY2F0Y2gge1xuXG5cdFx0XHRcdFx0cmV0dXJuIChkZWZpbmVVc2luZ0Z1bmN0aW9uIGFzIGFueSkuY2FsbChcblx0XHRcdFx0XHRcdHRoaXMsXG5cdFx0XHRcdFx0XHRzdWJ0eXBlcyxcblx0XHRcdFx0XHRcdFR5cGVPclR5cGVOYW1lLFxuXHRcdFx0XHRcdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnLFxuXHRcdFx0XHRcdFx0Y29uZmlnXG5cdFx0XHRcdFx0KTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC8vIHNvLCBoZXJlIHdlIGdvIHdpdGhcblx0XHQvLyBkZWZpbmVVc2luZ1R5cGUuY2FsbFxuXHRcdC8vIGZyb20gdGhlIG5leHQgc3RlcFxuXHRcdHJldHVybiBkZWZpbmUuY2FsbChcblx0XHRcdHRoaXMgYXMgdW5rbm93biBhcyBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdFx0VHlwZS5zdWJ0eXBlcyBhcyBNYXA8c3RyaW5nLCBvYmplY3Q+LFxuXHRcdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnIGFzIENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0XHRjb25maWdcblx0XHQpO1xuXG5cdH1cblxuXHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCAnZGVmaW5pdGlvbiBpcyBub3QgcHJvdmlkZWQnICk7XG5cbn07XG5cbmV4cG9ydCBjb25zdCBsb29rdXAgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IE1hcDxzdHJpbmcsIG9iamVjdD4sXG5cdFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmdcbik6IFR5cGVDbGFzcyB8IHVuZGVmaW5lZCB7XG5cblx0aWYgKCB0eXBlb2YgVHlwZU5lc3RlZFBhdGggIT09ICdzdHJpbmcnICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdhcmcgOiB0eXBlIG5lc3RlZCBwYXRoIG11c3QgYmUgYSBzdHJpbmcnICk7XG5cdH1cblxuXHRpZiAoICFUeXBlTmVzdGVkUGF0aC5sZW5ndGggKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggJ2FyZyA6IHR5cGUgbmVzdGVkIHBhdGggaGFzIG5vIHBhdGgnICk7XG5cdH1cblxuXHRjb25zdCBzcGxpdCA9IGdldFR5cGVTcGxpdFBhdGgoIFR5cGVOZXN0ZWRQYXRoICk7XG5cblx0Y29uc3QgWyBuYW1lIF0gPSBzcGxpdDtcblx0Y29uc3QgdHlwZSA9IHRoaXMuZ2V0KCBuYW1lICkgYXMgVHlwZUNsYXNzIHwgdW5kZWZpbmVkO1xuXHRpZiAoIHNwbGl0Lmxlbmd0aCA9PT0gMSApIHtcblx0XHRyZXR1cm4gdHlwZTtcblx0fVxuXG5cdGNvbnN0IE5leHROZXN0ZWRQYXRoID0gc3BsaXQuc2xpY2UoIDEgKS5qb2luKCAnLicgKTtcblx0aWYgKCF0eXBlKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRyZXR1cm4gbG9va3VwLmNhbGwoIHR5cGUuc3VidHlwZXMgYXMgTWFwPHN0cmluZywgb2JqZWN0PiwgTmV4dE5lc3RlZFBhdGggKTtcblxufTtcblxuXG5cbiJdfQ==
|
package/build/index.js
CHANGED
|
@@ -105,4 +105,4 @@ var utils_1 = require("./utils");
|
|
|
105
105
|
Object.defineProperty(exports, "utils", { enumerable: true, get: function () { return utils_1.utils; } });
|
|
106
106
|
var utils_2 = require("./utils");
|
|
107
107
|
Object.defineProperty(exports, "defineStackCleaner", { enumerable: true, get: function () { return utils_2.defineStackCleaner; } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWSxDQUFDOzs7O0FBa0JiLDZDQUEyQztBQUUxQyxlQUFPLEdBRUosZUFBVSxVQURiLDZCQUFxQixHQUNsQixlQUFVLHVCQUFDO0FBR2YsMkNBQXVEO0FBQTlDLGlHQUFBLFFBQVEsT0FBQTtBQUFFLGlHQUFBLFFBQVEsT0FBQTtBQUUzQiwyQ0FBd0M7QUFDeEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLHFCQUFTLENBQUM7QUFFMUIsMENBQTBDO0FBQzFDLCtDQUE0QztBQUU1QyxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsR0FBRyx5QkFBVyxDQUFDLFdBQVcsQ0FBQztBQUUvRCxxREFBK0M7QUFDL0MsTUFBTSxFQUFFLDZCQUE2QixFQUFFLEdBQUcsbUJBQVUsQ0FBQztBQUdwRCxvQkFBWSxHQUNULHlCQUFXLGNBQUM7QUFFaEIsU0FBUyxTQUFTLENBQUMsT0FBb0Q7SUFDdEUsT0FBTyxPQUFPLEtBQUssaUJBQVMsSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDO0FBQ3JELENBQUM7QUFJWSxRQUFBLE1BQU0sR0FBRyxVQVNyQixRQUFzRCxFQUV0RCxnQkFBa0YsRUFDbEYsTUFBMkI7SUFFM0IsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksb0JBQVksQ0FBQztJQUVwRSxPQUFRLEtBQWtDO1NBQ3hDLE1BQU0sQ0FBQyxRQUFrQixFQUFFLGdCQUEyQixFQUFFLE1BQU0sQ0FBaUIsQ0FBQztBQUNuRixDQUFpQixDQUFDO0FBRVgsTUFBTSxNQUFNLEdBQUcsVUFFckIsY0FBc0I7SUFFdEIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBWSxDQUFDLENBQUMsQ0FBQyxJ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c0QsQ0FBQztBQUd4SCxRQUFBLGlCQUFpQixHQUFJLG9CQUFrRCxDQUFDLFFBQVEsQ0FBQztBQUNqRixRQUFBLE1BQU0sR0FBRyx5QkFBVyxDQUFDLFdBQVcsQ0FBQztBQUU5QyxpQ0FBZ0M7QUFBdkIsOEZBQUEsS0FBSyxPQUFBO0FBQ2QsaUNBQTZDO0FBQXBDLDJHQUFBLGtCQUFrQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc3BhY2UtYmVmb3JlLWZ1bmN0aW9uLXBhcmVuICovXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCB0eXBlIHtcblx0Q3JlYXRlVHlwZXNDb2xsZWN0aW9uRnVuY3Rpb24sXG5cdElERUYsXG5cdGhvb2ssXG5cdGhvb2tzVHlwZXMsXG5cdGNvbnN0cnVjdG9yT3B0aW9ucyxcblx0UHJvdG8sXG5cdElEZWZpbml0b3JJbnN0YW5jZSxcblx0Q29uc3RydWN0b3IsXG5cdERlY29yYXRlZENsYXNzLFxuXHRUeXBlQ2xhc3MsXG5cdFR5cGVBYnNvcmJlcixcblx0TW5lbW9uaWNhTW9kdWxlLFxuXHRUeXBlQ29uc3RydWN0b3Jcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4vYXBpL3V0aWxzL2luZGV4JztcbmV4cG9ydCBjb25zdCB7XG5cdGlzQ2xhc3MsXG5cdGZpbmRTdWJUeXBlRnJvbVBhcmVudCxcbn0gPSBUeXBlc1V0aWxzO1xuXG5leHBvcnQgdHlwZSB7IElERUYsIFR5cGVDb25zdHJ1Y3RvciwgX0ludGVybmFsX1RDXywgUHJvdG8sIFByb3RvRmxhdCB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IHsgZ2V0UHJvcHMsIHNldFByb3BzIH0gZnJvbSAnLi9hcGkvdHlwZXMvUHJvcHMnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5jb25zdCB7IG9kcCB9ID0gY29uc3RhbnRzO1xuXG5pbXBvcnQgKiBhcyBlcnJvcnNBcGkgZnJvbSAnLi9hcGkvZXJyb3JzJztcbmltcG9ydCB7IGRlc2NyaXB0b3JzIH0gZnJvbSAnLi9kZXNjcmlwdG9ycyc7XG5cbmNvbnN0IHsgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4gfSA9IGRlc2NyaXB0b3JzLkVycm9yc1R5cGVzO1xuXG5pbXBvcnQgbW5lbW9zeW5lcyBmcm9tICcuL2FwaS90eXBlcy9NbmVtb3N5bmUnO1xuY29uc3QgeyBwcmVwYXJlU3VidHlwZUZvckNvbnN0cnVjdGlvbiB9ID0gbW5lbW9zeW5lcztcblxuZXhwb3J0IGNvbnN0IHtcblx0ZGVmYXVsdFR5cGVzLFxufSA9IGRlc2NyaXB0b3JzO1xuXG5mdW5jdGlvbiBjaGVja1RoaXMocG9pbnRlcjogdHlwZW9mIG1uZW1vbmljYSB8IHR5cGVvZiBleHBvcnRzIHwgdW5rbm93bik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcG9pbnRlciA9PT0gbW5lbW9uaWNhIHx8IHBvaW50ZXIgPT09IGV4cG9ydHM7XG59XG5cblxuLy8gRGVmaW5lIGZ1bmN0aW9uIHVzaW5nIFR5cGVBYnNvcmJlciBpbnRlcmZhY2Ugd2l0aCBwcm9wZXIgdHlwZSBjYXN0aW5nXG5leHBvcnQgY29uc3QgZGVmaW5lID0gZnVuY3Rpb24gPFxuXHRUIGV4dGVuZHMgb2JqZWN0LFxuXHRQIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0LFxuXHROIGV4dGVuZHMgUHJvdG88UCwgVD4gPSBQcm90bzxQLCBUPixcblxuXHQvLyBoZXJlIElEZWZpbml0b3JJbnN0YW5jZSBpcyBhIENPTlNUUlVDVE9SICEhIVxuXHRSIGV4dGVuZHMgSURlZmluaXRvckluc3RhbmNlPE4+ID0gSURlZmluaXRvckluc3RhbmNlPE4+XG4+KFxuXHR0aGlzOiB1bmtub3duLFxuXHRUeXBlTmFtZT86IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24gfCBOZXdhYmxlRnVuY3Rpb24sXG5cdC8vIEFsbG93IGJvdGggc3RyaWN0IElERUYgYW5kIG1vcmUgZmxleGlibGUgZnVuY3Rpb24gc2lnbmF0dXJlc1xuXHRjb25zdHJ1Y3RIYW5kbGVyPzogSURFRjxUPiB8IENhbGxhYmxlRnVuY3Rpb24gfCBOZXdhYmxlRnVuY3Rpb24gfCBvYmplY3QgfCBib29sZWFuLFxuXHRjb25maWc/OiBjb25zdHJ1Y3Rvck9wdGlvbnMsXG4pOiBSIHtcblx0Y29uc3QgdHlwZXMgPSBjaGVja1RoaXModGhpcykgPyBkZWZhdWx0VHlwZXMgOiB0aGlzIHx8IGRlZmF1bHRUeXBlcztcblx0Ly8gVHlwZSBhc3NlcnRpb24gbmVlZGVkIGJlY2F1c2UgVHlwZXNDb2xsZWN0aW9uUHJveHkgaXMgYSBQcm94eVxuXHRyZXR1cm4gKHR5cGVzIGFzIHsgZGVmaW5lOiBUeXBlQWJzb3JiZXIgfSlcblx0XHQuZGVmaW5lKFR5cGVOYW1lIGFzIHN0cmluZywgY29uc3RydWN0SGFuZGxlciBhcyBJREVGPFQ+LCBjb25maWcpIGFzIHVua25vd24gYXMgUjtcbn0gYXMgVHlwZUFic29yYmVyO1xuXG5leHBvcnQgY29uc3QgbG9va3VwID0gZnVuY3Rpb24gKFxuXHR0aGlzOiB1bmtub3duLFxuXHRUeXBlTmVzdGVkUGF0aDogc3RyaW5nXG4pOiBUeXBlQ2xhc3MgfCB1bmRlZmluZWQge1xuXHRjb25zdCB0eXBlcyA9IGNoZWNrVGhpcyh0aGlzKSA/IGRlZmF1bHRUeXBlcyA6IHRoaXMgfHwgZGVmYXVsdFR5cGVzO1xuXHQvLyBUeXBlIGFzc2VydGlvbiBuZWVkZWQgYmVjYXVzZSBUeXBlc0NvbGxlY3Rpb25Qcm94eSBpcyBhIFByb3h5XG5cdHJldHVybiAodHlwZXMgYXMgeyBsb29rdXA6IChwYXRoOiBzdHJpbmcpID0+IFR5cGVDbGFzcyB8IHVuZGVmaW5lZCB9KS5sb29rdXAoVHlwZU5lc3RlZFBhdGgpO1xufTtcblxuLyoqXG4gKiBEZWZhdWx0IFR5cGVSZWdpc3RyeSBpbnRlcmZhY2UgLSBhdWdtZW50IHRoaXMgaW4geW91ciBwcm9qZWN0XG4gKiB2aWEgZGVjbGFyYXRpb24gbWVyZ2luZyB3aGVuIHVzaW5nIHRhY3RpY2FcbiAqXG4gKiBFeGFtcGxlIChnZW5lcmF0ZWQgYnkgdGFjdGljYSBpbiAudGFjdGljYS9yZWdpc3RyeS50cyk6XG4gKiAgIGRlY2xhcmUgbW9kdWxlICdtbmVtb25pY2EnIHtcbiAqICAgICBpbnRlcmZhY2UgVHlwZVJlZ2lzdHJ5IHtcbiAqICAgICAgICdNeVR5cGUnOiBuZXcgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gTXlUeXBlSW5zdGFuY2U7XG4gKiAgICAgfVxuICogICB9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVJlZ2lzdHJ5IHtcblx0W2tleTogc3RyaW5nXTogVHlwZUNvbnN0cnVjdG9yPG5ldmVyPjtcbn1cblxuLyoqXG4gKiBUeXBlLXNhZmUgbG9va3VwIGZ1bmN0aW9uIC0gcmVxdWlyZXMgVHlwZVJlZ2lzdHJ5IGF1Z21lbnRhdGlvbiBmcm9tIHRhY3RpY2FcbiAqIEdlbmVyYXRlIHR5cGVzIHdpdGggdGFjdGljYSwgdGhlbiB1c2U6XG4gKiAgIGNvbnN0IFNvbWVUeXBlID0gbG9va3VwVHlwZWQoJ1NvbWVUeXBlJyk7XG4gKiAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNvbWVUeXBlKHsgLi4uIH0pOyAvLyBGdWxsIHR5cGUgc2FmZXR5IVxuICovXG5leHBvcnQgY29uc3QgbG9va3VwVHlwZWQgPSBmdW5jdGlvbiA8XG5cdGNvbnN0IEsgZXh0ZW5kcyBrZXlvZiBUeXBlUmVnaXN0cnlcbj4oXG5cdHRoaXM6IHVua25vd24sXG5cdFR5cGVOZXN0ZWRQYXRoOiBLXG4pOiBUeXBlUmVnaXN0cnlbS10gIHtcblx0Y29uc3QgdHlwZXMgPSBjaGVja1RoaXModGhpcykgPyBkZWZhdWx0VHlwZXMgOiB0aGlzIHx8IGRlZmF1bHRUeXBlcztcblx0cmV0dXJuICh0eXBlcyBhcyB7IGxvb2t1cDogKHBhdGg6IHN0cmluZykgPT4gdW5rbm93biB9KVxuXHRcdC5sb29rdXAoVHlwZU5lc3RlZFBhdGggYXMgc3RyaW5nKSBhcyBUeXBlUmVnaXN0cnlbS107XG59O1xuXG5cbmNvbnN0ICRydW4gPSBmdW5jdGlvbiA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+LFxuXHRhcmdzOiB1bmtub3duW11cbik6IHtcblx0XHRba2V5IGluIGtleW9mIFNdOiBTW2tleV1cblx0fSB7XG5cblx0Ly8gZGVidWdnZXI7XG5cdC8vIEB0cy1leHBlY3QtZXJyb3IgLSBleHRyYWN0aW5nIFR5cGVOYW1lIGZyb20gZnVuY3Rpb25cblx0Y29uc3QgeyBUeXBlTmFtZSB9ID0gQ3Rvcjtcblx0Y29uc3QgQ3N0ciA9IHByZXBhcmVTdWJ0eXBlRm9yQ29uc3RydWN0aW9uKFR5cGVOYW1lLCBlbnRpdHkpIGFzIHsgbmV3KC4uLmFyczogdW5rbm93bltdKTogdW5rbm93biB9O1xuXHQvLyBUT0RPOiBjaGVjayBsaW5lcyBiZWxvdyBhbmQgaWYgQ29uc3RydWN0b3IgaXMgbm90IG1uZW1vbml6ZWQgLi4uXG5cdGlmIChDc3RyID09PSB1bmRlZmluZWQpIHtcblx0XHR0aHJvdyBuZXcgKFdST05HX01PRElGSUNBVElPTl9QQVRURVJOIGFzIHVua25vd24gYXMgbmV3IChtc2c6IHN0cmluZykgPT4gRXJyb3IpKGBbICR7VHlwZU5hbWV9IF0gaXMgbm90IGRlZmluZWQgYXMgYSBUeXBlIENvbnN0cnVjdG9yIG9uIHVzZWQgaW5zdGFuY2VgKTtcblx0fVxuXHRjb25zdCByZXN1bHQgPSBuZXcgQ3N0ciguLi5hcmdzKTtcblx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHJldHVybmluZyByZXN1bHQgYXMgbWVyZ2VkIHByb3RvIHR5cGVcblx0cmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIFRPRE86IGFwcGx5IGluc3RhbmNlIC50byB0eXBlIC53aXRoIGFyZ3VtZW50c1xuZXhwb3J0IGNvbnN0IGFwcGx5ID0gZnVuY3Rpb24gPEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3QsIFMgZXh0ZW5kcyBQcm90bzxFLCBUPj4oXG5cdGVudGl0eTogRSxcblx0Q3RvcjogSURFRjxUPixcblx0YXJnczogdW5rbm93bltdID0gW11cbik6IHtcblx0XHRba2V5IGluIGtleW9mIFNdOiBTW2tleV1cblx0fSB7XG5cdHJldHVybiAkcnVuPEUsIFQsIFM+KGVudGl0eSwgQ3RvciwgYXJncyk7XG59O1xuXG4vLyBUT0RPOiBjYWxsIHR5cGUgLmJ5IGluc3RhbmNlIC53aXRoIGFyZ3VtZW50c1xuZXhwb3J0IGNvbnN0IGNhbGwgPSBmdW5jdGlvbiA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+LFxuXHQuLi5hcmdzOiB1bmtub3duW11cbik6IHtcblx0XHRba2V5IGluIGtleW9mIFNdOiBTW2tleV1cblx0fSB7XG5cdHJldHVybiAkcnVuPEUsIFQsIFM+KGVudGl0eSwgQ3RvciwgYXJncyk7XG59O1xuXG4vLyBUT0RPOiBiaW5kIHR5cGUgLndpdGggaW5zdGFuY2Ug4oaSICguLi5hcmdzKVxuZXhwb3J0IGNvbnN0IGJpbmQgPSBmdW5jdGlvbiA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+XG4pOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG5cdFtrZXkgaW4ga2V5b2YgU106IFNba2V5XVxufSB7XG5cdHJldHVybiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG5cdFx0cmV0dXJuICRydW48RSwgVCwgUz4oZW50aXR5LCBDdG9yLCBhcmdzKTtcblx0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWNvcmF0ZSA9IGZ1bmN0aW9uIDxcblx0VCBleHRlbmRzIENvbnN0cnVjdG9yPG9iamVjdD4gfCBjb25zdHJ1Y3Rvck9wdGlvbnMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbj4oXG5cdHRhcmdldD86IFQsXG5cdGNvbmZpZz86IGNvbnN0cnVjdG9yT3B0aW9uc1xuKTogPFUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+Pihjc3RyOiBVKSA9PiBEZWNvcmF0ZWRDbGFzczxVPiB7XG5cdGNvbnN0IG9wdHMgPSAoY29uZmlnID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHRhcmdldCA9PT0gJ29iamVjdCcgJiYgISh0YXJnZXQgaW5zdGFuY2VvZiBGdW5jdGlvbikpXG5cdFx0PyB0YXJnZXQgYXMgY29uc3RydWN0b3JPcHRpb25zXG5cdFx0OiBjb25maWc7XG5cblx0Y29uc3QgcGFyZW50VHlwZSA9ICh0YXJnZXQgaW5zdGFuY2VvZiBGdW5jdGlvbilcblx0XHQ/IHRhcmdldCBhcyBDb25zdHJ1Y3RvcjxvYmplY3Q+XG5cdFx0OiB1bmRlZmluZWQ7XG5cblx0Y29uc3QgZGVjb3JhdG9yID0gZnVuY3Rpb24gPFUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+Pihjc3RyOiBVKTogRGVjb3JhdGVkQ2xhc3M8VT4ge1xuXHRcdGNvbnN0IHsgbmFtZSB9ID0gY3N0cjtcblx0XHRpZiAocGFyZW50VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gZGVmaW5lKG5hbWUsIGNzdHIgYXMgSURFRjxvYmplY3Q+LCBvcHRzKSBhcyB1bmtub3duIGFzIERlY29yYXRlZENsYXNzPFU+O1xuXHRcdH1cblx0XHRjb25zdCBwYXJlbnQgPSBwYXJlbnRUeXBlIGFzIHVua25vd24gYXMge1xuXHRcdFx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdFx0fTtcblx0XHRyZXR1cm4gcGFyZW50LmRlZmluZShuYW1lLCBjc3RyIGFzIElERUY8b2JqZWN0Piwgb3B0cykgYXMgdW5rbm93biBhcyBEZWNvcmF0ZWRDbGFzczxVPjtcblx0fTtcblx0cmV0dXJuIGRlY29yYXRvcjtcbn07XG5cblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVySG9vayA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8VD4+KEN0b3I6IERlY29yYXRlZENsYXNzPFQ+LCBob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spOiB2b2lkIHtcblx0Q3Rvci5yZWdpc3Rlckhvb2soaG9va1R5cGUsIGNiKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtbmVtb25pY2EgPSBPYmplY3QuZW50cmllcyh7XG5cblx0ZGVmaW5lLFxuXHRsb29rdXAsXG5cdGFwcGx5LFxuXHRjYWxsLFxuXHRiaW5kLFxuXHRkZWNvcmF0ZSxcblx0cmVnaXN0ZXJIb29rLFxuXG5cdC4uLmRlc2NyaXB0b3JzLFxuXG5cdC4uLmVycm9yc0FwaSxcblx0Li4uY29uc3RhbnRzLFxuXG59KS5yZWR1Y2UoKGFjYzogeyBbaW5kZXg6IHN0cmluZ106IHVua25vd24gfSwgZW50cnk6IFtzdHJpbmcsIHVua25vd25dKSA9PiB7XG5cdGNvbnN0IFsgbmFtZSwgY29kZSBdID0gZW50cnk7XG5cdG9kcChhY2MsIG5hbWUsIHtcblx0XHRnZXQoKSB7XG5cdFx0XHRyZXR1cm4gY29kZTtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0pO1xuXHRyZXR1cm4gYWNjO1xufSwge30pIGFzIE1uZW1vbmljYU1vZHVsZTtcblxuaW1wb3J0ICogYXMgYXBpIGZyb20gJy4vYXBpJztcblxuZXhwb3J0IGNvbnN0IHtcblx0ZGVmaW5lOiBfZGVmaW5lLFxuXHRsb29rdXA6IF9sb29rdXBcbn0gPSBhcGkudHlwZXM7XG5cbmV4cG9ydCBjb25zdCB7XG5cblx0U3ltYm9sUGFyZW50VHlwZSxcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lLFxuXHRTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uLFxuXHRTeW1ib2xDb25maWcsXG5cdE1ORU1PTklDQSxcblx0TU5FTU9TWU5FLFxuXHRUWVBFX1RJVExFX1BSRUZJWCxcblx0RXJyb3JNZXNzYWdlcyxcblxufSA9IG1uZW1vbmljYTtcblxuLy8gRXhwb3J0IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiB3aXRoIHByb3BlciB0eXBlXG5leHBvcnQgY29uc3QgY3JlYXRlVHlwZXNDb2xsZWN0aW9uOiBDcmVhdGVUeXBlc0NvbGxlY3Rpb25GdW5jdGlvbiA9IG1uZW1vbmljYS5jcmVhdGVUeXBlc0NvbGxlY3Rpb24gYXMgQ3JlYXRlVHlwZXNDb2xsZWN0aW9uRnVuY3Rpb247XG5cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb2xsZWN0aW9uID0gKGRlZmF1bHRUeXBlcyBhcyB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pLnN1YnR5cGVzO1xuZXhwb3J0IGNvbnN0IGVycm9ycyA9IGRlc2NyaXB0b3JzLkVycm9yc1R5cGVzO1xuXG5leHBvcnQgeyB1dGlscyB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgZGVmaW5lU3RhY2tDbGVhbmVyIH0gZnJvbSAnLi91dGlscyc7XG4vKiBlc2xpbnQtZW5hYmxlIHNwYWNlLWJlZm9yZS1mdW5jdGlvbi1wYXJlbiAqL1xuIl19
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWSxDQUFDOzs7O0FBa0JiLDZDQUEyQztBQUUxQyxlQUFPLEdBRUosZUFBVSxVQURiLDZCQUFxQixHQUNsQixlQUFVLHVCQUFDO0FBR2YsMkNBQXVEO0FBQTlDLGlHQUFBLFFBQVEsT0FBQTtBQUFFLGlHQUFBLFFBQVEsT0FBQTtBQUUzQiwyQ0FBd0M7QUFDeEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLHFCQUFTLENBQUM7QUFFMUIsMENBQTBDO0FBQzFDLCtDQUE0QztBQUU1QyxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsR0FBRyx5QkFBVyxDQUFDLFdBQVcsQ0FBQztBQUUvRCxxREFBK0M7QUFDL0MsTUFBTSxFQUFFLDZCQUE2QixFQUFFLEdBQUcsbUJBQVUsQ0FBQztBQUdwRCxvQkFBWSxHQUNULHlCQUFXLGNBQUM7QUFFaEIsU0FBUyxTQUFTLENBQUMsT0FBb0Q7SUFDdEUsT0FBTyxPQUFPLEtBQUssaUJBQVMsSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDO0FBQ3JELENBQUM7QUFJWSxRQUFBLE1BQU0sR0FBRyxVQVNyQixRQUFzRCxFQUV0RCxnQkFBa0YsRUFDbEYsTUFBMkI7SUFFM0IsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksb0JBQVksQ0FBQztJQUVwRSxPQUFRLEtBQWtDO1NBQ3hDLE1BQU0sQ0FBQyxRQUFrQixFQUFFLGdCQUEyQixFQUFFLE1BQU0sQ0FBaUIsQ0FBQztBQUNuRixDQUFpQixDQUFDO0FBRVgsTUFBTSxNQUFNLEdBQUcsVUFFckIsY0FBc0I7SUFFdEIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBWSxDQUFDLENBQUMsQ0FBQyxJ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c0QsQ0FBQztBQUd4SCxRQUFBLGlCQUFpQixHQUFJLG9CQUFrRCxDQUFDLFFBQVEsQ0FBQztBQUNqRixRQUFBLE1BQU0sR0FBRyx5QkFBVyxDQUFDLFdBQVcsQ0FBQztBQUU5QyxpQ0FBZ0M7QUFBdkIsOEZBQUEsS0FBSyxPQUFBO0FBQ2QsaUNBQTZDO0FBQXBDLDJHQUFBLGtCQUFrQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc3BhY2UtYmVmb3JlLWZ1bmN0aW9uLXBhcmVuICovXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCB0eXBlIHtcblx0Q3JlYXRlVHlwZXNDb2xsZWN0aW9uRnVuY3Rpb24sXG5cdElERUYsXG5cdGhvb2ssXG5cdGhvb2tzVHlwZXMsXG5cdGNvbnN0cnVjdG9yT3B0aW9ucyxcblx0UHJvdG8sXG5cdElEZWZpbml0b3JJbnN0YW5jZSxcblx0Q29uc3RydWN0b3IsXG5cdERlY29yYXRlZENsYXNzLFxuXHRUeXBlQ2xhc3MsXG5cdFR5cGVBYnNvcmJlcixcblx0TW5lbW9uaWNhTW9kdWxlLFxuXHRUeXBlQ29uc3RydWN0b3Jcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4vYXBpL3V0aWxzL2luZGV4JztcbmV4cG9ydCBjb25zdCB7XG5cdGlzQ2xhc3MsXG5cdGZpbmRTdWJUeXBlRnJvbVBhcmVudCxcbn0gPSBUeXBlc1V0aWxzO1xuXG5leHBvcnQgdHlwZSB7IElERUYsIFR5cGVDb25zdHJ1Y3RvciwgX0ludGVybmFsX1RDXywgUHJvdG8sIFByb3RvRmxhdCB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IHsgZ2V0UHJvcHMsIHNldFByb3BzIH0gZnJvbSAnLi9hcGkvdHlwZXMvUHJvcHMnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5jb25zdCB7IG9kcCB9ID0gY29uc3RhbnRzO1xuXG5pbXBvcnQgKiBhcyBlcnJvcnNBcGkgZnJvbSAnLi9hcGkvZXJyb3JzJztcbmltcG9ydCB7IGRlc2NyaXB0b3JzIH0gZnJvbSAnLi9kZXNjcmlwdG9ycyc7XG5cbmNvbnN0IHsgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4gfSA9IGRlc2NyaXB0b3JzLkVycm9yc1R5cGVzO1xuXG5pbXBvcnQgbW5lbW9zeW5lcyBmcm9tICcuL2FwaS90eXBlcy9NbmVtb3N5bmUnO1xuY29uc3QgeyBwcmVwYXJlU3VidHlwZUZvckNvbnN0cnVjdGlvbiB9ID0gbW5lbW9zeW5lcztcblxuZXhwb3J0IGNvbnN0IHtcblx0ZGVmYXVsdFR5cGVzLFxufSA9IGRlc2NyaXB0b3JzO1xuXG5mdW5jdGlvbiBjaGVja1RoaXMocG9pbnRlcjogdHlwZW9mIG1uZW1vbmljYSB8IHR5cGVvZiBleHBvcnRzIHwgdW5rbm93bik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcG9pbnRlciA9PT0gbW5lbW9uaWNhIHx8IHBvaW50ZXIgPT09IGV4cG9ydHM7XG59XG5cblxuLy8gRGVmaW5lIGZ1bmN0aW9uIHVzaW5nIFR5cGVBYnNvcmJlciBpbnRlcmZhY2Ugd2l0aCBwcm9wZXIgdHlwZSBjYXN0aW5nXG5leHBvcnQgY29uc3QgZGVmaW5lID0gZnVuY3Rpb24gPFxuXHRUIGV4dGVuZHMgb2JqZWN0LFxuXHRQIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0LFxuXHROIGV4dGVuZHMgUHJvdG88UCwgVD4gPSBQcm90bzxQLCBUPixcblxuXHQvLyBoZXJlIElEZWZpbml0b3JJbnN0YW5jZSBpcyBhIENPTlNUUlVDVE9SICEhIVxuXHRSIGV4dGVuZHMgSURlZmluaXRvckluc3RhbmNlPE4+ID0gSURlZmluaXRvckluc3RhbmNlPE4+XG4+KFxuXHR0aGlzOiB1bmtub3duLFxuXHRUeXBlTmFtZT86IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24gfCBOZXdhYmxlRnVuY3Rpb24sXG5cdC8vIEFsbG93IGJvdGggc3RyaWN0IElERUYgYW5kIG1vcmUgZmxleGlibGUgZnVuY3Rpb24gc2lnbmF0dXJlc1xuXHRjb25zdHJ1Y3RIYW5kbGVyPzogSURFRjxUPiB8IENhbGxhYmxlRnVuY3Rpb24gfCBOZXdhYmxlRnVuY3Rpb24gfCBvYmplY3QgfCBib29sZWFuLFxuXHRjb25maWc/OiBjb25zdHJ1Y3Rvck9wdGlvbnMsXG4pOiBSIHtcblx0Y29uc3QgdHlwZXMgPSBjaGVja1RoaXModGhpcykgPyBkZWZhdWx0VHlwZXMgOiB0aGlzIHx8IGRlZmF1bHRUeXBlcztcblx0Ly8gVHlwZSBhc3NlcnRpb24gbmVlZGVkIGJlY2F1c2UgVHlwZXNDb2xsZWN0aW9uUHJveHkgaXMgYSBQcm94eVxuXHRyZXR1cm4gKHR5cGVzIGFzIHsgZGVmaW5lOiBUeXBlQWJzb3JiZXIgfSlcblx0XHQuZGVmaW5lKFR5cGVOYW1lIGFzIHN0cmluZywgY29uc3RydWN0SGFuZGxlciBhcyBJREVGPFQ+LCBjb25maWcpIGFzIHVua25vd24gYXMgUjtcbn0gYXMgVHlwZUFic29yYmVyO1xuXG5leHBvcnQgY29uc3QgbG9va3VwID0gZnVuY3Rpb24gKFxuXHR0aGlzOiB1bmtub3duLFxuXHRUeXBlTmVzdGVkUGF0aDogc3RyaW5nXG4pOiBUeXBlQ2xhc3MgfCB1bmRlZmluZWQge1xuXHRjb25zdCB0eXBlcyA9IGNoZWNrVGhpcyh0aGlzKSA/IGRlZmF1bHRUeXBlcyA6IHRoaXMgfHwgZGVmYXVsdFR5cGVzO1xuXHQvLyBUeXBlIGFzc2VydGlvbiBuZWVkZWQgYmVjYXVzZSBUeXBlc0NvbGxlY3Rpb25Qcm94eSBpcyBhIFByb3h5XG5cdHJldHVybiAodHlwZXMgYXMgeyBsb29rdXA6IChwYXRoOiBzdHJpbmcpID0+IFR5cGVDbGFzcyB8IHVuZGVmaW5lZCB9KS5sb29rdXAoVHlwZU5lc3RlZFBhdGgpO1xufTtcblxuLyoqXG4gKiBEZWZhdWx0IFR5cGVSZWdpc3RyeSBpbnRlcmZhY2UgLSBhdWdtZW50IHRoaXMgaW4geW91ciBwcm9qZWN0XG4gKiB2aWEgZGVjbGFyYXRpb24gbWVyZ2luZyB3aGVuIHVzaW5nIHRhY3RpY2EuXG4gKlxuICogVXNlcyBgbmV2ZXJgIGFzIHRoZSB2YWx1ZSB0eXBlIHRvIGVuZm9yY2UgYXVnbWVudGF0aW9uIHZpYSBkZWNsYXJhdGlvblxuICogbWVyZ2luZy4gV2l0aG91dCBhdWdtZW50YXRpb24sIGFueSBrZXkgbG9va3VwIHdpbGwgcHJvZHVjZSBhIGNvbXBpbGUtdGltZVxuICogZXJyb3IgYmVjYXVzZSBgVHlwZUNvbnN0cnVjdG9yPG5ldmVyPmAgaXMgbm90IGFzc2lnbmFibGUgdG8gY29uY3JldGUgdHlwZXMuXG4gKlxuICogRXhhbXBsZSAoZ2VuZXJhdGVkIGJ5IHRhY3RpY2EgaW4gLnRhY3RpY2EvcmVnaXN0cnkudHMpOlxuICogICBkZWNsYXJlIG1vZHVsZSAnbW5lbW9uaWNhJyB7XG4gKiAgICAgaW50ZXJmYWNlIFR5cGVSZWdpc3RyeSB7XG4gKiAgICAgICAnTXlUeXBlJzogbmV3ICguLi5hcmdzOiB1bmtub3duW10pID0+IE15VHlwZUluc3RhbmNlO1xuICogICAgIH1cbiAqICAgfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVSZWdpc3RyeSB7XG5cdFtrZXk6IHN0cmluZ106IFR5cGVDb25zdHJ1Y3RvcjxuZXZlcj47XG59XG5cbi8qKlxuICogVHlwZS1zYWZlIGxvb2t1cCBmdW5jdGlvbiAtIHJlcXVpcmVzIFR5cGVSZWdpc3RyeSBhdWdtZW50YXRpb24gZnJvbSB0YWN0aWNhLlxuICogQXQgcnVudGltZSB0aGlzIGRlbGVnYXRlcyB0byBsb29rdXAoKS4gVGhlIHR5cGUgc2FmZXR5IGlzIGNvbXBpbGUtdGltZSBvbmx5OlxuICogVHlwZVNjcmlwdCByZXNvbHZlcyB0aGUga2V5IGFnYWluc3QgdGhlIGF1Z21lbnRlZCBUeXBlUmVnaXN0cnkgYW5kIHJldHVybnNcbiAqIHRoZSBjb25zdHJ1Y3RvcidzIHR5cGUgc2lnbmF0dXJlLlxuICpcbiAqIEdlbmVyYXRlIHR5cGVzIHdpdGggdGFjdGljYSwgdGhlbiB1c2U6XG4gKiAgIGNvbnN0IFNvbWVUeXBlID0gbG9va3VwVHlwZWQoJ1NvbWVUeXBlJyk7XG4gKiAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNvbWVUeXBlKHsgLi4uIH0pOyAvLyBGdWxsIHR5cGUgc2FmZXR5IVxuICovXG5leHBvcnQgY29uc3QgbG9va3VwVHlwZWQgPSBmdW5jdGlvbiA8XG5cdGNvbnN0IEsgZXh0ZW5kcyBrZXlvZiBUeXBlUmVnaXN0cnlcbj4oXG5cdHRoaXM6IHVua25vd24sXG5cdFR5cGVOZXN0ZWRQYXRoOiBLXG4pOiBUeXBlUmVnaXN0cnlbS10gIHtcblx0Y29uc3QgdHlwZXMgPSBjaGVja1RoaXModGhpcykgPyBkZWZhdWx0VHlwZXMgOiB0aGlzIHx8IGRlZmF1bHRUeXBlcztcblx0cmV0dXJuICh0eXBlcyBhcyB7IGxvb2t1cDogKHBhdGg6IHN0cmluZykgPT4gdW5rbm93biB9KVxuXHRcdC5sb29rdXAoVHlwZU5lc3RlZFBhdGggYXMgc3RyaW5nKSBhcyBUeXBlUmVnaXN0cnlbS107XG59O1xuXG5cbmNvbnN0ICRydW4gPSBmdW5jdGlvbiA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+LFxuXHRhcmdzOiB1bmtub3duW11cbik6IHtcblx0XHRba2V5IGluIGtleW9mIFNdOiBTW2tleV1cblx0fSB7XG5cblx0Ly8gZGVidWdnZXI7XG5cdC8vIEB0cy1leHBlY3QtZXJyb3IgLSBleHRyYWN0aW5nIFR5cGVOYW1lIGZyb20gZnVuY3Rpb25cblx0Y29uc3QgeyBUeXBlTmFtZSB9ID0gQ3Rvcjtcblx0Y29uc3QgQ3N0ciA9IHByZXBhcmVTdWJ0eXBlRm9yQ29uc3RydWN0aW9uKFR5cGVOYW1lLCBlbnRpdHkpIGFzIHsgbmV3KC4uLmFyczogdW5rbm93bltdKTogdW5rbm93biB9O1xuXHQvLyBUT0RPOiBjaGVjayBsaW5lcyBiZWxvdyBhbmQgaWYgQ29uc3RydWN0b3IgaXMgbm90IG1uZW1vbml6ZWQgLi4uXG5cdGlmIChDc3RyID09PSB1bmRlZmluZWQpIHtcblx0XHR0aHJvdyBuZXcgKFdST05HX01PRElGSUNBVElPTl9QQVRURVJOIGFzIHVua25vd24gYXMgbmV3IChtc2c6IHN0cmluZykgPT4gRXJyb3IpKGBbICR7VHlwZU5hbWV9IF0gaXMgbm90IGRlZmluZWQgYXMgYSBUeXBlIENvbnN0cnVjdG9yIG9uIHVzZWQgaW5zdGFuY2VgKTtcblx0fVxuXHRjb25zdCByZXN1bHQgPSBuZXcgQ3N0ciguLi5hcmdzKTtcblx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHJldHVybmluZyByZXN1bHQgYXMgbWVyZ2VkIHByb3RvIHR5cGVcblx0cmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIFRPRE86IGFwcGx5IGluc3RhbmNlIC50byB0eXBlIC53aXRoIGFyZ3VtZW50c1xuZXhwb3J0IGNvbnN0IGFwcGx5ID0gZnVuY3Rpb24gPEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3QsIFMgZXh0ZW5kcyBQcm90bzxFLCBUPj4oXG5cdGVudGl0eTogRSxcblx0Q3RvcjogSURFRjxUPixcblx0YXJnczogdW5rbm93bltdID0gW11cbik6IHtcblx0XHRba2V5IGluIGtleW9mIFNdOiBTW2tleV1cblx0fSB7XG5cdHJldHVybiAkcnVuPEUsIFQsIFM+KGVudGl0eSwgQ3RvciwgYXJncyk7XG59O1xuXG4vLyBUT0RPOiBjYWxsIHR5cGUgLmJ5IGluc3RhbmNlIC53aXRoIGFyZ3VtZW50c1xuZXhwb3J0IGNvbnN0IGNhbGwgPSBmdW5jdGlvbiA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+LFxuXHQuLi5hcmdzOiB1bmtub3duW11cbik6IHtcblx0XHRba2V5IGluIGtleW9mIFNdOiBTW2tleV1cblx0fSB7XG5cdHJldHVybiAkcnVuPEUsIFQsIFM+KGVudGl0eSwgQ3RvciwgYXJncyk7XG59O1xuXG4vLyBUT0RPOiBiaW5kIHR5cGUgLndpdGggaW5zdGFuY2Ug4oaSICguLi5hcmdzKVxuZXhwb3J0IGNvbnN0IGJpbmQgPSBmdW5jdGlvbiA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+XG4pOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG5cdFtrZXkgaW4ga2V5b2YgU106IFNba2V5XVxufSB7XG5cdHJldHVybiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG5cdFx0cmV0dXJuICRydW48RSwgVCwgUz4oZW50aXR5LCBDdG9yLCBhcmdzKTtcblx0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWNvcmF0ZSA9IGZ1bmN0aW9uIDxcblx0VCBleHRlbmRzIENvbnN0cnVjdG9yPG9iamVjdD4gfCBjb25zdHJ1Y3Rvck9wdGlvbnMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbj4oXG5cdHRhcmdldD86IFQsXG5cdGNvbmZpZz86IGNvbnN0cnVjdG9yT3B0aW9uc1xuKTogPFUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+Pihjc3RyOiBVKSA9PiBEZWNvcmF0ZWRDbGFzczxVPiB7XG5cdGNvbnN0IG9wdHMgPSAoY29uZmlnID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHRhcmdldCA9PT0gJ29iamVjdCcgJiYgISh0YXJnZXQgaW5zdGFuY2VvZiBGdW5jdGlvbikpXG5cdFx0PyB0YXJnZXQgYXMgY29uc3RydWN0b3JPcHRpb25zXG5cdFx0OiBjb25maWc7XG5cblx0Y29uc3QgcGFyZW50VHlwZSA9ICh0YXJnZXQgaW5zdGFuY2VvZiBGdW5jdGlvbilcblx0XHQ/IHRhcmdldCBhcyBDb25zdHJ1Y3RvcjxvYmplY3Q+XG5cdFx0OiB1bmRlZmluZWQ7XG5cblx0Y29uc3QgZGVjb3JhdG9yID0gZnVuY3Rpb24gPFUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+Pihjc3RyOiBVKTogRGVjb3JhdGVkQ2xhc3M8VT4ge1xuXHRcdGNvbnN0IHsgbmFtZSB9ID0gY3N0cjtcblx0XHRpZiAocGFyZW50VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gZGVmaW5lKG5hbWUsIGNzdHIgYXMgSURFRjxvYmplY3Q+LCBvcHRzKSBhcyB1bmtub3duIGFzIERlY29yYXRlZENsYXNzPFU+O1xuXHRcdH1cblx0XHRjb25zdCBwYXJlbnQgPSBwYXJlbnRUeXBlIGFzIHVua25vd24gYXMge1xuXHRcdFx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdFx0fTtcblx0XHRyZXR1cm4gcGFyZW50LmRlZmluZShuYW1lLCBjc3RyIGFzIElERUY8b2JqZWN0Piwgb3B0cykgYXMgdW5rbm93biBhcyBEZWNvcmF0ZWRDbGFzczxVPjtcblx0fTtcblx0cmV0dXJuIGRlY29yYXRvcjtcbn07XG5cblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVySG9vayA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8VD4+KEN0b3I6IERlY29yYXRlZENsYXNzPFQ+LCBob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spOiB2b2lkIHtcblx0Q3Rvci5yZWdpc3Rlckhvb2soaG9va1R5cGUsIGNiKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtbmVtb25pY2EgPSBPYmplY3QuZW50cmllcyh7XG5cblx0ZGVmaW5lLFxuXHRsb29rdXAsXG5cdGFwcGx5LFxuXHRjYWxsLFxuXHRiaW5kLFxuXHRkZWNvcmF0ZSxcblx0cmVnaXN0ZXJIb29rLFxuXG5cdC4uLmRlc2NyaXB0b3JzLFxuXG5cdC4uLmVycm9yc0FwaSxcblx0Li4uY29uc3RhbnRzLFxuXG59KS5yZWR1Y2UoKGFjYzogeyBbaW5kZXg6IHN0cmluZ106IHVua25vd24gfSwgZW50cnk6IFtzdHJpbmcsIHVua25vd25dKSA9PiB7XG5cdGNvbnN0IFsgbmFtZSwgY29kZSBdID0gZW50cnk7XG5cdG9kcChhY2MsIG5hbWUsIHtcblx0XHRnZXQoKSB7XG5cdFx0XHRyZXR1cm4gY29kZTtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0pO1xuXHRyZXR1cm4gYWNjO1xufSwge30pIGFzIE1uZW1vbmljYU1vZHVsZTtcblxuaW1wb3J0ICogYXMgYXBpIGZyb20gJy4vYXBpJztcblxuZXhwb3J0IGNvbnN0IHtcblx0ZGVmaW5lOiBfZGVmaW5lLFxuXHRsb29rdXA6IF9sb29rdXBcbn0gPSBhcGkudHlwZXM7XG5cbmV4cG9ydCBjb25zdCB7XG5cblx0U3ltYm9sUGFyZW50VHlwZSxcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lLFxuXHRTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uLFxuXHRTeW1ib2xDb25maWcsXG5cdE1ORU1PTklDQSxcblx0TU5FTU9TWU5FLFxuXHRUWVBFX1RJVExFX1BSRUZJWCxcblx0RXJyb3JNZXNzYWdlcyxcblxufSA9IG1uZW1vbmljYTtcblxuLy8gRXhwb3J0IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiB3aXRoIHByb3BlciB0eXBlXG5leHBvcnQgY29uc3QgY3JlYXRlVHlwZXNDb2xsZWN0aW9uOiBDcmVhdGVUeXBlc0NvbGxlY3Rpb25GdW5jdGlvbiA9IG1uZW1vbmljYS5jcmVhdGVUeXBlc0NvbGxlY3Rpb24gYXMgQ3JlYXRlVHlwZXNDb2xsZWN0aW9uRnVuY3Rpb247XG5cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb2xsZWN0aW9uID0gKGRlZmF1bHRUeXBlcyBhcyB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pLnN1YnR5cGVzO1xuZXhwb3J0IGNvbnN0IGVycm9ycyA9IGRlc2NyaXB0b3JzLkVycm9yc1R5cGVzO1xuXG5leHBvcnQgeyB1dGlscyB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgZGVmaW5lU3RhY2tDbGVhbmVyIH0gZnJvbSAnLi91dGlscyc7XG4vKiBlc2xpbnQtZW5hYmxlIHNwYWNlLWJlZm9yZS1mdW5jdGlvbi1wYXJlbiAqL1xuIl19
|
package/build/types/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuLyogZXNsaW50IG5vLXVudXNlZC12YXJzOiBcIm9mZlwiICovXG5cbi8vIFByb3BzIHR5cGUgZm9yIGdldFByb3BzL3NldFByb3BzXG5leHBvcnQgdHlwZSBQcm9wc1R5cGUgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLy8gQ29yZSB0eXBlIGRlZmluaXRpb25zIGZvciBtbmVtb25pY2FcblxuLy8gQmFzZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0eXBlIC0gY2FuIGJlIGEgY2xhc3MgY29uc3RydWN0b3Igb3IgYSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgSURFRjxUPiA9IHsgbmV3KCk6IFQgfSB8IHsgKHRoaXM6IFQsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQgfTtcbi8vIE1vcmUgZmxleGlibGUgdmVyc2lvbiB0aGF0IGFjY2VwdHMgdHlwZWQgYXJndW1lbnRzIGZvciBjb21tb24gcGF0dGVybnNcbmV4cG9ydCB0eXBlIElERUZXaXRoQXJnczxULCBBcmdzIGV4dGVuZHMgdW5rbm93bltdID0gdW5rbm93bltdPiA9IHsgbmV3KCk6IFQgfSB8IHsgKHRoaXM6IFQsIC4uLmFyZ3M6IEFyZ3MpOiB2b2lkIH07XG5cbi8vIEVycm9yIG1lc3NhZ2UgdHlwZXMgLSBhbGwgZXJyb3IgbWVzc2FnZXMgYXJlIHN0cmluZ3NcbmV4cG9ydCB0eXBlIEVycm9yTWVzc2FnZUtleSA9XG5cdHwgJ0JBU0VfRVJST1JfTUVTU0FHRSdcblx0fCAnSEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT04nXG5cdHwgJ1dST05HX1RZUEVfREVGSU5JVElPTidcblx0fCAnV1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTidcblx0fCAnV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4nXG5cdHwgJ0FMUkVBRFlfREVDTEFSRUQnXG5cdHwgJ1dST05HX0FSR1VNRU5UU19VU0VEJ1xuXHR8ICdXUk9OR19IT09LX1RZUEUnXG5cdHwgJ01JU1NJTkdfSE9PS19DQUxMQkFDSydcblx0fCAnTUlTU0lOR19DQUxMQkFDS19BUkdVTUVOVCdcblx0fCAnT1BUSU9OU19FUlJPUidcblx0fCAnV1JPTkdfU1RBQ0tfQ0xFQU5FUic7XG5cdC8vIHwgJ1RZUEVOQU1FX01VU1RfQkVfQV9TVFJJTkcnXG5cdC8vIHwgJ0ZMT1dfQ0hFQ0tFUl9SRURFRklOSVRJT04nXG5cbi8vIEVycm9yIG1lc3NhZ2VzIG9iamVjdCB0eXBlXG5leHBvcnQgdHlwZSBFcnJvck1lc3NhZ2VzID0gUmVjb3JkPEVycm9yTWVzc2FnZUtleSwgc3RyaW5nPjtcblxuLy8gRXJyb3IgY29uc3RydWN0b3IgZnJvbSBjb25zdHJ1Y3RFcnJvciAtIGNvbnN0cnVjdGFibGUgZnVuY3Rpb24gd2l0aCBwcm90b3R5cGVcbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3RvciB7XG5cdG5ldyhhZGRpdGlvbj86IHN0cmluZywgc3RhY2s/OiBzdHJpbmdbXSk6IEVycm9yO1xuXHQobmFtZTogc3RyaW5nKTogRXJyb3I7XG5cdHByb3RvdHlwZToge1xuXHRcdGNvbnN0cnVjdG9yOiBDYWxsYWJsZUZ1bmN0aW9uO1xuXHR9O1xufVxuXG4vLyBFcnJvcnMgdHlwZXMgbWFwIC0gaW5kZXhhYmxlIHJlY29yZCBvZiBlcnJvciBjb25zdHJ1Y3RvcnNcbmV4cG9ydCB0eXBlIEVycm9yc1R5cGVzTWFwID0gUmVjb3JkPHN0cmluZywgTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcj47XG5cbi8vIE1uZW1vbmljYSBlcnJvciBpbnRlcmZhY2UgZm9yIGV4dGVuZGVkIEVycm9yIG9iamVjdHNcbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG5cdGV4Y2VwdGlvblJlYXNvbj86IEVycm9yO1xuXHRyZWFzb25zPzogRXJyb3JbXTtcblx0c3VycGx1cz86IEVycm9yW107XG59XG5cbi8vIENvbnN0cnVjdG9yIGZ1bmN0aW9uIHdpdGggcHJvdG90eXBlXG5leHBvcnQgaW50ZXJmYWNlIF9JbnRlcm5hbF9UQ188Q29uc3RydWN0b3JJbnN0YW5jZSBleHRlbmRzIG9iamVjdD4ge1xuXHRuZXcoLi4uYXJnczogdW5rbm93bltdKTogQ29uc3RydWN0b3JJbnN0YW5jZTtcblx0KHRoaXM6IENvbnN0cnVjdG9ySW5zdGFuY2UsIC4uLmFyZ3M6IHVua25vd25bXSk6IENvbnN0cnVjdG9ySW5zdGFuY2U7XG5cdHJlYWRvbmx5IHByb3RvdHlwZTogQ29uc3RydWN0b3JJbnN0YW5jZSAmIHtcblx0XHRyZWFkb25seSBjb25zdHJ1Y3RvcjogX0ludGVybmFsX1RDXzxDb25zdHJ1Y3Rvckluc3RhbmNlPlxuXHR9O1xufVxuXG4vLyBDb25zdHJ1Y3RvciBmdW5jdGlvbiB3aXRoIHByb3RvdHlwZVxuZXhwb3J0IGludGVyZmFjZSBUeXBlQ29uc3RydWN0b3I8Q29uc3RydWN0b3JJbnN0YW5jZSBleHRlbmRzIG9iamVjdD4ge1xuXHRuZXcoLi4uYXJnczogdW5rbm93bltdKTogQ29uc3RydWN0b3JJbnN0YW5jZTtcblx0KHRoaXM6IENvbnN0cnVjdG9ySW5zdGFuY2UsIC4uLmFyZ3M6IHVua25vd25bXSk6IENvbnN0cnVjdG9ySW5zdGFuY2U7XG5cdHJlYWRvbmx5IHByb3RvdHlwZTogQ29uc3RydWN0b3JJbnN0YW5jZSAmIHtcblx0XHRyZWFkb25seSBjb25zdHJ1Y3RvcjogVHlwZUNvbnN0cnVjdG9yPENvbnN0cnVjdG9ySW5zdGFuY2U+XG5cdH07XG59XG5cbi8vIEhvb2sgdHlwZXNcbmV4cG9ydCB0eXBlIGhvb2tzVHlwZXMgPSAncHJlQ3JlYXRpb24nIHwgJ3Bvc3RDcmVhdGlvbicgfCAnY3JlYXRpb25FcnJvcic7XG5cbi8vIEhvb2sgb3B0aW9ucyBwYXNzZWQgdG8gaG9vayBjYWxsYmFja3NcbmV4cG9ydCB0eXBlIGhvb2tzT3B0cyA9IHtcblx0VHlwZU5hbWU/OiBzdHJpbmc7XG5cdHR5cGU/OiBUeXBlRGVmO1xuXHRhcmdzOiB1bmtub3duW107XG5cdGV4aXN0ZW50SW5zdGFuY2U6IG9iamVjdDtcblx0aW5oZXJpdGVkSW5zdGFuY2U6IG9iamVjdDtcblx0Y3JlYXRvcj86IG9iamVjdDtcbn07XG5cbi8vIEhvb2sgY2FsbGJhY2sgdHlwZVxuZXhwb3J0IHR5cGUgaG9vayA9IChvcHRzOiBob29rc09wdHMpID0+IHZvaWQ7XG5cbi8vIENvbnN0cnVjdG9yIG9wdGlvbnMgZm9yIGRlZmluZSAtIGRlZmF1bHQgKGV4cG9zZUluc3RhbmNlTWV0aG9kcyBkZWZhdWx0cyB0byB0cnVlIGJlaGF2aW9yKVxuZXhwb3J0IHR5cGUgY29uc3RydWN0b3JPcHRpb25zID0ge1xuXHQvLyBleHBsaWNpdCBkZWNsYXJhdGlvbiB3ZSB3aXNoIHVzZVxuXHQvLyBhbiBvbGQgc3R5bGUgYmFzZWQgY29uc3RydWN0b3JzXG5cdE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yPzogQ2FsbGFibGVGdW5jdGlvbixcblx0Ly8gc2hhbGwgb3Igbm90IHdlIHVzZSBzdHJpY3QgY2hlY2tpbmdcblx0Ly8gZm9yIGNyZWF0aW9uIHN1Yi1pbnN0YW5jZXMgT25seSBmcm9tIGN1cnJlbnQgdHlwZVxuXHQvLyBvciB3ZSBtaWdodCB1c2UgdXAtbmVzdGVkIHN1Yi1pbnN0YW5jZXMgZnJvbSBjaGFpblxuXHRzdHJpY3RDaGFpbj86IGJvb2xlYW4sXG5cdC8vIHNob3VsZCB3ZSB1c2UgZm9yY2VkIGVycm9ycyBjaGVja2luZ1xuXHQvLyB0byBtYWtlIGFsbCBpbmhlcml0ZWQgdHlwZXMgZXJyb3JlZFxuXHQvLyBpZiB0aGVyZSBpcyBhbiBlcnJvciBzb21ld2hlcmUgaW4gY2hhaW5cblx0YmxvY2tFcnJvcnM/OiBib29sZWFuLFxuXHQvLyBpZiBpdCBpcyBuZWNlc3NhcnkgdG8gY29sbGVjdCBzdGFja1xuXHQvLyBhcyBhIF9fc3RhY2tfXyBwcm90b3R5cGUgcHJvcGVydHlcblx0Ly8gZHVyaW5nIHRoZSBwcm9jZXNzIG9mIGluc3RhbmNlIGNyZWF0aW9uXG5cdHN1Ym1pdFN0YWNrPzogYm9vbGVhbixcblx0Ly8gYXdhaXQgbmV3IENvbnN0cnVjdG9yKClcblx0Ly8gbXVzdCByZXR1cm4gdmFsdWVcblx0YXdhaXRSZXR1cm4/OiBib29sZWFuLFxuXHQvLyBGb3JjZSBjbGFzcyBtb2RlIChhdXRvLWRldGVjdGVkIGJ5IGRlZmF1bHQpXG5cdGFzQ2xhc3M/OiBib29sZWFuLFxuXHQvLyBFeHBvc2UgaW5zdGFuY2UgbWV0aG9kcyAoZXh0cmFjdCwgcGljaywgcGFyZW50LCBjbG9uZSwgZm9yaywgZXhjZXB0aW9uLCBzaWJsaW5nKVxuXHQvLyBvbiB0aGUgaW5zdGFuY2UgdHlwZS4gV2hlbiBmYWxzZSwgdGhlc2UgbWV0aG9kcyBhcmUgc3RpbGwgYXZhaWxhYmxlIG9uIHRoZSBwcm90b3R5cGVcblx0Ly8gYnV0IGhpZGRlbiBmcm9tIHRoZSB0eXBlIGRlZmluaXRpb24gdW5sZXNzIGV4cGxpY2l0bHkgZXhwb3NlZC5cblx0ZXhwb3NlSW5zdGFuY2VNZXRob2RzPzogYm9vbGVhbixcbn07XG5cbi8vIENvbnN0cnVjdG9yIG9wdGlvbnMgdGhhdCBleHBsaWNpdGx5IGhpZGUgaW5zdGFuY2UgbWV0aG9kc1xuZXhwb3J0IHR5cGUgSGlkZUluc3RhbmNlTWV0aG9kc09wdGlvbnMgPSBjb25zdHJ1Y3Rvck9wdGlvbnMgJiB7XG5cdGV4cG9zZUluc3RhbmNlTWV0aG9kczogdHJ1ZTtcbn07XG5cbi8vIFN1YnR5cGVzIG1hcCAtIHJlcHJlc2VudHMgdGhlIHN1YnR5cGVzIHByb3BlcnR5XG5leHBvcnQgdHlwZSBTdWJ0eXBlc01hcCA9IE1hcDxzdHJpbmcsIFR5cGVDbGFzcz47XG5cbi8vIFR5cGUgZGVmaW5pdGlvbiBvYmplY3QgKGludGVybmFsIHByb3BlcnRpZXMpXG5leHBvcnQgdHlwZSBUeXBlRGVmID0ge1xuXHRUeXBlTmFtZTogc3RyaW5nO1xuXHRwcm90bzogb2JqZWN0O1xuXHRpc1N1YlR5cGU6IGJvb2xlYW47XG5cdHN1YnR5cGVzOiBTdWJ0eXBlc01hcDtcblx0Y29sbGVjdGlvbjogQ29sbGVjdGlvbkRlZjtcblx0Y29uZmlnOiBjb25zdHJ1Y3Rvck9wdGlvbnM7XG5cdHBhcmVudFR5cGU/OiBUeXBlRGVmO1xuXHRjb25zdHJ1Y3RIYW5kbGVyOiAoKSA9PiBDYWxsYWJsZUZ1bmN0aW9uO1xuXHR0aXRsZTogc3RyaW5nO1xuXHRob29rczogUmVjb3JkPHN0cmluZywgaG9va1tdPjtcblx0aW52b2tlSG9vazogKGhvb2tUeXBlOiBob29rc1R5cGVzLCBvcHRzOiBob29rc09wdHMpID0+IHZvaWQ7XG5cdHByb3RvdHlwZTogdW5rbm93bjtcblx0c3RhY2s/OiBzdHJpbmc7XG59O1xuXG4vLyBDb2xsZWN0aW9uIGRlZmluaXRpb25cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25EZWYgPSB7XG5cdGRlZmluZTogVHlwZUFic29yYmVyO1xuXHRsb29rdXA6IFR5cGVMb29rdXA7XG5cdGludm9rZUhvb2s6IChob29rVHlwZTogaG9va3NUeXBlcywgb3B0czogaG9va3NPcHRzKSA9PiB2b2lkO1xuXHRyZWdpc3Rlckhvb2s6IChob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spID0+IHZvaWQ7XG5cdHJlZ2lzdGVyRmxvd0NoZWNrZXI6IChjYjogKCkgPT4gdW5rbm93bikgPT4gdm9pZDtcblx0c3VidHlwZXM6IFN1YnR5cGVzTWFwO1xuXHRob29rczogUmVjb3JkPHN0cmluZywgaG9va1tdPjtcblx0W2tleTogc3RyaW5nXTogdW5rbm93bjtcbn07XG5cbi8vIFR5cGUgbG9va3VwIGZ1bmN0aW9uIHR5cGU6IG1heSBoYXZlIGF1Z21lbnRhdGlvbiBieSBUYWN0aWNhIHJlLWRlZmluaXRpb25cbmV4cG9ydCB0eXBlIFR5cGVMb29rdXAgPSAodGhpczogTWFwPHN0cmluZywgdW5rbm93bj4sIFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmcpID0+IFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcblxuLy8gUHJvdG8gbWVyZ2UgdHlwZSAtIGNvbWJpbmVzIHBhcmVudCBhbmQgY2hpbGQgdHlwZXNcbmV4cG9ydCB0eXBlIFByb3RvPFAgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3Q+ID0gVCAmIFBpY2s8UCwgRXhjbHVkZTxrZXlvZiBQLCBrZXlvZiBUPj47XG5cblxuLy8gZXhwb3J0IHR5cGUgUHJvdG9GbGF0PFxuLy8gXHRQIGV4dGVuZHMgb2JqZWN0LFxuLy8gXHRUIGV4dGVuZHMgb2JqZWN0LFxuLy8gXHRGIGV4dGVuZHMgUHJvdG88UCwgVD4gPSBQcm90bzxQLCBUPlxuLy8gPiA9IHsgW2tleSBpbiBrZXlvZiBGXTogRltrZXldfSA7XG5cbmV4cG9ydCB0eXBlIFByb3RvRmxhdDxcblx0UCBleHRlbmRzIG9iamVjdCxcblx0VCBleHRlbmRzIG9iamVjdCxcblx0TCBleHRlbmRzIEV4Y2x1ZGU8a2V5b2YgUCwga2V5b2YgVD4gPSBFeGNsdWRlPGtleW9mIFAsIGtleW9mIFQ+LFxuPiA9IHtcbiAgICBba2V5IGluIGtleW9mIFRdOiBUW2tleV07XG59ICYge1xuXHRba2V5IGluIExdOiBQW2tleV07XG59O1xuXG5leHBvcnQgdHlwZSBGbGF0dGVuPEY+ID0geyBba2V5IGluIGtleW9mIEZdOiBGW2tleV0gfVxuXG4vLyBTaWJsaW5nIHR5cGUgYWNjZXNzb3JcbmV4cG9ydCBpbnRlcmZhY2UgU2libGluZ0FjY2Vzc29yIHtcblx0KFNpYmxpbmdUeXBlTmFtZTogc3RyaW5nKTogVHlwZUNsYXNzIHwgdW5kZWZpbmVkO1xuXHRba2V5OiBzdHJpbmddOiBUeXBlQ2xhc3MgfCB1bmRlZmluZWQ7XG59XG5cbi8vIE1uZW1vbmljYSBpbnN0YW5jZSBtZXRob2RzIGludGVyZmFjZVxuLy8gVGhlc2UgbWV0aG9kcyBhcmUgYWx3YXlzIGF2YWlsYWJsZSBvbiB0aGUgcHJvdG90eXBlIGNoYWluXG4vLyBidXQgY2FuIGJlIGhpZGRlbiBmcm9tIHR5cGUgZGVmaW5pdGlvbnMgdmlhIGV4cG9zZUluc3RhbmNlTWV0aG9kcyBvcHRpb25cbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhSW5zdGFuY2Uge1xuXHRleHRyYWN0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRwaWNrKC4uLmtleXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdHBpY2soa2V5czogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0cGFyZW50KCk6IG9iamVjdCB8IHVuZGVmaW5lZDtcblx0cGFyZW50KGNvbnN0cnVjdG9yTG9va3VwUGF0aDogc3RyaW5nKTogb2JqZWN0IHwgdW5kZWZpbmVkO1xuXHRyZWFkb25seSBjbG9uZTogb2JqZWN0O1xuXHRmb3JrKC4uLmZvcmtBcmdzOiB1bmtub3duW10pOiBvYmplY3Q7XG5cdGV4Y2VwdGlvbihlcnJvcjogRXJyb3IsIC4uLmFyZ3M6IHVua25vd25bXSk6IEVycm9yO1xuXHRyZWFkb25seSBzaWJsaW5nOiBTaWJsaW5nQWNjZXNzb3I7XG59XG5cbi8vIEluc3RhbmNlIHByb3BlcnRpZXMgZm9yIF9fc2VsZl9fIHJlZmVyZW5jZVxuLy8gVGhpcyBtZXJnZXMgaW50ZXJuYWwgcHJvcHMgd2l0aCB0aGUgaW5zdGFuY2UgbWV0aG9kc1xuZXhwb3J0IHR5cGUgSW5zdGFuY2VTZWxmUHJvcHMgPSBJbnN0YW5jZUludGVybmFsUHJvcHMgJiB7XG5cdF9fc2VsZl9fOiBJbnN0YW5jZUludGVybmFsUHJvcHMgJiBNbmVtb25pY2FJbnN0YW5jZTtcbn07XG5cbi8vIENvbWJpbmVkIFByb3BzIHR5cGUgZm9yIGludGVybmFsIHVzZWQgaW5zaWRlIG9mIC4vc3JjXG5leHBvcnQgdHlwZSBQcm9wcyA9IEluc3RhbmNlU2VsZlByb3BzICYge1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xufTtcblxuXG4vLyBJbnRlcm5hbCBpbnN0YW5jZSBwcm9wZXJ0aWVzIChub24tZW51bWVyYWJsZSlcbi8vIFRoZXNlIGFyZSBhbHdheXMgcHJlc2VudCBvbiBpbnN0YW5jZXMgYnV0IGFjY2Vzc2VkIHZpYSBnZXRQcm9wcy9zZXRQcm9wc1xuZXhwb3J0IHR5cGUgSW5zdGFuY2VJbnRlcm5hbFByb3BzID0ge1xuXHRfX3Byb3RvX3Byb3RvX186IG9iamVjdDtcblx0X19hcmdzX186IHVua25vd25bXTtcblx0X19jb2xsZWN0aW9uX186IENvbGxlY3Rpb25EZWY7XG5cdF9fc3VidHlwZXNfXzogTWFwPHN0cmluZywgb2JqZWN0Pjtcblx0X190eXBlX186IFR5cGVEZWY7XG5cdF9fcGFyZW50X186IG9iamVjdDtcblx0X19zdGFja19fPzogc3RyaW5nO1xuXHRfX2NyZWF0b3JfXzogVHlwZURlZjtcblx0X190aW1lc3RhbXBfXzogbnVtYmVyO1xuXHQvLyBfX3NlbGZfXzogSW5zdGFuY2VJbnRlcm5hbFByb3BzICYgTW5lbW9uaWNhSW5zdGFuY2U7MzMzM1xufTtcblxuXG4vLyBIZWxwZXIgdHlwZSB0byBkZXRlY3QgaWYgZXhwb3NlSW5zdGFuY2VNZXRob2RzIGlzIGV4cGxpY2l0bHkgZmFsc2VcbmV4cG9ydCB0eXBlIElzSGlkaW5nTWV0aG9kczxDb25maWcgZXh0ZW5kcyBjb25zdHJ1Y3Rvck9wdGlvbnM+ID1cbiAgQ29uZmlnIGV4dGVuZHMgeyBleHBvc2VJbnN0YW5jZU1ldGhvZHM6IGZhbHNlIH0gPyB0cnVlIDogZmFsc2U7XG5cbi8vIENvbWJpbmVkIGluc3RhbmNlIHR5cGUgYmFzZWQgb24gY29uZmlnXG5leHBvcnQgdHlwZSBJbnN0YW5jZVJlc3VsdDxcbiAgTiBleHRlbmRzIG9iamVjdCxcbiAgQ29uZmlnIGV4dGVuZHMgY29uc3RydWN0b3JPcHRpb25zLFxuICBSIGV4dGVuZHMgRmxhdHRlbjxOPiA9IEZsYXR0ZW48Tj4sXG4gIEkgZXh0ZW5kcyB7IFtrZXkgaW4ga2V5b2YgUl06IFJba2V5XSB9ID0geyBba2V5IGluIGtleW9mIFJdOiBSW2tleV0gfSxcbiAgTSBleHRlbmRzIEkgJiBNbmVtb25pY2FJbnN0YW5jZSA9IEkgJiBNbmVtb25pY2FJbnN0YW5jZVxuPiA9IElzSGlkaW5nTWV0aG9kczxDb25maWc+IGV4dGVuZHMgdHJ1ZVxuXHQvLyBPbmx5IHVzZXItZGVmaW5lZCBwcm9wZXJ0aWVzIChoaWRpbmcgTW5lbW9uaWNhSW5zdGFuY2UgJiBzdWJ0eXBlcylcbiAgPyBSXG5cdC8vIFVzZXIgcHJvcHMgKyBpbnN0YW5jZSBtZXRob2RzICsgc3VidHlwZXNcbiAgOiBNO1xuXG4vLyBEZWZpbml0b3IgaW5zdGFuY2UgLSB0aGUgY29uc3RydWN0b3IgZnVuY3Rpb24gcmV0dXJuZWQgYnkgZGVmaW5lXG4vLyBOID0gaW5zdGFuY2UgdHlwZSAocHJvcGVydGllcyBhdmFpbGFibGUgb24gaW5zdGFuY2VzKVxuLy8gUyA9IHN1YnR5cGVzIG1hcFxuLy8gQ29uZmlnID0gY29uc3RydWN0b3Igb3B0aW9ucyBjb250cm9sbGluZyB0eXBlIHZpc2liaWxpdHlcbmV4cG9ydCBpbnRlcmZhY2UgSURlZmluaXRvckluc3RhbmNlPFxuXHROIGV4dGVuZHMgb2JqZWN0LFxuXHRDb25maWcgZXh0ZW5kcyBjb25zdHJ1Y3Rvck9wdGlvbnMgPSBjb25zdHJ1Y3Rvck9wdGlvbnMsXG5cdFIgZXh0ZW5kcyBJbnN0YW5jZVJlc3VsdDxOLCBDb25maWc+ID0gSW5zdGFuY2VSZXN1bHQ8TiwgQ29uZmlnPlxuPiB7XG5cblx0VHlwZU5hbWU6IHN0cmluZztcblx0cHJvdG90eXBlOiBOO1xuXG5cdFxuXHQvLyB0aGUgbGluZSBiZWxvdyBkZWNsYXJlcyBhIGBuZXcgLi4uYCBpbnZvY2F0aW9uLFxuXHQvLyBzbyBtYWtlcyBpbnRlcmZhY2UgY29uc3RydWN0aWJsZVxuXHQvLyBuZXcoLi4uYXJnczogdW5rbm93bltdKTogeyBba2V5IGluIGtleW9mIFJdOiBSW2tleV0gfTtcblx0bmV3KC4uLmFyZ3M6IHVua25vd25bXSk6IFI7XG5cblx0XG5cdC8vIFRPRE86IG5lZWQgY2hlY2sgaWYgbGluZSBiZWxvdyB3b3Jrc1xuXHQvLyBhbHNvIFRTIGhpbnRpbmcgY2hlY2sgYXMgd2VsbFxuXHQvLyB0aGUgbGluZSBiZWxvdyBzaG91bGQgbWFrZSBpcyBhIEBkZWNvcmF0ZSBkZWNvcmF0b3Igd29ya2luZ1xuXHQoLi4uYXJnczogdW5rbm93bltdKTogSURlZmluaXRvckluc3RhbmNlPFIsIENvbmZpZz47XG5cblxuXHQvLyBEZWZpbmUgbWV0aG9kIHRoYXQgY29tYmluZXMgcGFyZW50IE4gd2l0aCBuZXcgdHlwZSBUIHVzaW5nIFByb3RvXG5cdGRlZmluZTxcblx0XHRUIGV4dGVuZHMgb2JqZWN0LFxuXG5cdFx0Ly8gdGhpcyB3aWxsIGJlIGluc3RhbmNlIHR5cGUgZm9yIHN1Yi10eXBlICEhIVxuXHRcdC8vIEYgZXh0ZW5kcyBGbGF0dGVuPFByb3RvPE4sIFQ+PlxuXHRcdEYgZXh0ZW5kcyBQcm90bzxOLCBUPlxuXHQ+KFxuXHRcdFR5cGVPclR5cGVOYW1lOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZz86IElERUY8VD4gfCBvYmplY3QgfCBib29sZWFuIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRjb25maWdPclVuZGVmaW5lZD86IGNvbnN0cnVjdG9yT3B0aW9ucyB8IENhbGxhYmxlRnVuY3Rpb24gfCBib29sZWFuXG5cdCk6IElEZWZpbml0b3JJbnN0YW5jZTxGLCBDb25maWc+O1xuXHRcblx0bG9va3VwOiBUeXBlTG9va3VwO1xuXHRcblx0cmVnaXN0ZXJIb29rKGhvb2tUeXBlOiBob29rc1R5cGVzLCBjYjogaG9vayk6IHZvaWQ7XG5cdFxuXHRcblx0c3VidHlwZXM6IFN1YnR5cGVzTWFwO1xuXHRcblx0Ly8gSW50ZXJuYWwgcHJvcGVydGllcyBhY2Nlc3NlZCBieSB0ZXN0c1xuXHRfX3R5cGVfXz86IFR5cGVEZWY7XG5cdGNvbGxlY3Rpb24/OiBDb2xsZWN0aW9uRGVmO1xuXG5cdC8qXG5cdC8vIEFsbG93IGR5bmFtaWMgcHJvcGVydHkgYWNjZXNzIGZvciBzdWJ0eXBlc1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xuXHQqL1xufVxuXG4vLyBUeXBlIGFic29yYmVyIGZ1bmN0aW9uIHR5cGUgLSB1c2VkIGZvciBkZWZpbmluZyBzdWJ0eXBlc1xuLy8gU3VwcG9ydHMgbXVsdGlwbGUgY2FsbGluZyBjb252ZW50aW9uczpcbi8vIDEuIE1vZGVybjogZGVmaW5lKFR5cGVOYW1lLCBjb25zdHJ1Y3RIYW5kbGVyLCBjb25maWc/KVxuLy8gMi4gTGVnYWN5OiBkZWZpbmUoY29uc3RydWN0SGFuZGxlciwgY29uZmlnPykgLSBUeXBlTmFtZSBmcm9tIGNvbnN0cnVjdG9yIG5hbWVcbi8vIDMuIE5lc3RlZDogcGFyZW50VHlwZS5kZWZpbmUoVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXIsIGNvbmZpZz8pXG4vLyBVc2luZyBpbnRlcmZhY2Ugd2l0aCBvdmVybG9hZHMgdG8gcHJvcGVybHkgaGFuZGxlIGV4cG9zZUluc3RhbmNlTWV0aG9kcyBvcHRpb25cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUFic29yYmVyIHtcblx0Ly8gT3ZlcmxvYWQ6IHdpdGggZXhwb3NlSW5zdGFuY2VNZXRob2RzOiBmYWxzZSAtIGhpZGUgaW5zdGFuY2UgbWV0aG9kc1xuXHQ8VCBleHRlbmRzIG9iamVjdD4oXG5cdFx0dGhpczogdW5rbm93bixcblx0XHRUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc6IElERUY8VD4gfCBvYmplY3QgfCBib29sZWFuIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRjb25maWdPclVuZGVmaW5lZDogSGlkZUluc3RhbmNlTWV0aG9kc09wdGlvbnNcblx0KTogSURlZmluaXRvckluc3RhbmNlPFQsIEhpZGVJbnN0YW5jZU1ldGhvZHNPcHRpb25zPjtcblx0XG5cdC8vIE92ZXJsb2FkOiB3aXRob3V0IGNvbmZpZyBvciB3aXRoIGV4cG9zZUluc3RhbmNlTWV0aG9kcyBub3QgZmFsc2UgLSBzaG93IGFsbFxuXHQ8VCBleHRlbmRzIG9iamVjdD4oXG5cdFx0dGhpczogdW5rbm93bixcblx0XHRUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc/OiBJREVGPFQ+IHwgb2JqZWN0IHwgYm9vbGVhbiB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uZmlnT3JVbmRlZmluZWQ/OiBjb25zdHJ1Y3Rvck9wdGlvbnMgfCBDYWxsYWJsZUZ1bmN0aW9uIHwgYm9vbGVhblxuXHQpOiBJRGVmaW5pdG9ySW5zdGFuY2U8VCwgY29uc3RydWN0b3JPcHRpb25zPjtcbn1cblxuLy8gVHlwZXNDb2xsZWN0aW9uIGludGVyZmFjZSBmb3IgY3JlYXRlVHlwZXNDb2xsZWN0aW9uXG4vLyBUaGlzIHJlcHJlc2VudHMgdGhlIGFjdHVhbCByZXR1cm4gdHlwZSBvZiBjcmVhdGVUeXBlc0NvbGxlY3Rpb25cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZXNDb2xsZWN0aW9uIHtcblx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdGxvb2t1cDogVHlwZUxvb2t1cDtcblx0cmVnaXN0ZXJIb29rKGhvb2tUeXBlOiBob29rc1R5cGVzLCBjYjogaG9vayk6IHZvaWQ7XG5cdGludm9rZUhvb2soaG9va1R5cGU6IGhvb2tzVHlwZXMsIG9wdHM6IGhvb2tzT3B0cyk6IHZvaWQ7XG5cdHJlZ2lzdGVyRmxvd0NoZWNrZXIoY2I6ICgpID0+IHVua25vd24pOiB2b2lkO1xuXHRzdWJ0eXBlczogU3VidHlwZXNNYXA7XG5cdGhvb2tzOiBSZWNvcmQ8c3RyaW5nLCBob29rW10+O1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBjcmVhdGVUeXBlc0NvbGxlY3Rpb24gZnVuY3Rpb24gdHlwZVxuZXhwb3J0IHR5cGUgQ3JlYXRlVHlwZXNDb2xsZWN0aW9uRnVuY3Rpb24gPSAoY29uZmlnPzogY29uc3RydWN0b3JPcHRpb25zKSA9PiBUeXBlc0NvbGxlY3Rpb247XG5cbi8vIFR5cGUgY2xhc3MgLSBiYXNlIHR5cGUgY29uc3RydWN0b3JcbmV4cG9ydCB0eXBlIFR5cGVDbGFzcyA9IElEZWZpbml0b3JJbnN0YW5jZTxvYmplY3Q+O1xuXG4vLyBHZW5lcmljIHR5cGUgY2xhc3NcbmV4cG9ydCBpbnRlcmZhY2UgSVR5cGVDbGFzczxUPiB7XG5cdG5ldyguLi5hcmdzOiB1bmtub3duW10pOiBUO1xuXHQodGhpczogVCwgLi4uYXJnczogdW5rbm93bltdKTogVDtcblx0ZGVmaW5lOiBJVHlwZUFic29yYmVyPFQ+O1xuXHRsb29rdXA6IFR5cGVMb29rdXA7XG5cdHJlZ2lzdGVySG9vayhob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spOiB2b2lkO1xufVxuXG4vLyBHZW5lcmljIHR5cGUgYWJzb3JiZXJcbmV4cG9ydCB0eXBlIElUeXBlQWJzb3JiZXI8VD4gPSAoXG5cdHRoaXM6IHVua25vd24sXG5cdFR5cGVOYW1lOiBzdHJpbmcsXG5cdGNvbnN0cnVjdEhhbmRsZXI6IElERUY8VD4sXG5cdHByb3RvPzogb2JqZWN0LFxuXHRjb25maWc/OiBjb25zdHJ1Y3Rvck9wdGlvbnNcbikgPT4gSVR5cGVDbGFzczxUPjtcblxuLy8gVHlwZSBkZXNjcmlwdG9yIGluc3RhbmNlXG5leHBvcnQgdHlwZSBUeXBlRGVzY3JpcHRvckluc3RhbmNlID0ge1xuXHRkZWZpbmU6IENhbGxhYmxlRnVuY3Rpb247XG5cdGxvb2t1cDogQ2FsbGFibGVGdW5jdGlvbjtcblx0c3VidHlwZXM6IG9iamVjdDtcblx0VHlwZU5hbWU6IHN0cmluZztcbn07XG5cbi8vIFR5cGVEZXNjcmlwdG9yIGNvbnN0cnVjdG9yIHR5cGVcbmV4cG9ydCB0eXBlIFR5cGVEZXNjcmlwdG9yQ29uc3RydWN0b3IgPSBUeXBlQ29uc3RydWN0b3I8VHlwZURlc2NyaXB0b3JJbnN0YW5jZT47XG5cbi8vIFR5cGVzQ29sbGVjdGlvbiBjb25zdHJ1Y3RvciB0eXBlXG5leHBvcnQgdHlwZSBUeXBlc0NvbGxlY3Rpb25Db25zdHJ1Y3RvciA9IFR5cGVDb25zdHJ1Y3RvcjxvYmplY3Q+O1xuXG4vLyBDb25zdHJ1Y3RvciB0eXBlIGZvciBkZWNvcmF0ZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3I8VCA9IG9iamVjdD4gPSBuZXcgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gVDtcblxuLy8gRGVjb3JhdGVkIGNsYXNzIHR5cGUgLSBpbmNsdWRlcyBjYWxsIHNpZ25hdHVyZSBmb3IgZGVjb3JhdG9yIHBhdHRlcm5cbmV4cG9ydCB0eXBlIERlY29yYXRlZENsYXNzPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+PiA9XG5cdFQgJlxuXHQoPFUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+Pih0YXJnZXQ6IFUpID0+IERlY29yYXRlZENsYXNzPFU+KSAmIHtcblx0XHRkZWZpbmU6IFR5cGVBYnNvcmJlcjtcblx0XHRyZWdpc3Rlckhvb2soaG9va1R5cGU6IGhvb2tzVHlwZXMsIGNiOiBob29rKTogdm9pZDtcblx0XHRsb29rdXA6IFR5cGVMb29rdXA7XG5cdFx0VHlwZU5hbWU6IHN0cmluZztcblx0fTtcblxuLy8gRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY29uc3RydWN0b3IgKGZhY3RvcnkgcGF0dGVybilcbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yRmFjdG9yeTxUPiA9ICgpID0+IENvbnN0cnVjdG9yPFQ+O1xuXG4vLyBBcHBseS9DYWxsL0JpbmQgZnVuY3Rpb24gdHlwZXNcbmV4cG9ydCB0eXBlIEFwcGx5RnVuY3Rpb24gPSA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+LFxuXHRhcmdzPzogdW5rbm93bltdXG4pID0+IFM7XG5cbmV4cG9ydCB0eXBlIENhbGxGdW5jdGlvbiA9IDxFIGV4dGVuZHMgb2JqZWN0LCBUIGV4dGVuZHMgb2JqZWN0LCBTIGV4dGVuZHMgUHJvdG88RSwgVD4+KFxuXHRlbnRpdHk6IEUsXG5cdEN0b3I6IElERUY8VD4sXG5cdC4uLmFyZ3M6IHVua25vd25bXVxuKSA9PiBTO1xuXG5leHBvcnQgdHlwZSBCaW5kRnVuY3Rpb24gPSA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+XG4pID0+ICguLi5hcmdzOiB1bmtub3duW10pID0+IFM7XG5cbi8vIFV0aWxzIG9iamVjdCB0eXBlXG5leHBvcnQgaW50ZXJmYWNlIFV0aWxzQ29sbGVjdGlvbiB7XG5cdGV4dHJhY3Q6IChpbnN0YW5jZTogb2JqZWN0KSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0cGljazogKGluc3RhbmNlOiBvYmplY3QsIC4uLmFyZ3M6IChzdHJpbmcgfCBzdHJpbmdbXSlbXSkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdGNvbGxlY3RDb25zdHJ1Y3RvcnM6IChpbnN0YW5jZTogb2JqZWN0LCBmbGF0PzogYm9vbGVhbikgPT4gKENhbGxhYmxlRnVuY3Rpb24gfCBzdHJpbmcpW107XG5cdG1lcmdlOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB1bmtub3duO1xuXHRwYXJzZTogKHZhbHVlOiB1bmtub3duKSA9PiBvYmplY3QgfCB1bmRlZmluZWQ7XG5cdHBhcmVudDogKGluc3RhbmNlOiBvYmplY3QsIHN0cmljdD86IGJvb2xlYW4pID0+IG9iamVjdCB8IHVuZGVmaW5lZDtcblx0dG9KU09OOiAoaW5zdGFuY2U6IG9iamVjdCkgPT4gc3RyaW5nO1xuXHRba2V5OiBzdHJpbmddOiBDYWxsYWJsZUZ1bmN0aW9uO1xufVxuXG4vLyBNYWluIG1uZW1vbmljYSBtb2R1bGUgaW50ZXJmYWNlIC0gcmVwcmVzZW50cyB0aGUgZXhwb3J0ZWQgbW9kdWxlIG9iamVjdFxuZXhwb3J0IGludGVyZmFjZSBNbmVtb25pY2FNb2R1bGUge1xuXHQvLyBDb3JlIGZ1bmN0aW9uc1xuXHRkZWZpbmU6IFR5cGVBYnNvcmJlcjtcblx0bG9va3VwOiAoVHlwZU5lc3RlZFBhdGg6IHN0cmluZykgPT4gVHlwZUNsYXNzIHwgdW5kZWZpbmVkO1xuXHRhcHBseTogQXBwbHlGdW5jdGlvbjtcblx0Y2FsbDogQ2FsbEZ1bmN0aW9uO1xuXHRiaW5kOiBCaW5kRnVuY3Rpb247XG5cdGRlY29yYXRlOiA8VSBleHRlbmRzIENvbnN0cnVjdG9yPG9iamVjdD4+KHRhcmdldD86IG9iamVjdCwgY29uZmlnPzogb2JqZWN0KSA9PiBEZWNvcmF0ZWRDbGFzczxVPjtcblx0cmVnaXN0ZXJIb29rOiA8VCBleHRlbmRzIG9iamVjdD4oQ3RvcjogSURFRjxUPiwgaG9va1R5cGU6IGhvb2tzVHlwZXMsIGNiOiBob29rKSA9PiB2b2lkO1xuXG5cdC8vIERlc2NyaXB0b3JzXG5cdGRlZmF1bHRUeXBlczogVHlwZXNDb2xsZWN0aW9uO1xuXG5cdC8vIEVycm9yc1xuXHRCQVNFX01ORU1PTklDQV9FUlJPUjogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0V1JPTkdfVFlQRV9ERUZJTklUSU9OOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19JTlNUQU5DRV9JTlZPQ0FUSU9OOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTjogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0QUxSRUFEWV9ERUNMQVJFRDogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0V1JPTkdfQVJHVU1FTlRTX1VTRUQ6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFdST05HX0hPT0tfVFlQRTogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0TUlTU0lOR19DQUxMQkFDS19BUkdVTUVOVDogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0Ly8gRkxPV19DSEVDS0VSX1JFREVGSU5JVElPTjogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0TUlTU0lOR19IT09LX0NBTExCQUNLOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRUWVBFTkFNRV9NVVNUX0JFX0FfU1RSSU5HOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRIQU5ETEVSX01VU1RfQkVfQV9GVU5DVElPTjogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0T1BUSU9OU19FUlJPUjogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0V1JPTkdfU1RBQ0tfQ0xFQU5FUjogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3RvcjtcblxuXHQvLyBDb25zdGFudHNcblx0TU5FTU9OSUNBOiBzdHJpbmc7XG5cdE1ORU1PU1lORTogc3RyaW5nO1xuXHRVUkFOVVM6IHN0cmluZztcblx0U3ltYm9sUGFyZW50VHlwZTogc3ltYm9sO1xuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWU6IHN5bWJvbDtcblx0U3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbjogc3ltYm9sO1xuXHRTeW1ib2xDb25maWc6IHN5bWJvbDtcblx0U3ltYm9sR2FpYTogc3ltYm9sO1xuXHRUWVBFX1RJVExFX1BSRUZJWDogc3RyaW5nO1xuXHRFcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VzO1xuXG5cdC8vIFV0aWxzXG5cdHV0aWxzOiBVdGlsc0NvbGxlY3Rpb247XG5cdGdldFByb3BzOiAoaW5zdGFuY2U6IG9iamVjdCkgPT4gUHJvcHNUeXBlIHwgdW5kZWZpbmVkO1xuXHRzZXRQcm9wczogKGluc3RhbmNlOiBvYmplY3QsIHZhbHVlczogb2JqZWN0KSA9PiBzdHJpbmdbXSB8IGZhbHNlO1xuXHRmaW5kU3ViVHlwZUZyb21QYXJlbnQ6IChpbnN0YW5jZTogb2JqZWN0IHwgdW5kZWZpbmVkLCBzdWJUeXBlOiBzdHJpbmcpID0+IG9iamVjdCB8IG51bGw7XG5cdGlzQ2xhc3M6IChmbjogQ2FsbGFibGVGdW5jdGlvbikgPT4gYm9vbGVhbjtcblxuXHQvLyBjcmVhdGVUeXBlc0NvbGxlY3Rpb25cblx0Y3JlYXRlVHlwZXNDb2xsZWN0aW9uOiBDcmVhdGVUeXBlc0NvbGxlY3Rpb25GdW5jdGlvbjtcblxuXHQvLyBBbGxvdyBhZGRpdGlvbmFsIHByb3BlcnRpZXNcblx0W2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cbiJdfQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuLyogZXNsaW50IG5vLXVudXNlZC12YXJzOiBcIm9mZlwiICovXG5cbi8vIFByb3BzIHR5cGUgZm9yIGdldFByb3BzL3NldFByb3BzXG5leHBvcnQgdHlwZSBQcm9wc1R5cGUgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLy8gQ29yZSB0eXBlIGRlZmluaXRpb25zIGZvciBtbmVtb25pY2FcblxuLy8gQmFzZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0eXBlIC0gY2FuIGJlIGEgY2xhc3MgY29uc3RydWN0b3Igb3IgYSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgSURFRjxUPiA9IHsgbmV3KCk6IFQgfSB8IHsgKHRoaXM6IFQsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQgfTtcbi8vIE1vcmUgZmxleGlibGUgdmVyc2lvbiB0aGF0IGFjY2VwdHMgdHlwZWQgYXJndW1lbnRzIGZvciBjb21tb24gcGF0dGVybnNcbmV4cG9ydCB0eXBlIElERUZXaXRoQXJnczxULCBBcmdzIGV4dGVuZHMgdW5rbm93bltdID0gdW5rbm93bltdPiA9IHsgbmV3KCk6IFQgfSB8IHsgKHRoaXM6IFQsIC4uLmFyZ3M6IEFyZ3MpOiB2b2lkIH07XG5cbi8vIEVycm9yIG1lc3NhZ2UgdHlwZXMgLSBhbGwgZXJyb3IgbWVzc2FnZXMgYXJlIHN0cmluZ3NcbmV4cG9ydCB0eXBlIEVycm9yTWVzc2FnZUtleSA9XG5cdHwgJ0JBU0VfRVJST1JfTUVTU0FHRSdcblx0fCAnSEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT04nXG5cdHwgJ1dST05HX1RZUEVfREVGSU5JVElPTidcblx0fCAnV1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTidcblx0fCAnV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4nXG5cdHwgJ0FMUkVBRFlfREVDTEFSRUQnXG5cdHwgJ1dST05HX0FSR1VNRU5UU19VU0VEJ1xuXHR8ICdXUk9OR19IT09LX1RZUEUnXG5cdHwgJ01JU1NJTkdfSE9PS19DQUxMQkFDSydcblx0fCAnTUlTU0lOR19DQUxMQkFDS19BUkdVTUVOVCdcblx0fCAnT1BUSU9OU19FUlJPUidcblx0fCAnV1JPTkdfU1RBQ0tfQ0xFQU5FUic7XG5cdC8vIHwgJ1RZUEVOQU1FX01VU1RfQkVfQV9TVFJJTkcnXG5cdC8vIHwgJ0ZMT1dfQ0hFQ0tFUl9SRURFRklOSVRJT04nXG5cbi8vIEVycm9yIG1lc3NhZ2VzIG9iamVjdCB0eXBlXG5leHBvcnQgdHlwZSBFcnJvck1lc3NhZ2VzID0gUmVjb3JkPEVycm9yTWVzc2FnZUtleSwgc3RyaW5nPjtcblxuLy8gRXJyb3IgY29uc3RydWN0b3IgZnJvbSBjb25zdHJ1Y3RFcnJvciAtIGNvbnN0cnVjdGFibGUgZnVuY3Rpb24gd2l0aCBwcm90b3R5cGVcbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3RvciB7XG5cdG5ldyhhZGRpdGlvbj86IHN0cmluZywgc3RhY2s/OiBzdHJpbmdbXSk6IEVycm9yO1xuXHQobmFtZTogc3RyaW5nKTogRXJyb3I7XG5cdHByb3RvdHlwZToge1xuXHRcdGNvbnN0cnVjdG9yOiBDYWxsYWJsZUZ1bmN0aW9uO1xuXHR9O1xufVxuXG4vLyBFcnJvcnMgdHlwZXMgbWFwIC0gaW5kZXhhYmxlIHJlY29yZCBvZiBlcnJvciBjb25zdHJ1Y3RvcnNcbmV4cG9ydCB0eXBlIEVycm9yc1R5cGVzTWFwID0gUmVjb3JkPHN0cmluZywgTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcj47XG5cbi8vIE1uZW1vbmljYSBlcnJvciBpbnRlcmZhY2UgZm9yIGV4dGVuZGVkIEVycm9yIG9iamVjdHNcbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG5cdGV4Y2VwdGlvblJlYXNvbj86IEVycm9yO1xuXHRyZWFzb25zPzogRXJyb3JbXTtcblx0c3VycGx1cz86IEVycm9yW107XG59XG5cbi8qKlxuICogSW50ZXJuYWwgVHlwZSBDb25zdHJ1Y3Rvci5cbiAqIFwiVHlwZVwiIGhlcmUgaXMgdXNlZCBpbiB0aGUgQ29tcHV0ZXIgU2NpZW5jZSBzZW5zZSDigJQgYW4gaW50ZXJmYWNlL2NvbnRyYWN0XG4gKiBkZXNjcmliaW5nIHdoYXQgYSBjb25zdHJ1Y3RvciBtdXN0IHNhdGlzZnkgKGJvdGggYG5ld2AtYWJsZSBhbmQgY2FsbGFibGUpLlxuICogVEMgPSBUeXBlIENvbnN0cnVjdG9yOyBcIkludGVybmFsXCIgbWVhbnMgdGhpcyBpcyB0aGUgbGlicmFyeSdzIG93biBjb25zdHJ1Y3RvclxuICogc2hhcGUsIGRpc3RpbmN0IGZyb20gdXNlci1mYWNpbmcgVHlwZUNvbnN0cnVjdG9yIGJlbG93LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9JbnRlcm5hbF9UQ188Q29uc3RydWN0b3JJbnN0YW5jZSBleHRlbmRzIG9iamVjdD4ge1xuXHRuZXcoLi4uYXJnczogdW5rbm93bltdKTogQ29uc3RydWN0b3JJbnN0YW5jZTtcblx0KHRoaXM6IENvbnN0cnVjdG9ySW5zdGFuY2UsIC4uLmFyZ3M6IHVua25vd25bXSk6IENvbnN0cnVjdG9ySW5zdGFuY2U7XG5cdHJlYWRvbmx5IHByb3RvdHlwZTogQ29uc3RydWN0b3JJbnN0YW5jZSAmIHtcblx0XHRyZWFkb25seSBjb25zdHJ1Y3RvcjogX0ludGVybmFsX1RDXzxDb25zdHJ1Y3Rvckluc3RhbmNlPlxuXHR9O1xufVxuXG4vKipcbiAqIEV4dGVybmFsIFR5cGUgQ29uc3RydWN0b3Ig4oCUIHRoZSBzaGFwZSBvZiBjb25zdHJ1Y3RvciBmdW5jdGlvbnMgcmV0dXJuZWQgYnkgYGRlZmluZSgpYC5cbiAqXG4gKiBJbiBTY2FsYSdzIGtpbmQgc3lzdGVtLCBhIFwiVHlwZSBDb25zdHJ1Y3RvclwiIGlzIGEga2luZCAoYSB0eXBlIG9mIHR5cGVzKTpcbiAqIG5vdCBhIHZhbHVlLCBidXQgYSBtb2xkIGRlc2NyaWJpbmcgaG93IGNvbmNyZXRlIHR5cGVzIGFyZSBmb3JtZWQuIEhlcmUsXG4gKiBgVHlwZUNvbnN0cnVjdG9yPEluc3RhbmNlPmAgaXMgdGhlIG1vbGQgYGRlZmluZSgpYCBzdGFtcHMgYXQgaW52b2NhdGlvbiB0aW1lXG4gKiBmcm9tIChwcm90b3R5cGUsIGFyZ3VtZW50cywgY29uZmlnKS4gVGhlIHJlc3VsdGluZyBjb25zdHJ1Y3RvciBpcyBzaW11bHRhbmVvdXNseTpcbiAqICAgLSBhIHJ1bnRpbWUgdmFsdWUgKGNhbGxhYmxlLCBgbmV3YC1hYmxlLCB3aXRoIGAucHJvdG90eXBlYClcbiAqICAgLSBhIG5vZGUgaW4gdGhlIHR5cGUgVHJpZSAoY2FycmllcyBgLnN1YnR5cGVzYCwgcGFydGljaXBhdGVzIGluIGBpbnN0YW5jZW9mYClcbiAqICAgLSBhIGJlaGF2aW9yYWwgY29udHJhY3QgKHRoZSBwcm90b3R5cGUgY2hhaW4gcHJvdmlkZXMgYC5leHRyYWN0KClgLCBgLmZvcmsoKWAsIGV0Yy4pXG4gKlxuICogQXVnbWVudGVkIGJ5IHRhY3RpY2EtZ2VuZXJhdGVkIFR5cGVSZWdpc3RyeSB0byBiZWNvbWUgdXNlci1zcGVjaWZpYyB0eXBlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlQ29uc3RydWN0b3I8Q29uc3RydWN0b3JJbnN0YW5jZSBleHRlbmRzIG9iamVjdD4ge1xuXHRuZXcoLi4uYXJnczogdW5rbm93bltdKTogQ29uc3RydWN0b3JJbnN0YW5jZTtcblx0KHRoaXM6IENvbnN0cnVjdG9ySW5zdGFuY2UsIC4uLmFyZ3M6IHVua25vd25bXSk6IENvbnN0cnVjdG9ySW5zdGFuY2U7XG5cdHJlYWRvbmx5IHByb3RvdHlwZTogQ29uc3RydWN0b3JJbnN0YW5jZSAmIHtcblx0XHRyZWFkb25seSBjb25zdHJ1Y3RvcjogVHlwZUNvbnN0cnVjdG9yPENvbnN0cnVjdG9ySW5zdGFuY2U+XG5cdH07XG59XG5cbi8vIEhvb2sgdHlwZXNcbmV4cG9ydCB0eXBlIGhvb2tzVHlwZXMgPSAncHJlQ3JlYXRpb24nIHwgJ3Bvc3RDcmVhdGlvbicgfCAnY3JlYXRpb25FcnJvcic7XG5cbi8vIEhvb2sgb3B0aW9ucyBwYXNzZWQgdG8gaG9vayBjYWxsYmFja3NcbmV4cG9ydCB0eXBlIGhvb2tzT3B0cyA9IHtcblx0VHlwZU5hbWU/OiBzdHJpbmc7XG5cdHR5cGU/OiBUeXBlRGVmO1xuXHRhcmdzOiB1bmtub3duW107XG5cdGV4aXN0ZW50SW5zdGFuY2U6IG9iamVjdDtcblx0aW5oZXJpdGVkSW5zdGFuY2U6IG9iamVjdDtcblx0Y3JlYXRvcj86IG9iamVjdDtcbn07XG5cbi8vIEhvb2sgY2FsbGJhY2sgdHlwZVxuZXhwb3J0IHR5cGUgaG9vayA9IChvcHRzOiBob29rc09wdHMpID0+IHZvaWQ7XG5cbi8vIENvbnN0cnVjdG9yIG9wdGlvbnMgZm9yIGRlZmluZSAtIGRlZmF1bHQgKGV4cG9zZUluc3RhbmNlTWV0aG9kcyBkZWZhdWx0cyB0byB0cnVlIGJlaGF2aW9yKVxuZXhwb3J0IHR5cGUgY29uc3RydWN0b3JPcHRpb25zID0ge1xuXHQvLyBleHBsaWNpdCBkZWNsYXJhdGlvbiB3ZSB3aXNoIHVzZVxuXHQvLyBhbiBvbGQgc3R5bGUgYmFzZWQgY29uc3RydWN0b3JzXG5cdE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yPzogQ2FsbGFibGVGdW5jdGlvbixcblx0Ly8gc2hhbGwgb3Igbm90IHdlIHVzZSBzdHJpY3QgY2hlY2tpbmdcblx0Ly8gZm9yIGNyZWF0aW9uIHN1Yi1pbnN0YW5jZXMgT25seSBmcm9tIGN1cnJlbnQgdHlwZVxuXHQvLyBvciB3ZSBtaWdodCB1c2UgdXAtbmVzdGVkIHN1Yi1pbnN0YW5jZXMgZnJvbSBjaGFpblxuXHRzdHJpY3RDaGFpbj86IGJvb2xlYW4sXG5cdC8vIHNob3VsZCB3ZSB1c2UgZm9yY2VkIGVycm9ycyBjaGVja2luZ1xuXHQvLyB0byBtYWtlIGFsbCBpbmhlcml0ZWQgdHlwZXMgZXJyb3JlZFxuXHQvLyBpZiB0aGVyZSBpcyBhbiBlcnJvciBzb21ld2hlcmUgaW4gY2hhaW5cblx0YmxvY2tFcnJvcnM/OiBib29sZWFuLFxuXHQvLyBpZiBpdCBpcyBuZWNlc3NhcnkgdG8gY29sbGVjdCBzdGFja1xuXHQvLyBhcyBhIF9fc3RhY2tfXyBwcm90b3R5cGUgcHJvcGVydHlcblx0Ly8gZHVyaW5nIHRoZSBwcm9jZXNzIG9mIGluc3RhbmNlIGNyZWF0aW9uXG5cdHN1Ym1pdFN0YWNrPzogYm9vbGVhbixcblx0Ly8gYXdhaXQgbmV3IENvbnN0cnVjdG9yKClcblx0Ly8gbXVzdCByZXR1cm4gdmFsdWVcblx0YXdhaXRSZXR1cm4/OiBib29sZWFuLFxuXHQvLyBGb3JjZSBjbGFzcyBtb2RlIChhdXRvLWRldGVjdGVkIGJ5IGRlZmF1bHQpXG5cdGFzQ2xhc3M/OiBib29sZWFuLFxuXHQvLyBFeHBvc2UgaW5zdGFuY2UgbWV0aG9kcyAoZXh0cmFjdCwgcGljaywgcGFyZW50LCBjbG9uZSwgZm9yaywgZXhjZXB0aW9uLCBzaWJsaW5nKVxuXHQvLyBvbiB0aGUgaW5zdGFuY2UgdHlwZS4gV2hlbiBmYWxzZSwgdGhlc2UgbWV0aG9kcyBhcmUgc3RpbGwgYXZhaWxhYmxlIG9uIHRoZSBwcm90b3R5cGVcblx0Ly8gYnV0IGhpZGRlbiBmcm9tIHRoZSB0eXBlIGRlZmluaXRpb24gdW5sZXNzIGV4cGxpY2l0bHkgZXhwb3NlZC5cblx0ZXhwb3NlSW5zdGFuY2VNZXRob2RzPzogYm9vbGVhbixcbn07XG5cbi8vIENvbnN0cnVjdG9yIG9wdGlvbnMgdGhhdCBleHBsaWNpdGx5IGhpZGUgaW5zdGFuY2UgbWV0aG9kc1xuZXhwb3J0IHR5cGUgSGlkZUluc3RhbmNlTWV0aG9kc09wdGlvbnMgPSBjb25zdHJ1Y3Rvck9wdGlvbnMgJiB7XG5cdGV4cG9zZUluc3RhbmNlTWV0aG9kczogdHJ1ZTtcbn07XG5cbi8vIFN1YnR5cGVzIG1hcCAtIHJlcHJlc2VudHMgdGhlIHN1YnR5cGVzIHByb3BlcnR5XG5leHBvcnQgdHlwZSBTdWJ0eXBlc01hcCA9IE1hcDxzdHJpbmcsIFR5cGVDbGFzcz47XG5cbi8vIFR5cGUgZGVmaW5pdGlvbiBvYmplY3QgKGludGVybmFsIHByb3BlcnRpZXMpXG5leHBvcnQgdHlwZSBUeXBlRGVmID0ge1xuXHRUeXBlTmFtZTogc3RyaW5nO1xuXHRwcm90bzogb2JqZWN0O1xuXHRpc1N1YlR5cGU6IGJvb2xlYW47XG5cdHN1YnR5cGVzOiBTdWJ0eXBlc01hcDtcblx0Y29sbGVjdGlvbjogQ29sbGVjdGlvbkRlZjtcblx0Y29uZmlnOiBjb25zdHJ1Y3Rvck9wdGlvbnM7XG5cdHBhcmVudFR5cGU/OiBUeXBlRGVmO1xuXHRjb25zdHJ1Y3RIYW5kbGVyOiAoKSA9PiBDYWxsYWJsZUZ1bmN0aW9uO1xuXHR0aXRsZTogc3RyaW5nO1xuXHRob29rczogUmVjb3JkPHN0cmluZywgaG9va1tdPjtcblx0aW52b2tlSG9vazogKGhvb2tUeXBlOiBob29rc1R5cGVzLCBvcHRzOiBob29rc09wdHMpID0+IHZvaWQ7XG5cdHByb3RvdHlwZTogdW5rbm93bjtcblx0c3RhY2s/OiBzdHJpbmc7XG59O1xuXG4vLyBDb2xsZWN0aW9uIGRlZmluaXRpb25cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25EZWYgPSB7XG5cdGRlZmluZTogVHlwZUFic29yYmVyO1xuXHRsb29rdXA6IFR5cGVMb29rdXA7XG5cdGludm9rZUhvb2s6IChob29rVHlwZTogaG9va3NUeXBlcywgb3B0czogaG9va3NPcHRzKSA9PiB2b2lkO1xuXHRyZWdpc3Rlckhvb2s6IChob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spID0+IHZvaWQ7XG5cdHJlZ2lzdGVyRmxvd0NoZWNrZXI6IChjYjogKCkgPT4gdW5rbm93bikgPT4gdm9pZDtcblx0c3VidHlwZXM6IFN1YnR5cGVzTWFwO1xuXHRob29rczogUmVjb3JkPHN0cmluZywgaG9va1tdPjtcblx0W2tleTogc3RyaW5nXTogdW5rbm93bjtcbn07XG5cbi8vIFR5cGUgbG9va3VwIGZ1bmN0aW9uIHR5cGU6IG1heSBoYXZlIGF1Z21lbnRhdGlvbiBieSBUYWN0aWNhIHJlLWRlZmluaXRpb25cbmV4cG9ydCB0eXBlIFR5cGVMb29rdXAgPSAodGhpczogTWFwPHN0cmluZywgdW5rbm93bj4sIFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmcpID0+IFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBQcm90byBtZXJnZSB0eXBlIC0gY29tYmluZXMgcGFyZW50IGFuZCBjaGlsZCB0eXBlcyB3aXRob3V0IHByb3BlcnR5IGNvbmZsaWN0cy5cbiAqXG4gKiBXaGVuIGEgc3VidHlwZSBpcyBkZWZpbmVkIGZyb20gYSBwYXJlbnQgaW5zdGFuY2UsIHdlIHdhbnQgdGhlIGNoaWxkIHByb3BlcnRpZXNcbiAqIHRvIHRha2UgcHJlY2VkZW5jZS4gYEV4Y2x1ZGU8a2V5b2YgUCwga2V5b2YgVD5gIHJlbW92ZXMgb3ZlcmxhcHBpbmcga2V5cyBmcm9tIFAsXG4gKiBzbyBgUGljazxQLCAuLi4+YCBvbmx5IGJyaW5ncyBpbiBwYXJlbnQgcHJvcGVydGllcyB0aGF0IGRvbid0IGNsYXNoIHdpdGggY2hpbGQuXG4gKlxuICogUmVzdWx0OiBjaGlsZCBUIGdldHMgYWxsIGl0cyBvd24gcHJvcHMsIHBsdXMgcGFyZW50J3Mgbm9uLW92ZXJsYXBwaW5nIHByb3BzLlxuICovXG5leHBvcnQgdHlwZSBQcm90bzxQIGV4dGVuZHMgb2JqZWN0LCBUIGV4dGVuZHMgb2JqZWN0PiA9IFQgJiBQaWNrPFAsIEV4Y2x1ZGU8a2V5b2YgUCwga2V5b2YgVD4+O1xuXG5cbi8vIGV4cG9ydCB0eXBlIFByb3RvRmxhdDxcbi8vIFx0UCBleHRlbmRzIG9iamVjdCxcbi8vIFx0VCBleHRlbmRzIG9iamVjdCxcbi8vIFx0RiBleHRlbmRzIFByb3RvPFAsIFQ+ID0gUHJvdG88UCwgVD5cbi8vID4gPSB7IFtrZXkgaW4ga2V5b2YgRl06IEZba2V5XX0gO1xuXG5leHBvcnQgdHlwZSBQcm90b0ZsYXQ8XG5cdFAgZXh0ZW5kcyBvYmplY3QsXG5cdFQgZXh0ZW5kcyBvYmplY3QsXG5cdEwgZXh0ZW5kcyBFeGNsdWRlPGtleW9mIFAsIGtleW9mIFQ+ID0gRXhjbHVkZTxrZXlvZiBQLCBrZXlvZiBUPixcbj4gPSB7XG4gICAgW2tleSBpbiBrZXlvZiBUXTogVFtrZXldO1xufSAmIHtcblx0W2tleSBpbiBMXTogUFtrZXldO1xufTtcblxuZXhwb3J0IHR5cGUgRmxhdHRlbjxGPiA9IHsgW2tleSBpbiBrZXlvZiBGXTogRltrZXldIH1cblxuLy8gU2libGluZyB0eXBlIGFjY2Vzc29yXG5leHBvcnQgaW50ZXJmYWNlIFNpYmxpbmdBY2Nlc3NvciB7XG5cdChTaWJsaW5nVHlwZU5hbWU6IHN0cmluZyk6IFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcblx0W2tleTogc3RyaW5nXTogVHlwZUNsYXNzIHwgdW5kZWZpbmVkO1xufVxuXG4vLyBNbmVtb25pY2EgaW5zdGFuY2UgbWV0aG9kcyBpbnRlcmZhY2Vcbi8vIFRoZXNlIG1ldGhvZHMgYXJlIGFsd2F5cyBhdmFpbGFibGUgb24gdGhlIHByb3RvdHlwZSBjaGFpblxuLy8gYnV0IGNhbiBiZSBoaWRkZW4gZnJvbSB0eXBlIGRlZmluaXRpb25zIHZpYSBleHBvc2VJbnN0YW5jZU1ldGhvZHMgb3B0aW9uXG5leHBvcnQgaW50ZXJmYWNlIE1uZW1vbmljYUluc3RhbmNlIHtcblx0ZXh0cmFjdCgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0cGljayguLi5rZXlzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRwaWNrKGtleXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdHBhcmVudCgpOiBvYmplY3QgfCB1bmRlZmluZWQ7XG5cdHBhcmVudChjb25zdHJ1Y3Rvckxvb2t1cFBhdGg6IHN0cmluZyk6IG9iamVjdCB8IHVuZGVmaW5lZDtcblx0cmVhZG9ubHkgY2xvbmU6IG9iamVjdDtcblx0Zm9yayguLi5mb3JrQXJnczogdW5rbm93bltdKTogb2JqZWN0O1xuXHRleGNlcHRpb24oZXJyb3I6IEVycm9yLCAuLi5hcmdzOiB1bmtub3duW10pOiBFcnJvcjtcblx0cmVhZG9ubHkgc2libGluZzogU2libGluZ0FjY2Vzc29yO1xufVxuXG4vLyBJbnN0YW5jZSBwcm9wZXJ0aWVzIGZvciBfX3NlbGZfXyByZWZlcmVuY2Vcbi8vIFRoaXMgbWVyZ2VzIGludGVybmFsIHByb3BzIHdpdGggdGhlIGluc3RhbmNlIG1ldGhvZHNcbmV4cG9ydCB0eXBlIEluc3RhbmNlU2VsZlByb3BzID0gSW5zdGFuY2VJbnRlcm5hbFByb3BzICYge1xuXHRfX3NlbGZfXzogSW5zdGFuY2VJbnRlcm5hbFByb3BzICYgTW5lbW9uaWNhSW5zdGFuY2U7XG59O1xuXG4vLyBDb21iaW5lZCBQcm9wcyB0eXBlIGZvciBpbnRlcm5hbCB1c2VkIGluc2lkZSBvZiAuL3NyY1xuZXhwb3J0IHR5cGUgUHJvcHMgPSBJbnN0YW5jZVNlbGZQcm9wcyAmIHtcblx0W2tleTogc3RyaW5nXTogdW5rbm93bjtcbn07XG5cblxuLy8gSW50ZXJuYWwgaW5zdGFuY2UgcHJvcGVydGllcyAobm9uLWVudW1lcmFibGUpXG4vLyBUaGVzZSBhcmUgYWx3YXlzIHByZXNlbnQgb24gaW5zdGFuY2VzIGJ1dCBhY2Nlc3NlZCB2aWEgZ2V0UHJvcHMvc2V0UHJvcHNcbmV4cG9ydCB0eXBlIEluc3RhbmNlSW50ZXJuYWxQcm9wcyA9IHtcblx0X19wcm90b19wcm90b19fOiBvYmplY3Q7XG5cdF9fYXJnc19fOiB1bmtub3duW107XG5cdF9fY29sbGVjdGlvbl9fOiBDb2xsZWN0aW9uRGVmO1xuXHRfX3N1YnR5cGVzX186IE1hcDxzdHJpbmcsIG9iamVjdD47XG5cdF9fdHlwZV9fOiBUeXBlRGVmO1xuXHRfX3BhcmVudF9fOiBvYmplY3Q7XG5cdF9fc3RhY2tfXz86IHN0cmluZztcblx0X19jcmVhdG9yX186IFR5cGVEZWY7XG5cdF9fdGltZXN0YW1wX186IG51bWJlcjtcblx0Ly8gX19zZWxmX186IEluc3RhbmNlSW50ZXJuYWxQcm9wcyAmIE1uZW1vbmljYUluc3RhbmNlOzMzMzNcbn07XG5cblxuLy8gSGVscGVyIHR5cGUgdG8gZGV0ZWN0IGlmIGV4cG9zZUluc3RhbmNlTWV0aG9kcyBpcyBleHBsaWNpdGx5IGZhbHNlXG5leHBvcnQgdHlwZSBJc0hpZGluZ01ldGhvZHM8Q29uZmlnIGV4dGVuZHMgY29uc3RydWN0b3JPcHRpb25zPiA9XG4gIENvbmZpZyBleHRlbmRzIHsgZXhwb3NlSW5zdGFuY2VNZXRob2RzOiBmYWxzZSB9ID8gdHJ1ZSA6IGZhbHNlO1xuXG4vLyBDb21iaW5lZCBpbnN0YW5jZSB0eXBlIGJhc2VkIG9uIGNvbmZpZ1xuZXhwb3J0IHR5cGUgSW5zdGFuY2VSZXN1bHQ8XG4gIE4gZXh0ZW5kcyBvYmplY3QsXG4gIENvbmZpZyBleHRlbmRzIGNvbnN0cnVjdG9yT3B0aW9ucyxcbiAgUiBleHRlbmRzIEZsYXR0ZW48Tj4gPSBGbGF0dGVuPE4+LFxuICBJIGV4dGVuZHMgeyBba2V5IGluIGtleW9mIFJdOiBSW2tleV0gfSA9IHsgW2tleSBpbiBrZXlvZiBSXTogUltrZXldIH0sXG4gIE0gZXh0ZW5kcyBJICYgTW5lbW9uaWNhSW5zdGFuY2UgPSBJICYgTW5lbW9uaWNhSW5zdGFuY2Vcbj4gPSBJc0hpZGluZ01ldGhvZHM8Q29uZmlnPiBleHRlbmRzIHRydWVcblx0Ly8gT25seSB1c2VyLWRlZmluZWQgcHJvcGVydGllcyAoaGlkaW5nIE1uZW1vbmljYUluc3RhbmNlICYgc3VidHlwZXMpXG4gID8gUlxuXHQvLyBVc2VyIHByb3BzICsgaW5zdGFuY2UgbWV0aG9kcyArIHN1YnR5cGVzXG4gIDogTTtcblxuLy8gRGVmaW5pdG9yIGluc3RhbmNlIC0gdGhlIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHJldHVybmVkIGJ5IGRlZmluZVxuLy8gTiA9IGluc3RhbmNlIHR5cGUgKHByb3BlcnRpZXMgYXZhaWxhYmxlIG9uIGluc3RhbmNlcylcbi8vIFMgPSBzdWJ0eXBlcyBtYXBcbi8vIENvbmZpZyA9IGNvbnN0cnVjdG9yIG9wdGlvbnMgY29udHJvbGxpbmcgdHlwZSB2aXNpYmlsaXR5XG5leHBvcnQgaW50ZXJmYWNlIElEZWZpbml0b3JJbnN0YW5jZTxcblx0TiBleHRlbmRzIG9iamVjdCxcblx0Q29uZmlnIGV4dGVuZHMgY29uc3RydWN0b3JPcHRpb25zID0gY29uc3RydWN0b3JPcHRpb25zLFxuXHRSIGV4dGVuZHMgSW5zdGFuY2VSZXN1bHQ8TiwgQ29uZmlnPiA9IEluc3RhbmNlUmVzdWx0PE4sIENvbmZpZz5cbj4ge1xuXG5cdFR5cGVOYW1lOiBzdHJpbmc7XG5cdHByb3RvdHlwZTogTjtcblxuXHRcblx0Ly8gdGhlIGxpbmUgYmVsb3cgZGVjbGFyZXMgYSBgbmV3IC4uLmAgaW52b2NhdGlvbixcblx0Ly8gc28gbWFrZXMgaW50ZXJmYWNlIGNvbnN0cnVjdGlibGVcblx0Ly8gbmV3KC4uLmFyZ3M6IHVua25vd25bXSk6IHsgW2tleSBpbiBrZXlvZiBSXTogUltrZXldIH07XG5cdG5ldyguLi5hcmdzOiB1bmtub3duW10pOiBSO1xuXG5cdFxuXHQvLyBUT0RPOiBuZWVkIGNoZWNrIGlmIGxpbmUgYmVsb3cgd29ya3Ncblx0Ly8gYWxzbyBUUyBoaW50aW5nIGNoZWNrIGFzIHdlbGxcblx0Ly8gdGhlIGxpbmUgYmVsb3cgc2hvdWxkIG1ha2UgaXMgYSBAZGVjb3JhdGUgZGVjb3JhdG9yIHdvcmtpbmdcblx0KC4uLmFyZ3M6IHVua25vd25bXSk6IElEZWZpbml0b3JJbnN0YW5jZTxSLCBDb25maWc+O1xuXG5cblx0Ly8gRGVmaW5lIG1ldGhvZCB0aGF0IGNvbWJpbmVzIHBhcmVudCBOIHdpdGggbmV3IHR5cGUgVCB1c2luZyBQcm90b1xuXHRkZWZpbmU8XG5cdFx0VCBleHRlbmRzIG9iamVjdCxcblxuXHRcdC8vIHRoaXMgd2lsbCBiZSBpbnN0YW5jZSB0eXBlIGZvciBzdWItdHlwZSAhISFcblx0XHQvLyBGIGV4dGVuZHMgRmxhdHRlbjxQcm90bzxOLCBUPj5cblx0XHRGIGV4dGVuZHMgUHJvdG88TiwgVD5cblx0Pihcblx0XHRUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc/OiBJREVGPFQ+IHwgb2JqZWN0IHwgYm9vbGVhbiB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uZmlnT3JVbmRlZmluZWQ/OiBjb25zdHJ1Y3Rvck9wdGlvbnMgfCBDYWxsYWJsZUZ1bmN0aW9uIHwgYm9vbGVhblxuXHQpOiBJRGVmaW5pdG9ySW5zdGFuY2U8RiwgQ29uZmlnPjtcblx0XG5cdGxvb2t1cDogVHlwZUxvb2t1cDtcblx0XG5cdHJlZ2lzdGVySG9vayhob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spOiB2b2lkO1xuXHRcblx0XG5cdHN1YnR5cGVzOiBTdWJ0eXBlc01hcDtcblx0XG5cdC8vIEludGVybmFsIHByb3BlcnRpZXMgYWNjZXNzZWQgYnkgdGVzdHNcblx0X190eXBlX18/OiBUeXBlRGVmO1xuXHRjb2xsZWN0aW9uPzogQ29sbGVjdGlvbkRlZjtcblxuXHQvKlxuXHQvLyBBbGxvdyBkeW5hbWljIHByb3BlcnR5IGFjY2VzcyBmb3Igc3VidHlwZXNcblx0W2tleTogc3RyaW5nXTogdW5rbm93bjtcblx0Ki9cbn1cblxuLy8gVHlwZSBhYnNvcmJlciBmdW5jdGlvbiB0eXBlIC0gdXNlZCBmb3IgZGVmaW5pbmcgc3VidHlwZXNcbi8vIFN1cHBvcnRzIG11bHRpcGxlIGNhbGxpbmcgY29udmVudGlvbnM6XG4vLyAxLiBNb2Rlcm46IGRlZmluZShUeXBlTmFtZSwgY29uc3RydWN0SGFuZGxlciwgY29uZmlnPylcbi8vIDIuIExlZ2FjeTogZGVmaW5lKGNvbnN0cnVjdEhhbmRsZXIsIGNvbmZpZz8pIC0gVHlwZU5hbWUgZnJvbSBjb25zdHJ1Y3RvciBuYW1lXG4vLyAzLiBOZXN0ZWQ6IHBhcmVudFR5cGUuZGVmaW5lKFR5cGVOYW1lLCBjb25zdHJ1Y3RIYW5kbGVyLCBjb25maWc/KVxuLy8gVXNpbmcgaW50ZXJmYWNlIHdpdGggb3ZlcmxvYWRzIHRvIHByb3Blcmx5IGhhbmRsZSBleHBvc2VJbnN0YW5jZU1ldGhvZHMgb3B0aW9uXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVBYnNvcmJlciB7XG5cdC8vIE92ZXJsb2FkOiB3aXRoIGV4cG9zZUluc3RhbmNlTWV0aG9kczogZmFsc2UgLSBoaWRlIGluc3RhbmNlIG1ldGhvZHNcblx0PFQgZXh0ZW5kcyBvYmplY3Q+KFxuXHRcdHRoaXM6IHVua25vd24sXG5cdFx0VHlwZU9yVHlwZU5hbWU6IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnOiBJREVGPFQ+IHwgb2JqZWN0IHwgYm9vbGVhbiB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uZmlnT3JVbmRlZmluZWQ6IEhpZGVJbnN0YW5jZU1ldGhvZHNPcHRpb25zXG5cdCk6IElEZWZpbml0b3JJbnN0YW5jZTxULCBIaWRlSW5zdGFuY2VNZXRob2RzT3B0aW9ucz47XG5cdFxuXHQvLyBPdmVybG9hZDogd2l0aG91dCBjb25maWcgb3Igd2l0aCBleHBvc2VJbnN0YW5jZU1ldGhvZHMgbm90IGZhbHNlIC0gc2hvdyBhbGxcblx0PFQgZXh0ZW5kcyBvYmplY3Q+KFxuXHRcdHRoaXM6IHVua25vd24sXG5cdFx0VHlwZU9yVHlwZU5hbWU6IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnPzogSURFRjxUPiB8IG9iamVjdCB8IGJvb2xlYW4gfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdGNvbmZpZ09yVW5kZWZpbmVkPzogY29uc3RydWN0b3JPcHRpb25zIHwgQ2FsbGFibGVGdW5jdGlvbiB8IGJvb2xlYW5cblx0KTogSURlZmluaXRvckluc3RhbmNlPFQsIGNvbnN0cnVjdG9yT3B0aW9ucz47XG59XG5cbi8vIFR5cGVzQ29sbGVjdGlvbiBpbnRlcmZhY2UgZm9yIGNyZWF0ZVR5cGVzQ29sbGVjdGlvblxuLy8gVGhpcyByZXByZXNlbnRzIHRoZSBhY3R1YWwgcmV0dXJuIHR5cGUgb2YgY3JlYXRlVHlwZXNDb2xsZWN0aW9uXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVzQ29sbGVjdGlvbiB7XG5cdGRlZmluZTogVHlwZUFic29yYmVyO1xuXHRsb29rdXA6IFR5cGVMb29rdXA7XG5cdHJlZ2lzdGVySG9vayhob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spOiB2b2lkO1xuXHRpbnZva2VIb29rKGhvb2tUeXBlOiBob29rc1R5cGVzLCBvcHRzOiBob29rc09wdHMpOiB2b2lkO1xuXHRyZWdpc3RlckZsb3dDaGVja2VyKGNiOiAoKSA9PiB1bmtub3duKTogdm9pZDtcblx0c3VidHlwZXM6IFN1YnR5cGVzTWFwO1xuXHRob29rczogUmVjb3JkPHN0cmluZywgaG9va1tdPjtcblx0W2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gY3JlYXRlVHlwZXNDb2xsZWN0aW9uIGZ1bmN0aW9uIHR5cGVcbmV4cG9ydCB0eXBlIENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uID0gKGNvbmZpZz86IGNvbnN0cnVjdG9yT3B0aW9ucykgPT4gVHlwZXNDb2xsZWN0aW9uO1xuXG4vLyBUeXBlIGNsYXNzIC0gYmFzZSB0eXBlIGNvbnN0cnVjdG9yXG5leHBvcnQgdHlwZSBUeXBlQ2xhc3MgPSBJRGVmaW5pdG9ySW5zdGFuY2U8b2JqZWN0PjtcblxuLy8gR2VuZXJpYyB0eXBlIGNsYXNzXG5leHBvcnQgaW50ZXJmYWNlIElUeXBlQ2xhc3M8VD4ge1xuXHRuZXcoLi4uYXJnczogdW5rbm93bltdKTogVDtcblx0KHRoaXM6IFQsIC4uLmFyZ3M6IHVua25vd25bXSk6IFQ7XG5cdGRlZmluZTogSVR5cGVBYnNvcmJlcjxUPjtcblx0bG9va3VwOiBUeXBlTG9va3VwO1xuXHRyZWdpc3Rlckhvb2soaG9va1R5cGU6IGhvb2tzVHlwZXMsIGNiOiBob29rKTogdm9pZDtcbn1cblxuLy8gR2VuZXJpYyB0eXBlIGFic29yYmVyXG5leHBvcnQgdHlwZSBJVHlwZUFic29yYmVyPFQ+ID0gKFxuXHR0aGlzOiB1bmtub3duLFxuXHRUeXBlTmFtZTogc3RyaW5nLFxuXHRjb25zdHJ1Y3RIYW5kbGVyOiBJREVGPFQ+LFxuXHRwcm90bz86IG9iamVjdCxcblx0Y29uZmlnPzogY29uc3RydWN0b3JPcHRpb25zXG4pID0+IElUeXBlQ2xhc3M8VD47XG5cbi8vIFR5cGUgZGVzY3JpcHRvciBpbnN0YW5jZVxuZXhwb3J0IHR5cGUgVHlwZURlc2NyaXB0b3JJbnN0YW5jZSA9IHtcblx0ZGVmaW5lOiBDYWxsYWJsZUZ1bmN0aW9uO1xuXHRsb29rdXA6IENhbGxhYmxlRnVuY3Rpb247XG5cdHN1YnR5cGVzOiBvYmplY3Q7XG5cdFR5cGVOYW1lOiBzdHJpbmc7XG59O1xuXG4vLyBUeXBlRGVzY3JpcHRvciBjb25zdHJ1Y3RvciB0eXBlXG5leHBvcnQgdHlwZSBUeXBlRGVzY3JpcHRvckNvbnN0cnVjdG9yID0gVHlwZUNvbnN0cnVjdG9yPFR5cGVEZXNjcmlwdG9ySW5zdGFuY2U+O1xuXG4vLyBUeXBlc0NvbGxlY3Rpb24gY29uc3RydWN0b3IgdHlwZVxuZXhwb3J0IHR5cGUgVHlwZXNDb2xsZWN0aW9uQ29uc3RydWN0b3IgPSBUeXBlQ29uc3RydWN0b3I8b2JqZWN0PjtcblxuLy8gQ29uc3RydWN0b3IgdHlwZSBmb3IgZGVjb3JhdGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yPFQgPSBvYmplY3Q+ID0gbmV3ICguLi5hcmdzOiB1bmtub3duW10pID0+IFQ7XG5cbi8vIERlY29yYXRlZCBjbGFzcyB0eXBlIC0gaW5jbHVkZXMgY2FsbCBzaWduYXR1cmUgZm9yIGRlY29yYXRvciBwYXR0ZXJuXG5leHBvcnQgdHlwZSBEZWNvcmF0ZWRDbGFzczxUIGV4dGVuZHMgQ29uc3RydWN0b3I8b2JqZWN0Pj4gPVxuXHRUICZcblx0KDxVIGV4dGVuZHMgQ29uc3RydWN0b3I8b2JqZWN0Pj4odGFyZ2V0OiBVKSA9PiBEZWNvcmF0ZWRDbGFzczxVPikgJiB7XG5cdFx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdFx0cmVnaXN0ZXJIb29rKGhvb2tUeXBlOiBob29rc1R5cGVzLCBjYjogaG9vayk6IHZvaWQ7XG5cdFx0bG9va3VwOiBUeXBlTG9va3VwO1xuXHRcdFR5cGVOYW1lOiBzdHJpbmc7XG5cdH07XG5cbi8vIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIGNvbnN0cnVjdG9yIChmYWN0b3J5IHBhdHRlcm4pXG5leHBvcnQgdHlwZSBDb25zdHJ1Y3RvckZhY3Rvcnk8VD4gPSAoKSA9PiBDb25zdHJ1Y3RvcjxUPjtcblxuLy8gQXBwbHkvQ2FsbC9CaW5kIGZ1bmN0aW9uIHR5cGVzXG5leHBvcnQgdHlwZSBBcHBseUZ1bmN0aW9uID0gPEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3QsIFMgZXh0ZW5kcyBQcm90bzxFLCBUPj4oXG5cdGVudGl0eTogRSxcblx0Q3RvcjogSURFRjxUPixcblx0YXJncz86IHVua25vd25bXVxuKSA9PiBTO1xuXG5leHBvcnQgdHlwZSBDYWxsRnVuY3Rpb24gPSA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDdG9yOiBJREVGPFQ+LFxuXHQuLi5hcmdzOiB1bmtub3duW11cbikgPT4gUztcblxuZXhwb3J0IHR5cGUgQmluZEZ1bmN0aW9uID0gPEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3QsIFMgZXh0ZW5kcyBQcm90bzxFLCBUPj4oXG5cdGVudGl0eTogRSxcblx0Q3RvcjogSURFRjxUPlxuKSA9PiAoLi4uYXJnczogdW5rbm93bltdKSA9PiBTO1xuXG4vLyBVdGlscyBvYmplY3QgdHlwZVxuZXhwb3J0IGludGVyZmFjZSBVdGlsc0NvbGxlY3Rpb24ge1xuXHRleHRyYWN0OiAoaW5zdGFuY2U6IG9iamVjdCkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdHBpY2s6IChpbnN0YW5jZTogb2JqZWN0LCAuLi5hcmdzOiAoc3RyaW5nIHwgc3RyaW5nW10pW10pID0+IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRjb2xsZWN0Q29uc3RydWN0b3JzOiAoaW5zdGFuY2U6IG9iamVjdCwgZmxhdD86IGJvb2xlYW4pID0+IChDYWxsYWJsZUZ1bmN0aW9uIHwgc3RyaW5nKVtdO1xuXHRtZXJnZTogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bjtcblx0cGFyc2U6ICh2YWx1ZTogdW5rbm93bikgPT4gb2JqZWN0IHwgdW5kZWZpbmVkO1xuXHRwYXJlbnQ6IChpbnN0YW5jZTogb2JqZWN0LCBzdHJpY3Q/OiBib29sZWFuKSA9PiBvYmplY3QgfCB1bmRlZmluZWQ7XG5cdHRvSlNPTjogKGluc3RhbmNlOiBvYmplY3QpID0+IHN0cmluZztcblx0W2tleTogc3RyaW5nXTogQ2FsbGFibGVGdW5jdGlvbjtcbn1cblxuLy8gTWFpbiBtbmVtb25pY2EgbW9kdWxlIGludGVyZmFjZSAtIHJlcHJlc2VudHMgdGhlIGV4cG9ydGVkIG1vZHVsZSBvYmplY3RcbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhTW9kdWxlIHtcblx0Ly8gQ29yZSBmdW5jdGlvbnNcblx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdGxvb2t1cDogKFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmcpID0+IFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcblx0YXBwbHk6IEFwcGx5RnVuY3Rpb247XG5cdGNhbGw6IENhbGxGdW5jdGlvbjtcblx0YmluZDogQmluZEZ1bmN0aW9uO1xuXHRkZWNvcmF0ZTogPFUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+Pih0YXJnZXQ/OiBvYmplY3QsIGNvbmZpZz86IG9iamVjdCkgPT4gRGVjb3JhdGVkQ2xhc3M8VT47XG5cdHJlZ2lzdGVySG9vazogPFQgZXh0ZW5kcyBvYmplY3Q+KEN0b3I6IElERUY8VD4sIGhvb2tUeXBlOiBob29rc1R5cGVzLCBjYjogaG9vaykgPT4gdm9pZDtcblxuXHQvLyBEZXNjcmlwdG9yc1xuXHRkZWZhdWx0VHlwZXM6IFR5cGVzQ29sbGVjdGlvbjtcblxuXHQvLyBFcnJvcnNcblx0QkFTRV9NTkVNT05JQ0FfRVJST1I6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFdST05HX1RZUEVfREVGSU5JVElPTjogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0V1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTjogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0V1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk46IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdEFMUkVBRFlfREVDTEFSRUQ6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFdST05HX0FSR1VNRU5UU19VU0VEOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19IT09LX1RZUEU6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdE1JU1NJTkdfQ0FMTEJBQ0tfQVJHVU1FTlQ6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdC8vIEZMT1dfQ0hFQ0tFUl9SRURFRklOSVRJT046IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdE1JU1NJTkdfSE9PS19DQUxMQkFDSzogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0VFlQRU5BTUVfTVVTVF9CRV9BX1NUUklORzogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0SEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT046IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdE9QVElPTlNfRVJST1I6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFdST05HX1NUQUNLX0NMRUFORVI6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cblx0Ly8gQ29uc3RhbnRzXG5cdE1ORU1PTklDQTogc3RyaW5nO1xuXHRNTkVNT1NZTkU6IHN0cmluZztcblx0VVJBTlVTOiBzdHJpbmc7XG5cdFN5bWJvbFBhcmVudFR5cGU6IHN5bWJvbDtcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lOiBzeW1ib2w7XG5cdFN5bWJvbERlZmF1bHRUeXBlc0NvbGxlY3Rpb246IHN5bWJvbDtcblx0U3ltYm9sQ29uZmlnOiBzeW1ib2w7XG5cdFN5bWJvbEdhaWE6IHN5bWJvbDtcblx0VFlQRV9USVRMRV9QUkVGSVg6IHN0cmluZztcblx0RXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlcztcblxuXHQvLyBVdGlsc1xuXHR1dGlsczogVXRpbHNDb2xsZWN0aW9uO1xuXHRnZXRQcm9wczogKGluc3RhbmNlOiBvYmplY3QpID0+IFByb3BzVHlwZSB8IHVuZGVmaW5lZDtcblx0c2V0UHJvcHM6IChpbnN0YW5jZTogb2JqZWN0LCB2YWx1ZXM6IG9iamVjdCkgPT4gc3RyaW5nW10gfCBmYWxzZTtcblx0ZmluZFN1YlR5cGVGcm9tUGFyZW50OiAoaW5zdGFuY2U6IG9iamVjdCB8IHVuZGVmaW5lZCwgc3ViVHlwZTogc3RyaW5nKSA9PiBvYmplY3QgfCBudWxsO1xuXHRpc0NsYXNzOiAoZm46IENhbGxhYmxlRnVuY3Rpb24pID0+IGJvb2xlYW47XG5cblx0Ly8gY3JlYXRlVHlwZXNDb2xsZWN0aW9uXG5cdGNyZWF0ZVR5cGVzQ29sbGVjdGlvbjogQ3JlYXRlVHlwZXNDb2xsZWN0aW9uRnVuY3Rpb247XG5cblx0Ly8gQWxsb3cgYWRkaXRpb25hbCBwcm9wZXJ0aWVzXG5cdFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG4iXX0=
|
package/module/index.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
// ESM wrapper for mnemonica
|
|
2
|
-
//
|
|
1
|
+
// ESM wrapper for mnemonica.
|
|
2
|
+
// Re-exports the CommonJS build under named ESM exports.
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
let mnemonicaMod;
|
|
5
|
+
try {
|
|
6
|
+
mnemonicaMod = await import('../build/index.js');
|
|
7
|
+
} catch (err) {
|
|
8
|
+
if (err && err.code === 'ERR_MODULE_NOT_FOUND') {
|
|
9
|
+
throw new Error(
|
|
10
|
+
'mnemonica: ../build/index.js not found. ' +
|
|
11
|
+
'If you installed from a Git checkout, run `npm run build` first.'
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
throw err;
|
|
15
|
+
}
|
|
6
16
|
|
|
7
|
-
// Handle both ESM default and CommonJS exports patterns
|
|
8
17
|
const m = mnemonicaMod.default || mnemonicaMod;
|
|
9
18
|
|
|
10
|
-
// Re-export all properties as named exports
|
|
11
19
|
export const define = m.define;
|
|
12
20
|
export const lookup = m.lookup;
|
|
13
21
|
export const lookupTyped = m.lookupTyped;
|
|
@@ -17,13 +25,11 @@ export const bind = m.bind;
|
|
|
17
25
|
export const decorate = m.decorate;
|
|
18
26
|
export const registerHook = m.registerHook;
|
|
19
27
|
|
|
20
|
-
// Core objects
|
|
21
28
|
export const mnemonica = m.mnemonica;
|
|
22
29
|
export const utils = m.utils;
|
|
23
30
|
export const defaultCollection = m.defaultCollection;
|
|
24
31
|
export const defaultTypes = m.defaultTypes;
|
|
25
32
|
|
|
26
|
-
// Utils
|
|
27
33
|
export const getProps = m.getProps;
|
|
28
34
|
export const setProps = m.setProps;
|
|
29
35
|
export const isClass = m.isClass;
|
|
@@ -31,5 +37,4 @@ export const findSubTypeFromParent = m.findSubTypeFromParent;
|
|
|
31
37
|
export const errors = m.errors;
|
|
32
38
|
export const defineStackCleaner = m.defineStackCleaner;
|
|
33
39
|
|
|
34
|
-
// Default export is the whole module
|
|
35
40
|
export default m;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mnemonica",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.99787",
|
|
4
4
|
"description": "abstract technique that aids information retention : instance inheritance system",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./build/index.js",
|
|
@@ -33,15 +33,22 @@
|
|
|
33
33
|
"Mobydack <devzetsubou@gmail.com>"
|
|
34
34
|
],
|
|
35
35
|
"scripts": {
|
|
36
|
-
"build": "rm -rf ./build && npx tsc --pretty --project tsconfig.json
|
|
37
|
-
"build:all": "
|
|
36
|
+
"build": "rm -rf ./build && npx tsc --pretty --project tsconfig.json",
|
|
37
|
+
"build:all": "npm run build && npm run decorate:ts",
|
|
38
|
+
"verify": "npm run build && npm run lint:check",
|
|
38
39
|
"example": "npm run build && node ./test/example.js",
|
|
40
|
+
"example:async": "npm run build && node ./examples/AsyncNewTest.js",
|
|
41
|
+
"example:rename": "npm run build && node ./examples/ClassReName.js",
|
|
42
|
+
"example:v8bug": "npm run build && node ./examples/v8bug.js",
|
|
39
43
|
"example:ts": "npx tsc ./test-ts/*.ts && npx eslint --fix ./test-ts/*.js && node ./test-ts/test-no-types.js && node ./test-ts/test-with-types.js",
|
|
40
44
|
"deopt": "node --trace-deopt --trace-opt ./node_modules/mocha/bin/mocha.js ./test/index.js",
|
|
41
45
|
"decorate:ts": "npx tsc --target ES2021 --moduleResolution NodeNext --module NodeNext --sourceMap ./test/decorate.ts",
|
|
42
46
|
"lint": "npx eslint",
|
|
47
|
+
"lint:check": "npx eslint ./src ./test",
|
|
43
48
|
"lint:src": "npx eslint --fix ./src",
|
|
44
49
|
"lint:test": "npx eslint --fix ./test",
|
|
50
|
+
"lint:fix": "npm run lint:src && npm run lint:test",
|
|
51
|
+
"pretest": "npm run decorate:ts",
|
|
45
52
|
"test": "mocha --allow-uncaught --enable-source-maps test/index.js",
|
|
46
53
|
"test:cov": "npm run build:all && nyc --reporter=text-summary --reporter=lcov mocha --allow-uncaught --enable-source-maps --ui bdd --reporter spec ./test/index.js",
|
|
47
54
|
"debug": "npx tsc --pretty --project tsconfig.json && npx mocha --allow-uncaught --enable-source-maps --reporter spec --inspect-brk test/index",
|
|
@@ -72,9 +79,9 @@
|
|
|
72
79
|
"@eslint/eslintrc": "^3.3.5",
|
|
73
80
|
"@eslint/js": "^9.21.0",
|
|
74
81
|
"@types/jest": "^29.5.14",
|
|
75
|
-
"@types/node": "^22.19.
|
|
76
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
77
|
-
"@typescript-eslint/parser": "^8.
|
|
82
|
+
"@types/node": "^22.19.17",
|
|
83
|
+
"@typescript-eslint/eslint-plugin": "^8.59.1",
|
|
84
|
+
"@typescript-eslint/parser": "^8.59.1",
|
|
78
85
|
"chai": "^5.3.3",
|
|
79
86
|
"eslint": "^9.39.4",
|
|
80
87
|
"eslint-plugin-import": "^2.32.0",
|
|
@@ -89,19 +96,15 @@
|
|
|
89
96
|
"mocha-lcov-reporter": "^1.3.0",
|
|
90
97
|
"nyc": "^17.1.0",
|
|
91
98
|
"oxlint": "^0.16.12",
|
|
92
|
-
"ts-jest": "^29.4.
|
|
99
|
+
"ts-jest": "^29.4.9",
|
|
93
100
|
"typeomatica": "^0.3.57",
|
|
94
101
|
"typescript": "^5.9.3"
|
|
95
102
|
},
|
|
96
103
|
"engines": {
|
|
97
|
-
"node": ">=18 <
|
|
98
|
-
},
|
|
99
|
-
"husky": {
|
|
100
|
-
"hooks": {
|
|
101
|
-
"pre-commit": "lint-staged"
|
|
102
|
-
}
|
|
104
|
+
"node": ">=18 <26"
|
|
103
105
|
},
|
|
104
106
|
"lint-staged": {
|
|
105
|
-
"
|
|
107
|
+
"src/**/*.ts": "eslint --fix",
|
|
108
|
+
"test/**/*.js": "eslint --fix"
|
|
106
109
|
}
|
|
107
110
|
}
|