@qodalis/cli-core 0.0.14 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,102 +1,71 @@
1
- <h2 align="center">
2
- Qodalis Angular Web CLI
3
- </h2>
1
+ <h1 align="center">Qodalis Angular Web CLI</h1>
2
+
3
+ <p align="center">A web-based terminal for Angular applications — extensible, themeable, and packed with built-in developer tools.</p>
4
4
 
5
5
  <div align="center">
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/@qodalis/angular-cli.svg)](https://www.npmjs.com/package/@qodalis/angular-cli)
8
8
  [![Build Status](https://github.com/qodalis-solutions/angular-web-cli/actions/workflows/deploy.yml/badge.svg?branch=main)](https://github.com/qodalis-solutions/angular-web-cli/actions)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
10
 
10
11
  </div>
11
12
 
12
- **Qodalis Angular CLI** is a web-based terminal CLI component for Angular applications. It provides a powerful and extensible interface to execute commands and streamline workflows directly within your web application. The CLI can be extended with custom command processors to suit your specific needs.
13
-
14
- ---
15
-
16
- ## Features
17
-
18
- - **Web-Based Terminal**: A terminal interface integrated into your Angular applications.
19
- - **Custom Command Processors**: Easily extend functionality by creating custom command processors.
20
- - **Lightweight and Flexible**: Designed to work seamlessly with your existing Angular project.
21
- - **Interactive Interface**: Enables command execution and response handling in a terminal-like UI.
22
- - **Extensibility**: The CLI is designed with extensibility in mind, allowing you to enhance its functionality through custom extensions. These extensions can be installed directly from npm and seamlessly integrated into your Angular project by adding them to the imports array in your Angular module.
23
- - **Package Installation Support**: The CLI allows you to install packages directly from the terminal using the packages add <package> command. This streamlined approach enables you to quickly add dependencies without leaving your terminal, enhancing productivity and simplifying package management.
24
- - **Logical operators**: Our CLI supports the use of logical operators `&&` and `||`, allowing you to combine multiple commands in a single execution, similar to how they work in Unix-like shells or scripting environments. This feature enhances productivity by chaining commands with conditional logic.
13
+ <p align="center">
14
+ <a href="https://cli-docs.qodalis.com/">Documentation</a> &middot;
15
+ <a href="https://stackblitz.com/~/github.com/n1colae-lupei/stackblitz-qodalis-cli-example">Live Demo</a> &middot;
16
+ <a href="https://www.npmjs.com/package/@qodalis/angular-cli">npm</a>
17
+ </p>
25
18
 
26
19
  ---
27
20
 
28
- ## Live Example
29
-
30
- Check out a live example of the Qodalis Angular CLI on [StackBlitz](https://stackblitz.com/edit/stackblitz-qodalis-cli-example)
31
-
32
- ## Docs
33
-
34
- Cli docs [link](https://cli-docs.qodalis.com/)
21
+ ![Help command](assets/help_command.gif)
35
22
 
36
23
  ## Installation
37
24
 
38
- Install the package using npm:
39
-
40
25
  ```bash
41
26
  npm install @qodalis/angular-cli
42
27
  ```
43
28
 
44
- ## Usage
45
-
46
- ![Install packages](assets/help_command.gif)
29
+ ## Quick Start
47
30
 
48
- After installing, you can integrate the CLI component into your Angular application:
49
-
50
- ## Basic Setup
51
-
52
- 1. Import the CLI Module:
31
+ **1. Import the module:**
53
32
 
54
33
  ```typescript
55
- import { CliModule } from "@qodalis/angular-cli";
34
+ import { CliModule } from '@qodalis/angular-cli';
56
35
 
57
36
  @NgModule({
58
- imports: [CliModule, Cli***Module],
37
+ imports: [CliModule],
59
38
  })
60
39
  export class AppModule {}
61
40
  ```
62
41
 
63
- 2. Set the styles in the **angular.json**
42
+ **2. Add the styles to `angular.json`:**
64
43
 
65
44
  ```json
66
45
  {
67
- "projects": {
68
- "your-project": {
69
- "architect": {
70
- "options": {
71
- "styles": ["node_modules/@qodalis/angular-cli/src/assets/styles.sass"]
72
- }
73
- }
74
- }
75
- }
46
+ "styles": [
47
+ "node_modules/@qodalis/angular-cli/src/assets/styles.sass"
48
+ ]
76
49
  }
77
50
  ```
78
51
 
79
- 3. Add the CLI Component to Your Template:
52
+ **3. Add the terminal to your template:**
80
53
 
81
54
  ```html
82
- <!--
83
- Show a terminal
84
- -->
55
+ <!-- Full terminal -->
85
56
  <cli [options]="cliOptions" />
86
57
 
87
- <!--
88
- Show a terminal wrapped in a container that is located at the bottom of the page and can be collapsed/expanded
89
- -->
58
+ <!-- Collapsible panel at the bottom of the page -->
90
59
  <cli-panel />
91
60
  ```
92
61
 
93
- 4. Configure the CLI:
62
+ **4. Configure (optional):**
94
63
 
95
64
  ```typescript
96
65
  cliOptions = {
97
66
  welcomeMessage: {
98
- message: "-- your custom welcome message --",
99
- show: "daily", //never, once
67
+ message: '-- your custom welcome message --',
68
+ show: 'daily', // 'never', 'once', 'daily', 'always'
100
69
  },
101
70
  usersModule: {
102
71
  enabled: true,
@@ -104,240 +73,163 @@ cliOptions = {
104
73
  };
105
74
  ```
106
75
 
107
- ## Example Commands
108
-
109
- ### Built-in Commands
76
+ ## Built-in Commands
110
77
 
111
78
  ### System
112
79
 
113
- - **help**: Displays available commands and their descriptions.
114
- - **clear**: Clears the terminal screen.
115
- - **echo \<message\>**: Prints the provided message to the terminal.
116
- - **ping**: Pings the server
117
- - **theme**: Interact with the cli theme
118
- - **history**: Prints the command history of the current session
119
- - **version**: Prints the version information
120
- - **eval**: Evaluate a JavaScript expression
121
- - **packages**: Manage packages in the cli
80
+ | Command | Aliases | Description |
81
+ |---------|---------|-------------|
82
+ | `help` | `man` | Show all commands or help for a specific command |
83
+ | `version` | `ver` | Display CLI version and documentation link |
84
+ | `hotkeys` | `shortcuts`, `keys` | Show keyboard shortcuts |
85
+ | `history` | `hist` | Browse and clear command history |
86
+ | `theme` | `themes` | Apply, customize, and save terminal themes |
87
+ | `feedback` | `support` | Report bugs or request features on GitHub |
88
+ | `pkg` | `packages` | Install, update, remove, and browse packages |
89
+
90
+ ### Utilities
91
+
92
+ | Command | Aliases | Description |
93
+ |---------|---------|-------------|
94
+ | `clear` | `cls` | Clear the terminal (or `Ctrl+L`) |
95
+ | `echo` | `print` | Print text to the terminal |
96
+ | `eval` | `calc`, `js` | Evaluate JavaScript expressions |
97
+ | `sleep` | `wait` | Pause execution for N milliseconds |
98
+ | `time` | `date` | Show current local and UTC time |
99
+ | `uptime` | — | Show session uptime |
100
+ | `uname` | `sysinfo` | System and browser information |
101
+ | `screen` | `display` | Screen, viewport, and terminal dimensions |
102
+ | `open` | — | Open a URL in a new browser tab |
103
+ | `alias` / `unalias` | — | Create and remove command aliases |
104
+ | `yes` | — | Output a string repeatedly |
105
+ | `seq` | `sequence` | Print number sequences |
106
+ | `cal` | `calendar` | Display a monthly calendar |
107
+
108
+ ### Developer Tools
109
+
110
+ | Command | Aliases | Description |
111
+ |---------|---------|-------------|
112
+ | `base64` | `b64` | Encode / decode Base64 |
113
+ | `json` | — | Format, minify, and validate JSON |
114
+ | `url` | — | Encode, decode, and parse URLs |
115
+ | `jwt` | — | Decode and inspect JWT tokens |
116
+ | `hash` | — | SHA-256, SHA-1, SHA-384, SHA-512 hashes |
117
+ | `hex` | — | Hex encode/decode and base conversion (2-36) |
118
+ | `color` | `colour` | Convert between hex, rgb, hsl with preview |
119
+ | `random` | `rand` | Random numbers, strings, UUIDs, coin flip, dice |
120
+ | `lorem` | `lipsum` | Generate placeholder text |
121
+ | `timestamp` | `ts`, `epoch` | Convert between Unix timestamps and dates |
122
+ | `convert` | `conv` | Unit conversion (length, weight, temperature, data) |
123
+ | `clipboard` | `cb`, `pbcopy` | Copy to / paste from clipboard |
122
124
 
123
125
  ### Users
124
126
 
125
- - **whoami**: Display current user information
126
- - **su**: Switch user
127
- - **adduser**: Add a new user
128
- - **listusers**: List all users
129
-
130
- ### Custom
127
+ | Command | Aliases | Description |
128
+ |---------|---------|-------------|
129
+ | `whoami` | `me` | Display current user |
130
+ | `su` | `switch-user` | Switch user session |
131
+ | `adduser` | `useradd` | Add a new user |
132
+ | `listusers` | `users` | List all users |
131
133
 
132
- See the available packages section.
134
+ ## Package Manager
133
135
 
134
- ## Package Installation Support
135
-
136
- The CLI allows you to install packages directly from the terminal using the packages add <package> command. This streamlined approach enables you to quickly add dependencies without leaving your terminal, enhancing productivity and simplifying package management.
137
-
138
- - Installs the specified package seamlessly.
139
- - Automatically resolves dependencies and integrates the package into cli.
140
- - Display results in a structured format.
141
-
142
- ### Usage
136
+ Install additional commands at runtime from npm — no rebuild needed.
143
137
 
144
138
  ![Install packages](assets/install_packages.gif)
145
139
 
146
- ### Add a package
147
-
148
- To add a package, use the packages add command:
149
-
150
140
  ```bash
151
- root:~$ packages add <package-name1> <package-name2> <package-namen>
152
- ```
153
-
154
- Example:
141
+ pkg browse # Browse available packages
142
+ pkg add guid # Install a package
143
+ pkg remove guid # Remove a package
144
+ pkg update # Update all packages
145
+ pkg update guid@1.0.2 # Pin a specific version
146
+ pkg check # Check for updates
147
+ pkg versions guid # Show all published versions
148
+ ```
149
+
150
+ ### Available Packages
151
+
152
+ | Package | Command | Description |
153
+ |---------|---------|-------------|
154
+ | [@qodalis/cli-guid](https://www.npmjs.com/package/@qodalis/cli-guid) | `guid` | Generate and validate UUIDs |
155
+ | [@qodalis/cli-string](https://www.npmjs.com/package/@qodalis/cli-string) | `string` | String manipulation (case, trim, reverse, slug, wc, etc.) |
156
+ | [@qodalis/cli-curl](https://www.npmjs.com/package/@qodalis/cli-curl) | `curl` | HTTP requests (GET, POST, PUT, DELETE) |
157
+ | [@qodalis/cli-todo](https://www.npmjs.com/package/@qodalis/cli-todo) | `todo` | Task management |
158
+ | [@qodalis/cli-regex](https://www.npmjs.com/package/@qodalis/cli-regex) | `regex` | Regular expression testing |
159
+ | [@qodalis/cli-qr](https://www.npmjs.com/package/@qodalis/cli-qr) | `qr` | QR code generation |
160
+ | [@qodalis/cli-speed-test](https://www.npmjs.com/package/@qodalis/cli-speed-test) | `speed-test` | Internet speed test |
161
+ | [@qodalis/cli-server-logs](https://www.npmjs.com/package/@qodalis/cli-server-logs) | `server-logs` | Live server log streaming |
162
+ | [@qodalis/cli-browser-storage](https://www.npmjs.com/package/@qodalis/cli-browser-storage) | `local-storage`, `cookies` | Browser storage operations |
163
+ | [@qodalis/cli-text-to-image](https://www.npmjs.com/package/@qodalis/cli-text-to-image) | `text-to-image` | Generate images from text |
164
+ | [@qodalis/cli-password-generator](https://www.npmjs.com/package/@qodalis/cli-password-generator) | `generate-password` | Password generation |
165
+
166
+ Any npm package with UMD support can also be loaded:
155
167
 
156
168
  ```bash
157
- root:~$ packages add guid
158
- root:~$ packages add regex
159
- root:~$ packages add string
160
- root:~$ packages add curl
161
- root:~$ packages add <any npm package that support umd>
169
+ pkg add lodash
170
+ eval _.map([1, 2, 3], n => n * 2)
162
171
  ```
163
172
 
164
- This command downloads and makes the package available for evaluation.
165
-
166
- ### Remove a package
167
-
168
- Remove a package using the `packages remove` command:
169
-
170
- ```bash
171
- root:~$ packages remove guid
172
- ```
173
-
174
- ### Update a package
175
-
176
- Update a package using the `packages update` command:
177
-
178
- ```bash
179
- root:~$ packages update guid # update 1 package
180
-
181
- root:~$ packages update guid todo # update 2 packages
182
-
183
- root:~$ packages update # update all packages
184
- ```
185
-
186
- ### Example with guid package
187
-
188
- ```bash
189
- packages add guid
190
- guid new # output a19a7be4-8818-41b2-b0c2-1c82f8c21826
191
- guid new -c # copy to the clipboard
192
- guid new --count=3 # output 3 guid's
193
- ```
194
-
195
- ### Example with a npm package
196
-
197
- ```bash
198
- root:~$ packages add lodash
199
- root:~$ eval _.map([1, 2, 3, 4, 5], (n) => n * 2);
200
- Output:
201
- [
202
- 2,
203
- 4,
204
- 6,
205
- 8,
206
- 10
207
- ]
208
- root:~$
209
- ```
210
-
211
- ## Available packages
212
-
213
- - [@qodalis/cli-guid](https://www.npmjs.com/package/@qodalis/cli-guid) - utility for guid
214
- - [@qodalis/cli-server-logs](https://www.npmjs.com/package/@qodalis/cli-server-logs) - utility for live server logs
215
- - [@qodalis/cli-text-to-image](https://www.npmjs.com/package/@qodalis/cli-text-to-image) - utility to generate images from text
216
- - [@qodalis/cli-regex](https://www.npmjs.com/package/@qodalis/cli-regex) - provide utilities for working with regular expressions
217
- - [@qodalis/cli-speed-test](https://www.npmjs.com/package/@qodalis/cli-speed-test) - run the internet speed test
218
- - [@qodalis/cli-browser-storage](https://www.npmjs.com/package/@qodalis/cli-browser-storage) - provide commands to operate with browser storage like cookie, localStorage etc.
219
- - [@qodalis/cli-string](https://www.npmjs.com/package/@qodalis/cli-browser-storage) - provide commands to operate with strings.
220
- - [@qodalis/cli-curl](https://www.npmjs.com/package/@qodalis/cli-curl) - A command-line tool to execute HTTP requests on your server. Supports GET, POST, PUT, DELETE, headers, and body data.
221
- - [@qodalis/cli-todo](https://www.npmjs.com/package/@qodalis/cli-todo) - A command-line tool for managing your tasks efficiently. Add, list, complete, and remove TODO items with simple commands.
222
- - More will be implemented ...
223
-
224
173
  ## Extending with Custom Commands
225
174
 
226
- You can extend the CLI by creating a class that implements the ICliCommandProcessor interface. This allows you to define new commands and their behavior.
227
-
228
- ### Creating a Custom Command Processor
229
-
230
- 1. Create a new class that extends `ICliCommandProcessor`:
175
+ Create a class implementing `ICliCommandProcessor`:
231
176
 
232
177
  ```typescript
233
- import { ICliCommandProcessor, CliProcessCommand, ICliExecutionContext } from "@qodalis/angular-cli";
234
-
235
- export class MyCustomCommandProcessor implements ICliCommandProcessor {
236
- command = "greet";
237
- description = "Greet the user with a custom message";
178
+ import {
179
+ ICliCommandProcessor,
180
+ CliProcessCommand,
181
+ ICliExecutionContext,
182
+ } from '@qodalis/cli-core';
183
+
184
+ export class GreetCommandProcessor implements ICliCommandProcessor {
185
+ command = 'greet';
186
+ description = 'Greet someone by name';
238
187
  allowUnlistedCommands = true;
188
+ valueRequired = true;
239
189
 
240
- async processCommand(command: CliProcessCommand, context: ICliExecutionContext): Promise<void> {
241
- const name = command.value;
242
- const message = name ? `Hello, ${name}!` : "Hello!";
243
- context.writer.writeln(message);
190
+ async processCommand(
191
+ command: CliProcessCommand,
192
+ context: ICliExecutionContext,
193
+ ): Promise<void> {
194
+ context.writer.writeln(`Hello, ${command.value}!`);
244
195
  }
245
196
  }
246
197
  ```
247
198
 
248
- 2. Register the command processor:
199
+ Register it in your module:
249
200
 
250
201
  ```typescript
251
- import { CliModule, resolveCommandProcessorProvider } from "@qodalis/angular-cli";
202
+ import { CliModule, resolveCommandProcessorProvider } from '@qodalis/angular-cli';
252
203
 
253
204
  @NgModule({
254
205
  imports: [CliModule],
255
- providers: [resolveCommandProcessorProvider(MyCustomCommandProcessor)],
206
+ providers: [resolveCommandProcessorProvider(GreetCommandProcessor)],
256
207
  })
257
208
  export class AppModule {}
258
209
  ```
259
210
 
260
- ### Custom Command Example
261
-
262
- After registering **MyCustomCommandProcessor**, you can use the following command:
263
-
264
211
  ```bash
265
- greet John
266
- ```
267
-
268
- Output:
269
-
270
- ```bash
271
- Hello, John!
272
- ```
273
-
274
- ## Extensibility
275
-
276
- The CLI is designed with extensibility in mind, allowing you to enhance its functionality through custom extensions. These extensions can be installed directly from npm and seamlessly integrated into your Angular project by adding them to the imports array in your Angular module.
277
-
278
- How It Works:
279
-
280
- 1. Install the extension from npm:
281
-
282
- ```bash
283
- npm install @qodalis/cli-extension-name
284
- ```
285
-
286
- 2. Import and add it to your Angular module:
287
-
288
- ```typescript
289
- import { ExtensionModule } from "@qodalis/cli-extension-name";
290
-
291
- @NgModule({
292
- imports: [
293
- CliModule,
294
- ExtensionModule,
295
- // other imports
296
- ],
297
- })
298
- export class AppModule {}
212
+ ~$ greet World
213
+ Hello, World!
299
214
  ```
300
215
 
301
- Benefits:
302
-
303
- - Easily extend the CLI with new commands or features.
304
- - Leverage the rich ecosystem of npm packages to customize your workflow.
305
- - Keep your CLI lightweight while enabling project-specific functionality through extensions.
306
- - This flexibility ensures the CLI adapts to your project's needs, fostering scalability and customization.
307
-
308
- ## Logical operators
309
-
310
- - These logical operators rely on the exit codes of commands:
311
-
312
- - `0` indicates success.
313
- - Non-zero values indicate failure.
314
-
315
- - Commands are executed sequentially in the order specified.
316
- - Logical operators provide flexibility to handle conditional execution efficiently in automation scripts or complex workflows.
317
-
318
- ```bash
319
- # Example with &&
320
- packages add guid && echo Package installed
216
+ ## Features
321
217
 
322
- # Example with ||
323
- packages add invalid-package || echo Package not installed
324
- ```
218
+ - **Command chaining** with `&&` and `||` operators
219
+ - **Command history** with arrow key navigation
220
+ - **Tab-like completions** and keyboard shortcuts (`Ctrl+C`, `Ctrl+L`, `Escape`)
221
+ - **Theming** with built-in themes and custom color support
222
+ - **User sessions** with multi-user support
223
+ - **State persistence** across sessions
224
+ - **Progress bars, spinners, and text animations**
225
+ - **Runtime package installation** from npm
325
226
 
326
227
  ## Contributing
327
228
 
328
- We welcome contributions! To contribute:
329
-
330
- 1. Fork this repository.
331
- 2. Create a branch for your feature or bugfix.
332
- 3. Submit a pull request.
333
-
334
- Please ensure all contributions follow the project coding standards.
229
+ 1. Fork this repository
230
+ 2. Create a branch for your feature or bugfix
231
+ 3. Submit a pull request
335
232
 
336
233
  ## License
337
234
 
338
- This project is licensed under the MIT License. See the **LICENSE** file for details.
339
-
340
- ```vbnet
341
-
342
- You can copy this content into a file named `README.md` in your project directory. Let me know if there's anything else you'd like to adjust! 🚀
343
- ```
235
+ MIT
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9jb21tYW5kLXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICBDbGlQcm9jZXNzb3JNZXRhZGF0YSxcbiAgICBDbGlTdGF0ZUNvbmZpZ3VyYXRpb24sXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBJQ2xpUHJvY2Vzc29ySG9vayB9IGZyb20gJy4vY29tbWFuZC1ob29rcyc7XG5pbXBvcnQgeyBJQ2xpRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gJy4vZXhlY3V0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kQXV0aG9yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVtYWlsIG9mIHRoZSBhdXRob3JcbiAgICAgKi9cbiAgICBlbWFpbDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kIHBhcmFtZXRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kUGFyYW1ldGVyRGVzY3JpcHRvciB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFsaWFzZXMgZm9yIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBhbGlhc2VzPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZFxuICAgICAqL1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnYm9vbGVhbicgfCAnYXJyYXknIHwgJ29iamVjdCcgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuXG4gICAgLyoqXG4gICAgICogQSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHZhbGlkYXRlXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYSB2YWxpZCBwcm9wZXJ0eSB0aGF0IGluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgdmFsaWQgYW5kIGFuIG9wdGlvbmFsIG1lc3NhZ2UgcHJvcGVydHkgdGhhdCBjb250YWlucyBhIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgdmFsdWUgaXMgbm90IHZhbGlkXG4gICAgICovXG4gICAgdmFsaWRhdG9yPzogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgdmFsaWRcbiAgICAgICAgICovXG4gICAgICAgIHZhbGlkOiBib29sZWFuO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBbiBvcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAgICAgKi9cbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcbiAgICB9O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kIHByb2Nlc3NvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kUHJvY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCB0aGF0IHRoaXMgcHJvY2Vzc29yIGhhbmRsZXNcbiAgICAgKi9cbiAgICBjb21tYW5kOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kXG4gICAgICovXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYXV0aG9yIG9mIHRoZSBjb21tYW5kXG4gICAgICovXG4gICAgYXV0aG9yPzogSUNsaUNvbW1hbmRBdXRob3I7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcHJvY2Vzc29yIGNhbiBoYW5kbGUgdW5saXN0ZWQgY29tbWFuZHNcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEByZW1hcmtzIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgY2FuIGhhbmRsZSB1bmxpc3RlZCBjb21tYW5kcy4gSWYgZmFsc2UsIHRoZSBwcm9jZXNzb3Igd2lsbCBvbmx5IGhhbmRsZSBjb21tYW5kcyB0aGF0IGFyZSBleHBsaWNpdGx5IGxpc3RlZCBpbiB0aGUgcHJvY2Vzc29ycyBwcm9wZXJ0eVxuICAgICAqIEByZW1hcmtzIE9wdGlvbmFsIGlmIHZhbHVlUmVxdWlyZWQgaXMgdHJ1ZVxuICAgICAqL1xuICAgIGFsbG93VW5saXN0ZWRDb21tYW5kcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgdmFsdWUgaXMgcmVxdWlyZWRcbiAgICAgKi9cbiAgICB2YWx1ZVJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBkZWZhdWx0ICcxLjAuMCdcbiAgICAgKi9cbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGFkYXRhIGZvciB0aGUgY29tbWFuZCBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBtZXRhZGF0YT86IENsaVByb2Nlc3Nvck1ldGFkYXRhO1xuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc29ycyB0aGF0IGFyZSBuZXN0ZWQgdW5kZXIgdGhpcyBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBwcm9jZXNzb3JzPzogSUNsaUNvbW1hbmRDaGlsZFByb2Nlc3NvcltdO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVycyB0aGF0IHRoZSBjb21tYW5kIGFjY2VwdHNcbiAgICAgKi9cbiAgICBwYXJhbWV0ZXJzPzogSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yW107XG5cbiAgICAvKipcbiAgICAgKiBIb29rcyB0aGF0IGFyZSBleGVjdXRlZCBiZWZvcmUgYW5kIGFmdGVyIHRoZSBjb21tYW5kIGlzIHByb2Nlc3NlZFxuICAgICAqL1xuICAgIGhvb2tzPzogSUNsaVByb2Nlc3Nvckhvb2tbXTtcblxuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIHN0YXRlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEByZW1hcmtzIFRoZSBzdGF0ZSBjb25maWd1cmF0aW9uIGlzIHVzZWQgdG8gc3RvcmUgYW5kIHJldHJpZXZlIHN0YXRlIGluZm9ybWF0aW9uIGZvciB0aGUgY29tbWFuZCBwcm9jZXNzb3JcbiAgICAgKiBAcmVtYXJrcyBTdGF0ZSBjb25maWh1cmF0aW9uIGlzIG9wdGlvbmFsIGFuZCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhbmQgcmV0cmlldmUgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEByZW1hcmtzIFRoZSBzdGF0ZSBjb25maWd1cmF0aW9uIGlzIHVzZWQgb25seSBmb3Igcm9vdCBjb21tYW5kIHByb2Nlc3NvcnMgYW5kIG5vdCBmb3IgY2hpbGQgY29tbWFuZCBwcm9jZXNzb3JzXG4gICAgICovXG4gICAgc3RhdGVDb25maWd1cmF0aW9uPzogQ2xpU3RhdGVDb25maWd1cmF0aW9uO1xuXG4gICAgLyoqXG4gICAgICogUHJvY2VzcyB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIHRvIHByb2Nlc3NcbiAgICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCBpbiB3aGljaCB0aGUgY29tbWFuZCBpcyBleGVjdXRlZFxuICAgICAqL1xuICAgIHByb2Nlc3NDb21tYW5kKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgd3JpdGVEZXNjcmlwdGlvbj8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiB0aGF0IHZhbGlkYXRlcyB0aGUgY29tbWFuZCBiZWZvcmUgZXhlY3V0aW9uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZVxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIGEgdmFsaWQgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXMgaWYgdGhlIHZhbHVlIGlzIHZhbGlkIGFuZCBhbiBvcHRpb25hbCBtZXNzYWdlIHByb3BlcnR5IHRoYXQgY29udGFpbnMgYSBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAqL1xuICAgIHZhbGlkYXRlQmVmb3JlRXhlY3V0aW9uPzogKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKSA9PiB7XG4gICAgICAgIHZhbGlkOiBib29sZWFuO1xuICAgICAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZT8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjaGlsZCBjb21tYW5kIHByb2Nlc3NvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kQ2hpbGRQcm9jZXNzb3IgZXh0ZW5kcyBJQ2xpQ29tbWFuZFByb2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICogVGhlIHBhcmVudCBwcm9jZXNzb3IsIGl0IGlzIHBvcHVsYXRlZCBieSB0aGUgcHJvY2Vzc29yIG1hbmFnZXJcbiAgICAgKi9cbiAgICBwYXJlbnQ/OiBJQ2xpQ29tbWFuZFByb2Nlc3Nvcjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9jb21tYW5kLXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICBDbGlQcm9jZXNzb3JNZXRhZGF0YSxcbiAgICBDbGlTdGF0ZUNvbmZpZ3VyYXRpb24sXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBJQ2xpUHJvY2Vzc29ySG9vayB9IGZyb20gJy4vY29tbWFuZC1ob29rcyc7XG5pbXBvcnQgeyBJQ2xpRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gJy4vZXhlY3V0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kQXV0aG9yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVtYWlsIG9mIHRoZSBhdXRob3JcbiAgICAgKi9cbiAgICBlbWFpbDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kIHBhcmFtZXRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kUGFyYW1ldGVyRGVzY3JpcHRvciB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFsaWFzZXMgZm9yIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBhbGlhc2VzPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZFxuICAgICAqL1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnYm9vbGVhbicgfCAnYXJyYXknIHwgJ29iamVjdCcgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuXG4gICAgLyoqXG4gICAgICogQSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHZhbGlkYXRlXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYSB2YWxpZCBwcm9wZXJ0eSB0aGF0IGluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgdmFsaWQgYW5kIGFuIG9wdGlvbmFsIG1lc3NhZ2UgcHJvcGVydHkgdGhhdCBjb250YWlucyBhIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgdmFsdWUgaXMgbm90IHZhbGlkXG4gICAgICovXG4gICAgdmFsaWRhdG9yPzogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgdmFsaWRcbiAgICAgICAgICovXG4gICAgICAgIHZhbGlkOiBib29sZWFuO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBbiBvcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAgICAgKi9cbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcbiAgICB9O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kIHByb2Nlc3NvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kUHJvY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCB0aGF0IHRoaXMgcHJvY2Vzc29yIGhhbmRsZXNcbiAgICAgKi9cbiAgICBjb21tYW5kOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBbHRlcm5hdGl2ZSBuYW1lcyBmb3IgdGhlIGNvbW1hbmRcbiAgICAgKi9cbiAgICBhbGlhc2VzPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kXG4gICAgICovXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYXV0aG9yIG9mIHRoZSBjb21tYW5kXG4gICAgICovXG4gICAgYXV0aG9yPzogSUNsaUNvbW1hbmRBdXRob3I7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcHJvY2Vzc29yIGNhbiBoYW5kbGUgdW5saXN0ZWQgY29tbWFuZHNcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEByZW1hcmtzIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgY2FuIGhhbmRsZSB1bmxpc3RlZCBjb21tYW5kcy4gSWYgZmFsc2UsIHRoZSBwcm9jZXNzb3Igd2lsbCBvbmx5IGhhbmRsZSBjb21tYW5kcyB0aGF0IGFyZSBleHBsaWNpdGx5IGxpc3RlZCBpbiB0aGUgcHJvY2Vzc29ycyBwcm9wZXJ0eVxuICAgICAqIEByZW1hcmtzIE9wdGlvbmFsIGlmIHZhbHVlUmVxdWlyZWQgaXMgdHJ1ZVxuICAgICAqL1xuICAgIGFsbG93VW5saXN0ZWRDb21tYW5kcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgdmFsdWUgaXMgcmVxdWlyZWRcbiAgICAgKi9cbiAgICB2YWx1ZVJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBkZWZhdWx0ICcxLjAuMCdcbiAgICAgKi9cbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGFkYXRhIGZvciB0aGUgY29tbWFuZCBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBtZXRhZGF0YT86IENsaVByb2Nlc3Nvck1ldGFkYXRhO1xuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc29ycyB0aGF0IGFyZSBuZXN0ZWQgdW5kZXIgdGhpcyBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBwcm9jZXNzb3JzPzogSUNsaUNvbW1hbmRDaGlsZFByb2Nlc3NvcltdO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVycyB0aGF0IHRoZSBjb21tYW5kIGFjY2VwdHNcbiAgICAgKi9cbiAgICBwYXJhbWV0ZXJzPzogSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yW107XG5cbiAgICAvKipcbiAgICAgKiBIb29rcyB0aGF0IGFyZSBleGVjdXRlZCBiZWZvcmUgYW5kIGFmdGVyIHRoZSBjb21tYW5kIGlzIHByb2Nlc3NlZFxuICAgICAqL1xuICAgIGhvb2tzPzogSUNsaVByb2Nlc3Nvckhvb2tbXTtcblxuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIHN0YXRlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEByZW1hcmtzIFRoZSBzdGF0ZSBjb25maWd1cmF0aW9uIGlzIHVzZWQgdG8gc3RvcmUgYW5kIHJldHJpZXZlIHN0YXRlIGluZm9ybWF0aW9uIGZvciB0aGUgY29tbWFuZCBwcm9jZXNzb3JcbiAgICAgKiBAcmVtYXJrcyBTdGF0ZSBjb25maWh1cmF0aW9uIGlzIG9wdGlvbmFsIGFuZCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhbmQgcmV0cmlldmUgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEByZW1hcmtzIFRoZSBzdGF0ZSBjb25maWd1cmF0aW9uIGlzIHVzZWQgb25seSBmb3Igcm9vdCBjb21tYW5kIHByb2Nlc3NvcnMgYW5kIG5vdCBmb3IgY2hpbGQgY29tbWFuZCBwcm9jZXNzb3JzXG4gICAgICovXG4gICAgc3RhdGVDb25maWd1cmF0aW9uPzogQ2xpU3RhdGVDb25maWd1cmF0aW9uO1xuXG4gICAgLyoqXG4gICAgICogUHJvY2VzcyB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIHRvIHByb2Nlc3NcbiAgICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCBpbiB3aGljaCB0aGUgY29tbWFuZCBpcyBleGVjdXRlZFxuICAgICAqL1xuICAgIHByb2Nlc3NDb21tYW5kKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgd3JpdGVEZXNjcmlwdGlvbj8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiB0aGF0IHZhbGlkYXRlcyB0aGUgY29tbWFuZCBiZWZvcmUgZXhlY3V0aW9uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZVxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIGEgdmFsaWQgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXMgaWYgdGhlIHZhbHVlIGlzIHZhbGlkIGFuZCBhbiBvcHRpb25hbCBtZXNzYWdlIHByb3BlcnR5IHRoYXQgY29udGFpbnMgYSBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAqL1xuICAgIHZhbGlkYXRlQmVmb3JlRXhlY3V0aW9uPzogKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKSA9PiB7XG4gICAgICAgIHZhbGlkOiBib29sZWFuO1xuICAgICAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZT8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjaGlsZCBjb21tYW5kIHByb2Nlc3NvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kQ2hpbGRQcm9jZXNzb3IgZXh0ZW5kcyBJQ2xpQ29tbWFuZFByb2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICogVGhlIHBhcmVudCBwcm9jZXNzb3IsIGl0IGlzIHBvcHVsYXRlZCBieSB0aGUgcHJvY2Vzc29yIG1hbmFnZXJcbiAgICAgKi9cbiAgICBwYXJlbnQ/OiBJQ2xpQ29tbWFuZFByb2Nlc3Nvcjtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9leGVjdXRpb24tY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICdAeHRlcm0veHRlcm0nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBJQ2xpQ2xpcGJvYXJkLFxuICAgIElDbGlDb21tYW5kRXhlY3V0b3JTZXJ2aWNlLFxuICAgIElDbGlDb21tYW5kUHJvY2Vzc29yLFxuICAgIElDbGlTZXJ2aWNlUHJvdmlkZXIsXG4gICAgSUNsaUV4ZWN1dGlvblByb2Nlc3MsXG4gICAgSUNsaUxvZ2dlcixcbiAgICBJQ2xpUGVyY2VudGFnZVByb2dyZXNzQmFyLFxuICAgIElDbGlTcGlubmVyLFxuICAgIElDbGlTdGF0ZVN0b3JlLFxuICAgIElDbGlUZXJtaW5hbFdyaXRlcixcbiAgICBJQ2xpVGV4dEFuaW1hdG9yLFxufSBmcm9tICcuJztcbmltcG9ydCB7IENsaU9wdGlvbnMsIElDbGlVc2VyU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29udGV4dCBpbiB3aGljaCBhIGNvbW1hbmQgaXMgZXhlY3V0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpRXhlY3V0aW9uQ29udGV4dCB7XG4gICAgLyoqXG4gICAgICogVGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uXG4gICAgICovXG4gICAgdXNlclNlc3Npb24/OiBJQ2xpVXNlclNlc3Npb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3Bpbm5lciB0byB1c2UgZm9yIHNob3dpbmcvaGlkaW5nIHRoZSBsb2FkZXJcbiAgICAgKi9cbiAgICBzcGlubmVyPzogSUNsaVNwaW5uZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dCBhbmltYXRvciB0byB1c2UgZm9yIHNob3dpbmcvaGlkaW5nIHRleHRcbiAgICAgKi9cbiAgICB0ZXh0QW5pbWF0b3I/OiBJQ2xpVGV4dEFuaW1hdG9yO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb2dyZXNzIGJhciB0byB1c2UgZm9yIHNob3dpbmcgcHJvZ3Jlc3NcbiAgICAgKi9cbiAgICBwcm9ncmVzc0JhcjogSUNsaVBlcmNlbnRhZ2VQcm9ncmVzc0JhcjtcblxuICAgIC8qKlxuICAgICAqIEEgc3ViamVjdCB0aGF0IGVtaXRzIHdoZW4gdGhlIGNvbW1hbmQgaXMgYWJvcnRlZFxuICAgICAqL1xuICAgIG9uQWJvcnQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVybWluYWwgdG8gdXNlIGZvciB3cml0aW5nXG4gICAgICovXG4gICAgdGVybWluYWw6IFRlcm1pbmFsO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHdyaXRlciB0byB1c2UgZm9yIHdyaXRpbmcgdG8gdGhlIHRlcm1pbmFsXG4gICAgICovXG4gICAgd3JpdGVyOiBJQ2xpVGVybWluYWxXcml0ZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCBleGVjdXRvciB0byB1c2UgZm9yIGV4ZWN1dGluZyBjb21tYW5kc1xuICAgICAqL1xuICAgIGV4ZWN1dG9yOiBJQ2xpQ29tbWFuZEV4ZWN1dG9yU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjbGlwYm9hcmQgdG8gdXNlIGZvciBjb3B5aW5nL3Bhc3RpbmdcbiAgICAgKi9cbiAgICBjbGlwYm9hcmQ6IElDbGlDbGlwYm9hcmQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdGUgc3RvcmUgdG8gdXNlIGZvciBzdG9yaW5nIHN0YXRlXG4gICAgICovXG4gICAgc3RhdGU6IElDbGlTdGF0ZVN0b3JlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wdGlvbnMgZm9yIHRoZSBDTElcbiAgICAgKi9cbiAgICBvcHRpb25zPzogQ2xpT3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9tcHQgdG8gdXNlIGZvciBwcm9tcHRpbmcgdGhlIHVzZXIgZm9yIGlucHV0XG4gICAgICovXG4gICAgc2hvd1Byb21wdDogKCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgY3VycmVudCBwcm9jZXNzb3IgYXMgdGhlIGNvbnRleHQgcHJvY2Vzc29yLCBpLmUuIHRoZSBwcm9jZXNzb3IgdGhhdCB3aWxsIGhhbmRsZSB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBwcm9jZXNzb3IgVGhlIHByb2Nlc3NvciB0byBzZXRcbiAgICAgKiBAcGFyYW0gc2lsZW50IEluZGljYXRlcyBpZiB0aGUgc2V0dGluZyBzaG91bGQgYmUgc2lsZW50LCBpLmUuIG5vdCB3cml0ZSB0byB0aGUgdGVybWluYWxcbiAgICAgKi9cbiAgICBzZXRDb250ZXh0UHJvY2Vzc29yOiAoXG4gICAgICAgIHByb2Nlc3NvcjogSUNsaUNvbW1hbmRQcm9jZXNzb3IsXG4gICAgICAgIHNpbGVudD86IGJvb2xlYW4sXG4gICAgKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb2Nlc3MgdG8gdXNlIGZvciBleGl0aW5nIHRoZSBDTElcbiAgICAgKi9cbiAgICBwcm9jZXNzOiBJQ2xpRXhlY3V0aW9uUHJvY2VzcztcblxuICAgIC8qKlxuICAgICAqIFRoZSBsb2dnZXIgdG8gdXNlIGZvciBsb2dnaW5nXG4gICAgICovXG4gICAgbG9nZ2VyOiBJQ2xpTG9nZ2VyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNlcnZpY2VzIHRvIHVzZSBmb3IgdGhlIENMSSBjb250ZXh0XG4gICAgICovXG4gICAgc2VydmljZXM6IElDbGlTZXJ2aWNlUHJvdmlkZXI7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9leGVjdXRpb24tY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICdAeHRlcm0veHRlcm0nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBJQ2xpQ2xpcGJvYXJkLFxuICAgIElDbGlDb21tYW5kRXhlY3V0b3JTZXJ2aWNlLFxuICAgIElDbGlDb21tYW5kUHJvY2Vzc29yLFxuICAgIElDbGlTZXJ2aWNlUHJvdmlkZXIsXG4gICAgSUNsaUV4ZWN1dGlvblByb2Nlc3MsXG4gICAgSUNsaUxvZ2dlcixcbiAgICBJQ2xpUGVyY2VudGFnZVByb2dyZXNzQmFyLFxuICAgIElDbGlTcGlubmVyLFxuICAgIElDbGlTdGF0ZVN0b3JlLFxuICAgIElDbGlUZXJtaW5hbFdyaXRlcixcbiAgICBJQ2xpVGV4dEFuaW1hdG9yLFxufSBmcm9tICcuJztcbmltcG9ydCB7IENsaU9wdGlvbnMsIElDbGlVc2VyU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29udGV4dCBpbiB3aGljaCBhIGNvbW1hbmQgaXMgZXhlY3V0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpRXhlY3V0aW9uQ29udGV4dCB7XG4gICAgLyoqXG4gICAgICogVGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uXG4gICAgICovXG4gICAgdXNlclNlc3Npb24/OiBJQ2xpVXNlclNlc3Npb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3Bpbm5lciB0byB1c2UgZm9yIHNob3dpbmcvaGlkaW5nIHRoZSBsb2FkZXJcbiAgICAgKi9cbiAgICBzcGlubmVyPzogSUNsaVNwaW5uZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dCBhbmltYXRvciB0byB1c2UgZm9yIHNob3dpbmcvaGlkaW5nIHRleHRcbiAgICAgKi9cbiAgICB0ZXh0QW5pbWF0b3I/OiBJQ2xpVGV4dEFuaW1hdG9yO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb2dyZXNzIGJhciB0byB1c2UgZm9yIHNob3dpbmcgcHJvZ3Jlc3NcbiAgICAgKi9cbiAgICBwcm9ncmVzc0JhcjogSUNsaVBlcmNlbnRhZ2VQcm9ncmVzc0JhcjtcblxuICAgIC8qKlxuICAgICAqIEEgc3ViamVjdCB0aGF0IGVtaXRzIHdoZW4gdGhlIGNvbW1hbmQgaXMgYWJvcnRlZFxuICAgICAqL1xuICAgIG9uQWJvcnQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVybWluYWwgdG8gdXNlIGZvciB3cml0aW5nXG4gICAgICovXG4gICAgdGVybWluYWw6IFRlcm1pbmFsO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHdyaXRlciB0byB1c2UgZm9yIHdyaXRpbmcgdG8gdGhlIHRlcm1pbmFsXG4gICAgICovXG4gICAgd3JpdGVyOiBJQ2xpVGVybWluYWxXcml0ZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCBleGVjdXRvciB0byB1c2UgZm9yIGV4ZWN1dGluZyBjb21tYW5kc1xuICAgICAqL1xuICAgIGV4ZWN1dG9yOiBJQ2xpQ29tbWFuZEV4ZWN1dG9yU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjbGlwYm9hcmQgdG8gdXNlIGZvciBjb3B5aW5nL3Bhc3RpbmdcbiAgICAgKi9cbiAgICBjbGlwYm9hcmQ6IElDbGlDbGlwYm9hcmQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdGUgc3RvcmUgdG8gdXNlIGZvciBzdG9yaW5nIHN0YXRlXG4gICAgICovXG4gICAgc3RhdGU6IElDbGlTdGF0ZVN0b3JlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wdGlvbnMgZm9yIHRoZSBDTElcbiAgICAgKi9cbiAgICBvcHRpb25zPzogQ2xpT3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIFByaW50cyB0aGUgcHJvbXB0IHRvIHRoZSB0ZXJtaW5hbC5cbiAgICAgKi9cbiAgICBzaG93UHJvbXB0OiAob3B0aW9ucz86IHtcbiAgICAgICAgcmVzZXQ/OiBib29sZWFuO1xuICAgICAgICBuZXdMaW5lPzogYm9vbGVhbjtcbiAgICAgICAga2VlcEN1cnJlbnRMaW5lPzogYm9vbGVhbjtcbiAgICB9KSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NvciBhcyB0aGUgY29udGV4dCBwcm9jZXNzb3IsIGkuZS4gdGhlIHByb2Nlc3NvciB0aGF0IHdpbGwgaGFuZGxlIHRoZSBjb21tYW5kXG4gICAgICogQHBhcmFtIHByb2Nlc3NvciBUaGUgcHJvY2Vzc29yIHRvIHNldFxuICAgICAqIEBwYXJhbSBzaWxlbnQgSW5kaWNhdGVzIGlmIHRoZSBzZXR0aW5nIHNob3VsZCBiZSBzaWxlbnQsIGkuZS4gbm90IHdyaXRlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqL1xuICAgIHNldENvbnRleHRQcm9jZXNzb3I6IChcbiAgICAgICAgcHJvY2Vzc29yOiBJQ2xpQ29tbWFuZFByb2Nlc3NvcixcbiAgICAgICAgc2lsZW50PzogYm9vbGVhbixcbiAgICApID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIHZpc2libGUgY2hhcmFjdGVycyB0aGUgcHJvbXB0IG9jY3VwaWVzIG9uIHRoZSBjdXJyZW50IGxpbmUuXG4gICAgICovXG4gICAgcHJvbXB0TGVuZ3RoOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCB1c2VyIGlucHV0IHRleHQgb24gdGhlIGFjdGl2ZSBsaW5lLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGN1cnJlbnRMaW5lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjdXJyZW50IGxpbmUgdGV4dC5cbiAgICAgKiBAcGFyYW0gbGluZSBUaGUgbmV3IGxpbmUgY29udGVudFxuICAgICAqL1xuICAgIHNldEN1cnJlbnRMaW5lOiAobGluZTogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGN1cnNvciBwb3NpdGlvbiB3aXRoaW4gdGhlIGN1cnJlbnQgbGluZS5cbiAgICAgKi9cbiAgICBjdXJzb3JQb3NpdGlvbjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBjdXJyZW50IHRlcm1pbmFsIGxpbmUsIGluY2x1ZGluZyBjb250ZW50IHRoYXQgd3JhcHMgYWNyb3NzIG11bHRpcGxlIHJvd3MuXG4gICAgICogVXNlcyBwcm9tcHRMZW5ndGggKyBjdXJyZW50TGluZS5sZW5ndGggdG8gZGV0ZXJtaW5lIGhvdyBtYW55IHJvd3MgdG8gY2xlYXIuXG4gICAgICovXG4gICAgY2xlYXJMaW5lOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBjdXJyZW50IGxpbmUgY29udGVudCBhbmQgcmVwcmludHMgdGhlIHByb21wdC5cbiAgICAgKi9cbiAgICBjbGVhckN1cnJlbnRMaW5lOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogUmVmcmVzaGVzIHRoZSBkaXNwbGF5IG9mIHRoZSBjdXJyZW50IGxpbmUgKGNsZWFycyBhbmQgcmVkcmF3cyBwcm9tcHQgKyBpbnB1dCkuXG4gICAgICovXG4gICAgcmVmcmVzaEN1cnJlbnRMaW5lOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByb2Nlc3MgdG8gdXNlIGZvciBleGl0aW5nIHRoZSBDTElcbiAgICAgKi9cbiAgICBwcm9jZXNzOiBJQ2xpRXhlY3V0aW9uUHJvY2VzcztcblxuICAgIC8qKlxuICAgICAqIFRoZSBsb2dnZXIgdG8gdXNlIGZvciBsb2dnaW5nXG4gICAgICovXG4gICAgbG9nZ2VyOiBJQ2xpTG9nZ2VyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNlcnZpY2VzIHRvIHVzZSBmb3IgdGhlIENMSSBjb250ZXh0XG4gICAgICovXG4gICAgc2VydmljZXM6IElDbGlTZXJ2aWNlUHJvdmlkZXI7XG59XG4iXX0=
@@ -172,4 +172,4 @@ export const enums = {
172
172
  };
173
173
  export * from './services';
174
174
  export * from './users';
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtDQSxNQUFNLENBQU4sSUFBWSxrQkFVWDtBQVZELFdBQVksa0JBQWtCO0lBQzFCLDBDQUFrQixDQUFBO0lBQ2xCLHdDQUFnQixDQUFBO0lBQ2hCLDBDQUFrQixDQUFBO0lBQ2xCLDJDQUFtQixDQUFBO0lBQ25CLHlDQUFpQixDQUFBO0lBQ2pCLDRDQUFvQixDQUFBO0lBQ3BCLHlDQUFpQixDQUFBO0lBQ2pCLDBDQUFrQixDQUFBO0lBQ2xCLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFWVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBVTdCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUMxQiwwQ0FBa0IsQ0FBQTtJQUNsQix3Q0FBZ0IsQ0FBQTtJQUNoQiwwQ0FBa0IsQ0FBQTtJQUNsQiwyQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBb0IsQ0FBQTtJQUNwQix5Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBa0IsQ0FBQTtBQUN0QixDQUFDLEVBVFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVM3QjtBQUVELE1BQU0sQ0FBTixJQUFZLE9BOElYO0FBOUlELFdBQVksT0FBTztJQUNmLGtCQUFrQjtJQUNsQiwrQkFBZSxDQUFBO0lBQ2YsK0JBQWUsQ0FBQTtJQUNmLDhCQUFjLENBQUE7SUFDZCxpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBa0IsQ0FBQTtJQUNsQixpQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBYyxDQUFBO0lBQ2QseUJBQVMsQ0FBQTtJQUNULDRCQUFZLENBQUE7SUFFWixTQUFTO0lBQ1QsZ0NBQWdCLENBQUE7SUFDaEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2Ys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QyxFQTlJVyxPQUFPLEtBQVAsT0FBTyxRQThJbEI7QUFrSUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ25CLDZDQUFRLENBQUE7SUFDUiwrQ0FBUyxDQUFBO0lBQ1QsMkNBQU8sQ0FBQTtJQUNQLDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0lBQ1IsK0NBQVMsQ0FBQTtBQUNiLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QjtBQUlELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNqQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxXQUFXO0NBQ2QsQ0FBQztBQUVGLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRlcm1pbmFsSW5pdE9ubHlPcHRpb25zLCBJVGVybWluYWxPcHRpb25zIH0gZnJvbSAnQHh0ZXJtL3h0ZXJtJztcblxuZXhwb3J0IHR5cGUgQ2xpUHJvY2Vzc0NvbW1hbmQgPSB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIGNvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHRoYXQgd2FzIGVudGVyZWRcbiAgICAgKi9cbiAgICBkYXRhPzogYW55O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYWluIG9mIGNvbW1hbmRzIHRoYXQgd2VyZSBlbnRlcmVkXG4gICAgICovXG4gICAgY2hhaW5Db21tYW5kczogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcmF3IGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIHJhd0NvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgY29tbWFuZFxuICAgICAqL1xuICAgIHZhbHVlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFyZ3VtZW50cyB0aGF0IHdlcmUgZW50ZXJlZFxuICAgICAqL1xuICAgIGFyZ3M6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgZW51bSBDbGlGb3JlZ3JvdW5kQ29sb3Ige1xuICAgIEJsYWNrID0gJ1xceDFiWzMwbScsXG4gICAgUmVkID0gJ1xceDFiWzMxbScsXG4gICAgR3JlZW4gPSAnXFx4MWJbMzJtJyxcbiAgICBZZWxsb3cgPSAnXFx4MWJbMzNtJyxcbiAgICBCbHVlID0gJ1xceDFiWzM0bScsXG4gICAgTWFnZW50YSA9ICdcXHgxYlszNW0nLFxuICAgIEN5YW4gPSAnXFx4MWJbMzZtJyxcbiAgICBXaGl0ZSA9ICdcXHgxYlszN20nLFxuICAgIFJlc2V0ID0gJ1xceDFiWzBtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpQmFja2dyb3VuZENvbG9yIHtcbiAgICBCbGFjayA9ICdcXHgxYls0MG0nLFxuICAgIFJlZCA9ICdcXHgxYls0MW0nLFxuICAgIEdyZWVuID0gJ1xceDFiWzQybScsXG4gICAgWWVsbG93ID0gJ1xceDFiWzQzbScsXG4gICAgQmx1ZSA9ICdcXHgxYls0NG0nLFxuICAgIE1hZ2VudGEgPSAnXFx4MWJbNDVtJyxcbiAgICBDeWFuID0gJ1xceDFiWzQ2bScsXG4gICAgV2hpdGUgPSAnXFx4MWJbNDdtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpSWNvbiB7XG4gICAgLy8gR2VuZXJhbCBTeW1ib2xzXG4gICAgQ2hlY2tJY29uID0gJ+KclCcsIC8vIFN1Y2Nlc3MsIGNvbXBsZXRpb25cbiAgICBDcm9zc0ljb24gPSAn4pyYJywgLy8gRmFpbHVyZSwgZXJyb3JcbiAgICBJbmZvSWNvbiA9ICfihLknLCAvLyBJbmZvcm1hdGlvblxuICAgIFdhcm5pbmdJY29uID0gJ+KaoCcsIC8vIFdhcm5pbmdcbiAgICBRdWVzdGlvbk1hcmsgPSAnPycsIC8vIEhlbHAgb3IgdW5rbm93biBzdGF0ZVxuICAgIEV4Y2xhbWF0aW9uID0gJ+KdlycsIC8vIEVtcGhhc2lzIG9yIGFsZXJ0XG4gICAgRWxsaXBzaXMgPSAn4oCmJywgLy8gTG9hZGluZyBvciB0cnVuY2F0ZWQgdGV4dFxuICAgIERvdCA9ICfigKInLCAvLyBMaXN0IGl0ZW1cbiAgICBCdWxsZXQgPSAn4oCjJywgLy8gQWx0ZXJuYXRlIGJ1bGxldCBwb2ludFxuXG4gICAgLy8gQXJyb3dzXG4gICAgQXJyb3dSaWdodCA9ICfihpInLCAvLyBOYXZpZ2F0aW9uIG9yIG5leHQgc3RlcFxuICAgIEFycm93TGVmdCA9ICfihpAnLCAvLyBQcmV2aW91cyBzdGVwIG9yIG5hdmlnYXRpb25cbiAgICBBcnJvd1VwID0gJ+KGkScsIC8vIFVwIGRpcmVjdGlvblxuICAgIEFycm93RG93biA9ICfihpMnLCAvLyBEb3duIGRpcmVjdGlvblxuICAgIEFycm93UmlnaHRGaWxsZWQgPSAn4pa2JywgLy8gTmF2aWdhdGlvbiBvciBuZXh0IHN0ZXAgKGZpbGxlZClcbiAgICBBcnJvd0xlZnRGaWxsZWQgPSAn4peAJywgLy8gUHJldmlvdXMgc3RlcCBvciBuYXZpZ2F0aW9uIChmaWxsZWQpXG4gICAgQXJyb3dVcEZpbGxlZCA9ICfilrInLCAvLyBVcCBkaXJlY3Rpb24gKGZpbGxlZClcbiAgICBBcnJvd0Rvd25GaWxsZWQgPSAn4pa8JywgLy8gRG93biBkaXJlY3Rpb24gKGZpbGxlZClcbiAgICBEb3VibGVBcnJvd1JpZ2h0ID0gJ8K7JywgLy8gRmFzdCBmb3J3YXJkIG9yIG5leHRcbiAgICBEb3VibGVBcnJvd0xlZnQgPSAnwqsnLCAvLyBSZXdpbmQgb3IgcHJldmlvdXNcblxuICAgIC8vIExpc3RzIGFuZCBQcm9ncmVzc1xuICAgIFN0YXIgPSAn4piFJywgLy8gSGlnaGxpZ2h0IG9yIGZhdm9yaXRlIChmaWxsZWQpXG4gICAgU3RhckVtcHR5ID0gJ+KYhicsIC8vIEhpZ2hsaWdodCBvciBmYXZvcml0ZSAoZW1wdHkpXG4gICAgUGx1cyA9ICcrJywgLy8gQWRkaXRpb24gb3IgaW5jcmVtZW50XG4gICAgTWludXMgPSAnLScsIC8vIFN1YnRyYWN0aW9uIG9yIGRlY3JlbWVudFxuICAgIFByb2dyZXNzID0gJ+KPsycsIC8vIEluZGljYXRpbmcgcHJvZ3Jlc3NcbiAgICBTdWNjZXNzID0gJ+KchScsIC8vIFN1Y2Nlc3MgKGFsdGVybmF0aXZlIHRvIENoZWNrSWNvbilcbiAgICBGYWlsdXJlID0gJ+KdjCcsIC8vIEZhaWx1cmUgKGFsdGVybmF0aXZlIHRvIENyb3NzSWNvbilcblxuICAgIC8vIFRpbWUgYW5kIENhbGVuZGFyXG4gICAgQ2xvY2sgPSAn4o+wJywgLy8gVGltZS1yZWxhdGVkXG4gICAgVGltZXIgPSAn4o+xJywgLy8gU3RvcHdhdGNoIG9yIHRpbWVyXG4gICAgQWxhcm0gPSAn8J+UlCcsIC8vIEFsYXJtIG9yIGFsZXJ0XG4gICAgQ2FsZW5kYXIgPSAn8J+ThScsIC8vIENhbGVuZGFyIG9yIGRhdGVcblxuICAgIC8vIE5hdmlnYXRpb24gYW5kIEZvbGRlcnNcbiAgICBGb2xkZXIgPSAn8J+TgScsIC8vIERpcmVjdG9yeSBvciBmaWxlIGdyb3VwaW5nXG4gICAgRm9sZGVyT3BlbiA9ICfwn5OCJywgLy8gT3BlbiBmb2xkZXJcbiAgICBGaWxlID0gJ/Cfk4QnLCAvLyBGaWxlIG9yIGRvY3VtZW50XG4gICAgQXJjaGl2ZSA9ICfwn5eDJywgLy8gQXJjaGl2ZSBvciBmaWxlIGdyb3VwaW5nXG4gICAgTGluayA9ICfwn5SXJywgLy8gSHlwZXJsaW5rIG9yIGNvbm5lY3Rpb25cbiAgICBDaGFpbiA9ICfim5MnLCAvLyBDaGFpbiBvciBsaW5rZWRcbiAgICBCb29rbWFyayA9ICfwn5SWJywgLy8gQm9va21hcmsgb3Igc2F2ZVxuXG4gICAgLy8gQWN0aW9uc1xuICAgIEVkaXQgPSAn4pyPJywgLy8gRWRpdCBvciBtb2RpZnlcbiAgICBUcmFzaCA9ICfwn5eRJywgLy8gRGVsZXRpb24gb3IgcmVtb3ZhbFxuICAgIEFkZCA9ICfinpUnLCAvLyBBZGQgdXNlciBvciBpdGVtXG4gICAgUmVtb3ZlID0gJ+KelicsIC8vIFJlbW92ZSB1c2VyIG9yIGl0ZW1cbiAgICBSZWxvYWQgPSAn8J+UhCcsIC8vIFJlZnJlc2ggb3IgcmVsb2FkXG4gICAgU2F2ZSA9ICfwn5K+JywgLy8gU2F2ZSBvciBzdG9yZVxuICAgIFVuZG8gPSAn4oapJywgLy8gVW5kbyBhY3Rpb25cbiAgICBSZWRvID0gJ+KGqicsIC8vIFJlZG8gYWN0aW9uXG4gICAgUGxheSA9ICfilrYnLCAvLyBTdGFydCBvciBwbGF5XG4gICAgUGF1c2UgPSAn4o+4JywgLy8gUGF1c2Ugb3Igc3RvcCB0ZW1wb3JhcmlseVxuICAgIFN0b3AgPSAn4o+5JywgLy8gU3RvcCBvciBlbmRcbiAgICBDYW5jZWwgPSAn4p2OJywgLy8gQ2FuY2VsIG9yIGNsb3NlXG5cbiAgICAvLyBVc2VyIGFuZCBTZWN1cml0eVxuICAgIFVzZXIgPSAn8J+RpCcsIC8vIFVzZXIgb3IgcHJvZmlsZVxuICAgIEdyb3VwID0gJ/CfkaUnLCAvLyBHcm91cCBvciB0ZWFtXG4gICAgTG9jayA9ICfwn5SSJywgLy8gU2VjdXJlZCBvciBsb2NrZWRcbiAgICBVbmxvY2sgPSAn8J+UkycsIC8vIFVubG9ja2VkIG9yIGFjY2Vzc2libGVcbiAgICBIZWxwID0gJ+KdkycsIC8vIEhlbHAgb3Igc3VwcG9ydFxuICAgIEtleSA9ICfwn5SRJywgLy8gQXV0aGVudGljYXRpb24gb3Iga2V5XG4gICAgU2hpZWxkID0gJ/Cfm6EnLCAvLyBTZWN1cml0eSBvciBwcm90ZWN0aW9uXG5cbiAgICAvLyBUb29scyBhbmQgU2V0dGluZ3NcbiAgICBHZWFyID0gJ+KamScsIC8vIFNldHRpbmdzIG9yIGNvbmZpZ3VyYXRpb25cbiAgICBTZXR0aW5ncyA9ICfimpnvuI8nLCAvLyBTZXR0aW5ncyAoYWx0ZXJuYXRpdmUpXG4gICAgVGhlbWUgPSAn8J+OqCcsIC8vIFRoZW1lIG9yIGFwcGVhcmFuY2VcbiAgICBMaWdodCA9ICfwn5KhJywgLy8gTGlnaHQgbW9kZVxuICAgIEJ1ZyA9ICfwn5CeJywgLy8gQnVnIG9yIGlzc3VlXG4gICAgV3JlbmNoID0gJ/CflKcnLCAvLyBNYWludGVuYW5jZSBvciB0b29sc1xuICAgIEhhbW1lciA9ICfwn5SoJywgLy8gQnVpbGQgb3IgZml4XG5cbiAgICAvLyBUZWNobm9sb2d5IGFuZCBEZXZpY2VzXG4gICAgVGVybWluYWwgPSAn8J+SuycsIC8vIFRlcm1pbmFsIG9yIGNvbW1hbmQgbGluZVxuICAgIERhdGFiYXNlID0gJ/Cfl4QnLCAvLyBEYXRhYmFzZSBvciBzdG9yYWdlXG4gICAgU2VydmVyID0gJ/CflqUnLCAvLyBTZXJ2ZXIgb3IgaG9zdFxuICAgIENsb3VkID0gJ+KYgScsIC8vIENsb3VkIG9yIHJlbW90ZVxuICAgIE5ldHdvcmsgPSAn8J+MkCcsIC8vIE5ldHdvcmsgb3IgY29ubmVjdGlvblxuICAgIE1vbml0b3IgPSAn8J+WpScsIC8vIE1vbml0b3Igb3IgZGlzcGxheVxuICAgIFByaW50ZXIgPSAn8J+WqCcsIC8vIFByaW50ZXIgb3Igb3V0cHV0XG4gICAgVVNCID0gJ/CflIwnLCAvLyBVU0Igb3IgY29ubmVjdGlvblxuICAgIFNwZWFrZXIgPSAn8J+UiicsIC8vIFNwZWFrZXIgb3IgYXVkaW9cbiAgICBNaWNyb3Bob25lID0gJ/CfjpknLCAvLyBNaWNyb3Bob25lIG9yIGlucHV0XG4gICAgQ2FtZXJhID0gJ/Cfk7cnLCAvLyBDYW1lcmEgb3IgdmlkZW9cbiAgICBWaWRlbyA9ICfwn46lJywgLy8gVmlkZW8gb3IgbWVkaWFcbiAgICBNdXNpYyA9ICfwn461JywgLy8gTXVzaWMgb3IgYXVkaW9cbiAgICBQaG9uZSA9ICfwn5OeJywgLy8gUGhvbmUgb3IgY29tbXVuaWNhdGlvblxuXG4gICAgLy8gRGV2ZWxvcG1lbnQgYW5kIEV2YWx1YXRpb25cbiAgICBQYWNrYWdlID0gJ/Cfk6YnLCAvLyBQYWNrYWdlIG9yIGJ1bmRsZVxuICAgIFBsdWdpbiA9ICfwn5SMJywgLy8gUGx1Z2luIG9yIGV4dGVuc2lvblxuICAgIEV4dGVuc2lvbiA9ICfwn6epJywgLy8gRXh0ZW5zaW9uIG9yIGNvbXBvbmVudFxuICAgIE1vZHVsZSA9ICfwn5OmJywgLy8gTW9kdWxlIG9yIHBhY2thZ2VcbiAgICBFdmFsdWF0ZSA9ICfwn5SNJywgLy8gRXZhbHVhdGUgb3Igc2VhcmNoXG4gICAgVmFyaWFibGUgPSAn8J+UpycsIC8vIFZhcmlhYmxlIG9yIHNldHRpbmdcbiAgICBTY3JpcHQgPSAn8J+TnCcsIC8vIFNjcmlwdCBvciBjb2RlXG4gICAgQ29kZSA9ICfwn5K+JywgLy8gQ29kZSBvciBmaWxlXG5cbiAgICAvLyBTdGF0dXMgYW5kIENvbXBsZXRpb25cbiAgICBMb2dzID0gJ/Cfk5wnLCAvLyBMb2dzIG9yIGhpc3RvcnlcbiAgICBQb3dlciA9ICfij7snLCAvLyBPbi9PZmYgc3RhdGVcbiAgICBIZWFydCA9ICfinaQnLCAvLyBMb3ZlIG9yIGZhdm9yaXRlXG4gICAgRmxhbWUgPSAn8J+UpScsIC8vIFRyZW5kaW5nIG9yIGhvdFxuICAgIEdyb3d0aCA9ICfwn5OIJywgLy8gR3Jvd3RoIG9yIGluY3JlYXNlXG4gICAgRGVjbGluZSA9ICfwn5OJJywgLy8gRGVjbGluZSBvciBkZWNyZWFzZVxuICAgIFdhcm5pbmdGaWxsZWQgPSAn4pqg77iPJywgLy8gV2FybmluZyAoZmlsbGVkKVxuXG4gICAgLy8gTmF0dXJlIGFuZCBXZWF0aGVyXG4gICAgU3VuID0gJ+KYgCcsIC8vIEJyaWdodG5lc3Mgb3IgZGF5XG4gICAgTW9vbiA9ICfwn4yZJywgLy8gTmlnaHQgb3IgZGFyayBtb2RlXG4gICAgUmFpbiA9ICfwn4ynJywgLy8gUmFpbiBvciBiYWQgd2VhdGhlclxuICAgIFNub3cgPSAn4p2EJywgLy8gU25vdyBvciBjb2xkXG4gICAgTGlnaHRuaW5nID0gJ+KaoScsIC8vIExpZ2h0bmluZyBvciBkYW5nZXJcbiAgICBUcmVlID0gJ/CfjLInLCAvLyBOYXR1cmUgb3IgZW52aXJvbm1lbnRcblxuICAgIC8vIEVtb3Rpb25zIGFuZCBFeHByZXNzaW9uc1xuICAgIFNtaWxlID0gJ/CfmIonLCAvLyBIYXBwaW5lc3Mgb3IgcG9zaXRpdmUgc3RhdGVcbiAgICBTYWQgPSAn8J+YoicsIC8vIFNhZG5lc3Mgb3IgbmVnYXRpdmUgc3RhdGVcbiAgICBBbmdyeSA9ICfwn5ihJywgLy8gQW5nZXIgb3IgZnJ1c3RyYXRpb25cbiAgICBDbGFwID0gJ/CfkY8nLCAvLyBBcHBsYXVzZSBvciBjZWxlYnJhdGlvblxuICAgIFRodW1ic1VwID0gJ/CfkY0nLCAvLyBBcHByb3ZhbCBvciBzdWNjZXNzXG4gICAgVGh1bWJzRG93biA9ICfwn5GOJywgLy8gRGlzYXBwcm92YWwgb3IgZmFpbHVyZVxuXG4gICAgLy8gTWlzY2VsbGFuZW91c1xuICAgIFJvY2tldCA9ICfwn5qAJywgLy8gTGF1bmNoIG9yIGRlcGxveVxuICAgIEdsb2JlID0gJ/CfjI0nLCAvLyBFYXJ0aCBvciBpbnRlcm5hdGlvbmFsXG4gICAgTWVkYWwgPSAn8J+PhScsIC8vIEFjaGlldmVtZW50IG9yIGF3YXJkXG4gICAgVHJvcGh5ID0gJ/Cfj4YnLCAvLyBXaW5uZXIgb3IgY2hhbXBpb25cbiAgICBGbGFnID0gJ/CfmqknLCAvLyBNYXJrIG9yIGZsYWdcbiAgICBTdGFyRmlsbGVkID0gJ+KtkCcsIC8vIEhpZ2hsaWdodCBvciBmYXZvcml0ZVxuICAgIFN0YXJPdXRsaW5lID0gJ+KcqScsIC8vIEFsdGVybmF0ZSBzdGFyIGljb25cbiAgICBGaXJld29ya3MgPSAn8J+OhicsIC8vIENlbGVicmF0aW9uXG4gICAgQmFsbG9vbiA9ICfwn46IJywgLy8gUGFydHkgb3IgZnVuXG4gICAgR2lmdCA9ICfwn46BJywgLy8gUmV3YXJkIG9yIHByZXNlbnRcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCB0eXBlIENsaU9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xuICAgIC8qKlxuICAgICAqIFRoZSB3ZWxjb21lIG1lc3NhZ2Ugb3B0aW9uc1xuICAgICAqL1xuICAgIHdlbGNvbWVNZXNzYWdlPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIG1lc3NhZ2UgdG8gZGlzcGxheVxuICAgICAgICAgKi9cbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcblxuICAgICAgICAvKipcbiAgICAgICAgICogV2hlbiB0byBzaG93IHRoZSB3ZWxjb21lIG1lc3NhZ2VcbiAgICAgICAgICogQGRlZmF1bHQgJ2Fsd2F5cydcbiAgICAgICAgICovXG4gICAgICAgIHNob3c/OiAnYWx3YXlzJyB8ICdvbmNlJyB8ICdkYWlseScgfCAnbmV2ZXInO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgd2VsY29tZSBtZXNzYWdlIGlzIGhpZGRlblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgaGlkZVdlbGNvbWVNZXNzYWdlPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFVzZXJzIG1vZHVsZSBvcHRpb25zXG4gICAgICovXG4gICAgdXNlcnNNb2R1bGU/OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0cnVlLCB0aGUgdXNlcnMgbW9kdWxlIGlzIGVuYWJsZWRcbiAgICAgICAgICovXG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhpZGUgdGhlIHByb21wdCB0byBkaXNwbGF5IHdoZW4gdGhlIENMSSBpcyByZWFkeSB0byBhY2NlcHQgaW5wdXRcbiAgICAgICAgICovXG4gICAgICAgIGhpZGVVc2VyTmFtZT86IGJvb2xlYW47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFJlbG9hZCB0aGUgcGFnZSB3aGVuIHRoZSB1c2VyIGNoYW5nZXNcbiAgICAgICAgICovXG4gICAgICAgIHJlbG9hZFBhZ2VPblVzZXJDaGFuZ2U/OiBib29sZWFuO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVybWluYWwgb3B0aW9uc1xuICAgICAqL1xuICAgIHRlcm1pbmFsT3B0aW9ucz86IElUZXJtaW5hbE9wdGlvbnMgJiBJVGVybWluYWxJbml0T25seU9wdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBsb2cgbGV2ZWwgdG8gZGlzcGxheVxuICAgICAqL1xuICAgIGxvZ0xldmVsPzogQ2xpTG9nTGV2ZWw7XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYWNrYWdlIHRoYXQgY2FuIGJlIGluc3RhbGxlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdsb2JhbCBuYW1lIHVzZWQgdG8gYWNjZXNzIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgZ2xvYmFsTmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgdmVyc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHVucGtnIHVybCB0byB0aGUgcGFja2FnZVxuICAgICAqL1xuICAgIHVybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlcGVuZGVuY2llcyBmb3IgdGhlIG1vZHVsZVxuICAgICAqL1xuICAgIGRlcGVuZGVuY2llcz86IFBhY2thZ2VbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGNvbW1hbmQgcHJvY2Vzc29yIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCB0eXBlIENsaVByb2Nlc3Nvck1ldGFkYXRhID0gUmVjb3JkPHN0cmluZywgYW55PiAmIHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcHJvY2Vzc29yIGlzIHNlYWxlZCBhbmQgY2Fubm90IGJlIGV4dGVuZGVkXG4gICAgICovXG4gICAgc2VhbGVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgcmVxdWlyZXMgdGhlIHNlcnZlciB0byBiZSBydW5uaW5nXG4gICAgICovXG4gICAgcmVxdWlyZVNlcnZlcj86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbW9kdWxlIHRoZSBwcm9jZXNzb3IgYmVsb25ncyB0b1xuICAgICAqL1xuICAgIG1vZHVsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFuIGljb24gdG8gZGlzcGxheSBmb3IgdGhlIHByb2Nlc3NvclxuICAgICAqL1xuICAgIGljb24/OiBDbGlJY29uIHwgc3RyaW5nO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc3RhdGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIENMSSBwcm9jZXNzb3JcbiAqL1xuZXhwb3J0IHR5cGUgQ2xpU3RhdGVDb25maWd1cmF0aW9uID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSBpbml0aWFsIHN0YXRlIGZvciB0aGUgcHJvY2Vzc29yXG4gICAgICovXG4gICAgaW5pdGlhbFN0YXRlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHN0b3JlIGlkZW50aWZpZXIgZm9yIHRoZSBwcm9jZXNzb3IsIGlmIGFueVxuICAgICAqIEByZW1hcmtzIElmIHRoZSBzdG9yZSBpZGVudGlmaWVyIGlzIG5vdCBzZXQsIHRoZSBwcm9jZXNzb3IgY29tbWFuZCBuYW1lIGlzIHVzZWRcbiAgICAgKi9cbiAgICBzdG9yZU5hbWU/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBsb2cgbGV2ZWwgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IGVudW0gQ2xpTG9nTGV2ZWwge1xuICAgIE5vbmUgPSAwLFxuICAgIERFQlVHID0gMSxcbiAgICBMT0cgPSAyLFxuICAgIElORk8gPSAzLFxuICAgIFdBUk4gPSA0LFxuICAgIEVSUk9SID0gNSxcbn1cblxuZXhwb3J0IHR5cGUgQ2xpU3RhdGUgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgY29uc3QgZW51bXMgPSB7XG4gICAgQ2xpRm9yZWdyb3VuZENvbG9yLFxuICAgIENsaUJhY2tncm91bmRDb2xvcixcbiAgICBDbGlJY29uLFxuICAgIENsaUxvZ0xldmVsLFxufTtcblxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXJzJztcbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtDQSxNQUFNLENBQU4sSUFBWSxrQkFVWDtBQVZELFdBQVksa0JBQWtCO0lBQzFCLDBDQUFrQixDQUFBO0lBQ2xCLHdDQUFnQixDQUFBO0lBQ2hCLDBDQUFrQixDQUFBO0lBQ2xCLDJDQUFtQixDQUFBO0lBQ25CLHlDQUFpQixDQUFBO0lBQ2pCLDRDQUFvQixDQUFBO0lBQ3BCLHlDQUFpQixDQUFBO0lBQ2pCLDBDQUFrQixDQUFBO0lBQ2xCLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFWVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBVTdCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUMxQiwwQ0FBa0IsQ0FBQTtJQUNsQix3Q0FBZ0IsQ0FBQTtJQUNoQiwwQ0FBa0IsQ0FBQTtJQUNsQiwyQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBb0IsQ0FBQTtJQUNwQix5Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBa0IsQ0FBQTtBQUN0QixDQUFDLEVBVFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVM3QjtBQUVELE1BQU0sQ0FBTixJQUFZLE9BOElYO0FBOUlELFdBQVksT0FBTztJQUNmLGtCQUFrQjtJQUNsQiwrQkFBZSxDQUFBO0lBQ2YsK0JBQWUsQ0FBQTtJQUNmLDhCQUFjLENBQUE7SUFDZCxpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBa0IsQ0FBQTtJQUNsQixpQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBYyxDQUFBO0lBQ2QseUJBQVMsQ0FBQTtJQUNULDRCQUFZLENBQUE7SUFFWixTQUFTO0lBQ1QsZ0NBQWdCLENBQUE7SUFDaEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2Ys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QyxFQTlJVyxPQUFPLEtBQVAsT0FBTyxRQThJbEI7QUE4SUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ25CLDZDQUFRLENBQUE7SUFDUiwrQ0FBUyxDQUFBO0lBQ1QsMkNBQU8sQ0FBQTtJQUNQLDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0lBQ1IsK0NBQVMsQ0FBQTtBQUNiLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QjtBQUlELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNqQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxXQUFXO0NBQ2QsQ0FBQztBQUVGLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRlcm1pbmFsSW5pdE9ubHlPcHRpb25zLCBJVGVybWluYWxPcHRpb25zIH0gZnJvbSAnQHh0ZXJtL3h0ZXJtJztcblxuZXhwb3J0IHR5cGUgQ2xpUHJvY2Vzc0NvbW1hbmQgPSB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIGNvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHRoYXQgd2FzIGVudGVyZWRcbiAgICAgKi9cbiAgICBkYXRhPzogYW55O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYWluIG9mIGNvbW1hbmRzIHRoYXQgd2VyZSBlbnRlcmVkXG4gICAgICovXG4gICAgY2hhaW5Db21tYW5kczogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcmF3IGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIHJhd0NvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgY29tbWFuZFxuICAgICAqL1xuICAgIHZhbHVlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFyZ3VtZW50cyB0aGF0IHdlcmUgZW50ZXJlZFxuICAgICAqL1xuICAgIGFyZ3M6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgZW51bSBDbGlGb3JlZ3JvdW5kQ29sb3Ige1xuICAgIEJsYWNrID0gJ1xceDFiWzMwbScsXG4gICAgUmVkID0gJ1xceDFiWzMxbScsXG4gICAgR3JlZW4gPSAnXFx4MWJbMzJtJyxcbiAgICBZZWxsb3cgPSAnXFx4MWJbMzNtJyxcbiAgICBCbHVlID0gJ1xceDFiWzM0bScsXG4gICAgTWFnZW50YSA9ICdcXHgxYlszNW0nLFxuICAgIEN5YW4gPSAnXFx4MWJbMzZtJyxcbiAgICBXaGl0ZSA9ICdcXHgxYlszN20nLFxuICAgIFJlc2V0ID0gJ1xceDFiWzBtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpQmFja2dyb3VuZENvbG9yIHtcbiAgICBCbGFjayA9ICdcXHgxYls0MG0nLFxuICAgIFJlZCA9ICdcXHgxYls0MW0nLFxuICAgIEdyZWVuID0gJ1xceDFiWzQybScsXG4gICAgWWVsbG93ID0gJ1xceDFiWzQzbScsXG4gICAgQmx1ZSA9ICdcXHgxYls0NG0nLFxuICAgIE1hZ2VudGEgPSAnXFx4MWJbNDVtJyxcbiAgICBDeWFuID0gJ1xceDFiWzQ2bScsXG4gICAgV2hpdGUgPSAnXFx4MWJbNDdtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpSWNvbiB7XG4gICAgLy8gR2VuZXJhbCBTeW1ib2xzXG4gICAgQ2hlY2tJY29uID0gJ+KclCcsIC8vIFN1Y2Nlc3MsIGNvbXBsZXRpb25cbiAgICBDcm9zc0ljb24gPSAn4pyYJywgLy8gRmFpbHVyZSwgZXJyb3JcbiAgICBJbmZvSWNvbiA9ICfihLknLCAvLyBJbmZvcm1hdGlvblxuICAgIFdhcm5pbmdJY29uID0gJ+KaoCcsIC8vIFdhcm5pbmdcbiAgICBRdWVzdGlvbk1hcmsgPSAnPycsIC8vIEhlbHAgb3IgdW5rbm93biBzdGF0ZVxuICAgIEV4Y2xhbWF0aW9uID0gJ+KdlycsIC8vIEVtcGhhc2lzIG9yIGFsZXJ0XG4gICAgRWxsaXBzaXMgPSAn4oCmJywgLy8gTG9hZGluZyBvciB0cnVuY2F0ZWQgdGV4dFxuICAgIERvdCA9ICfigKInLCAvLyBMaXN0IGl0ZW1cbiAgICBCdWxsZXQgPSAn4oCjJywgLy8gQWx0ZXJuYXRlIGJ1bGxldCBwb2ludFxuXG4gICAgLy8gQXJyb3dzXG4gICAgQXJyb3dSaWdodCA9ICfihpInLCAvLyBOYXZpZ2F0aW9uIG9yIG5leHQgc3RlcFxuICAgIEFycm93TGVmdCA9ICfihpAnLCAvLyBQcmV2aW91cyBzdGVwIG9yIG5hdmlnYXRpb25cbiAgICBBcnJvd1VwID0gJ+KGkScsIC8vIFVwIGRpcmVjdGlvblxuICAgIEFycm93RG93biA9ICfihpMnLCAvLyBEb3duIGRpcmVjdGlvblxuICAgIEFycm93UmlnaHRGaWxsZWQgPSAn4pa2JywgLy8gTmF2aWdhdGlvbiBvciBuZXh0IHN0ZXAgKGZpbGxlZClcbiAgICBBcnJvd0xlZnRGaWxsZWQgPSAn4peAJywgLy8gUHJldmlvdXMgc3RlcCBvciBuYXZpZ2F0aW9uIChmaWxsZWQpXG4gICAgQXJyb3dVcEZpbGxlZCA9ICfilrInLCAvLyBVcCBkaXJlY3Rpb24gKGZpbGxlZClcbiAgICBBcnJvd0Rvd25GaWxsZWQgPSAn4pa8JywgLy8gRG93biBkaXJlY3Rpb24gKGZpbGxlZClcbiAgICBEb3VibGVBcnJvd1JpZ2h0ID0gJ8K7JywgLy8gRmFzdCBmb3J3YXJkIG9yIG5leHRcbiAgICBEb3VibGVBcnJvd0xlZnQgPSAnwqsnLCAvLyBSZXdpbmQgb3IgcHJldmlvdXNcblxuICAgIC8vIExpc3RzIGFuZCBQcm9ncmVzc1xuICAgIFN0YXIgPSAn4piFJywgLy8gSGlnaGxpZ2h0IG9yIGZhdm9yaXRlIChmaWxsZWQpXG4gICAgU3RhckVtcHR5ID0gJ+KYhicsIC8vIEhpZ2hsaWdodCBvciBmYXZvcml0ZSAoZW1wdHkpXG4gICAgUGx1cyA9ICcrJywgLy8gQWRkaXRpb24gb3IgaW5jcmVtZW50XG4gICAgTWludXMgPSAnLScsIC8vIFN1YnRyYWN0aW9uIG9yIGRlY3JlbWVudFxuICAgIFByb2dyZXNzID0gJ+KPsycsIC8vIEluZGljYXRpbmcgcHJvZ3Jlc3NcbiAgICBTdWNjZXNzID0gJ+KchScsIC8vIFN1Y2Nlc3MgKGFsdGVybmF0aXZlIHRvIENoZWNrSWNvbilcbiAgICBGYWlsdXJlID0gJ+KdjCcsIC8vIEZhaWx1cmUgKGFsdGVybmF0aXZlIHRvIENyb3NzSWNvbilcblxuICAgIC8vIFRpbWUgYW5kIENhbGVuZGFyXG4gICAgQ2xvY2sgPSAn4o+wJywgLy8gVGltZS1yZWxhdGVkXG4gICAgVGltZXIgPSAn4o+xJywgLy8gU3RvcHdhdGNoIG9yIHRpbWVyXG4gICAgQWxhcm0gPSAn8J+UlCcsIC8vIEFsYXJtIG9yIGFsZXJ0XG4gICAgQ2FsZW5kYXIgPSAn8J+ThScsIC8vIENhbGVuZGFyIG9yIGRhdGVcblxuICAgIC8vIE5hdmlnYXRpb24gYW5kIEZvbGRlcnNcbiAgICBGb2xkZXIgPSAn8J+TgScsIC8vIERpcmVjdG9yeSBvciBmaWxlIGdyb3VwaW5nXG4gICAgRm9sZGVyT3BlbiA9ICfwn5OCJywgLy8gT3BlbiBmb2xkZXJcbiAgICBGaWxlID0gJ/Cfk4QnLCAvLyBGaWxlIG9yIGRvY3VtZW50XG4gICAgQXJjaGl2ZSA9ICfwn5eDJywgLy8gQXJjaGl2ZSBvciBmaWxlIGdyb3VwaW5nXG4gICAgTGluayA9ICfwn5SXJywgLy8gSHlwZXJsaW5rIG9yIGNvbm5lY3Rpb25cbiAgICBDaGFpbiA9ICfim5MnLCAvLyBDaGFpbiBvciBsaW5rZWRcbiAgICBCb29rbWFyayA9ICfwn5SWJywgLy8gQm9va21hcmsgb3Igc2F2ZVxuXG4gICAgLy8gQWN0aW9uc1xuICAgIEVkaXQgPSAn4pyPJywgLy8gRWRpdCBvciBtb2RpZnlcbiAgICBUcmFzaCA9ICfwn5eRJywgLy8gRGVsZXRpb24gb3IgcmVtb3ZhbFxuICAgIEFkZCA9ICfinpUnLCAvLyBBZGQgdXNlciBvciBpdGVtXG4gICAgUmVtb3ZlID0gJ+KelicsIC8vIFJlbW92ZSB1c2VyIG9yIGl0ZW1cbiAgICBSZWxvYWQgPSAn8J+UhCcsIC8vIFJlZnJlc2ggb3IgcmVsb2FkXG4gICAgU2F2ZSA9ICfwn5K+JywgLy8gU2F2ZSBvciBzdG9yZVxuICAgIFVuZG8gPSAn4oapJywgLy8gVW5kbyBhY3Rpb25cbiAgICBSZWRvID0gJ+KGqicsIC8vIFJlZG8gYWN0aW9uXG4gICAgUGxheSA9ICfilrYnLCAvLyBTdGFydCBvciBwbGF5XG4gICAgUGF1c2UgPSAn4o+4JywgLy8gUGF1c2Ugb3Igc3RvcCB0ZW1wb3JhcmlseVxuICAgIFN0b3AgPSAn4o+5JywgLy8gU3RvcCBvciBlbmRcbiAgICBDYW5jZWwgPSAn4p2OJywgLy8gQ2FuY2VsIG9yIGNsb3NlXG5cbiAgICAvLyBVc2VyIGFuZCBTZWN1cml0eVxuICAgIFVzZXIgPSAn8J+RpCcsIC8vIFVzZXIgb3IgcHJvZmlsZVxuICAgIEdyb3VwID0gJ/CfkaUnLCAvLyBHcm91cCBvciB0ZWFtXG4gICAgTG9jayA9ICfwn5SSJywgLy8gU2VjdXJlZCBvciBsb2NrZWRcbiAgICBVbmxvY2sgPSAn8J+UkycsIC8vIFVubG9ja2VkIG9yIGFjY2Vzc2libGVcbiAgICBIZWxwID0gJ+KdkycsIC8vIEhlbHAgb3Igc3VwcG9ydFxuICAgIEtleSA9ICfwn5SRJywgLy8gQXV0aGVudGljYXRpb24gb3Iga2V5XG4gICAgU2hpZWxkID0gJ/Cfm6EnLCAvLyBTZWN1cml0eSBvciBwcm90ZWN0aW9uXG5cbiAgICAvLyBUb29scyBhbmQgU2V0dGluZ3NcbiAgICBHZWFyID0gJ+KamScsIC8vIFNldHRpbmdzIG9yIGNvbmZpZ3VyYXRpb25cbiAgICBTZXR0aW5ncyA9ICfimpnvuI8nLCAvLyBTZXR0aW5ncyAoYWx0ZXJuYXRpdmUpXG4gICAgVGhlbWUgPSAn8J+OqCcsIC8vIFRoZW1lIG9yIGFwcGVhcmFuY2VcbiAgICBMaWdodCA9ICfwn5KhJywgLy8gTGlnaHQgbW9kZVxuICAgIEJ1ZyA9ICfwn5CeJywgLy8gQnVnIG9yIGlzc3VlXG4gICAgV3JlbmNoID0gJ/CflKcnLCAvLyBNYWludGVuYW5jZSBvciB0b29sc1xuICAgIEhhbW1lciA9ICfwn5SoJywgLy8gQnVpbGQgb3IgZml4XG5cbiAgICAvLyBUZWNobm9sb2d5IGFuZCBEZXZpY2VzXG4gICAgVGVybWluYWwgPSAn8J+SuycsIC8vIFRlcm1pbmFsIG9yIGNvbW1hbmQgbGluZVxuICAgIERhdGFiYXNlID0gJ/Cfl4QnLCAvLyBEYXRhYmFzZSBvciBzdG9yYWdlXG4gICAgU2VydmVyID0gJ/CflqUnLCAvLyBTZXJ2ZXIgb3IgaG9zdFxuICAgIENsb3VkID0gJ+KYgScsIC8vIENsb3VkIG9yIHJlbW90ZVxuICAgIE5ldHdvcmsgPSAn8J+MkCcsIC8vIE5ldHdvcmsgb3IgY29ubmVjdGlvblxuICAgIE1vbml0b3IgPSAn8J+WpScsIC8vIE1vbml0b3Igb3IgZGlzcGxheVxuICAgIFByaW50ZXIgPSAn8J+WqCcsIC8vIFByaW50ZXIgb3Igb3V0cHV0XG4gICAgVVNCID0gJ/CflIwnLCAvLyBVU0Igb3IgY29ubmVjdGlvblxuICAgIFNwZWFrZXIgPSAn8J+UiicsIC8vIFNwZWFrZXIgb3IgYXVkaW9cbiAgICBNaWNyb3Bob25lID0gJ/CfjpknLCAvLyBNaWNyb3Bob25lIG9yIGlucHV0XG4gICAgQ2FtZXJhID0gJ/Cfk7cnLCAvLyBDYW1lcmEgb3IgdmlkZW9cbiAgICBWaWRlbyA9ICfwn46lJywgLy8gVmlkZW8gb3IgbWVkaWFcbiAgICBNdXNpYyA9ICfwn461JywgLy8gTXVzaWMgb3IgYXVkaW9cbiAgICBQaG9uZSA9ICfwn5OeJywgLy8gUGhvbmUgb3IgY29tbXVuaWNhdGlvblxuXG4gICAgLy8gRGV2ZWxvcG1lbnQgYW5kIEV2YWx1YXRpb25cbiAgICBQYWNrYWdlID0gJ/Cfk6YnLCAvLyBQYWNrYWdlIG9yIGJ1bmRsZVxuICAgIFBsdWdpbiA9ICfwn5SMJywgLy8gUGx1Z2luIG9yIGV4dGVuc2lvblxuICAgIEV4dGVuc2lvbiA9ICfwn6epJywgLy8gRXh0ZW5zaW9uIG9yIGNvbXBvbmVudFxuICAgIE1vZHVsZSA9ICfwn5OmJywgLy8gTW9kdWxlIG9yIHBhY2thZ2VcbiAgICBFdmFsdWF0ZSA9ICfwn5SNJywgLy8gRXZhbHVhdGUgb3Igc2VhcmNoXG4gICAgVmFyaWFibGUgPSAn8J+UpycsIC8vIFZhcmlhYmxlIG9yIHNldHRpbmdcbiAgICBTY3JpcHQgPSAn8J+TnCcsIC8vIFNjcmlwdCBvciBjb2RlXG4gICAgQ29kZSA9ICfwn5K+JywgLy8gQ29kZSBvciBmaWxlXG5cbiAgICAvLyBTdGF0dXMgYW5kIENvbXBsZXRpb25cbiAgICBMb2dzID0gJ/Cfk5wnLCAvLyBMb2dzIG9yIGhpc3RvcnlcbiAgICBQb3dlciA9ICfij7snLCAvLyBPbi9PZmYgc3RhdGVcbiAgICBIZWFydCA9ICfinaQnLCAvLyBMb3ZlIG9yIGZhdm9yaXRlXG4gICAgRmxhbWUgPSAn8J+UpScsIC8vIFRyZW5kaW5nIG9yIGhvdFxuICAgIEdyb3d0aCA9ICfwn5OIJywgLy8gR3Jvd3RoIG9yIGluY3JlYXNlXG4gICAgRGVjbGluZSA9ICfwn5OJJywgLy8gRGVjbGluZSBvciBkZWNyZWFzZVxuICAgIFdhcm5pbmdGaWxsZWQgPSAn4pqg77iPJywgLy8gV2FybmluZyAoZmlsbGVkKVxuXG4gICAgLy8gTmF0dXJlIGFuZCBXZWF0aGVyXG4gICAgU3VuID0gJ+KYgCcsIC8vIEJyaWdodG5lc3Mgb3IgZGF5XG4gICAgTW9vbiA9ICfwn4yZJywgLy8gTmlnaHQgb3IgZGFyayBtb2RlXG4gICAgUmFpbiA9ICfwn4ynJywgLy8gUmFpbiBvciBiYWQgd2VhdGhlclxuICAgIFNub3cgPSAn4p2EJywgLy8gU25vdyBvciBjb2xkXG4gICAgTGlnaHRuaW5nID0gJ+KaoScsIC8vIExpZ2h0bmluZyBvciBkYW5nZXJcbiAgICBUcmVlID0gJ/CfjLInLCAvLyBOYXR1cmUgb3IgZW52aXJvbm1lbnRcblxuICAgIC8vIEVtb3Rpb25zIGFuZCBFeHByZXNzaW9uc1xuICAgIFNtaWxlID0gJ/CfmIonLCAvLyBIYXBwaW5lc3Mgb3IgcG9zaXRpdmUgc3RhdGVcbiAgICBTYWQgPSAn8J+YoicsIC8vIFNhZG5lc3Mgb3IgbmVnYXRpdmUgc3RhdGVcbiAgICBBbmdyeSA9ICfwn5ihJywgLy8gQW5nZXIgb3IgZnJ1c3RyYXRpb25cbiAgICBDbGFwID0gJ/CfkY8nLCAvLyBBcHBsYXVzZSBvciBjZWxlYnJhdGlvblxuICAgIFRodW1ic1VwID0gJ/CfkY0nLCAvLyBBcHByb3ZhbCBvciBzdWNjZXNzXG4gICAgVGh1bWJzRG93biA9ICfwn5GOJywgLy8gRGlzYXBwcm92YWwgb3IgZmFpbHVyZVxuXG4gICAgLy8gTWlzY2VsbGFuZW91c1xuICAgIFJvY2tldCA9ICfwn5qAJywgLy8gTGF1bmNoIG9yIGRlcGxveVxuICAgIEdsb2JlID0gJ/CfjI0nLCAvLyBFYXJ0aCBvciBpbnRlcm5hdGlvbmFsXG4gICAgTWVkYWwgPSAn8J+PhScsIC8vIEFjaGlldmVtZW50IG9yIGF3YXJkXG4gICAgVHJvcGh5ID0gJ/Cfj4YnLCAvLyBXaW5uZXIgb3IgY2hhbXBpb25cbiAgICBGbGFnID0gJ/CfmqknLCAvLyBNYXJrIG9yIGZsYWdcbiAgICBTdGFyRmlsbGVkID0gJ+KtkCcsIC8vIEhpZ2hsaWdodCBvciBmYXZvcml0ZVxuICAgIFN0YXJPdXRsaW5lID0gJ+KcqScsIC8vIEFsdGVybmF0ZSBzdGFyIGljb25cbiAgICBGaXJld29ya3MgPSAn8J+OhicsIC8vIENlbGVicmF0aW9uXG4gICAgQmFsbG9vbiA9ICfwn46IJywgLy8gUGFydHkgb3IgZnVuXG4gICAgR2lmdCA9ICfwn46BJywgLy8gUmV3YXJkIG9yIHByZXNlbnRcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCB0eXBlIENsaU9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xuICAgIC8qKlxuICAgICAqIFRoZSB3ZWxjb21lIG1lc3NhZ2Ugb3B0aW9uc1xuICAgICAqL1xuICAgIHdlbGNvbWVNZXNzYWdlPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIG1lc3NhZ2UgdG8gZGlzcGxheVxuICAgICAgICAgKi9cbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcblxuICAgICAgICAvKipcbiAgICAgICAgICogV2hlbiB0byBzaG93IHRoZSB3ZWxjb21lIG1lc3NhZ2VcbiAgICAgICAgICogQGRlZmF1bHQgJ2Fsd2F5cydcbiAgICAgICAgICovXG4gICAgICAgIHNob3c/OiAnYWx3YXlzJyB8ICdvbmNlJyB8ICdkYWlseScgfCAnbmV2ZXInO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgd2VsY29tZSBtZXNzYWdlIGlzIGhpZGRlblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgaGlkZVdlbGNvbWVNZXNzYWdlPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFVzZXJzIG1vZHVsZSBvcHRpb25zXG4gICAgICovXG4gICAgdXNlcnNNb2R1bGU/OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0cnVlLCB0aGUgdXNlcnMgbW9kdWxlIGlzIGVuYWJsZWRcbiAgICAgICAgICovXG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhpZGUgdGhlIHByb21wdCB0byBkaXNwbGF5IHdoZW4gdGhlIENMSSBpcyByZWFkeSB0byBhY2NlcHQgaW5wdXRcbiAgICAgICAgICovXG4gICAgICAgIGhpZGVVc2VyTmFtZT86IGJvb2xlYW47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFJlbG9hZCB0aGUgcGFnZSB3aGVuIHRoZSB1c2VyIGNoYW5nZXNcbiAgICAgICAgICovXG4gICAgICAgIHJlbG9hZFBhZ2VPblVzZXJDaGFuZ2U/OiBib29sZWFuO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVybWluYWwgb3B0aW9uc1xuICAgICAqL1xuICAgIHRlcm1pbmFsT3B0aW9ucz86IElUZXJtaW5hbE9wdGlvbnMgJiBJVGVybWluYWxJbml0T25seU9wdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBsb2cgbGV2ZWwgdG8gZGlzcGxheVxuICAgICAqL1xuICAgIGxvZ0xldmVsPzogQ2xpTG9nTGV2ZWw7XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYWNrYWdlIHRoYXQgY2FuIGJlIGluc3RhbGxlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdsb2JhbCBuYW1lIHVzZWQgdG8gYWNjZXNzIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgZ2xvYmFsTmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgdmVyc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHVucGtnIHVybCB0byB0aGUgcGFja2FnZVxuICAgICAqL1xuICAgIHVybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlcGVuZGVuY2llcyBmb3IgdGhlIG1vZHVsZVxuICAgICAqL1xuICAgIGRlcGVuZGVuY2llcz86IFBhY2thZ2VbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGNvbW1hbmQgcHJvY2Vzc29yIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCB0eXBlIENsaVByb2Nlc3Nvck1ldGFkYXRhID0gUmVjb3JkPHN0cmluZywgYW55PiAmIHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcHJvY2Vzc29yIGlzIHNlYWxlZCBhbmQgY2Fubm90IGJlIGV4dGVuZGVkXG4gICAgICovXG4gICAgc2VhbGVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgcmVxdWlyZXMgdGhlIHNlcnZlciB0byBiZSBydW5uaW5nXG4gICAgICovXG4gICAgcmVxdWlyZVNlcnZlcj86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbW9kdWxlIHRoZSBwcm9jZXNzb3IgYmVsb25ncyB0b1xuICAgICAqL1xuICAgIG1vZHVsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFuIGljb24gdG8gZGlzcGxheSBmb3IgdGhlIHByb2Nlc3NvclxuICAgICAqL1xuICAgIGljb24/OiBDbGlJY29uIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1pbmltdW0gcmVxdWlyZWQgdmVyc2lvbiBvZiBAcW9kYWxpcy9jbGktY29yZSBmb3IgdGhpcyBwcm9jZXNzb3IuXG4gICAgICogSWYgdGhlIGluc3RhbGxlZCBjb3JlIHZlcnNpb24gaXMgbG93ZXIsIHRoZSBwcm9jZXNzb3Igd2lsbCBiZSBza2lwcGVkIGR1cmluZyBib290LlxuICAgICAqL1xuICAgIHJlcXVpcmVkQ29yZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSByZXF1aXJlZCB2ZXJzaW9uIG9mIEBxb2RhbGlzL2FuZ3VsYXItY2xpIGZvciB0aGlzIHByb2Nlc3Nvci5cbiAgICAgKiBJZiB0aGUgaW5zdGFsbGVkIENMSSB2ZXJzaW9uIGlzIGxvd2VyLCB0aGUgcHJvY2Vzc29yIHdpbGwgYmUgc2tpcHBlZCBkdXJpbmcgYm9vdC5cbiAgICAgKi9cbiAgICByZXF1aXJlZENsaVZlcnNpb24/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzdGF0ZSBjb25maWd1cmF0aW9uIGZvciB0aGUgQ0xJIHByb2Nlc3NvclxuICovXG5leHBvcnQgdHlwZSBDbGlTdGF0ZUNvbmZpZ3VyYXRpb24gPSB7XG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgc3RhdGUgZm9yIHRoZSBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBpbml0aWFsU3RhdGU6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3RvcmUgaWRlbnRpZmllciBmb3IgdGhlIHByb2Nlc3NvciwgaWYgYW55XG4gICAgICogQHJlbWFya3MgSWYgdGhlIHN0b3JlIGlkZW50aWZpZXIgaXMgbm90IHNldCwgdGhlIHByb2Nlc3NvciBjb21tYW5kIG5hbWUgaXMgdXNlZFxuICAgICAqL1xuICAgIHN0b3JlTmFtZT86IHN0cmluZztcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGxvZyBsZXZlbCBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgZW51bSBDbGlMb2dMZXZlbCB7XG4gICAgTm9uZSA9IDAsXG4gICAgREVCVUcgPSAxLFxuICAgIExPRyA9IDIsXG4gICAgSU5GTyA9IDMsXG4gICAgV0FSTiA9IDQsXG4gICAgRVJST1IgPSA1LFxufVxuXG5leHBvcnQgdHlwZSBDbGlTdGF0ZSA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCBjb25zdCBlbnVtcyA9IHtcbiAgICBDbGlGb3JlZ3JvdW5kQ29sb3IsXG4gICAgQ2xpQmFja2dyb3VuZENvbG9yLFxuICAgIENsaUljb24sXG4gICAgQ2xpTG9nTGV2ZWwsXG59O1xuXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcnMnO1xuIl19